ignore-value: make header idempotent
[gnulib.git] / ChangeLog
1 2010-10-15  Eric Blake  <eblake@redhat.com>
2
3         ignore-value: make header idempotent
4         * lib/ignore-value.h: Add double-inclusion guards.
5         Reported by Stefan Berger.
6
7 2010-10-15  Jim Meyering  <meyering@redhat.com>
8
9         GNUmakefile: handle "stable" target, not "major"
10         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
11         lists in maint.mk and announce-gen.  Without this, "make stable"
12         would fail to ensure that $(VERSION) is up to date.
13
14 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
15
16         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
17         & co.
18
19 2010-10-14  Bruno Haible  <bruno@clisp.org>
20
21         vasnprintf: Don't set errno to 0.
22         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23         block that sets it to 0.
24         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
25
26 2010-10-14  Bruno Haible  <bruno@clisp.org>
27
28         socketlib: Fix.
29         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
30         gl_PREREQ_SYS_H_WINSOCK2.
31         Reported by Ian Beckwith <ianb@erislabs.net>.
32
33 2010-10-13  Jim Meyering  <meyering@redhat.com>
34
35         test-select-stdin.c: avoid warn_unused_result warnings
36         * tests/test-select-stdin.c: Include "macros.h".
37         ASSERT that read and fflush succeed.
38
39 2010-10-13  Jim Meyering  <meyering@redhat.com>
40
41         git-version-gen: do require git-VC'd files in cwd
42         * build-aux/git-version-gen: Reject a git version string
43         if there are no commits associated with the current directory.
44         This avoids an unlikely false-positive (unrelated dir whose parent
45         repository also contains a tag matching v*), as pointed out
46         by Giuseppe Scrivano in
47         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
48
49 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
50
51         argv-iter: omit nonconforming declaration
52         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
53         enum arg_iter_err declaration, which doesn't conform to C99.
54         Solaris 10 cc warns about this.
55
56 2010-10-13  Eric Blake  <eblake@redhat.com>
57
58         termios: fix compilation on mingw
59         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
60         (gl_TERMIOS_H): Adjust it on mingw.
61         * modules/termios (Makefile.am): Substitute new key.
62         * lib/termios.in.h (includes): Make include_next conditional.
63         * doc/posix-headers/termios.texi (termios.h): Update
64         documentation.
65         Reported by Daniel P. Berrange.
66
67 2010-10-13  Jim Meyering  <meyering@redhat.com>
68
69         git-version-gen: don't require that .git/ be in the current dir
70         * build-aux/git-version-gen: Adjust this script so that it works
71         when run from any working directory beneath the top-level .git/-
72         containing directory.  Inspired by a patch from Giuseppe Scrivano,
73         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
74
75         test-select: avoid warn_unused_result warnings
76         * tests/test-select.c: Include "macros.h".
77         ASSERT that each call to read, write, and pipe succeeds.
78         While not technically required, also check each "close".
79         * modules/select-tests (Files): Add tests/macros.h.
80
81         test-symlinkat: remove declaration of unused local
82         * tests/test-symlinkat.c (main): Remove unused local, "buf".
83
84         test-inttostr: avoid shadowing warnings
85         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
86         and use malloc rather than the stack for the same reason as
87         mentioned in the comment justifying the other allocation.
88
89 2010-10-11  Bruno Haible  <bruno@clisp.org>
90
91         stdlib: Allow multiple gnulib generated replacements to coexist.
92         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
93         Reported by Sam Steingold <sds@gnu.org>.
94
95 2010-10-11  Jim Meyering  <meyering@redhat.com>
96
97         fix a documentation typo
98         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
99
100 2010-10-11  Eric Blake  <eblake@redhat.com>
101
102         futimens: work around Solaris 11 bug
103         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
104         * tests/test-futimens.h (test_futimens): Enhance, rather than
105         weaken test.
106         * doc/posix-functions/futimens.texi (futimens): Document the bug.
107
108 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
109
110         Indentation.
111         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
112         higher-level operators more to the left.
113
114 2010-10-11  Jim Meyering  <meyering@redhat.com>
115
116         test-futimens: avoid unwarranted test failure on Solaris 5.11
117         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
118         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
119         because it tries to dereference the NULL name argument.
120
121 2010-10-11  Bruno Haible  <bruno@clisp.org>
122
123         Indentation.
124         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
125         indentation.
126
127 2010-10-11  Jim Meyering  <meyering@redhat.com>
128
129         spawn.in.h: make indentation consistent with parentheses
130         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
131         Make indentation consistent with parentheses.
132
133 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
134
135         Fix mismatched parens in previous commit
136         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
137         parens.
138
139 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
140
141         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
142
143         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
144         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
145         * lib/malloca.c: Include "verify.h".
146         (verify1): Remove, replacing with a verify call.
147         * lib/relocwrapper.c (verify1): Likewise.
148         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
149         Likewise.
150         * modules/malloca (Depends-on): Add 'verify'.
151         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
152         * modules/vasnprintf (Depends-on): Add 'verify'.
153         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
154         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
155         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
156         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
157         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
158         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
159         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
160
161         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
162
163         Formerly the style was sometimes 2*X - 1, because the C standard
164         was wrongly thought to disallow ?: in integral constant expressions.
165         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
166         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
167         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
168         * lib/stdint.in.h (_verify_intmax_size): Likewise.
169         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
170         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
171         verify that time_t cannot be floating.
172
173 2010-10-08  Eric Blake  <eblake@redhat.com>
174
175         time: enforce recent POSIX ruling that time_t is integral
176         * lib/time.in.h (__time_t_must_be_integral): Detect any
177         problematic systems, allowing the rest of gnulib to assume POSIX.
178
179 2010-10-08  Jim Meyering  <meyering@redhat.com>
180
181         fdopendir: fix a bug on systems lacking openat and /proc support
182         OpenBSD 4.7 is one such system.  The most noticeable effect was
183         failure of any application making nontrivial use of fts: rm, du,
184         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
185           ./rm: traversal failed: `a': Bad file descriptor
186         Debugging that, you see that even though FD 6 was closed just
187         prior to the opendir call in fd_clone_opendir, its resulting
188         dir->dd_fd was 8, rather than the expected value of 6:
189
190         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
191         93                close (fd);
192         (gdb) n
193         94                dir = fd_clone_opendir (dupfd);
194         (gdb) n
195         95                saved_errno = errno;
196         (gdb) p dir->dd_fd
197         $11 = 8
198
199         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
200         The problem is that on OpenBSD, fd_clone_opendir has to resort
201         to using the old-style save/restore CWD mechanism, due to its
202         lack of openat/proc support, and *that* would steal the FD (6)
203         that opendir was supposed to use.
204
205         The fix is to squirrel away the desired FD so that save_cwd uses a
206         different one, and then free the dest FD right before calling opendir.
207         That guarantees opendir will use the required file descriptor.
208
209         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
210
211 2010-10-08  Bruno Haible  <bruno@clisp.org>
212
213         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
214         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
215
216 2010-10-08  Bruno Haible  <bruno@clisp.org>
217
218         nanosleep: Make replacement POSIX compliant.
219         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
220         is out of range.
221         Reported by Jim Meyering.
222
223 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
224
225         bootstrap: add hook for altering gnulib.mk, for Bison
226         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
227         the Bison bootstrapping process can rewrite file names and variables
228         in this file before later parts of 'bootstrap' use the file.
229         Bison wants to include lib/gnulib.mk from the top-level makefile,
230         so it needs the file names in this file to be relative to the top
231         level, not relative to lib; plus it needs variable names to be
232         rewritten.
233         (slurp): Use the new function.
234
235         bootstrap: reformat for readability
236         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
237
238 2010-10-08  Eric Blake  <eblake@redhat.com>
239
240         docs: update cygwin progress
241         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
242         1.7.7.
243         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
244         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
245         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
246         * doc/posix-functions/carg.texi (carg): Likewise.
247         * doc/posix-functions/cargf.texi (cargf): Likewise.
248         * doc/posix-functions/casin.texi (casin): Likewise.
249         * doc/posix-functions/casinf.texi (casinf): Likewise.
250         * doc/posix-functions/casinh.texi (casinh): Likewise.
251         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
252         * doc/posix-functions/catan.texi (catan): Likewise.
253         * doc/posix-functions/catanf.texi (catanf): Likewise.
254         * doc/posix-functions/catanh.texi (catanh): Likewise.
255         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
256         * doc/posix-functions/ccos.texi (ccos): Likewise.
257         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
258         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
259         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
260         * doc/posix-functions/cexp.texi (cexp): Likewise.
261         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
262         * doc/posix-functions/cimag.texi (cimag): Likewise.
263         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
264         * doc/posix-functions/clog.texi (clog): Likewise.
265         * doc/posix-functions/clogf.texi (clogf): Likewise.
266         * doc/posix-functions/conj.texi (conj): Likewise.
267         * doc/posix-functions/conjf.texi (conjf): Likewise.
268         * doc/posix-functions/cpow.texi (cpow): Likewise.
269         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
270         * doc/posix-functions/cproj.texi (cproj): Likewise.
271         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
272         * doc/posix-functions/creal.texi (creal): Likewise.
273         * doc/posix-functions/crealf.texi (crealf): Likewise.
274         * doc/posix-functions/csin.texi (csin): Likewise.
275         * doc/posix-functions/csinf.texi (csinf): Likewise.
276         * doc/posix-functions/csinh.texi (csinh): Likewise.
277         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
278         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
279         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
280         * doc/posix-functions/ctan.texi (ctan): Likewise.
281         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
282         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
283         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
284         * doc/posix-headers/complex.texi (complex.h): Likewise.
285
286 2010-10-07  Jim Meyering  <meyering@redhat.com>
287
288         parse-datetime: avoid compilation failure on OpenBSD 4.7
289         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
290         This works around a compilation failure on OpenBSD 4.7:
291         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
292
293 2010-10-07  Eric Blake  <eblake@redhat.com>
294
295         docs: update cygwin progress
296         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
297         1.7.6.
298         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
299         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
300         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
301         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
302         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
303         Likewise.
304         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
305         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
306         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
307         Likewise.
308         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
309         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
310         Likewise.
311         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
312         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
313         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
314         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
315         Likewise.
316         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
317         Likewise.
318         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
319
320         docs: update parse-datetime history
321         * doc/parse-datetime.texi (Authors of parse_datetime): Better
322         documentation of this function's history and alternatives.
323
324         cygwin: use more robust version check
325         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
326         exclude an eventual cygwin 1.9.1.
327         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
328         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
329         (gl_FUNC_STRCASESTR): Likewise.
330         Reported by Bruno Haible.
331
332 2010-10-06  Bruno Haible  <bruno@clisp.org>
333
334         string, sys_select: Avoid #including large headers unless necessary.
335         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
336         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
337         OSF/1, BeOS, Haiku.
338         Reported by Jim Meyering.
339
340 2010-10-05  Eric Blake  <eblake@redhat.com>
341
342         memmem, strstr, strcasestr: fix bug with long periodic needle
343         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
344         periodic needle having false positive.
345         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
346         and cygwin 1.7.7.
347         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
348         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
349         (gl_FUNC_STRCASESTR): Likewise.
350         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
351         * tests/test-memmem.c (main): Expose the bug.
352         * tests/test-strcasestr.c (main): Likewise.
353         * tests/test-strstr.c (main): Likewise.
354         * tests/test-c-strcasestr.c (main): Likewise.
355         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
356         * doc/posix-functions/strstr.texi (strstr): Likewise.
357         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
358         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
359
360 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
361
362         parse-datetime: do some more renaming
363         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
364         parse_datetime, not get_date.  Mention the renaming.
365         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
366         in comments.
367         * m4/bison.m4: Likewise.
368
369 2010-10-05  Eric Blake  <eblake@redhat.com>
370
371         parse-datetime: better name than get_date
372         * NEWS: Reword the deprecation notice.
373         * modules/get_date: Rename to modules/parse-datetime.
374         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
375         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
376         * lib/get_date.y: Rename to lib/parse-datetime.y.
377         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
378         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
379         * doc/getdate.texi: Provide fallback wrapper.
380         * lib/getdate.h: Move guts, and wrap...
381         * lib/parse-datetime.h: ...new file.
382         * lib/parse-datetime.y (get_date): Rename...
383         (parse_datetime): ...to this.
384         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
385         (gl_PARSE_DATETIME): ...to this.
386         * doc/posix-functions/getdate.texi (get_date): Provide fallback
387         documentation.
388         * modules/getdate (Files): Provide fallback docs and header.
389         (Notice, Depends-on): Update references.
390         * tests/test-parse-datetime.c: Likewise.
391         * DEPENDENCIES: Likewise.
392         * MODULES.html.sh (Date and time <time.h>): Likewise.
393         * doc/parse-datetime.texi (Date input formats)
394         (Authors of parse_datetime): Likewise.
395         * modules/parse-datetime (Files, configure.ac, Makefile.am)
396         (Include): Likewise.
397         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
398         * gnulib-tool: Likewise.
399         * m4/bison.m4 (gl_BISON): Likewise.
400         Suggested by Bruno Haible.
401
402 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
403
404         more ports to Solaris tr, which needs [] around ranges
405         * gnulib-tool: Solaris tr needs [] around ranges.
406         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
407         * tests/test-pipe-filter-gi1.c (main): Likewise.
408         * tests/test-pipe-filter-ii1.c (main): Likewise.
409
410 2010-10-05  Eric Blake  <eblake@redhat.com>
411
412         bootstrap: fix Solaris regression
413         * build-aux/bootstrap (check_versions): Solaris tr still needs []
414         around ranges.
415         Reported by Pádraig Brady.
416
417         bootstrap: work with pkg-config
418         * build-aux/bootstrap (check_versions): Also transliterate - in
419         prerequisite name.
420         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
421         prerequisites that were already found, to avoid confusion.
422         Reported by Justin Clift.
423
424         faccessat: remove unused wrappers
425         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
426         presence of these wrappers dragged in -lgen on Solaris.
427         Reported by Clemens Brogi; fix suggested by Paul Eggert.
428
429 2010-10-05  Jim Meyering  <meyering@redhat.com>
430
431         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
432         * Makefile (sc_pragma_columns): New syntax-check rule.
433
434 2010-10-04  Bruno Haible  <bruno@clisp.org>
435
436         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
437         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
438         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
439         Reported by Bruce Korb and Eric Blake.
440
441 2010-10-04  Bruno Haible  <bruno@clisp.org>
442
443         threadlib: Make option --with-libpth-prefix work.
444         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
445         use $LIBPTH, not just -lpth.
446
447 2010-10-04  Bruno Haible  <bruno@clisp.org>
448
449         Avoid line length limitation from HP NonStop system header files.
450         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
451         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
452         * lib/ctype.in.h: Likewise.
453         * lib/dirent.in.h: Likewise.
454         * lib/errno.in.h: Likewise.
455         * lib/fcntl.in.h: Likewise.
456         * lib/float.in.h: Likewise.
457         * lib/getopt.in.h: Likewise.
458         * lib/iconv.in.h: Likewise.
459         * lib/inttypes.in.h: Likewise.
460         * lib/langinfo.in.h: Likewise.
461         * lib/locale.in.h: Likewise.
462         * lib/math.in.h: Likewise.
463         * lib/netdb.in.h: Likewise.
464         * lib/netinet_in.in.h: Likewise.
465         * lib/poll.in.h: Likewise.
466         * lib/pthread.in.h: Likewise.
467         * lib/pty.in.h: Likewise.
468         * lib/sched.in.h: Likewise.
469         * lib/se-selinux.in.h: Likewise.
470         * lib/search.in.h: Likewise.
471         * lib/signal.in.h: Likewise.
472         * lib/spawn.in.h: Likewise.
473         * lib/stdarg.in.h: Likewise.
474         * lib/stddef.in.h: Likewise.
475         * lib/stdint.in.h: Likewise.
476         * lib/stdio.in.h: Likewise.
477         * lib/stdlib.in.h: Likewise.
478         * lib/string.in.h: Likewise.
479         * lib/strings.in.h: Likewise.
480         * lib/sys_file.in.h: Likewise.
481         * lib/sys_ioctl.in.h: Likewise.
482         * lib/sys_select.in.h: Likewise.
483         * lib/sys_socket.in.h: Likewise.
484         * lib/sys_stat.in.h: Likewise.
485         * lib/sys_time.in.h: Likewise.
486         * lib/sys_times.in.h: Likewise.
487         * lib/sys_utsname.in.h: Likewise.
488         * lib/sys_wait.in.h: Likewise.
489         * lib/sysexits.in.h: Likewise.
490         * lib/termios.in.h: Likewise.
491         * lib/time.in.h: Likewise.
492         * lib/unistd.in.h: Likewise.
493         * lib/wchar.in.h: Likewise.
494         * lib/wctype.in.h: Likewise.
495         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
496         * modules/ctype (Makefile.am): Likewise.
497         * modules/dirent (Makefile.am): Likewise.
498         * modules/errno (Makefile.am): Likewise.
499         * modules/fcntl-h (Makefile.am): Likewise.
500         * modules/float (Makefile.am): Likewise.
501         * modules/getopt-posix (Makefile.am): Likewise.
502         * modules/iconv-h (Makefile.am): Likewise.
503         * modules/inttypes (Makefile.am): Likewise.
504         * modules/langinfo (Makefile.am): Likewise.
505         * modules/locale (Makefile.am): Likewise.
506         * modules/math (Makefile.am): Likewise.
507         * modules/netdb (Makefile.am): Likewise.
508         * modules/netinet_in (Makefile.am): Likewise.
509         * modules/poll-h (Makefile.am): Likewise.
510         * modules/pthread (Makefile.am): Likewise.
511         * modules/pty (Makefile.am): Likewise.
512         * modules/sched (Makefile.am): Likewise.
513         * modules/search (Makefile.am): Likewise.
514         * modules/selinux-h (Makefile.am): Likewise.
515         * modules/signal (Makefile.am): Likewise.
516         * modules/spawn (Makefile.am): Likewise.
517         * modules/stdarg (Makefile.am): Likewise.
518         * modules/stddef (Makefile.am): Likewise.
519         * modules/stdint (Makefile.am): Likewise.
520         * modules/stdio (Makefile.am): Likewise.
521         * modules/stdlib (Makefile.am): Likewise.
522         * modules/string (Makefile.am): Likewise.
523         * modules/strings (Makefile.am): Likewise.
524         * modules/sys_file (Makefile.am): Likewise.
525         * modules/sys_ioctl (Makefile.am): Likewise.
526         * modules/sys_select (Makefile.am): Likewise.
527         * modules/sys_socket (Makefile.am): Likewise.
528         * modules/sys_stat (Makefile.am): Likewise.
529         * modules/sys_time (Makefile.am): Likewise.
530         * modules/sys_times (Makefile.am): Likewise.
531         * modules/sys_utsname (Makefile.am): Likewise.
532         * modules/sys_wait (Makefile.am): Likewise.
533         * modules/sysexits (Makefile.am): Likewise.
534         * modules/termios (Makefile.am): Likewise.
535         * modules/time (Makefile.am): Likewise.
536         * modules/unistd (Makefile.am): Likewise.
537         * modules/wchar (Makefile.am): Likewise.
538         * modules/wctype (Makefile.am): Likewise.
539
540 2010-10-04  Bruno Haible  <bruno@clisp.org>
541
542         read-file tests: Avoid a test failure on NonStop Kernel.
543         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
544         a regular file.
545         Reported by Joachim Schmitz <schmitz@hp.com>.
546
547 2010-10-03  Bruno Haible  <bruno@clisp.org>
548
549         gnulib-tool: Fixes for --create-testdir with --libtool.
550         * gnulib-tool (func_get_automake_snippet): Don't augment
551         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
552         an executable.
553         (func_create_testdir): Handle module 'alloca' like func_import.
554         Reported by Bruce Korb <bruce.korb@gmail.com>.
555
556 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
557
558         Avoid some lines longer than 80 characters.
559         * lib/stdint.in.h: Break long comment lines.
560         * lib/math.in.h: Likewise.
561         (_GL_NUM_UINT_WORDS): New macro, for readability.
562         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
563         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
564         * lib/stdlib.in.h: Likewise.
565         * lib/spawn.in.h: Likewise.
566         * lib/sys_socket.in.h: Update an URL.
567         * lib/sys_stat.in.h: Break long line.
568
569 2010-10-03  Bruno Haible  <bruno@clisp.org>
570             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
571
572         acl: Add support for ACLs on NonStop Kernel.
573         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
574         Check whether the function aclsort() exists.
575         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
576         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
577         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
578         (acl_nontrivial [HAVE_ACLSORT]: New function.
579         (file_has_acl): Implement for NonStop Kernel.
580         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
581         (qset_acl): Implement for NonStop Kernel.
582         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
583         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
584         (main): Implement for NonStop Kernel.
585         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
586         Kernel. Handle this flavor.
587         * tests/test-set-mode-acl.sh: Likewise.
588         * tests/test-copy-acl.sh: Likewise.
589         * tests/test-copy-file.sh: Likewise.
590
591 2010-10-03  Bruno Haible  <bruno@clisp.org>
592
593         Info about ACLs on NonStop Kernel.
594         * doc/acl-resources.txt: Add info about NonStop Kernel.
595         References by Joachim Schmitz <schmitz@hp.com>.
596
597 2010-10-02  Bruno Haible  <bruno@clisp.org>
598
599         Define missing EDQUOT on NonStop Kernel.
600         * lib/errno.in.h (EDQUOT): Assign a value if missing.
601         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
602         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
603         missing.
604         * doc/posix-headers/errno.texi: Mention the NSK bug.
605         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
606         Reported by Joachim Schmitz <schmitz@hp.com>.
607
608 2010-10-02  Bruno Haible  <bruno@clisp.org>
609
610         Update doc for POSIX:2008.
611         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
612         Update URL of POSIX specification.
613
614 2010-10-02  Bruno Haible  <bruno@clisp.org>
615
616         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
617         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
618         from gnulib, not from Automake.
619
620 2010-10-02  Bruno Haible  <bruno@clisp.org>
621
622         New module 'system-posix'.
623         * modules/system-posix: New file.
624         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
625         module is present.
626         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
627         GNULIB_SYSTEM_POSIX.
628         * modules/stdlib (Depends-on): Remove sys_wait.
629         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
630         * doc/posix-functions/system.texi: Mention the new module.
631         * doc/posix-headers/stdlib.texi: Likewise.
632         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
633         define test_sys_wait_macros to a no-op.
634         Reported by Sam Steingold <sds@gnu.org>.
635
636 2010-09-30  Bruno Haible  <bruno@clisp.org>
637
638         More renaming from 'getdate' to 'get_date'.
639         * doc/get_date.texi: Renamed from doc/getdate.texi.
640         * modules/get_date (Files): Update.
641         * MODULES.html.sh (Date and time <time.h>): Update.
642         * DEPENDENCIES: Update.
643         * gnulib-tool: Update comment.
644         * m4/bison.m4 (gl_BISON): Likewise.
645         * m4/get_date.m4 (gl_GET_DATE): Likewise.
646
647 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
648
649         bootstrap: support ACLOCAL_FLAGS during aclocal
650         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
651         can add additional -I dir for third-party .m4 files.
652
653 2010-09-30  Eric Blake  <eblake@redhat.com>
654
655         bootstrap: use glibtoolize on MacOS
656         * build-aux/bootstrap (check_versions): Convert libtool into
657         libtoolize.
658         (tool search): Move libtool check earlier, and look for
659         glibtoolize for MacOS.
660         (gnulib_tool_options): Auto-add --libtool when appropriate.
661         Reported by Justin Clift.
662
663         poll: fix typo that broke test on MacOS
664         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
665         Reported by Justin Clift.
666
667         getdate: rename to get_date
668         Note: getdate.h is not renamed, to minimize client impact.
669         * modules/getdate: Mark obsolete.  Move old contents...
670         * modules/get_date: ...to new module name.
671         * modules/getdate-tests: Move...
672         * modules/get_date-tests: ...here.
673         * m4/getdate.m4: Move...
674         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
675         * lib/getdate.y: Move...
676         * lib/get_date.y: ...here.
677         * tests/test-getdate.c: Move...
678         * tests/test-get_date.c: ...here.
679         * doc/posix-functions/getdate.texi (getdate): Update name.
680         * NEWS: Mention the change.
681
682 2010-09-29  Bruno Haible  <bruno@clisp.org>
683
684         Separate the module 'waitpid' from the module 'sys_wait'.
685         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
686         present.
687         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
688         gl_MODULE_INDICATOR_FOR_TESTS.
689         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
690         * modules/sys_wait (Depends-on): Remove waitpid.
691         (Makefile.am): Substitute GNULIB_WAITPID.
692         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
693         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
694         signature only if the 'waitpid' module is present.
695         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
696         * NEWS: Mention the change.
697         * modules/grantpt (Depends-on): Add waitpid.
698         * modules/wait-process (Depends-on): Likewise.
699
700 2010-09-29  Bruno Haible  <bruno@clisp.org>
701
702         More tests for module 'sys_wait'.
703         * modules/sys_wait-c++-tests: New file.
704         * tests/test-sys_wait-c++.cc: New file.
705         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
706         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
707
708 2010-09-29  Bruno Haible  <bruno@clisp.org>
709
710         New module 'waitpid'.
711         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
712         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
713         Don't include <process.h>.
714         (waitpid): Declare only, using modern idiom.
715         * m4/waitpid.m4: New file.
716         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
717         * modules/waitpid: New file.
718         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
719         (Makefile.am): Update.
720         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
721
722 2010-09-28  Bruno Haible  <bruno@clisp.org>
723
724         poll: Assume ANSI C.
725         * lib/poll.c (poll): Use an ANSI C declaration.
726
727 2010-09-28  Bruno Haible  <bruno@clisp.org>
728
729         poll-h: Create poll.h on all platforms.
730         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
731         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
732         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
733         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
734         (gl_REPLACE_POLL_H): Don't set POLL_H.
735         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
736         * modules/poll-h (Depends-on): Add include_next.
737         (Makefile.am): Create poll.h unconditionally. Substitute also
738         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
739
740 2010-09-28  Bruno Haible  <bruno@clisp.org>
741
742         Tests for module 'poll-h'.
743         * modules/poll-h-c++-tests: New file.
744         * tests/test-poll-h-c++.cc: New file.
745
746         Tests for module 'poll-h'.
747         * modules/poll-h-tests: New file.
748         * tests/test-poll-h.c: New file.
749
750 2010-09-28  Bruno Haible  <bruno@clisp.org>
751
752         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
753         * modules/poll-h (Depends-on): Add 'extensions'.
754
755 2010-09-28  Bruno Haible  <bruno@clisp.org>
756
757         New module 'poll-h'.
758         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
759         (poll): Use modern idiom.
760         * modules/poll-h: New file.
761         * modules/poll (Files): Remove lib/poll.in.h.
762         (Depends-on): Add poll-h.
763         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
764         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
765         * m4/poll_h.m4: New file.
766         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
767         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
768         and invoke gl_REPLACE_POLL_H.
769         * lib/poll.c: Use common idiom.
770         * tests/test-poll.c: Likewise.
771         * doc/posix-headers/poll.texi: Mention the poll-h module.
772         Suggested by Eric Blake.
773
774 2010-09-26  Bruno Haible  <bruno@clisp.org>
775
776         sys_wait: Implement WSTOPSIG.
777         * lib/sys_wait.in.h (WSTOPSIG): New macro.
778         Reported by Simon Josefsson.
779
780 2010-09-26  Simon Josefsson  <simon@josefsson.org>
781
782         stdlib, sys_wait: Avoid compilation error on mingw.
783         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
784
785 2010-09-26  Bruno Haible  <bruno@clisp.org>
786
787         stdlib tests: Avoid code duplication.
788         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
789         * modules/sys_wait-tests (Files): Likewise.
790         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
791         * tests/test-stdlib.c: Include test-sys_wait.h.
792         (main): Invoke test_sys_wait_macros.
793         * tests/test-sys_wait.c: Include test-sys_wait.h.
794         (main): Invoke test_sys_wait_macros.
795
796 2010-09-25  Simon Josefsson  <simon@josefsson.org>
797
798         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
799         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
800         sure Windows sockets are working before calling getaddrinfo.
801         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
802         * doc/gnulib.texi (Windows sockets): Fix typo.
803
804 2010-09-25  Bruno Haible  <bruno@clisp.org>
805
806         Tests for module 'regex-quote'.
807         * modules/regex-quote-tests: New file.
808         * tests/test-regex-quote.c: New file.
809
810         New module 'regex-quote'.
811         * lib/regex-quote.h: New file.
812         * lib/regex-quote.c: New file.
813         * modules/regex-quote: New file.
814         Suggested by Reuben Thomas <rrt@sc3d.org>.
815
816 2010-09-24  Bruno Haible  <bruno@clisp.org>
817
818         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
819         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
820
821 2010-09-23  Bruno Haible  <bruno@clisp.org>
822
823         setenv: Relax license.
824         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
825         Blake.
826         Requested by Eric Blake.
827
828 2010-09-22  Bruno Haible  <bruno@clisp.org>
829
830         termios: Relax license.
831         * modules/termios (License): Change to LGPLv2+.
832         Requested by Eric Blake.
833
834 2010-09-22  Bruno Haible  <bruno@clisp.org>
835
836         threadlib: Allow the package to change the default to 'no'.
837         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
838         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
839         Reported by Paul Eggert.
840
841 2010-09-22  Pádraig Brady  <P@draigbrady.com>
842             Bruno Haible  <bruno@clisp.org>
843
844         Fix endless loop in mbmemcasecoll.
845         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
846         byte.
847         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
848
849 2010-09-22  Bruno Haible  <bruno@clisp.org>
850
851         Tests for module 'memcoll'.
852         * modules/memcoll-tests: New file.
853         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
854
855         memcoll, xmemcoll: Clarify size vs. length.
856         * modules/memcoll.c (memcoll0): Clarify specification.
857         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
858         passed to collate_error.
859
860 2010-09-22  Bruno Haible  <bruno@clisp.org>
861
862         Tests for module 'memcasecmp'.
863         * modules/memcasecmp-tests: New file.
864         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
865
866 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
867
868         * lib/pthread.in.h: Add split double-inclusion guard, and include
869         system <pthread.h> if there is one.  Use @@-style as in other
870         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
871         pthread.h doesn't.
872         (pthread_mutexattr_destroy, pthread_mutexattr_init):
873         (pthread_mutexattr_settype, pthread_mutex_trylock):
874         New static inline functions, if there's no system <pthread.h>.
875         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
876         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
877         Approximate with mutexes if the system lacks spinlocks, as in
878         MacOS.
879         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
880         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
881         @@-style.  Check for spinlocks separately.
882         (gl_PTHREAD_DEFAULTS): New macro.
883         * modules/pthread: Redo to use a more typical style for in.h files.
884
885 2010-09-21  Eric Blake  <eblake@redhat.com>
886
887         net_if: enhance tests
888         * tests/test-net_if.c (main): Move signature checks earlier.
889         Print failures to stderr.
890         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
891         Document the bug that we do not yet fix.
892
893 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
894
895         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
896         about gnulib, not GSS.
897
898 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
899
900         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
901         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
902         for Emacs.
903         * build-aux/pmccabe2html: Make Makefile.am example code more
904         cut-and-paste friendly.
905
906 2010-09-21  Simon Josefsson  <simon@josefsson.org>
907
908         * tests/test-net_if.c: New file.
909         * modules/net_if-tests: New file.
910
911 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
912
913         pthread: add pthread_spin_destroy
914         * lib/pthread.in.h (pthread_spin_destroy): New function.
915
916 2010-09-19  Bruno Haible  <bruno@clisp.org>
917
918         gnulib-tool: Fix --help output.
919         * gnulib-tool (func_usage): Fix help message.
920         Reported by Reuben Thomas <rrt@sc3d.org>.
921
922 2010-09-18  Jim Meyering  <meyering@redhat.com>
923
924         maint.mk: avoid unexpanded \n in two diagnostics
925         * top/maint.mk (sc_prohibit_always_true_header_tests):
926         Don't use a literal \n in a halt=... assignment.  It would not be
927         expanded, and the two \n bytes would appear in the diagnostic output
928         rather than the desired newline.  Use halt=$$(printf ... instead.
929         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
930
931 2010-09-18  Bruno Haible  <bruno@clisp.org>
932
933         netinet_in: Doc tweak.
934         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
935         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
936
937 2010-09-18  Jim Meyering  <meyering@redhat.com>
938
939         init.sh: correct an outdated comment
940         * tests/init.sh (create_exe_shims_):  s/function/alias/
941
942         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
943         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
944         a file named "*.exe" is removed between the glob expansion and the
945         processing of that oddly named file.
946
947 2010-09-17  Eric Blake  <eblake@redhat.com>
948
949         mirbsd: add some more support
950         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
951         in BSD family.
952         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
953         devices as OpenBSD.
954         * m4/host-os.m4 (mirbsd): Add MirBSD.
955
956         tests: fix unportable assumption on sys/wait.h
957         * tests/test-sys_wait.c (main): Relax test.
958         * tests/test-stdlib.c (main): Likewise.
959
960         init.sh: accomodate directory with no .exes
961         * tests/init.sh: Accomodate directory containing only scripts.
962
963         tests: avoid compiler warning
964         * tests/test-stdlib.c (main): Use the variable.
965
966         fdutimens, fdutimensat: update signature, again
967         * lib/utimens.h (gl_futimens): Delete, and move signature...
968         (fdutimens): ...here.
969         (fdutimensat): Rearrange signature.
970         (lutimensat): Rename variable for clarity.
971         * lib/fdutimensat.c (fdutimensat): Update signature.
972         * lib/utimens.c (fdutimens): Likewise.
973         (gl_futimens): Delete.
974         (utimens, lutimens): Update callers.
975         * lib/futimens.c (futimens): Likewise.
976         * tests/test-fdutimensat.c: Likewise.
977         * tests/test-utimens.c: Likewise.
978         * tests/test-futimens.h: Update comment.
979         * NEWS: Mention this.
980         Suggested by Paul Eggert.
981
982 2010-09-17  Bruno Haible  <bruno@clisp.org>
983
984         Take over the maintenance of some older macros from Autoconf.
985         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
986         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
987         GNU Autoconf.
988         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
989         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
990
991 2010-09-17  Eric Blake  <eblake@redhat.com>
992
993         fdutimensat: drop atflag validation
994         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
995         with valid fd, to close a race scenario where futimens is
996         unsupported and FILE was replaced by a symlink.
997         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
998         accordingly.
999         Suggested by Paul Eggert.
1000
1001 2010-09-16  Bruno Haible  <bruno@clisp.org>
1002
1003         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
1004         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
1005
1006 2010-09-16  Bruno Haible  <bruno@clisp.org>
1007
1008         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
1009         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
1010         login_tty exists.
1011         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1012
1013 2010-09-16  Bruno Haible  <bruno@clisp.org>
1014
1015         login_tty: Make the replacement code work on BSD systems.
1016         * lib/login_tty.c: Include <sys/ioctl.h>.
1017         (login_tty): Use ioctl TIOCSCTTY when available.
1018         * modules/login_tty (Depends-on): Add sys_ioctl.
1019         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1020
1021 2010-09-16  Bruno Haible  <bruno@clisp.org>
1022
1023         login_tty: Stricter unit test.
1024         * modules/login_tty-tests (Depends-on): Add tcgetsid.
1025         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
1026         and tcgetsid() after login_tty.
1027         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1028
1029 2010-09-16  Bruno Haible  <bruno@clisp.org>
1030
1031         New module 'tcgetsid'.
1032         * lib/tcgetsid.c: New file.
1033         * m4/tcgetsid.m4: New file.
1034         * modules/tcgetsid: New file.
1035         * modules/termios (Depends-on): Add c++defs, warn-on-use.
1036         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
1037         GNULIB_TCGETSID, HAVE_TCGETSID.
1038         * lib/termios.in.h: Include <sys/types.h>.
1039         (tcgetsid): New declaration.
1040         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
1041         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
1042         * doc/posix-functions/tcgetsid.texi: Mention the new module.
1043         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
1044
1045 2010-09-16  Bruno Haible  <bruno@clisp.org>
1046
1047         Tests for module 'termios'.
1048         * modules/termios-c++-tests: New file.
1049         * modules/termios-tests: New file.
1050         * tests/test-termios-c++.cc: New file.
1051         * tests/test-termios.c: New file.
1052
1053         New module 'termios'.
1054         * modules/termios: New file.
1055         * lib/termios.in.h: New file.
1056         * m4/termios_h.m4: New file.
1057         * doc/posix-headers/termios.texi: Mention the new module.
1058
1059 2010-09-16  Eric Blake  <eblake@redhat.com>
1060
1061         fdutimensat: add an atflag parameter
1062         * lib/fdutimensat.c (fdutimensat): Add new parameter.
1063         * lib/utimens.h (fdutimensat): Update prototype.
1064         * tests/test-fdutimensat.c: Adjust test to match.
1065         * NEWS: Document the change.
1066         Suggested by Paul Eggert.
1067
1068 2010-09-16  Bruno Haible  <bruno@clisp.org>
1069
1070         Fix typos in comments.
1071         * lib/striconveh.h: Fix typo in comment.
1072         * lib/login_tty.c (login_tty): Likewise.
1073
1074 2010-09-15  Bruno Haible  <bruno@clisp.org>
1075
1076         stdlib: clarify MirBSD WEXITSTATUS bug
1077         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
1078         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
1079
1080 2010-09-15  Eric Blake  <eblake@redhat.com>
1081
1082         stdlib: work around MirBSD WEXITSTATUS bug
1083         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
1084         * modules/stdlib (Depends-on): Add sys_wait.
1085         * tests/test-sys_wait.c (main): Enhance test.
1086         * tests/test-stdlib.c (main): Likewise.
1087         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
1088
1089         docs: mention MacOS issue with WEXITSTATUS(constant)
1090         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
1091         issue.
1092         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
1093
1094         strnlen: add tests
1095         * modules/strnlen-tests: New file.
1096         * tests/test-strnlen.c: Likewise.
1097
1098 2010-09-14  Bruno Haible  <bruno@clisp.org>
1099
1100         unistr/base: Avoid link errors when module 'libunistring' is also used.
1101         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
1102         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
1103         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
1104         Declare also when HAVE_LIBUNISTRING is set.
1105         Reported by Pádraig Brady <P@draigbrady.com>.
1106
1107 2010-09-14  Eric Blake  <eblake@redhat.com>
1108
1109         test-rawmemchr: make more robust
1110         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
1111         (Depends-on, configure.ac): Add needed prerequisites to use it.
1112         * modules/memchr-tests (Files, Depends-on, configure.ac):
1113         Likewise, to avoid implicit reliance on memchr module prereqs.
1114         * tests/test-memchr.c (main): Ensure proper masking.
1115         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
1116         reads.
1117
1118         memchr: detect glibc Alpha bug
1119         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
1120         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
1121         Alpha.
1122         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
1123         * tests/test-memchr.c (main): Enhance test.
1124         Reported by Nelson H. F. Beebe.
1125
1126 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1127
1128         fts, getcwd, glob: audit for dirfd returning -1
1129         * lib/fts.c (opendir): Remove #define; no longer used.
1130         (opendirat): New arg PDIR_FD.  All callers changed.
1131         (fts_build, _opendir2): Use new opendirat to avoid the need for
1132         dirfd, or for checking whether dirfd returns a negative value.
1133         Don't use opendir; always use openat followed by fdopendir.
1134         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
1135         it.
1136         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
1137         returns -1 here.
1138         * modules/fts (Depends-on): Remove dirfd.
1139         * modules/getcwd (Depends-on): Likewise.
1140
1141 2010-09-13  Eric Blake  <eblake@redhat.com>
1142
1143         float: fix broken MirBSD header
1144         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
1145         * doc/posix-headers/float.texi (float.h): Document it.
1146
1147 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1148
1149         fts: use O_NOFOLLOW to avoid race condition when opening a directory
1150         * lib/fts.c (opendirat): New arg extra_flags.
1151         (__opendir2): Use it to avoid following symlinks when opening
1152         a directory, if symlinks are not supposed to be followed.  See
1153         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
1154
1155         fdopendir: preserve argument fd before returning
1156         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
1157         (fdopendir_with_dup, fd_clone_opendir): New static functions.
1158         (fdopendir): Use them, arranging for FD to be open to the same
1159         directory that it was when it started.  (It might be temporarily
1160         closed while fdopendir is running, so this not thread- or
1161         signal-safe.)  Be careful to do the right thing even when file
1162         descriptors are scarce and dup fails with errno == EMFILE.  See
1163         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
1164
1165 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
1166
1167         regex: Pass the system regex if its only problem is 32-bit regoff_t.
1168         * NEWS: Document change.
1169         * m4/regex.m4: Disable test for regoff_t size.
1170
1171 2010-09-13  Jim Meyering  <meyering@redhat.com>
1172
1173         fts: don't operate on an invalid file descriptor after failed dup
1174         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
1175         negative file descriptor.
1176
1177 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
1178
1179         savedir: add streamsavedir, deprecate fdsavedir
1180         * NEWS: Mention deprecation of fdsavedir.
1181         * lib/savedir.c (streamsavedir): New extern function, whose name
1182         ends in "savedir" to be consistent with the others.  This differs
1183         from savedirstream in that it doesn't close its argument.  The
1184         next version of GNU tar will use this instead of fdsavedir, to
1185         avoid some race conditions and conserve file descriptors.
1186         (savedirstream): Reimplement as a wrapper around streamsavedir.
1187         (fdsavedir): Add a comment deprecating this function.  As far as
1188         I know, only GNU tar used it, and GNU tar doesn't need it any more.
1189         * lib/savedir.h (streamsavedir): New decl.
1190         (fdsavedir): Add a comment deprecating this.
1191
1192 2010-09-10  Bruno Haible  <bruno@clisp.org>
1193
1194         langinfo: Fix last commit.
1195         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
1196         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
1197         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1198
1199 2010-09-10  Bruno Haible  <bruno@clisp.org>
1200
1201         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
1202         * lib/progreloc.c (O_EXEC): Define fallback.
1203
1204 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1205
1206         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
1207         * NEWS: Document recent changes to fcntl-h.
1208         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
1209         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
1210         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
1211         Similarly for O_SEARCH; this last was already true, but not documented.
1212         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
1213         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
1214         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
1215         Likewise.
1216         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
1217         is zero, not whether it is defined.
1218         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
1219         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
1220         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
1221
1222 2010-09-10  Bruno Haible  <bruno@clisp.org>
1223
1224         langinfo, nl_langinfo: Fix for IRIX 5.3.
1225         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
1226         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
1227         HAVE_LANGINFO_YESEXPR.
1228         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
1229         HAVE_LANGINFO_YESEXPR.
1230         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
1231         HAVE_LANGINFO_T_FMT_AMPM is 0.
1232         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
1233         HAVE_LANGINFO_YESEXPR is 0.
1234         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
1235         NOEXPR.
1236         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
1237         * doc/posix-functions/nl_langinfo.texi: Likewise.
1238         Reported by Eric Blake.
1239
1240 2010-09-10  Bruno Haible  <bruno@clisp.org>
1241
1242         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
1243         * doc/glibc-functions/login_tty.texi: Mention the include file problem
1244         on FreeBSD 8.0 and OpenBSD 4.6.
1245         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
1246         * m4/pty_h.m4 (gl_PTY_H): Likewise.
1247         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
1248         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
1249         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
1250         ac_includes_default.
1251         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1252
1253 2010-09-09  Eric Blake  <eblake@redhat.com>
1254
1255         strsignal: work around NetBSD bug
1256         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
1257         * lib/string.in.h (includes): Likewise.
1258         * doc/posix-functions/strsignal.texi (strsignal): Document the
1259         bug.
1260         Reported by Nelson H. F. Beebe.
1261
1262         gnulib-tool: work with NetBSD /bin/sh
1263         * gnulib-tool (func_cache_var, func_cache_lookup_module)
1264         (func_get_description, func_get_comment, func_get_status)
1265         (func_get_notice, func_get_applicability, func_get_filelist)
1266         (func_get_dependencies, func_get_autoconf_early_snippet)
1267         (func_get_autoconf_snippet, func_get_automake_snippet)
1268         (func_get_include_directive, func_get_link_directive)
1269         (func_get_license, func_get_maintainer, func_import): Avoid
1270         shell syntax errors from parsing syntax extensions.
1271
1272 2010-09-09  Bruno Haible  <bruno@clisp.org>
1273
1274         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
1275         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
1276         a reliable way to determine whether the 'alias' command works.
1277
1278 2010-09-08  Jim Meyering  <meyering@redhat.com>
1279
1280         init.sh: penalize a set-x-impaired shell; don't disqualify it
1281         * tests/init.sh: Too many shells corrupt application stderr when
1282         you set -x, so we can't afford to disqualify them, since at least
1283         on Irix-6.5, that would disqualify all bourne shells.
1284         Instead, use a two-pass approach.
1285         On the first pass, try to find a shell that meets the stricter
1286         condition that set -x does not corrupt stderr.
1287         If no shell meets the stricter condition, retest each candidate
1288         shell, but without that extra condition.  Finally, when
1289         VERBOSE=yes is requested and set -x might cause trouble, simply
1290         issue a warning and refrain from enabling debug output.
1291
1292 2010-09-08  Eric Blake  <eblake@redhat.com>
1293
1294         unsetenv: fix OpenBSD bug
1295         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
1296         * doc/posix-functions/unsetenv.texi (unsetenv): Update
1297         documentation.
1298         Reported by Jim Meyering.
1299
1300         strtod: work around IRIX 6.5 bug
1301         * lib/strtod.c (strtod): Reparse number on shorter string if
1302         exponent parse was invalid.
1303         * tests/test-strtod.c (main): Add check for "0x1p 2".
1304         Reported by Tom G. Christensen.
1305
1306         getopt: optimize previous patch
1307         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
1308         empty variable.  Speed up awk script.
1309         Reported by Paolo Bonzini.
1310
1311 2010-09-08  Jim Meyering  <meyering@redhat.com>
1312
1313         test.sh: disqualify shells for which set -x corrupts stderr
1314         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
1315         and OpenBSD 4.7.  They make it so with "set -x", environment settings
1316         appear in stderr output.  For example, this command:
1317             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
1318         prints "P=1" on those two systems:
1319
1320 2010-09-08  Bruno Haible  <bruno@clisp.org>
1321
1322         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
1323         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
1324         commands, because some shells ignore redirections when there is an
1325         error in the command lookup.
1326         Reported by Eric Blake.
1327
1328 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
1329
1330         * lib/regex.h: Fix a mention of `regex_compile' (should be
1331         `re_compile_pattern').
1332         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
1333         (re_set_registers): Correct name of parameter in comment.
1334
1335         * doc/regex.texi: Add documentation for missing syntax flags.
1336         Remove commented-out documentation of defunct syntax option
1337         RE_NO_EMPTY_ALTS.
1338         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
1339         Add documentation of re_set_registers.
1340         Document trick to re-use a pattern buffer by setting fastmap manually.
1341         Update documentation of struct re_pattern_buffer per public members.
1342         Uncomment documentation of equivalence class operators and
1343         collating symbol operators, since they are now implemented,
1344         Explain leftmost-longest matching in relation to alternatives.
1345         Tidy documentation of substring matching.
1346         Remove POSIX documentation, which is done better in
1347         glibc, and refer the reader there. Keep BSD API documentation, as
1348         that is not readily available elsewhere.
1349
1350 2010-09-07  Eric Blake  <eblake@redhat.com>
1351
1352         getopt: handle POSIXLY_CORRECT set but not exported
1353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
1354         export state of POSIXLY_CORRECT, due to bash set -o posix.
1355         Reported by Dustin J. Mitchell.
1356
1357 2010-09-05  Bruno Haible  <bruno@clisp.org>
1358
1359         gnulib-tool: Highlight the changed options.
1360         * gnulib-tool (func_usage): Display the --import, --add-import,
1361         --remove-import explanations in bold font.
1362
1363 2010-09-06  Karl Berry  <karl@gnu.org>
1364
1365         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
1366
1367 2010-09-05  Bruno Haible  <bruno@clisp.org>
1368
1369         uniwidth/width: Update comment.
1370         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
1371         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
1372
1373 2010-09-05  Bruno Haible  <bruno@clisp.org>
1374
1375         isinf, isnan: Relax license.
1376         * modules/isinf (License): Change from GPL to LGPL, with consent from
1377         Ben Pfaff.
1378         * modules/isnan (License): Likewise.
1379         Requested by Ludovic Courtès.
1380
1381 2010-09-04  Bruno Haible  <bruno@clisp.org>
1382
1383         gnulib-tool: Help migration from --import to --add-import or --update.
1384         * gnulib-tool: Emit a verbose error message when --import is used
1385         without any module name.
1386
1387 2010-09-04  Bruno Haible  <bruno@clisp.org>
1388
1389         Update doc about gnulib-tool.
1390         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
1391         'gnulib-tool --update' in more detail.
1392         Reported by Eric Blake.
1393
1394 2010-09-04  Bruno Haible  <bruno@clisp.org>
1395
1396         gnulib-tool: Change --import. New options --add/remove-import.
1397         * gnulib-tool: New options --add-import, --remove-import.
1398         (func_usage): Document them.
1399         (have_associative): Define always.
1400         (func_import): In import mode, don't merge the specified settings with
1401         the cached settings. Implement remove-import mode.
1402         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
1403         Explain when to use them versus --import.
1404         (Simple update): Use --add-import instead of --import.
1405         * NEWS: Mention the change.
1406
1407 2010-09-04  Bruno Haible  <bruno@clisp.org>
1408
1409         * doc/gnulib-tool.texi (Initial import): Update paragraph about
1410         separate gnulib.mk.
1411
1412 2010-09-04  Bruno Haible  <bruno@clisp.org>
1413
1414         gnulib-tool: Don't talk about CVS any more.
1415         * gnulib-tool (func_usage, func_import): Write "version control"
1416         instead of CVS.
1417
1418 2010-09-04  Jim Meyering  <meyering@redhat.com>
1419
1420         maint.mk: avoid obscure sc_copyright_check failure in coreutils
1421         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
1422         false positives (whose names may be ill-chosen) when searching
1423         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
1424         would cause a false-positive.
1425
1426         avoid coreutils "make distcheck" failure
1427         Coreutils tests with an absolute build directory name that contains
1428         a space.  Not quoting this directory name caused a failure.
1429         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
1430         * tests/test-vc-list-files-cvs.sh: Likewise.
1431
1432 2010-09-04  Bruno Haible  <bruno@clisp.org>
1433
1434         gnulib-tool: Avoid error when run in a package without Makefile.am.
1435         * gnulib-tool: When collecting the m4dirs in a package that does not
1436         have a Makefile.am, eliminate those directories that contain no
1437         gnulib-cache.m4. Fix expression that counts these directories.
1438
1439 2010-09-04  Bruno Haible  <bruno@clisp.org>
1440
1441         update-copyright test: Improve output when perl is missing or too old.
1442         * tests/test-update-copyright.sh: Move test of Perl version down after
1443         the test whether Perl exists. Provide an explanation relating Perl's
1444         error message to Automake's SKIP: message.
1445
1446 2010-09-04  Bruno Haible  <bruno@clisp.org>
1447
1448         Don't augment PATH in TESTS_ENVIRONMENT.
1449         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
1450         set abs_aux_dir instead of augmenting PATH.
1451         * modules/vc-list-files-tests (Makefile.am): Likewise.
1452         * tests/test-update-copyright.sh: Augment PATH here.
1453         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
1454         path_prepend_.
1455         * tests/test-vc-list-files-git.sh: Likewise.
1456
1457 2010-09-04  Jim Meyering  <meyering@redhat.com>
1458
1459         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
1460         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
1461
1462 2010-09-04  Bruno Haible  <bruno@clisp.org>
1463
1464         strdup: Fix compilation error in C++ mode.
1465         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
1466         the macro.
1467
1468 2010-09-04  Bruno Haible  <bruno@clisp.org>
1469
1470         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
1471         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
1472         macro into a function.
1473         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1474
1475 2010-09-04  Bruno Haible  <bruno@clisp.org>
1476
1477         Set PATH_SEPARATOR the same way autoconf does.
1478         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
1479         the value of PATH_SEPARATOR the same way autoconf-generated configure
1480         scripts do.
1481         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
1482         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
1483
1484 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1485
1486         Set PATH_SEPARATOR the same way autoconf does.
1487         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
1488         the same way autoconf-generated configure scripts do.
1489         * posix-modules: Likewise.
1490
1491 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
1492
1493         hash: fix safe_hasher const typo
1494         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
1495         const; otherwise, there is a type error later.
1496
1497 2010-09-02  Jim Meyering  <meyering@redhat.com>
1498
1499         test-update-copyright.sh: require perl 5.8.0
1500         * tests/test-update-copyright.sh: Require 5.8.0,
1501         which Tom G. Christensen has confirmed is adequate,
1502         while 5.6.1 is not.
1503
1504 2010-09-02  Eric Blake  <eblake@redhat.com>
1505
1506         tests: init.sh improvements for re-exec'ing with zsh
1507         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
1508         -vx through shell re-exec.
1509         Reported by Tom G. Christensen.
1510
1511         wctype: fix typo in previous commit
1512         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
1513         Reported by Ludovic Courtès.
1514
1515 2010-09-02  Jim Meyering  <meyering@redhat.com>
1516
1517         test-update-copyright.sh: skip test if Perl is too old
1518         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
1519         Reported by Tom G. Christensen.
1520
1521 2010-09-02  Bruno Haible  <bruno@clisp.org>
1522
1523         wctype: Avoid compilation error on IRIX 6.5.30.
1524         * lib/wctype.in.h (iswblank): Declare with a replacement if
1525         REPLACE_ISWBLANK is set.
1526         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
1527         declared. Set REPLACE_ISWBLANK.
1528         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
1529         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
1530         * doc/posix-headers/wctype.texi: Likewise.
1531         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1532
1533 2010-09-01  Bruno Haible  <bruno@clisp.org>
1534
1535         New module 'socketlib'.
1536         * modules/socketlib: New file.
1537         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
1538         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
1539         * modules/sockets (Depends-on): Add socketlib.
1540         Suggested by Sam Steingold <sds@gnu.org>.
1541
1542 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1543
1544         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
1545
1546         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
1547         when one needs search access to a directory but not read access.
1548         On systems where it is available, it works in some cases where
1549         O_RDONLY does not, namely on directories that are searchable but
1550         not readable, and which need only to be searchable.  If O_SEARCH
1551         is not available, fall back to the traditional method of using
1552         O_RDONLY.
1553
1554         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
1555         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
1556         when opening a directory that needs only to be searchable.
1557         * lib/chdir-safer.c (chdir_no_follow): Likewise.
1558         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
1559         * lib/openat-proc.c (openat_proc_name): Likewise.
1560         * lib/openat.c (openat_needs_fchdir): Likewise.
1561         * lib/save-cwd.c (save_cwd): Likewise.
1562         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
1563
1564 2010-08-28  Bruno Haible  <bruno@clisp.org>
1565
1566         New module 'host-cpu-c-abi'.
1567         * modules/host-cpu-c-abi: New file.
1568         * m4/host-cpu-c-abi.m4: New file, based on part of
1569         clisp/src/m4/general.m4.
1570         Requested by Sam Steingold <sds@gnu.org>.
1571
1572 2010-08-31  Eric Blake  <eblake@redhat.com>
1573         and Jim Meyering  <meyering@redhat.com>
1574
1575         hash: factor, and guard against misbehaving hasher function
1576         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
1577         of table->hasher's return value.  Also protect against a hash value
1578         so large that adding it to table->bucket results in a NULL pointer.
1579         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
1580         Use it in place of open-coded check-and-abort.
1581
1582 2010-08-30  Bruno Haible  <bruno@clisp.org>
1583
1584         hash: silence spurious clang warning
1585         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
1586         Reported by Eric Blake.
1587
1588 2010-08-30  Eric Blake  <eblake@redhat.com>
1589
1590         strstr, memmem, strcasestr: avoid leaked shell message
1591         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
1592         FreeBSD.
1593         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1594         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
1595
1596         tests: silence clang warning
1597         * tests/test-malloca.c (do_allocation): Avoid dead store.
1598
1599 2010-08-29  Bruno Haible  <bruno@clisp.org>
1600
1601         gettext: Fix recent mistake.
1602         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
1603
1604 2010-08-29  Bruno Haible  <bruno@clisp.org>
1605
1606         selinux-h: Offer a --without-selinux option.
1607         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
1608         --without-selinux was specified, skip all tests and define
1609         HAVE_SELINUX_SELINUX_H to 0.
1610         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
1611         set LIB_SELINUX to empty.
1612         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
1613         gl_LIBSELINUX. If --without-selinux was specified, replace
1614         selinux/context.h.
1615         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
1616
1617 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1618             Bruno Haible  <bruno@clisp.org>
1619
1620         Make the module 'realloc-gnu' work again on AIX and OSF/1.
1621         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
1622         of HAVE_REALLOC.
1623         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
1624         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
1625         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
1626         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
1627
1628 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1629             Bruno Haible  <bruno@clisp.org>
1630
1631         Make the module 'calloc-gnu' work again on AIX and OSF/1.
1632         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
1633         HAVE_CALLOC.
1634         * lib/xmalloc.c: Update accordingly.
1635         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
1636         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
1637         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1638
1639 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1640             Bruno Haible  <bruno@clisp.org>
1641
1642         Make the module 'malloc-gnu' work again on AIX and OSF/1.
1643         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
1644         HAVE_MALLOC.
1645         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
1646         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
1647         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
1648
1649 2010-08-29  Bruno Haible  <bruno@clisp.org>
1650
1651         Update modules list.
1652         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
1653         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
1654         (String handling <string.h>): Add astrxfrm.
1655         (File system functions): Add readlinkat.
1656
1657 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1658
1659         Tests for module 'realloc-gnu'.
1660         * modules/realloc-gnu-tests: New file.
1661         * tests/test-realloc-gnu.c: New file.
1662
1663         Tests for module 'calloc-gnu'.
1664         * modules/calloc-gnu-tests: New file.
1665         * tests/test-calloc-gnu.c: New file.
1666
1667         Tests for module 'malloc-gnu'.
1668         * modules/malloc-gnu-tests: New file.
1669         * tests/test-malloc-gnu.c: New file.
1670
1671 2010-08-28  Bruno Haible  <bruno@clisp.org>
1672
1673         Rename module 'realloc' -> 'realloc-gnu'.
1674         * modules/realloc-gnu: New file, copied from modules/realloc.
1675         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
1676         obsolete.
1677         * modules/mgetgroups (Depends-on): Update.
1678         * doc/posix-functions/realloc.texi: Update.
1679         * NEWS: Mention the change.
1680
1681         Rename module 'calloc' -> 'calloc-gnu'.
1682         * modules/calloc-gnu: New file, copied from modules/calloc.
1683         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
1684         obsolete.
1685         * doc/posix-functions/calloc.texi: Update.
1686         * NEWS: Mention the change.
1687
1688         Rename module 'malloc' -> 'malloc-gnu'.
1689         * modules/malloc-gnu: New file, copied from modules/malloc.
1690         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
1691         obsolete.
1692         * modules/argp (Depends-on): Update.
1693         * modules/regex (Depends-on): Update.
1694         * doc/posix-functions/malloc.texi: Update.
1695         * NEWS: Mention the change.
1696
1697 2010-08-28  Eric Blake  <eblake@redhat.com>
1698
1699         pread, pwrite: add missing dependency
1700         * modules/pread (Depends-on): Add extensions.
1701         * modules/pwrite (Depends-on): Likewise.
1702
1703 2010-08-28  Bruno Haible  <bruno@clisp.org>
1704
1705         unistr/u*-strchr: Fix tests dependencies.
1706         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
1707         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
1708         Reported by Ian Beckwith <ianb@erislabs.net>.
1709
1710 2010-08-28  Bruno Haible  <bruno@clisp.org>
1711
1712         read-file: Don't occupy too much unused memory.
1713         * lib/read-file.c (fread_file): Shrink the buffer at the end.
1714
1715 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
1716             Eric Blake  <eblake@redhat.com>
1717             Bruno Haible  <bruno@clisp.org>
1718
1719         read-file: Avoid memory reallocations with regular files.
1720         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
1721         (fread_file): With regular files, use the remaining length as the
1722         initial buffer size.  Check against overflow.
1723         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
1724         sys_stat.
1725
1726 2010-08-28  Bruno Haible  <bruno@clisp.org>
1727
1728         ftello: Relax license.
1729         * modules/ftello (License): Relax to LGPLv2+.
1730         Reported by Eric Blake.
1731
1732 2010-08-28  Bruno Haible  <bruno@clisp.org>
1733
1734         Avoid relocwrapper link errors due to gnulib replacement functions.
1735         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
1736         function.
1737         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1738
1739 2010-08-28  Bruno Haible  <bruno@clisp.org>
1740
1741         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
1742         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
1743         defined.
1744         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
1745         Suggested by Eric Blake.
1746
1747 2010-08-28  Bruno Haible  <bruno@clisp.org>
1748
1749         sys_socket, netdb: Ensure socklen_t gets defined.
1750         * modules/sys_socket (Depends-on): Add socklen.
1751         * modules/netdb (Depends-on): Likewise.
1752         * modules/getaddrinfo (Depends-on): Remove socklen.
1753         * modules/getsockopt (Depends-on): Likewise.
1754         * modules/setsockopt (Depends-on): Likewise.
1755         * tests/test-sys_socket.c: Check that socklen_t is defined.
1756         * tests/test-netdb.c: Likewise.
1757         * m4/socklen.m4: Update comments.
1758         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1759
1760 2010-08-27  Eric Blake  <eblake@redhat.com>
1761
1762         login_tty: add missing dependency
1763         * modules/login_tty (Depends-on): Add pty.
1764
1765 2010-08-26  Eric Blake  <eblake@redhat.com>
1766
1767         lib-symbol-versions: fix m4 quoting
1768         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
1769         format for AC_LINK_IFELSE.
1770
1771         glob: fix compile test
1772         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
1773
1774         btowc: fix missing file
1775         * modules/btowc (Files): Also ship locale-fr.m4.
1776
1777         lseek: fix link test
1778         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
1779         AC_LINK_IFELSE.
1780
1781         include_next: silence autoconf 2.68 warning
1782         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
1783         AC_COMPILE_IFELSE as special.
1784         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
1785         autoconf < 2.68.
1786
1787         acl: fix compilation test
1788         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
1789         AC_COMPILE_IFELSE.
1790
1791 2010-08-26  Bruno Haible  <bruno@clisp.org>
1792
1793         Modernize AC_TRY_RUN invocations.
1794         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
1795         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
1796         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
1797         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
1798         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
1799         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
1800         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
1801         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
1802         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1803         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
1804         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
1805         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
1806         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
1807         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
1808         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
1809         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
1810         gl_MBRLEN_NUL_RETVAL): Likewise.
1811         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
1812         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
1813         Likewise.
1814         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
1815         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
1816         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
1817         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
1818         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
1819         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
1820         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
1821         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
1822         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
1823         Likewise.
1824         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
1825         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
1826         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1827         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
1828         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1829         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
1830         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1831         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
1832         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1833         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1834
1835 2010-08-26  Bruno Haible  <bruno@clisp.org>
1836
1837         Modernize AC_TRY_LINK invocations.
1838         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
1839         AC_TRY_LINK.
1840         * m4/argp.m4 (gl_ARGP): Likewise.
1841         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
1842         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
1843         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
1844         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
1845         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
1846         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
1847         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
1848         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
1849         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
1850         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
1851         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
1852         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
1853         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
1854         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1855         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
1856         * m4/hostent.m4 (gl_HOSTENT): Likewise.
1857         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
1858         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
1859         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
1860         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
1861         Likewise.
1862         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
1863         Likewise.
1864         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
1865         Likewise.
1866         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
1867         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
1868         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
1869         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
1870         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
1871         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
1872         * m4/servent.m4 (gl_SERVENT): Likewise.
1873         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
1874         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
1875         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
1876         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
1877         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
1878         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1879         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1880         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1881         * modules/tsearch-tests (configure.ac): Likewise.
1882
1883 2010-08-26  Bruno Haible  <bruno@clisp.org>
1884
1885         Modernize AC_TRY_COMPILE invocations.
1886         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
1887         AC_TRY_COMPILE.
1888         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
1889         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
1890         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
1891         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
1892         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
1893         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
1894         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
1895         * m4/lock.m4 (gl_LOCK): Likewise.
1896         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
1897         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1898         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
1899         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
1900         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
1901         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
1902         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
1903         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
1904         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
1905         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
1906         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
1907         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1908         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
1909         extraneous semicolon.
1910
1911 2010-08-26  Jim Meyering  <meyering@redhat.com>
1912
1913         stat-time: relax license LGPL
1914         * modules/stat-time (License): Change from GPL to LGPL,
1915         with consent from all contributors, for use in libguile.
1916         Requested by Ludovic Courtès.
1917
1918 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
1919
1920         poll: return immediately on POLLHUP.
1921         * lib/poll.c (poll): Always set timeout before wait_timeout is
1922         computed.
1923
1924 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1925
1926         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
1927         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
1928         rmdir ("dir/.//"), unlinkat.
1929
1930 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1931
1932         stdbool: avoid spurious failure with modern xlc
1933         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
1934
1935 2010-08-24  Bruno Haible  <bruno@clisp.org>
1936
1937         getloadavg: simplify code
1938         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
1939         gl_have_func. Update comments.
1940
1941 2010-08-24  Eric Blake  <eblake@redhat.com>
1942
1943         getloadavg: don't define SVR4 on cygwin
1944         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
1945         only define SVR4 when -lkvm is required.
1946         Reported by Yaakov Selkowitz.
1947
1948 2010-08-24  Bruno Haible  <bruno@clisp.org>
1949
1950         priv-set: fix comment
1951         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
1952
1953 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1954
1955         priv-set: fix comments
1956         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
1957         to match code, as suggested by David Bartley in:
1958         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
1959
1960 2010-08-23  Eric Blake  <eblake@redhat.com>
1961
1962         stdbool: avoid rejecting clang
1963         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
1964         * tests/test-stdbool.c: Enable more tests if using the system
1965         <stdbool.h> instead of the gnulib replacement.
1966         (main): Move xlc bug test to a runtime test for all compilers.
1967         Reported by Anders Kaseorg.
1968
1969         argz: fix shell quoting issue
1970         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
1971         Reported by Charles Wilson.
1972
1973 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
1974             Erik Faye-Lund <kusmabite@gmail.com>
1975
1976         poll, select: handle ERROR_BROKEN_PIPE.
1977         * lib/poll.c (win32_compute_revents): Return POLLHUP when
1978         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
1979         * lib/select.c (win32_compute_revents): Do not mark a pipe
1980         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
1981
1982 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
1983
1984         fts: allow compilation with C++
1985         * lib/fts_.h: Specify extern "C" linkage with C++.
1986
1987 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1988
1989         Fix gnulib-tool sed script de-commentation for AIX sed.
1990         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
1991         sed.
1992
1993 2010-08-17  Eric Blake  <eblake@redhat.com>
1994
1995         test-stddef: test for (some) offsetof bugs
1996         * tests/test-stddef.c: Enhance test to ensure correct type of
1997         offsetof.
1998         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
1999         that we are not fixing at this time.
2000
2001 2010-08-15  Bruno Haible  <bruno@clisp.org>
2002
2003         stpncpy: Allow stpncpy to be defined as a macro.
2004         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
2005         if it's already correctly declared.
2006         * lib/string.in.h (stpncpy): Undefine before redefining.
2007         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
2008
2009 2010-08-14  Bruno Haible  <bruno@clisp.org>
2010
2011         Rename module 'memxfrm' to 'amemxfrm'.
2012         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
2013         (amemxfrm): Renamed from memxfrm.
2014         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
2015         (amemxfrm): Renamed from memxfrm.
2016         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
2017         * NEWS: Mention the change.
2018         * MODULES.html.sh (String handling <string.h>): Update.
2019         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
2020         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
2021         * lib/unicase/u16-casexfrm.c: Likewise.
2022         * lib/unicase/u32-casexfrm.c: Likewise.
2023         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
2024         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
2025         * lib/uninorm/u16-normxfrm.c: Likewise.
2026         * lib/uninorm/u32-normxfrm.c: Likewise.
2027         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
2028         memxfrm.
2029         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
2030         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
2031         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
2032         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
2033         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
2034         Suggested by Paul Eggert.
2035
2036 2010-08-14  Bruno Haible  <bruno@clisp.org>
2037
2038         Tests for module 'astrxfrm'.
2039         * modules/astrxfrm-tests: New file.
2040         * tests/test-astrxfrm.c: New file.
2041
2042         New module 'astrxfrm'.
2043         * lib/astrxfrm.h: New file.
2044         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
2045         * modules/astrxfrm: New file.
2046
2047 2010-08-14  Reuben Thomas <rrt@sc3d.org>
2048
2049         regex: Tweak doc.
2050         * doc/regex.texi (Overview): Don't mention regex.c.
2051         (GNU Regular Expression Compiling): Likewise.
2052         (Match-end-of-line Operator): Mention 'not_eol'.
2053
2054 2010-08-14  Brian Gough  <bjg@gnu.org>
2055             Bruno Haible  <bruno@clisp.org>
2056
2057         git-merge-changelog: add doc relating to use with bzr and hg.
2058         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
2059
2060 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
2061
2062         pthread: fix pthread.h creation for srcdir != builddir
2063         * modules/pthread (Makefile.am): Fix the rule to work also in a
2064         non-srcdir build.
2065
2066 2010-08-13  Karl Berry  <karl@gnu.org>
2067
2068         * doc/regex.texi (Predefined Syntaxes): @smallexample.
2069         * doc/posix-*/*: force line break before @url of POSIX
2070         specifications.
2071         Suggested by Werner Lemberg.
2072
2073 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2074
2075         strtod: fix const diagnostic
2076         * lib/strtod.c (strtod): Don't assign const char * to char *,
2077         as this elicits a warning from GCC when warnings are enabled.
2078
2079 2010-08-10  Pádraig Brady <P@draigbrady.com>
2080         and Eric Blake  <eblake@redhat.com>
2081
2082         copy-acl: ignore ENOTSUP on HP-UX
2083         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
2084         so that it is available for HP-UX.
2085         * lib/copy-acl.c (qcopy_acl): Use it.
2086         Reported by Patrick M. Callahan.
2087
2088 2010-08-10  Eric Blake  <eblake@redhat.com>
2089
2090         open, chown: relax license
2091         * modules/open (License): Change to LGPLv2+, with consent by all
2092         authors, for use in augeas.
2093         * modules/chown (License): Likewise.
2094         * modules/lchown (Likewise): Likewise.
2095         Requested by Adam Stokes.
2096
2097 2010-08-09  Karl Berry  <karl@gnu.org>
2098
2099         * build-aux/ar-lib: new file, import from Automake.
2100         * config/srclist.txt: autocheck for updates.
2101
2102 2010-08-09  Eric Blake  <eblake@redhat.com>
2103
2104         readlinkat: adjust client modules
2105         * modules/areadlinkat (Depends-on): Use readlinkat, not
2106         symlinkat.
2107         * modules/areadlinkat-with-size (Depends-on): Likewise.
2108
2109         mknod: be more vocal about danger of running tests as root
2110         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
2111         root, since that is just asking for problems.
2112         Suggested by Bruno Haible, based on a report by Rainer Tammer.
2113
2114         readlinkat: split into its own module
2115         * modules/symlinkat: Split readlinkat...
2116         * modules/readlinkat: ...into separate module.
2117         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
2118         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
2119         * lib/symlinkat.c (readlinkat): Move...
2120         * lib/readlinkat.c: ...into new file.
2121         * modules/symlinkat-tests: Split readlinkat test...
2122         * modules/readlinkat-tests: ...into separate module.
2123         * tests/test-symlinkat.c: Split...
2124         * tests/test-readlinkat.c: ...into new file.
2125         * NEWS: Document the split.
2126         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2127         * lib/unistd.in.h (readlinkat): Likewise.
2128         Suggested by Bruno Haible.
2129
2130 2010-08-08  Bruno Haible  <bruno@clisp.org>
2131
2132         memxfrm: Speed up.
2133         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
2134         that usually only one call to strxfrm is necessary for each string
2135         part.
2136         Reported by Paul Eggert <eggert@cs.ucla.edu>.
2137
2138 2010-08-07  Karl Berry  <karl@gnu.org>
2139
2140         * doc/posix-headers/limits.texi,
2141         * doc/posix-functions/malloc.texi,
2142         * doc/posix-functions/strsignal.texi: missing @item.
2143         * doc/ld-version-script.texi: spurious leading i.
2144         * doc/regex.texi (Interval Operators): no commas inside @var.
2145
2146 2010-08-01  Bruno Haible  <bruno@clisp.org>
2147
2148         Integrate the regex documentation.
2149         * doc/gnulib.texi: Define 'cn' index.
2150         (Regular expressions): New a chapter that includes regex.texi and
2151         regexprops-generic.texi.
2152         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
2153         syntax.
2154
2155         Whitespace cleanup.
2156         * doc/regex.texi: Remove trailing spaces.
2157
2158         Add regex documentation.
2159         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
2160         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
2161         Written by Kathy A. Hargreaves and Karl Berry.
2162
2163 2010-08-01  Bruno Haible  <bruno@clisp.org>
2164
2165         link: Update documentation.
2166         * doc/posix-functions/link.texi: Update regarding Solaris.
2167
2168 2010-07-31  Bruno Haible  <bruno@clisp.org>
2169
2170         Update modules list.
2171         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
2172         (String handling <string.h>): Add memcmp2, memxfrm.
2173         (Container data structures): Add xlist, xsublist, xoset.
2174         (Core language properties): Add alignof, unused-parameter.
2175         (Process control, Numeric conversion functions <stdlib.h>): Renamed
2176         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
2177         (Unibyte characters <ctype.h>): New section.
2178         (String handling <string.h>): New section.
2179         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
2180         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
2181         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
2182         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
2183         tan, tanh, tanl, y0, y1, yn.
2184         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
2185         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
2186         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
2187         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
2188         unlockpt, vdprintf, vdprintf-posix.
2189         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
2190         (File system functions): Add concat-filename, sys_file, sys_ioctl,
2191         xconcat-filename.
2192         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
2193         getdtablesize, pipe2, pipe2-safer.
2194         (Security): New section.
2195         (Networking functions): Add accept4.
2196         (Signal handling): Add sigpipe.
2197         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
2198         mbmemcasecoll.
2199         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
2200         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
2201         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
2202         pipe-filter-ii.
2203         (Misc): Add argp-version-etc, login_tty, parse-duration.
2204
2205 2010-07-31  Bruno Haible  <bruno@clisp.org>
2206
2207         Improve doc in MODULES.html.
2208         * modules/linkat (Description): Add the word "function".
2209         * modules/mkfifo (Description): Likewise.
2210         * modules/mknod (Description): Likewise.
2211         * modules/remove (Description): Likewise.
2212         * modules/renameat (Description): Likewise.
2213         * modules/stat (Description): Likewise.
2214         * modules/symlink (Description): Likewise.
2215         * modules/unlink (Description): Likewise.
2216
2217 2010-07-31  Bruno Haible  <bruno@clisp.org>
2218
2219         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
2220         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
2221         option --enable/disable-c++ instead of --enable/disable-cxx.
2222         * NEWS: Mention the change.
2223
2224 2010-07-31  Bruno Haible  <bruno@clisp.org>
2225
2226         readlink, areadlink: Relax test a bit.
2227         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
2228         alternative to ENOTDIR.
2229         * tests/test-areadlink.h (test_areadlink): Likewise.
2230         Reported by Rainer Tammer.
2231
2232 2010-07-31  Bruno Haible  <bruno@clisp.org>
2233
2234         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
2235         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
2236         character, perform the search using U_STRCHR.
2237         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
2238         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
2239         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
2240         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
2241         Suggested by Paolo Bonzini.
2242
2243 2010-07-31  Bruno Haible  <bruno@clisp.org>
2244
2245         unistr/u*-strstr: Fix dependencies.
2246         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
2247         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
2248         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
2249
2250 2010-07-31  Bruno Haible  <bruno@clisp.org>
2251
2252         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
2253         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
2254         the beginning of the loop.
2255         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
2256         cases in 'switch' statement.
2257
2258         unistr/u8-strchr: Fix several bugs.
2259         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
2260         the string. When not found, return NULL, not a pointer near the end.
2261
2262         More tests for unistr/u8-strchr.
2263         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
2264         that the function does not read past the first occurrence of the byte
2265         being searched.
2266         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
2267         * tests/unistr/test-u16-strchr.c (main): New function.
2268         * tests/unistr/test-u32-strchr.c (main): New function.
2269
2270 2010-07-31  Bruno Haible  <bruno@clisp.org>
2271
2272         posix-modules: Ignore backup files of documentation files.
2273         * posix-modules: grep only through files named *.texi.
2274
2275 2010-07-31  Bruno Haible  <bruno@clisp.org>
2276
2277         symlinkat: Fix documentation.
2278         * doc/posix-functions/readlinkat.texi: Fix module name.
2279
2280 2010-07-31  Bruno Haible  <bruno@clisp.org>
2281
2282         fchownat: Replace also when chown has the trailing slash bug.
2283         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
2284         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
2285         introduced on 2010-04-10.
2286         Reported by Rainer Tammer.
2287
2288 2010-07-31  Bruno Haible  <bruno@clisp.org>
2289
2290         linkat: Work around AIX 7.1 bug.
2291         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
2292         whether linkat handles trailing slash correctly. If not, replace linkat
2293         and define LINKAT_TRAILING_SLASH_BUG.
2294         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
2295         check whether (fd1,file1) points to a directory if file1 or file2 ends
2296         in a slash. Code taken from lib/link.c.
2297         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
2298         Reported by Rainer Tammer.
2299
2300 2010-07-31  Bruno Haible  <bruno@clisp.org>
2301
2302         Correctly determine whether pow is available in libc on AIX 7 with xlc.
2303         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
2304         This disables an xlc optimization that was causing wrong test results.
2305         Reported by Rainer Tammer.
2306
2307 2010-07-31  Bruno Haible  <bruno@clisp.org>
2308
2309         iconv: Work around AIX 6.1..7.1 bug.
2310         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
2311         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
2312         cross-compiling, guess no on all versions of AIX.
2313         Reported by Rainer Tammer.
2314
2315 2010-07-31  Bruno Haible  <bruno@clisp.org>
2316
2317         readlink: Relax test a bit.
2318         * tests/test-readlink.h (test_readlink): Allow different errno value
2319         when readlink is called with a file name that ends in / and refers to
2320         a file.
2321         Suggested by Eric Blake.
2322         Reported by Rainer Tammer.
2323
2324 2010-07-31  Bruno Haible  <bruno@clisp.org>
2325
2326         copysign: Does not require -lm on glibc systems.
2327         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
2328         gl_COMMON_DOUBLE_MATHFUNC.
2329         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
2330
2331 2010-07-31  Bruno Haible  <bruno@clisp.org>
2332
2333         duplocale: Work around AIX 7.1 bug.
2334         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
2335         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
2336         * lib/duplocale.c (rpl_duplocale): Update comment.
2337         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
2338         Reported by Rainer Tammer.
2339
2340 2010-07-30  Bruno Haible  <bruno@clisp.org>
2341
2342         dirfd: Avoid link error on AIX 7.1.
2343         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
2344         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
2345         exist, set REPLACE_DIRFD.
2346         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
2347         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
2348         * doc/posix-functions/dirfd.texi: Update.
2349         Reported by Rainer Tammer.
2350
2351 2010-07-30  Eric Blake  <eblake@redhat.com>
2352
2353         strtod: next round of AIX fixes
2354         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
2355         exponent.
2356         * tests/test-strtod.c (main): Enhance tests.
2357         * doc/posix-functions/strtod.texi (strtod): Document next bug.
2358         Reported by Rainer Tammer.
2359
2360         futimens: fix configure check
2361         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
2362         Reported by Bruno Haible.
2363
2364 2010-07-30  Bruno Haible  <bruno@clisp.org>
2365
2366         getline: Update regarding AIX.
2367         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
2368         Reported by Rainer Tammer.
2369
2370 2010-07-30  Bruno Haible  <bruno@clisp.org>
2371
2372         wcwidth: Drop replacement on AIX 7.
2373         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
2374         AIX 7.
2375         Reported by Rainer Tammer.
2376
2377 2010-07-30  Bruno Haible  <bruno@clisp.org>
2378
2379         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
2380         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
2381         a 'char *'.
2382         Reported by Rainer Tammer.
2383
2384 2010-07-30  Bruno Haible  <bruno@clisp.org>
2385
2386         unlink: Update regarding AIX.
2387         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
2388         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
2389         Reported by Rainer Tammer.
2390
2391 2010-07-30  Bruno Haible  <bruno@clisp.org>
2392
2393         symlink: Update regarding AIX.
2394         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
2395         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
2396         Reported by Rainer Tammer.
2397
2398 2010-07-30  Bruno Haible  <bruno@clisp.org>
2399
2400         strndup: Update regarding AIX.
2401         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
2402         AIX 7.
2403         Reported by Rainer Tammer.
2404
2405 2010-07-30  Bruno Haible  <bruno@clisp.org>
2406
2407         stat: Update regarding AIX.
2408         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
2409         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
2410         Reported by Rainer Tammer.
2411
2412 2010-07-30  Bruno Haible  <bruno@clisp.org>
2413
2414         truncl: Fix autoconf test.
2415         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
2416         whether truncl works.
2417         Reported by Rainer Tammer.
2418
2419 2010-07-30  Bruno Haible  <bruno@clisp.org>
2420
2421         round: Update regarding AIX.
2422         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
2423         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
2424         Reported by Rainer Tammer.
2425
2426 2010-07-30  Bruno Haible  <bruno@clisp.org>
2427
2428         rename: Update regarding AIX.
2429         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
2430         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
2431         Reported by Rainer Tammer.
2432
2433 2010-07-30  Bruno Haible  <bruno@clisp.org>
2434
2435         printf.m4: Update regarding AIX.
2436         * m4/printf.m4: Update comments regarding AIX.
2437         Reported by Rainer Tammer.
2438
2439 2010-07-30  Bruno Haible  <bruno@clisp.org>
2440
2441         iconv: Update regarding AIX.
2442         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
2443         AIX 7.
2444         Reported by Rainer Tammer.
2445
2446 2010-07-30  Bruno Haible  <bruno@clisp.org>
2447
2448         getopt: Update regarding AIX.
2449         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
2450         no on AIX.
2451         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
2452         Reported by Rainer Tammer.
2453
2454 2010-07-30  Bruno Haible  <bruno@clisp.org>
2455
2456         ldexpl; Update regarding AIX.
2457         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
2458         on AIX 7.
2459         Reported by Rainer Tammer.
2460
2461 2010-07-30  Bruno Haible  <bruno@clisp.org>
2462
2463         frexpl: Update regarding AIX.
2464         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
2465         on AIX 7.
2466         Reported by Rainer Tammer.
2467
2468 2010-07-30  Bruno Haible  <bruno@clisp.org>
2469
2470         open, fopen: Update regarding AIX.
2471         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
2472         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
2473         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
2474         * doc/posix-functions/fopen.texi: Likewise.
2475         Reported by Rainer Tammer.
2476
2477 2010-07-30  Bruno Haible  <bruno@clisp.org>
2478
2479         chown: Update doc regarding AIX.
2480         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
2481         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
2482         Reported by Rainer Tammer.
2483
2484 2010-07-30  Eric Blake  <eblake@redhat.com>
2485
2486         strtod: fix bug in replacement function on AIX
2487         * lib/strtod.c (strtod): Special case broken "0x" parse in
2488         underlying strtod.
2489         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
2490         * doc/posix-functions/strtod.texi (strtod): Likewise.
2491         Reported by Rainer Tammer.
2492
2493 2010-07-30  Bruno Haible  <bruno@clisp.org>
2494
2495         mbrlen: Fix cross-compilation guess for AIX.
2496         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
2497         guess. Leftover from 2008-12-22.
2498
2499 2010-07-30  Bruno Haible  <bruno@clisp.org>
2500
2501         mbrtowc: Fix cross-compilation guess for AIX.
2502         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
2503         guess. Leftover from 2008-12-21.
2504
2505 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
2506
2507         init.sh: work around trap limitation of some shells
2508         * tests/init.sh (setup_): Move exit trap outside of shell function.
2509
2510 2010-07-29  Eric Blake  <eblake@redhat.com>
2511
2512         strtod: aid debugging
2513         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
2514         understanding why strtod is rejected.
2515
2516 2010-07-28  Bruno Haible  <bruno@clisp.org>
2517
2518         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
2519         * lib/unistr/u8-chr.c: Include <string.h>.
2520         * tests/unistr/test-u8-chr.c: Likewise.
2521         * tests/unistr/test-u16-chr.c: Likewise.
2522         * tests/unistr/test-u32-chr.c: Likewise.
2523         * tests/unistr/test-u8-strchr.c: Likewise.
2524         * tests/unistr/test-u16-strchr.c: Likewise.
2525         * tests/unistr/test-u32-strchr.c: Likewise.
2526         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
2527         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
2528         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
2529         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
2530
2531 2010-07-28  Bruno Haible  <bruno@clisp.org>
2532
2533         Use spaces for indentation, not tabs.
2534         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
2535
2536 2010-07-27  Bruno Haible  <bruno@clisp.org>
2537
2538         mbspcasecmp: Fix function specification.
2539         * lib/string.in.h (mbspcasecmp): Fix specification comment.
2540         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
2541         Reported by Eric Blake <eblake@redhat.com>.
2542
2543 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
2544
2545         timespec: use cast and not conditional, as truncation isn't possible
2546         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
2547         instead of a conditional.  Comment about the situation in more detail.
2548         This undoes most of the 2009-10-29 patch.
2549
2550 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
2551
2552         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
2553         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
2554         * lib/unistr/u8-strchr.c: Likewise.
2555         * modules/unistr/u8-chr: Depend on memchr.
2556
2557         unistr/u*-strchr: add tests
2558         * modules/unistr/u8-strchr-tests: New file.
2559         * modules/unistr/u16-strchr-tests: New file.
2560         * modules/unistr/u32-strchr-tests: New file.
2561         * tests/unistr/test-strchr.h: New file.
2562         * tests/unistr/test-u8-strchr.c: New file.
2563         * tests/unistr/test-u16-strchr.c: New file.
2564         * tests/unistr/test-u32-strchr.c: New file.
2565
2566         unistr/u*-chr: test multibyte sequences more
2567         * tests/unistr/test-chr.h: Do complete testing of the characters in the
2568         test vector.
2569         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
2570         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
2571         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
2572
2573         unistr/u*-chr: test multibyte sequences
2574         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
2575
2576         unistr/u*-chr: prepare for multibyte tests
2577         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
2578         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
2579         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
2580         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
2581         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
2582         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
2583
2584 2010-07-18  Bruno Haible  <bruno@clisp.org>
2585
2586         unistr/u8-strchr: Optimize non-ASCII argument case.
2587         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
2588         because the first byte often matches anyway.
2589         Reported by Pádraig Brady <P@draigbrady.com>.
2590
2591 2010-07-15  Karl Berry  <karl@gnu.org>
2592
2593         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
2594
2595 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
2596
2597         getcwd: on Solaris, work better if ancestors are inaccessible
2598         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
2599         buffer and size, try again with a large buffer.  This works better
2600         on Solaris, since its getcwd succeeds even if the path to the root
2601         is inaccessible, and this is helpful in common cases such as .zfs
2602         hidden directories.  Problem reported by J Chapman Flack in
2603         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
2604         Use system getcwd if it's declared, not merely if it's partly
2605         working; use the partly-working test only to avoid needless effort
2606         if the system getcwd fails.
2607         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
2608         comment that was already obsolete and is now even more obsolete.
2609         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
2610         now might call strdup.
2611
2612 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
2613
2614         pthread: Add enough so that coreutils/src/sort.c compiles.
2615         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
2616         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
2617         gnulib. Include <sched.h> and <time.h>, as per POSIX.
2618         Include <sys/types.h>, in case it defines pthread_t.
2619         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
2620         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
2621         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
2622         (pthread_rwlockattr_t, pthread_spinlock_t):
2623         New typedefs, if HAVE_PTHREAD_T is not defined.
2624         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
2625         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
2626         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
2627         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
2628         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
2629         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
2630         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
2631         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
2632         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
2633         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
2634         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
2635         New macros.
2636         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
2637         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
2638         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
2639         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
2640         (pthread_spin_unlock): New dummy functions.
2641         (pthread_create): Return EAGAIN; don't set errno.
2642         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
2643         require AC_C_INLINE.
2644         * modules/pthread (Depends-on): Add sched, time.
2645         (pthread.h): Use AM_V_GEN.
2646
2647 2010-07-13  Bruno Haible  <bruno@clisp.org>
2648
2649         striconveh: Don't malloc memory if the result buffer is sufficient.
2650         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
2651         buffer if its size is sufficient.
2652         Reported by Ludovic Courtès <ludo@gnu.org>.
2653
2654 2010-07-13  Bruno Haible  <bruno@clisp.org>
2655
2656         strtod: Add safety check.
2657         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
2658
2659 2010-07-12  Bruno Haible  <bruno@clisp.org>
2660
2661         Unify tests that set gl_cv_func_ldexpl_no_libm.
2662         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
2663         gl_FUNC_LDEXPL.
2664         (gl_FUNC_LDEXPL): Invoke it.
2665         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2666
2667 2010-07-12  Bruno Haible  <bruno@clisp.org>
2668
2669         Unify tests that set gl_cv_func_ldexp_no_libm.
2670         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
2671         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
2672         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
2673         (configure.ac): Simply invoke gl_FUNC_LDEXP.
2674         * modules/strtod (Files): Add m4/ldexp.m4.
2675
2676 2010-07-12  Bruno Haible  <bruno@clisp.org>
2677
2678         Unify tests that set gl_cv_func_frexpl_no_libm.
2679         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
2680         gl_FUNC_FREXPL_NO_LIBM.
2681         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
2682         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2683
2684 2010-07-12  Bruno Haible  <bruno@clisp.org>
2685
2686         Unify tests that set gl_cv_func_frexp_no_libm.
2687         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
2688         gl_FUNC_FREXP_NO_LIBM.
2689         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
2690         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
2691
2692 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
2693
2694         memcoll: clarify sizes versus lengths, document better, and tweak perf
2695         * lib/memcoll.c (strcoll_loop, memcoll0):
2696         Improve quality of descriptive comments.  Name variables
2697         consistently as to whether they are lengths (which do not include
2698         terminating null) versus sizes (which do).
2699         * lib/xmemcoll.c (xmemcoll0): Likewise.
2700         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
2701         returned when s1size == 0; this is easier to compile and saves
2702         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
2703
2704 2010-07-12  Bruno Haible  <bruno@clisp.org>
2705
2706         Tests for module '_Exit'.
2707         * modules/_Exit-tests: New file.
2708         * tests/test-_Exit.sh: New file.
2709         * tests/test-_Exit.c: New file.
2710
2711         New module '_Exit'.
2712         * lib/stdlib.in.h (__attribute__): New macro.
2713         (_Exit): New declaration.
2714         * lib/_Exit.c: New file.
2715         * m4/_Exit.m4: New file.
2716         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
2717         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
2718         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
2719         * modules/_Exit: New file.
2720         * tests/test-stdlib-c++.cc (_Exit): Check signature.
2721         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
2722
2723 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
2724
2725         strtod: make it more-accurate typically, and don't require libm
2726         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
2727         Include limits.h.  Don't include string.h.
2728         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
2729         (locale_isspace): New function, so that no casts are needed to
2730         check whether *s is a space.
2731         (ldexp): Provide an unused dummy if not available.
2732         (scale_radix_exp, parse_number, underlying_strtod): New functions.
2733         (strtod): Use them.  This implementation prefers to use the
2734         underlying strtod if available, falling back on our own code
2735         only to fix known bugs.  This is more likely to produce an
2736         accurate result.  Also, it avoids the use of libm functions.
2737         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
2738         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
2739         was absent, but it caused a test failure with coreutils.
2740         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
2741         with libm.
2742         * modules/strtod (Makefile.am, Link): libm is no longer needed.
2743         * modules/strtod-tests (Makefile.am): Likewise.
2744
2745 2010-07-11  Pádraig Brady  <P@draigBrady.com>
2746             Bruno Haible  <bruno@clisp.org>
2747
2748         unistr/u8-strchr: Optimize ASCII argument case.
2749         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
2750
2751 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
2752
2753         (x)memcoll: minor tweaks
2754         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
2755         is after the type that it qualifies.
2756         (memcoll0): Likewise.
2757         * lib/memcoll.h (memcoll0): Likewise.
2758         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
2759         * lib/xmemcoll.h (xmemcoll0): Likewise.
2760         * lib/memcoll.c (memcoll0): Correct the comment.  This function
2761         differs from memcoll in that the NUL byte is part of the argument.
2762         Omit the abort-checks, as performance is a real issue here.  Plus,
2763         the checks were wrong anyway (an off-by-one error).  Omit local
2764         variable 'diff', as it's a bit clearer that way.
2765         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
2766         no longer needed.
2767
2768 2010-07-08  Chen Guo <chenguo4@yahoo.com>
2769
2770         (x)memcoll: speedup when input is known to be NUL delimited
2771         * lib/memcoll.c: Include stdlib.
2772         (memcoll0) New function.
2773         (strcoll_loop) New function, refactored for use in both memcoll
2774         and memcoll0.
2775         * lib/memcoll.h: Add prototype for memcoll0.
2776         * lib/xmemcoll.c: (xmemcoll0) New function.
2777         (collate_error) New function, refactored for use in both xmemcoll
2778         and xmemcoll0.
2779         * lib/xmemcoll.h: Add prototype for xmemcoll0.
2780         * m4/memcoll.m4: add inline invocation.
2781
2782 2010-07-06  Pádraig Brady  <P@draigBrady.com>
2783
2784         * build-aux/bootstrap: Remove any local translations
2785         from the translation project synchronization directory,
2786         so that local only translations are not distributed.
2787
2788 2010-07-04  Bruno Haible  <bruno@clisp.org>
2789
2790         fsusage: Clarify which code applies to which platforms.
2791         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
2792         platform.
2793         * lib/fsusage.c (get_fs_usage): Likewise.
2794
2795 2010-07-04  Bruno Haible  <bruno@clisp.org>
2796
2797         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
2798         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
2799         Reported by Martin Lambers <marlam@marlam.de>.
2800
2801 2010-07-04  Jim Meyering  <meyering@redhat.com>
2802
2803         hash: once again explicitly disallow insertion of NULL
2804         * lib/hash.c (hash_insert0): Reinstate just-removed test:
2805         inserting a NULL pointer cannot work with these functions.
2806         Add a comment with details.
2807         This reverts part of the 2010-07-01 commit, 5bef1a35
2808         "hash: extend module to deal with non-pointer keys".
2809
2810 2010-07-01  Bruno Haible  <bruno@clisp.org>
2811
2812         stdbool: Update doc.
2813         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
2814         Info from Christian Weisgerber <naddy@mips.inka.de>.
2815
2816 2010-07-01  Jim Meyering  <meyering@redhat.com>
2817
2818         hash: extend module to deal with non-pointer keys
2819         * lib/hash.c (hash_insert0): New interface, much like hash_insert
2820         but that allows insertion of non-pointer entries.
2821         Do not disallow an ENTRY value of NULL.
2822         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
2823         * lib/hash.h (hash_insert0): Declare.
2824
2825 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
2826
2827         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
2828         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
2829         not present (i.e. with autoconf 2.59 and when using gettextize, not
2830         gnulib), require AC_GNU_SOURCE instead.
2831
2832 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
2833
2834         idpriv-drop: Fix tests.
2835         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
2836         not to the test-idpriv-droptemp program.
2837
2838 2010-06-29  Bruno Haible  <bruno@clisp.org>
2839
2840         string: Fix syntax error with g++ 2.96.
2841         * lib/string.in.h (__pure__): Remove definition.
2842         (_GL_ATTRIBUTE_PURE): New macro.
2843         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
2844         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
2845         Reported by Christian Weisgerber <naddy@mips.inka.de>.
2846
2847 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
2848
2849         unitypes: Fix bug introduced on 2010-05-18.
2850         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
2851
2852 2010-06-22  Eric Blake  <eblake@redhat.com>
2853
2854         memmem: slight optimization
2855         * lib/str-two-way.h (critical_factorization): Update comments.
2856         Reduce work during factorization phase.
2857         Reported by Carlos Bueno <carlos@bueno.org>.
2858
2859 2010-06-21  Bruno Haible  <bruno@clisp.org>
2860
2861         Fix HAVE_CALLOC_POSIX misnomer.
2862         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
2863         !HAVE_CALLOC_POSIX.
2864         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
2865         HAVE_CALLOC_POSIX.
2866         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
2867         instead of HAVE_CALLOC_POSIX.
2868         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
2869         HAVE_CALLOC_POSIX.
2870
2871         Use modern idiom for calloc() replacement.
2872         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
2873         AC_FUNC_CALLOC.
2874         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
2875         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
2876         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2877         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
2878         (gl_REPLACE_CALLOC): New macro.
2879
2880 2010-06-21  Bruno Haible  <bruno@clisp.org>
2881
2882         Fix HAVE_REALLOC_POSIX misnomer.
2883         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
2884         !HAVE_REALLOC_POSIX.
2885         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
2886         HAVE_REALLOC_POSIX.
2887         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
2888         instead of HAVE_REALLOC_POSIX.
2889         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
2890         HAVE_REALLOC_POSIX.
2891
2892         Use modern idiom for realloc() replacement.
2893         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
2894         AC_FUNC_REALLOC.
2895         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
2896         Autoconf's AC_FUNC_REALLOC.
2897         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2898         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
2899         (gl_REPLACE_REALLOC): New macro.
2900         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
2901
2902 2010-06-21  Bruno Haible  <bruno@clisp.org>
2903
2904         Fix HAVE_MALLOC_POSIX misnomer.
2905         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
2906         !HAVE_MALLOC_POSIX.
2907         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
2908         HAVE_MALLOC_POSIX.
2909         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
2910         instead of HAVE_MALLOC_POSIX.
2911         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
2912         HAVE_MALLOC_POSIX.
2913
2914         Use modern idiom for malloc() replacement.
2915         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
2916         AC_FUNC_MALLOC.
2917         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
2918         Autoconf's AC_FUNC_MALLOC.
2919         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2920         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
2921         (gl_REPLACE_MALLOC): New macro.
2922         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
2923
2924 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
2925
2926         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
2927         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
2928         This macro takes 3 arguments, not 4.
2929
2930 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
2931
2932         ipv6: fix detection under mingw
2933         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
2934         in6_addr.
2935
2936 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
2937
2938         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
2939         that strtod() works when cross-compiling to a glibc version known
2940         to work.
2941
2942 2010-06-15  Bruno Haible  <bruno@clisp.org>
2943
2944         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
2945
2946 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
2947
2948         select: Correct timeout.
2949         * lib/select.c (rpl_select): Compute wait_timeout correctly.
2950
2951 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
2952
2953         git-version-gen: init shell var to avoid env var influence
2954         * build-aux/git-version-gen (v): Init shell var to empty.
2955
2956 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
2957
2958         priv-set: Don't assume that priv.h exists merely because getppriv does.
2959         See Jan Andersen's bug report about AIX 5L in
2960         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
2961         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
2962         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
2963         * lib/priv-set.h: Likewise.
2964         * tests/test-priv-set.c: Likewise.
2965
2966 2010-06-13  Bruno Haible  <bruno@clisp.org>
2967
2968         relocatable: Make it easier to test whether to install wrappers.
2969         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
2970         RELOCATABLE_VIA_WRAPPER.
2971
2972 2010-06-13  Bruno Haible  <bruno@clisp.org>
2973
2974         gnulib-tool: Display specified modules and dependencies differently.
2975         * gnulib-tool (func_show_module_list): New function.
2976         (func_import, func_create_testdir): Invoke it.
2977         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
2978
2979 2010-06-13  Bruno Haible  <bruno@clisp.org>
2980
2981         gnulib-tool: Align code of func_import and func_create_testdir.
2982         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
2983         specified_modules.
2984
2985 2010-06-12  Jim Meyering  <meyering@redhat.com>
2986
2987         test-inttostr: avoid spurious failure on Solaris 9
2988         * tests/test-inttostr.c (main): Skip the test when snprintf fails
2989         to accept "%ju".  Reported by Bruno Haible.
2990
2991 2010-06-11  Jim Meyering  <meyering@redhat.com>
2992
2993         test-sys_socket: mark variables as used more readably
2994         * tests/test-sys_socket.c (main): Mark otherwise unused variables
2995         as "used" explicitly via (void) statement casts.  This is more
2996         readable than using them in an artificial return expression.
2997         Suggestion from Bruno Haible.
2998
2999 2010-06-11  Bruno Haible  <bruno@clisp.org>
3000
3001         Avoid some more warnings from "gcc -Wwrite-strings".
3002         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
3003         to 'const char *'.
3004         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
3005         * tests/test-c-strcasestr.c (main): Likewise.
3006         * tests/test-mbscasestr1.c (main): Likewise.
3007         * tests/test-mbscasestr2.c (main): Likewise.
3008         * tests/test-memmem.c (main): Likewise.
3009         * tests/test-strstr.c (main): Likewise.
3010         * tests/test-strcasestr.c (main): Likewise.
3011
3012 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3013
3014         init.sh: change framework_failure_ to fail with status 99, not 1
3015         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
3016         automake's parallel-tests rule that this is an unexpected failure,
3017         even if the test is listed in XFAIL_TESTS.
3018
3019 2010-06-11  Jim Meyering  <meyering@redhat.com>
3020
3021         test-inttostr: avoid warnings about 4-6KB literal strings
3022         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
3023         Include "macros.h", for its definition of ASSERT.
3024         (CK): s/assert/ASSERT/
3025         * modules/inttostr-tests (Files): Add macros.h.
3026
3027         init.sh: don't use $ME_ or skip_ before they are defined
3028         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
3029         their first uses.  Also hoist their companions: warn_, fail_,
3030         framework_failure_, $stderr_fileno.  Prompted by a patch from
3031         Stefano Lattarini.
3032
3033         test-sys_socket: avoid set-but-not-used warnings from gcc
3034         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
3035         avoid warning about set-but-not-used variables.
3036
3037         test-xvasprintf: avoid 'const' discard warnings
3038         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
3039         "const" when assigning from literal strings.
3040         (test_xasprintf): Add "void" in function argument list to placate
3041         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
3042
3043         tests: avoid compilation warnings in argmatch and exclude tests...
3044         in packages that define ARGMATCH_DIE_DECL, like coreutils.
3045         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
3046         Since it always exits, declare with the "noreturn" attribute.
3047         * tests/test-argmatch.c: Likewise.
3048
3049         tests: avoid 'const' discard warnings in mbsstr tests
3050         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
3051         * tests/test-mbsstr2.c (main): Likewise.
3052
3053         test-verify: avoid warning from gcc's -Wmissing-declarations
3054         * tests/test-verify.c (function): Declare to be static.
3055
3056         test-inttostr.c: include <string.h> for use of strcmp
3057         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
3058
3059         test-linkat: avoid failed assertion on "other" architectures
3060         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
3061         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
3062         sparc: https://bugs.launchpad.net/bugs/591968
3063
3064 2010-06-11  Jim Meyering  <meyering@redhat.com>
3065
3066         printf.m4: avoid autoconf's "Expanded Before Required" warning
3067         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
3068         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
3069         autoconf warning.
3070
3071 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
3072
3073         Replacement header templates are now named with ".in", not "_".
3074         * doc/gnulib-intro.texi: Correct.
3075
3076 2010-06-10  Jim Meyering  <meyering@redhat.com>
3077
3078         inttostr-tests: depend on snprintf, not snprintf-posix
3079         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
3080         snprintf-posix, to avoid this aclocal failure:
3081           missing file gnulib-tests/vasnprintf.c
3082           configure.ac:45: error: expected source file, required through \
3083           AC_LIBSOURCES, not found
3084
3085 2010-06-10  Jim Meyering  <meyering@redhat.com>
3086
3087         inttostr: add a new function, inttostr, and tests
3088         The namesake function was not available.  The existence of the
3089         template file, inttostr.c makes its addition nontrivial.
3090         * lib/anytostr.c: Rename from inttostr.c.
3091         (anytostr): Rename from inttostr.
3092         * lib/inttostr.c: New file.
3093         * modules/inttostr (Files): Add anytostr.c.
3094         (Makefile.am): Set lib_SOURCES instead of ...
3095         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
3096         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
3097         * lib/offtostr.c: Likewise.
3098         * lib/uinttostr.c: Likewise.
3099         * lib/umaxtostr.c: Likewise.
3100         * modules/inttostr-tests: New file.
3101         * tests/test-inttostr.c: New file.  Test these functions.
3102
3103 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
3104             Bruno Haible  <bruno@clisp.org>
3105
3106         Add "Extending Gnulib" chapter to manual.
3107         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
3108         chapter.
3109         (Extending Gnulib): New chapter.
3110         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
3111         chapter.
3112
3113 2010-06-09  Bruno Haible  <bruno@clisp.org>
3114
3115         Avoid relocwrapper link errors due to gnulib replacement functions.
3116         * lib/areadlink.c: Use the system's malloc, realloc functions.
3117         (areadlink): Set errno to ENOMEM explicitly.
3118         * modules/areadlink (Depends-on): Remove malloc-posix.
3119         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3120
3121 2010-06-09  Bruno Haible  <bruno@clisp.org>
3122
3123         Avoid relocwrapper link errors due to gnulib replacement functions.
3124         * lib/canonicalize-lgpl.c: Use the system's malloc function.
3125         * lib/malloca.c: Likewise.
3126         * lib/relocatable.c: Likewise.
3127         * lib/progreloc.c: Use the system's malloc, sprintf functions.
3128         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
3129         * lib/setenv.c: Use the system's malloc, realloc functions.
3130         * lib/strerror.c: Use the system's sprintf function.
3131         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3132
3133 2010-06-04  Bruno Haible  <bruno@clisp.org>
3134
3135         Prefer documented low-level autoconf macro names.
3136         * m4/lib-link.m4: Use m4_translit instead of translit.
3137         * m4/environ.m4: Likewise.
3138         * m4/mathfunc.m4: Likewise.
3139         * m4/onceonly.m4: Likewise.
3140         * m4/stdint.m4: Likewise.
3141         Suggested by Eric Blake.
3142
3143 2010-06-04  Martin Lambers  <marlam@marlam.de>
3144             Bruno Haible  <bruno@clisp.org>
3145
3146         havelib: Allow library names with '+' characters.
3147         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3148         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
3149
3150 2010-06-09  Bruno Haible  <bruno@clisp.org>
3151
3152         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
3153         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
3154         realloc failed.
3155
3156 2010-06-08  Peter Simons  <simons@cryp.to>
3157
3158         maint.mk: make the news-check rule more configurable
3159         * top/maint.mk (news-check-lines-spec) New variable.
3160         (news-check): Use "sed -n 1,10p" in place of "head".
3161
3162 2010-06-07  Jim Meyering  <meyering@redhat.com>
3163
3164         do-release-commit-and-tag: fix typo in --help
3165         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
3166
3167         regex: avoid new dead-code warning with gcc-4.6.0
3168         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
3169         if-block containing a while-loop.  It's been unused for at least
3170         5 years.
3171
3172 2010-06-05  Bruno Haible  <bruno@clisp.org>
3173
3174         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
3175         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
3176
3177 2010-06-04  Bruno Haible  <bruno@clisp.org>
3178
3179         Update to GNU gettext 0.18.1.
3180         * modules/gettext (configure.ac): Require gettext infrastructure from
3181         version 0.18.1.
3182
3183 2010-06-03  Bruno Haible  <bruno@clisp.org>
3184
3185         Don't use AC_LIBOBJ with file names in subdirectories.
3186         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
3187         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
3188         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
3189         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
3190         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
3191         gl_LIBUNISTRING_LIBSOURCE.
3192         (Makefile.am): Augment lib_SOURCES here, conditionally.
3193         * NEWS: Drop requirement for Automake option 'subdir-objects'.
3194
3195 2010-06-03  Bruno Haible  <bruno@clisp.org>
3196
3197         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
3198         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
3199         expansion does not end with a newline.
3200         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
3201         unnecessary newline.
3202
3203 2010-06-03  Bruno Haible  <bruno@clisp.org>
3204
3205         Reduce dependencies.
3206         * tests/test-quotearg.h: New file, extracted from
3207         tests/test-quotearg.c.
3208         * tests/test-quotearg-simple.c: New file, extracted from
3209         tests/test-quotearg.c.
3210         * tests/test-quotearg.c: Don't include <ctype.h>.
3211         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
3212         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
3213         use_quote_double_quotes, use_quotearg_colon): Moved to
3214         tests/test-quotearg.h.
3215         (results_g, flag_results, custom_quotes, custom_results): Moved
3216         to tests/test-quotearg-simple.c.
3217         (main): Moved the part that does not depend on gettext to
3218         tests/test-quotearg-simple.c. Return 77 if the test cannot be
3219         performed.
3220         * modules/quotearg-simple: New file.
3221         * modules/quotearg-simple-tests: New file.
3222         * modules/quotearg (Depends-on): Add quotearg-simple.
3223         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
3224         (Files): Add tests/test-quotearg.h.
3225         Reported by Paolo Bonzini.
3226
3227 2010-06-03  Bruno Haible  <bruno@clisp.org>
3228
3229         Reduce dependencies.
3230         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
3231
3232 2010-06-03  Bruno Haible  <bruno@clisp.org>
3233
3234         time: Undefine more broken macros.
3235         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
3236         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
3237         Reported by Eric Blake.
3238
3239 2010-06-03  Bruno Haible  <bruno@clisp.org>
3240
3241         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
3242         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
3243         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
3244         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
3245         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
3246         Reported by Ludovic Courtès <ludo@gnu.org>.
3247
3248 2010-06-02  Eric Blake  <eblake@redhat.com>
3249
3250         time: work with mingw + pthreads-win32 library
3251         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
3252         if timespec is defined only in pthread.h.
3253         * modules/time (Makefile.am): Substitute it.
3254         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
3255         <pthread.h>, when needed.
3256         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
3257         from the library.
3258
3259 2010-05-31  Bruno Haible  <bruno@clisp.org>
3260
3261         Avoid expanding two macros in the wrong order.
3262         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
3263         gl_LIBUNISTRING if it is defined.
3264         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
3265         autoconf >= 2.64.
3266         Reported by Ludovic Courtès <ludo@gnu.org>.
3267
3268 2010-05-27  Jim Meyering  <meyering@redhat.com>
3269
3270         maint.mk: also prohibit "#undef" of always-defined symbols
3271         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
3272         Allow more than one space before the symbol name.
3273         (sc_prohibit_always-defined_macros): Use grep's -E, now that
3274         the regexp uses alternation.
3275
3276 2010-05-26  Eric Blake  <eblake@redhat.com>
3277
3278         maint.mk: avoid echo -e
3279         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
3280         Convert all uses of echo -* to printf.
3281         Reported by Matthias Bolte.
3282
3283 2010-05-25  Bruno Haible  <bruno@clisp.org>
3284
3285         Update to GNU gettext 0.18, part 2.
3286         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
3287         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
3288
3289 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3290
3291         Add missing include in test-pwrite.c.
3292         * tests/test-pwrite.c: Include string.h, for strcmp.
3293
3294 2010-05-24  Bruno Haible  <bruno@clisp.org>
3295
3296         * NEWS: Mention requirement for Automake option 'subdir-objects'.
3297
3298 2010-05-24  Bruno Haible  <bruno@clisp.org>
3299
3300         Don't use conversion with transliteration in u{8,16,32}_strcoll.
3301         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
3302         iconveh_error argument.
3303         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
3304         U_STRCONV_TO_LOCALE.
3305         * lib/unistr/u16-strcoll.c: Likewise.
3306         * lib/unistr/u32-strcoll.c: Likewise.
3307         * modules/unistr/u8-strcoll (Depends-on): Add
3308         uniconv/u8-strconv-to-enc, localcharset. Remove
3309         uniconv/u8-strconv-to-locale.
3310         (configure.ac): Bump version number.
3311         * modules/unistr/u16-strcoll (Depends-on): Add
3312         uniconv/u16-strconv-to-enc, localcharset. Remove
3313         uniconv/u16-strconv-to-locale.
3314         (configure.ac): Bump version number.
3315         * modules/unistr/u32-strcoll (Depends-on): Add
3316         uniconv/u32-strconv-to-enc, localcharset. Remove
3317         uniconv/u32-strconv-to-locale.
3318         (configure.ac): Bump version number.
3319
3320 2010-05-24  Bruno Haible  <bruno@clisp.org>
3321
3322         Avoid a test failure on NetBSD 5.0.
3323         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
3324         an iconv() bug.
3325
3326 2010-05-24  Bruno Haible  <bruno@clisp.org>
3327
3328         Adjust #include directive style.
3329         * modules/regex (Includes): Recommend to write <regex.h>.
3330
3331 2010-05-24  Bruno Haible  <bruno@clisp.org>
3332
3333         regex: Don't require alloca.
3334         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
3335         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
3336         only inside if (0).
3337
3338 2010-05-23  Jim Meyering  <meyering@redhat.com>
3339
3340         test-renameat.c: include <sys/stat.h>
3341         * tests/test-renameat.c: Include <sys/stat.h>; required for
3342         definition of S_IS* macros.
3343
3344 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
3345
3346         Update maintainer documentation for 'relocatable-prog' module.
3347         * doc/relocatable-maint.texi: Update.
3348         Comments by Bruno Haible.
3349
3350 2010-05-23  Bruno Haible  <bruno@clisp.org>
3351
3352         git-merge-changelog: Enable --split-merged-entry by default.
3353         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
3354         (usage): Don't mention this option any more.
3355         Reported by Ralf Wildenhues.
3356
3357 2010-05-23  Jim Meyering  <meyering@redhat.com>
3358
3359         test-pwrite: do not leave behind a test file named "out"
3360         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
3361         The trivial-looking use of init.sh is really necessary.
3362         It ensures that the temporary file, "out", is created in
3363         a temporary directory, and removed upon termination.
3364         * tests/test-pwrite.sh: Re-add file.
3365         * modules/pwrite-tests: Reference it.
3366
3367 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3368
3369         Fix output redirection buglet in init.sh.
3370         * tests/init.sh: Fix redirection of stderr.
3371
3372 2010-05-20  Simon Josefsson  <simon@josefsson.org>
3373
3374         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
3375
3376 2010-05-17  Simon Josefsson  <simon@josefsson.org>
3377
3378         * modules/valgrind-tests: New file.
3379         * m4/valgrind-tests.m4: New file.
3380         * doc/valgrind-tests.texi: New file.
3381         * doc/gnulib.texi (Running self-tests under valgrind): New
3382         section.
3383
3384 2010-05-19  Bruno Haible  <bruno@clisp.org>
3385
3386         Clean up dead code in recent commit.
3387         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
3388         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
3389         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
3390         Suggested by Paolo Bonzini.
3391
3392 2010-05-19  Bruno Haible  <bruno@clisp.org>
3393
3394         Avoid valgrind error reports from libunistring.
3395         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
3396         * modules/libunistring (Files): Add it.
3397         * modules/libunistring-optional (Files): Likewise.
3398
3399 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
3400             Bruno Haible  <bruno@clisp.org>
3401
3402         New module 'libunistring-optional'.
3403         * modules/libunistring-optional: New file.
3404         * m4/libunistring-base.m4: New file.
3405         * m4/libunistring-optional.m4: New file.
3406         * lib/unicase.in.h: Renamed from lib/unicase.h.
3407         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
3408         * lib/unictype.in.h: Renamed from lib/unictype.h.
3409         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
3410         * lib/uniname.in.h: Renamed from lib/uniname.h.
3411         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
3412         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
3413         * lib/unistr.in.h: Renamed from lib/unistr.h.
3414         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
3415         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
3416         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
3417         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
3418         gl_LIBUNISTRING. If the library was found, determine the installed
3419         version and set LIBUNISTRING_VERSION.
3420         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
3421         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
3422         handle a configuration option --with-included-libunistring.
3423         * modules/libunistring (Files): Add m4/absolute-header.m4.
3424         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
3425         Add m4/libunistring-base.m4.
3426         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3427         (Makefile.am): Build unicase.h from unicase.in.h.
3428         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
3429         Add m4/libunistring-base.m4.
3430         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3431         (Makefile.am): Build uniconv.h from uniconv.in.h.
3432         * modules/unictype/base (Files): Use unictype.in.h instead of
3433         unictype.h. Add m4/libunistring-base.m4.
3434         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3435         (Makefile.am): Build unictype.h from unictype.in.h.
3436         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
3437         Add m4/libunistring-base.m4.
3438         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3439         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
3440         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
3441         Add m4/libunistring-base.m4.
3442         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3443         (Makefile.am): Build uniname.h from uniname.in.h.
3444         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
3445         Add m4/libunistring-base.m4.
3446         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3447         (Makefile.am): Build uninorm.h from uninorm.in.h.
3448         * modules/unistdio/base (Files): Use unistdio.in.h instead of
3449         unistdio.h. Add m4/libunistring-base.m4.
3450         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3451         (Makefile.am): Build unistdio.h from unistdio.in.h.
3452         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
3453         Add m4/libunistring-base.m4.
3454         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3455         (Makefile.am): Build unistr.h from unistr.in.h.
3456         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
3457         Add m4/libunistring-base.m4.
3458         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3459         (Makefile.am): Build unitypes.h from unitypes.in.h.
3460         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
3461         Add m4/libunistring-base.m4.
3462         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3463         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
3464         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
3465         uniwidth.h. Add m4/libunistring-base.m4.
3466         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3467         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
3468         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
3469         instead of augmenting lib_SOURCES.
3470         * modules/unicase/empty-suffix-context: Likewise.
3471         * modules/unicase/locale-language: Likewise.
3472         * modules/unicase/tolower: Likewise.
3473         * modules/unicase/totitle: Likewise.
3474         * modules/unicase/toupper: Likewise.
3475         * modules/unicase/u8-casecmp: Likewise.
3476         * modules/unicase/u8-casecoll: Likewise.
3477         * modules/unicase/u8-casefold: Likewise.
3478         * modules/unicase/u8-casexfrm: Likewise.
3479         * modules/unicase/u8-ct-casefold: Likewise.
3480         * modules/unicase/u8-ct-tolower: Likewise.
3481         * modules/unicase/u8-ct-totitle: Likewise.
3482         * modules/unicase/u8-ct-toupper: Likewise.
3483         * modules/unicase/u8-is-cased: Likewise.
3484         * modules/unicase/u8-is-casefolded: Likewise.
3485         * modules/unicase/u8-is-lowercase: Likewise.
3486         * modules/unicase/u8-is-titlecase: Likewise.
3487         * modules/unicase/u8-is-uppercase: Likewise.
3488         * modules/unicase/u8-prefix-context: Likewise.
3489         * modules/unicase/u8-suffix-context: Likewise.
3490         * modules/unicase/u8-tolower: Likewise.
3491         * modules/unicase/u8-totitle: Likewise.
3492         * modules/unicase/u8-toupper: Likewise.
3493         * modules/unicase/u16-casecmp: Likewise.
3494         * modules/unicase/u16-casecoll: Likewise.
3495         * modules/unicase/u16-casefold: Likewise.
3496         * modules/unicase/u16-casexfrm: Likewise.
3497         * modules/unicase/u16-ct-casefold: Likewise.
3498         * modules/unicase/u16-ct-tolower: Likewise.
3499         * modules/unicase/u16-ct-totitle: Likewise.
3500         * modules/unicase/u16-ct-toupper: Likewise.
3501         * modules/unicase/u16-is-cased: Likewise.
3502         * modules/unicase/u16-is-casefolded: Likewise.
3503         * modules/unicase/u16-is-lowercase: Likewise.
3504         * modules/unicase/u16-is-titlecase: Likewise.
3505         * modules/unicase/u16-is-uppercase: Likewise.
3506         * modules/unicase/u16-prefix-context: Likewise.
3507         * modules/unicase/u16-suffix-context: Likewise.
3508         * modules/unicase/u16-tolower: Likewise.
3509         * modules/unicase/u16-totitle: Likewise.
3510         * modules/unicase/u16-toupper: Likewise.
3511         * modules/unicase/u32-casecmp: Likewise.
3512         * modules/unicase/u32-casecoll: Likewise.
3513         * modules/unicase/u32-casefold: Likewise.
3514         * modules/unicase/u32-casexfrm: Likewise.
3515         * modules/unicase/u32-ct-casefold: Likewise.
3516         * modules/unicase/u32-ct-tolower: Likewise.
3517         * modules/unicase/u32-ct-totitle: Likewise.
3518         * modules/unicase/u32-ct-toupper: Likewise.
3519         * modules/unicase/u32-is-cased: Likewise.
3520         * modules/unicase/u32-is-casefolded: Likewise.
3521         * modules/unicase/u32-is-lowercase: Likewise.
3522         * modules/unicase/u32-is-titlecase: Likewise.
3523         * modules/unicase/u32-is-uppercase: Likewise.
3524         * modules/unicase/u32-prefix-context: Likewise.
3525         * modules/unicase/u32-suffix-context: Likewise.
3526         * modules/unicase/u32-tolower: Likewise.
3527         * modules/unicase/u32-totitle: Likewise.
3528         * modules/unicase/u32-toupper: Likewise.
3529         * modules/unicase/ulc-casecmp: Likewise.
3530         * modules/unicase/ulc-casecoll: Likewise.
3531         * modules/unicase/ulc-casexfrm: Likewise.
3532         * modules/uniconv/u8-conv-from-enc: Likewise.
3533         * modules/uniconv/u8-conv-to-enc: Likewise.
3534         * modules/uniconv/u8-strconv-from-enc: Likewise.
3535         * modules/uniconv/u8-strconv-from-locale: Likewise.
3536         * modules/uniconv/u8-strconv-to-enc: Likewise.
3537         * modules/uniconv/u8-strconv-to-locale: Likewise.
3538         * modules/uniconv/u16-conv-from-enc: Likewise.
3539         * modules/uniconv/u16-conv-to-enc: Likewise.
3540         * modules/uniconv/u16-strconv-from-enc: Likewise.
3541         * modules/uniconv/u16-strconv-from-locale: Likewise.
3542         * modules/uniconv/u16-strconv-to-enc: Likewise.
3543         * modules/uniconv/u16-strconv-to-locale: Likewise.
3544         * modules/uniconv/u32-conv-from-enc: Likewise.
3545         * modules/uniconv/u32-conv-to-enc: Likewise.
3546         * modules/uniconv/u32-strconv-from-enc: Likewise.
3547         * modules/uniconv/u32-strconv-from-locale: Likewise.
3548         * modules/uniconv/u32-strconv-to-enc: Likewise.
3549         * modules/uniconv/u32-strconv-to-locale: Likewise.
3550         * modules/unictype/bidicategory-byname: Likewise.
3551         * modules/unictype/bidicategory-name: Likewise.
3552         * modules/unictype/bidicategory-of: Likewise.
3553         * modules/unictype/bidicategory-test: Likewise.
3554         * modules/unictype/block-list: Likewise.
3555         * modules/unictype/block-test: Likewise.
3556         * modules/unictype/category-C: Likewise.
3557         * modules/unictype/category-Cc: Likewise.
3558         * modules/unictype/category-Cf: Likewise.
3559         * modules/unictype/category-Cn: Likewise.
3560         * modules/unictype/category-Co: Likewise.
3561         * modules/unictype/category-Cs: Likewise.
3562         * modules/unictype/category-L: Likewise.
3563         * modules/unictype/category-Ll: Likewise.
3564         * modules/unictype/category-Lm: Likewise.
3565         * modules/unictype/category-Lo: Likewise.
3566         * modules/unictype/category-Lt: Likewise.
3567         * modules/unictype/category-Lu: Likewise.
3568         * modules/unictype/category-M: Likewise.
3569         * modules/unictype/category-Mc: Likewise.
3570         * modules/unictype/category-Me: Likewise.
3571         * modules/unictype/category-Mn: Likewise.
3572         * modules/unictype/category-N: Likewise.
3573         * modules/unictype/category-Nd: Likewise.
3574         * modules/unictype/category-Nl: Likewise.
3575         * modules/unictype/category-No: Likewise.
3576         * modules/unictype/category-P: Likewise.
3577         * modules/unictype/category-Pc: Likewise.
3578         * modules/unictype/category-Pd: Likewise.
3579         * modules/unictype/category-Pe: Likewise.
3580         * modules/unictype/category-Pf: Likewise.
3581         * modules/unictype/category-Pi: Likewise.
3582         * modules/unictype/category-Po: Likewise.
3583         * modules/unictype/category-Ps: Likewise.
3584         * modules/unictype/category-S: Likewise.
3585         * modules/unictype/category-Sc: Likewise.
3586         * modules/unictype/category-Sk: Likewise.
3587         * modules/unictype/category-Sm: Likewise.
3588         * modules/unictype/category-So: Likewise.
3589         * modules/unictype/category-Z: Likewise.
3590         * modules/unictype/category-Zl: Likewise.
3591         * modules/unictype/category-Zp: Likewise.
3592         * modules/unictype/category-Zs: Likewise.
3593         * modules/unictype/category-and: Likewise.
3594         * modules/unictype/category-and-not: Likewise.
3595         * modules/unictype/category-byname: Likewise.
3596         * modules/unictype/category-name: Likewise.
3597         * modules/unictype/category-none: Likewise.
3598         * modules/unictype/category-of: Likewise.
3599         * modules/unictype/category-or: Likewise.
3600         * modules/unictype/category-test: Likewise.
3601         * modules/unictype/combining-class: Likewise.
3602         * modules/unictype/ctype-alnum: Likewise.
3603         * modules/unictype/ctype-alpha: Likewise.
3604         * modules/unictype/ctype-blank: Likewise.
3605         * modules/unictype/ctype-cntrl: Likewise.
3606         * modules/unictype/ctype-digit: Likewise.
3607         * modules/unictype/ctype-graph: Likewise.
3608         * modules/unictype/ctype-lower: Likewise.
3609         * modules/unictype/ctype-print: Likewise.
3610         * modules/unictype/ctype-punct: Likewise.
3611         * modules/unictype/ctype-space: Likewise.
3612         * modules/unictype/ctype-upper: Likewise.
3613         * modules/unictype/ctype-xdigit: Likewise.
3614         * modules/unictype/decimal-digit: Likewise.
3615         * modules/unictype/digit: Likewise.
3616         * modules/unictype/mirror: Likewise.
3617         * modules/unictype/numeric: Likewise.
3618         * modules/unictype/property-alphabetic: Likewise.
3619         * modules/unictype/property-ascii-hex-digit: Likewise.
3620         * modules/unictype/property-bidi-arabic-digit: Likewise.
3621         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
3622         * modules/unictype/property-bidi-block-separator: Likewise.
3623         * modules/unictype/property-bidi-boundary-neutral: Likewise.
3624         * modules/unictype/property-bidi-common-separator: Likewise.
3625         * modules/unictype/property-bidi-control: Likewise.
3626         * modules/unictype/property-bidi-embedding-or-override: Likewise.
3627         * modules/unictype/property-bidi-eur-num-separator: Likewise.
3628         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
3629         * modules/unictype/property-bidi-european-digit: Likewise.
3630         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
3631         * modules/unictype/property-bidi-left-to-right: Likewise.
3632         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
3633         * modules/unictype/property-bidi-other-neutral: Likewise.
3634         * modules/unictype/property-bidi-pdf: Likewise.
3635         * modules/unictype/property-bidi-segment-separator: Likewise.
3636         * modules/unictype/property-bidi-whitespace: Likewise.
3637         * modules/unictype/property-byname: Likewise.
3638         * modules/unictype/property-combining: Likewise.
3639         * modules/unictype/property-composite: Likewise.
3640         * modules/unictype/property-currency-symbol: Likewise.
3641         * modules/unictype/property-dash: Likewise.
3642         * modules/unictype/property-decimal-digit: Likewise.
3643         * modules/unictype/property-default-ignorable-code-point: Likewise.
3644         * modules/unictype/property-deprecated: Likewise.
3645         * modules/unictype/property-diacritic: Likewise.
3646         * modules/unictype/property-extender: Likewise.
3647         * modules/unictype/property-format-control: Likewise.
3648         * modules/unictype/property-grapheme-base: Likewise.
3649         * modules/unictype/property-grapheme-extend: Likewise.
3650         * modules/unictype/property-grapheme-link: Likewise.
3651         * modules/unictype/property-hex-digit: Likewise.
3652         * modules/unictype/property-hyphen: Likewise.
3653         * modules/unictype/property-id-continue: Likewise.
3654         * modules/unictype/property-id-start: Likewise.
3655         * modules/unictype/property-ideographic: Likewise.
3656         * modules/unictype/property-ids-binary-operator: Likewise.
3657         * modules/unictype/property-ids-trinary-operator: Likewise.
3658         * modules/unictype/property-ignorable-control: Likewise.
3659         * modules/unictype/property-iso-control: Likewise.
3660         * modules/unictype/property-join-control: Likewise.
3661         * modules/unictype/property-left-of-pair: Likewise.
3662         * modules/unictype/property-line-separator: Likewise.
3663         * modules/unictype/property-logical-order-exception: Likewise.
3664         * modules/unictype/property-lowercase: Likewise.
3665         * modules/unictype/property-math: Likewise.
3666         * modules/unictype/property-non-break: Likewise.
3667         * modules/unictype/property-not-a-character: Likewise.
3668         * modules/unictype/property-numeric: Likewise.
3669         * modules/unictype/property-other-alphabetic: Likewise.
3670         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
3671         * modules/unictype/property-other-grapheme-extend: Likewise.
3672         * modules/unictype/property-other-id-continue: Likewise.
3673         * modules/unictype/property-other-id-start: Likewise.
3674         * modules/unictype/property-other-lowercase: Likewise.
3675         * modules/unictype/property-other-math: Likewise.
3676         * modules/unictype/property-other-uppercase: Likewise.
3677         * modules/unictype/property-paired-punctuation: Likewise.
3678         * modules/unictype/property-paragraph-separator: Likewise.
3679         * modules/unictype/property-pattern-syntax: Likewise.
3680         * modules/unictype/property-pattern-white-space: Likewise.
3681         * modules/unictype/property-private-use: Likewise.
3682         * modules/unictype/property-punctuation: Likewise.
3683         * modules/unictype/property-quotation-mark: Likewise.
3684         * modules/unictype/property-radical: Likewise.
3685         * modules/unictype/property-sentence-terminal: Likewise.
3686         * modules/unictype/property-soft-dotted: Likewise.
3687         * modules/unictype/property-space: Likewise.
3688         * modules/unictype/property-terminal-punctuation: Likewise.
3689         * modules/unictype/property-test: Likewise.
3690         * modules/unictype/property-titlecase: Likewise.
3691         * modules/unictype/property-unassigned-code-value: Likewise.
3692         * modules/unictype/property-unified-ideograph: Likewise.
3693         * modules/unictype/property-uppercase: Likewise.
3694         * modules/unictype/property-variation-selector: Likewise.
3695         * modules/unictype/property-white-space: Likewise.
3696         * modules/unictype/property-xid-continue: Likewise.
3697         * modules/unictype/property-xid-start: Likewise.
3698         * modules/unictype/property-zero-width: Likewise.
3699         * modules/unictype/scripts: Likewise.
3700         * modules/unictype/syntax-c-ident: Likewise.
3701         * modules/unictype/syntax-c-whitespace: Likewise.
3702         * modules/unictype/syntax-java-ident: Likewise.
3703         * modules/unictype/syntax-java-whitespace: Likewise.
3704         * modules/unilbrk/u8-possible-linebreaks: Likewise.
3705         * modules/unilbrk/u8-width-linebreaks: Likewise.
3706         * modules/unilbrk/u16-possible-linebreaks: Likewise.
3707         * modules/unilbrk/u16-width-linebreaks: Likewise.
3708         * modules/unilbrk/u32-possible-linebreaks: Likewise.
3709         * modules/unilbrk/u32-width-linebreaks: Likewise.
3710         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
3711         * modules/unilbrk/ulc-width-linebreaks: Likewise.
3712         * modules/uniname/uniname: Likewise.
3713         * modules/uninorm/canonical-decomposition: Likewise.
3714         * modules/uninorm/composition: Likewise.
3715         * modules/uninorm/decomposing-form: Likewise.
3716         * modules/uninorm/decomposition: Likewise.
3717         * modules/uninorm/filter: Likewise.
3718         * modules/uninorm/nfc: Likewise.
3719         * modules/uninorm/nfd: Likewise.
3720         * modules/uninorm/nfkc: Likewise.
3721         * modules/uninorm/nfkd: Likewise.
3722         * modules/uninorm/u8-normalize: Likewise.
3723         * modules/uninorm/u8-normcmp: Likewise.
3724         * modules/uninorm/u8-normcoll: Likewise.
3725         * modules/uninorm/u8-normxfrm: Likewise.
3726         * modules/uninorm/u16-normalize: Likewise.
3727         * modules/uninorm/u16-normcmp: Likewise.
3728         * modules/uninorm/u16-normcoll: Likewise.
3729         * modules/uninorm/u16-normxfrm: Likewise.
3730         * modules/uninorm/u32-normalize: Likewise.
3731         * modules/uninorm/u32-normcmp: Likewise.
3732         * modules/uninorm/u32-normcoll: Likewise.
3733         * modules/uninorm/u32-normxfrm: Likewise.
3734         * modules/unistdio/u8-asnprintf: Likewise.
3735         * modules/unistdio/u8-asprintf: Likewise.
3736         * modules/unistdio/u8-snprintf: Likewise.
3737         * modules/unistdio/u8-sprintf: Likewise.
3738         * modules/unistdio/u8-u8-asnprintf: Likewise.
3739         * modules/unistdio/u8-u8-asprintf: Likewise.
3740         * modules/unistdio/u8-u8-snprintf: Likewise.
3741         * modules/unistdio/u8-u8-sprintf: Likewise.
3742         * modules/unistdio/u8-u8-vasnprintf: Likewise.
3743         * modules/unistdio/u8-u8-vasprintf: Likewise.
3744         * modules/unistdio/u8-u8-vsnprintf: Likewise.
3745         * modules/unistdio/u8-u8-vsprintf: Likewise.
3746         * modules/unistdio/u8-vasnprintf: Likewise.
3747         * modules/unistdio/u8-vasprintf: Likewise.
3748         * modules/unistdio/u8-vsnprintf: Likewise.
3749         * modules/unistdio/u8-vsprintf: Likewise.
3750         * modules/unistdio/u16-asnprintf: Likewise.
3751         * modules/unistdio/u16-asprintf: Likewise.
3752         * modules/unistdio/u16-snprintf: Likewise.
3753         * modules/unistdio/u16-sprintf: Likewise.
3754         * modules/unistdio/u16-u16-asnprintf: Likewise.
3755         * modules/unistdio/u16-u16-asprintf: Likewise.
3756         * modules/unistdio/u16-u16-snprintf: Likewise.
3757         * modules/unistdio/u16-u16-sprintf: Likewise.
3758         * modules/unistdio/u16-u16-vasnprintf: Likewise.
3759         * modules/unistdio/u16-u16-vasprintf: Likewise.
3760         * modules/unistdio/u16-u16-vsnprintf: Likewise.
3761         * modules/unistdio/u16-u16-vsprintf: Likewise.
3762         * modules/unistdio/u16-vasnprintf: Likewise.
3763         * modules/unistdio/u16-vasprintf: Likewise.
3764         * modules/unistdio/u16-vsnprintf: Likewise.
3765         * modules/unistdio/u16-vsprintf: Likewise.
3766         * modules/unistdio/u32-asnprintf: Likewise.
3767         * modules/unistdio/u32-asprintf: Likewise.
3768         * modules/unistdio/u32-snprintf: Likewise.
3769         * modules/unistdio/u32-sprintf: Likewise.
3770         * modules/unistdio/u32-u32-asnprintf: Likewise.
3771         * modules/unistdio/u32-u32-asprintf: Likewise.
3772         * modules/unistdio/u32-u32-snprintf: Likewise.
3773         * modules/unistdio/u32-u32-sprintf: Likewise.
3774         * modules/unistdio/u32-u32-vasnprintf: Likewise.
3775         * modules/unistdio/u32-u32-vasprintf: Likewise.
3776         * modules/unistdio/u32-u32-vsnprintf: Likewise.
3777         * modules/unistdio/u32-u32-vsprintf: Likewise.
3778         * modules/unistdio/u32-vasnprintf: Likewise.
3779         * modules/unistdio/u32-vasprintf: Likewise.
3780         * modules/unistdio/u32-vsnprintf: Likewise.
3781         * modules/unistdio/u32-vsprintf: Likewise.
3782         * modules/unistdio/ulc-asnprintf: Likewise.
3783         * modules/unistdio/ulc-asprintf: Likewise.
3784         * modules/unistdio/ulc-fprintf: Likewise.
3785         * modules/unistdio/ulc-snprintf: Likewise.
3786         * modules/unistdio/ulc-sprintf: Likewise.
3787         * modules/unistdio/ulc-vasnprintf: Likewise.
3788         * modules/unistdio/ulc-vasprintf: Likewise.
3789         * modules/unistdio/ulc-vfprintf: Likewise.
3790         * modules/unistdio/ulc-vsnprintf: Likewise.
3791         * modules/unistdio/ulc-vsprintf: Likewise.
3792         * modules/unistr/u8-check: Likewise.
3793         * modules/unistr/u8-chr: Likewise.
3794         * modules/unistr/u8-cmp: Likewise.
3795         * modules/unistr/u8-cmp2: Likewise.
3796         * modules/unistr/u8-cpy: Likewise.
3797         * modules/unistr/u8-cpy-alloc: Likewise.
3798         * modules/unistr/u8-endswith: Likewise.
3799         * modules/unistr/u8-mblen: Likewise.
3800         * modules/unistr/u8-mbsnlen: Likewise.
3801         * modules/unistr/u8-mbtouc: Likewise.
3802         * modules/unistr/u8-mbtouc-unsafe: Likewise.
3803         * modules/unistr/u8-mbtoucr: Likewise.
3804         * modules/unistr/u8-move: Likewise.
3805         * modules/unistr/u8-next: Likewise.
3806         * modules/unistr/u8-prev: Likewise.
3807         * modules/unistr/u8-set: Likewise.
3808         * modules/unistr/u8-startswith: Likewise.
3809         * modules/unistr/u8-stpcpy: Likewise.
3810         * modules/unistr/u8-stpncpy: Likewise.
3811         * modules/unistr/u8-strcat: Likewise.
3812         * modules/unistr/u8-strchr: Likewise.
3813         * modules/unistr/u8-strcmp: Likewise.
3814         * modules/unistr/u8-strcoll: Likewise.
3815         * modules/unistr/u8-strcpy: Likewise.
3816         * modules/unistr/u8-strcspn: Likewise.
3817         * modules/unistr/u8-strdup: Likewise.
3818         * modules/unistr/u8-strlen: Likewise.
3819         * modules/unistr/u8-strmblen: Likewise.
3820         * modules/unistr/u8-strmbtouc: Likewise.
3821         * modules/unistr/u8-strncat: Likewise.
3822         * modules/unistr/u8-strncmp: Likewise.
3823         * modules/unistr/u8-strncpy: Likewise.
3824         * modules/unistr/u8-strnlen: Likewise.
3825         * modules/unistr/u8-strpbrk: Likewise.
3826         * modules/unistr/u8-strrchr: Likewise.
3827         * modules/unistr/u8-strspn: Likewise.
3828         * modules/unistr/u8-strstr: Likewise.
3829         * modules/unistr/u8-strtok: Likewise.
3830         * modules/unistr/u8-to-u16: Likewise.
3831         * modules/unistr/u8-to-u32: Likewise.
3832         * modules/unistr/u8-uctomb: Likewise.
3833         * modules/unistr/u16-check: Likewise.
3834         * modules/unistr/u16-chr: Likewise.
3835         * modules/unistr/u16-cmp: Likewise.
3836         * modules/unistr/u16-cmp2: Likewise.
3837         * modules/unistr/u16-cpy: Likewise.
3838         * modules/unistr/u16-cpy-alloc: Likewise.
3839         * modules/unistr/u16-endswith: Likewise.
3840         * modules/unistr/u16-mblen: Likewise.
3841         * modules/unistr/u16-mbsnlen: Likewise.
3842         * modules/unistr/u16-mbtouc: Likewise.
3843         * modules/unistr/u16-mbtouc-unsafe: Likewise.
3844         * modules/unistr/u16-mbtoucr: Likewise.
3845         * modules/unistr/u16-move: Likewise.
3846         * modules/unistr/u16-next: Likewise.
3847         * modules/unistr/u16-prev: Likewise.
3848         * modules/unistr/u16-set: Likewise.
3849         * modules/unistr/u16-startswith: Likewise.
3850         * modules/unistr/u16-stpcpy: Likewise.
3851         * modules/unistr/u16-stpncpy: Likewise.
3852         * modules/unistr/u16-strcat: Likewise.
3853         * modules/unistr/u16-strchr: Likewise.
3854         * modules/unistr/u16-strcmp: Likewise.
3855         * modules/unistr/u16-strcoll: Likewise.
3856         * modules/unistr/u16-strcpy: Likewise.
3857         * modules/unistr/u16-strcspn: Likewise.
3858         * modules/unistr/u16-strdup: Likewise.
3859         * modules/unistr/u16-strlen: Likewise.
3860         * modules/unistr/u16-strmblen: Likewise.
3861         * modules/unistr/u16-strmbtouc: Likewise.
3862         * modules/unistr/u16-strncat: Likewise.
3863         * modules/unistr/u16-strncmp: Likewise.
3864         * modules/unistr/u16-strncpy: Likewise.
3865         * modules/unistr/u16-strnlen: Likewise.
3866         * modules/unistr/u16-strpbrk: Likewise.
3867         * modules/unistr/u16-strrchr: Likewise.
3868         * modules/unistr/u16-strspn: Likewise.
3869         * modules/unistr/u16-strstr: Likewise.
3870         * modules/unistr/u16-strtok: Likewise.
3871         * modules/unistr/u16-to-u32: Likewise.
3872         * modules/unistr/u16-to-u8: Likewise.
3873         * modules/unistr/u16-uctomb: Likewise.
3874         * modules/unistr/u32-check: Likewise.
3875         * modules/unistr/u32-chr: Likewise.
3876         * modules/unistr/u32-cmp: Likewise.
3877         * modules/unistr/u32-cmp2: Likewise.
3878         * modules/unistr/u32-cpy: Likewise.
3879         * modules/unistr/u32-cpy-alloc: Likewise.
3880         * modules/unistr/u32-endswith: Likewise.
3881         * modules/unistr/u32-mblen: Likewise.
3882         * modules/unistr/u32-mbsnlen: Likewise.
3883         * modules/unistr/u32-mbtouc: Likewise.
3884         * modules/unistr/u32-mbtouc-unsafe: Likewise.
3885         * modules/unistr/u32-mbtoucr: Likewise.
3886         * modules/unistr/u32-move: Likewise.
3887         * modules/unistr/u32-next: Likewise.
3888         * modules/unistr/u32-prev: Likewise.
3889         * modules/unistr/u32-set: Likewise.
3890         * modules/unistr/u32-startswith: Likewise.
3891         * modules/unistr/u32-stpcpy: Likewise.
3892         * modules/unistr/u32-stpncpy: Likewise.
3893         * modules/unistr/u32-strcat: Likewise.
3894         * modules/unistr/u32-strchr: Likewise.
3895         * modules/unistr/u32-strcmp: Likewise.
3896         * modules/unistr/u32-strcoll: Likewise.
3897         * modules/unistr/u32-strcpy: Likewise.
3898         * modules/unistr/u32-strcspn: Likewise.
3899         * modules/unistr/u32-strdup: Likewise.
3900         * modules/unistr/u32-strlen: Likewise.
3901         * modules/unistr/u32-strmblen: Likewise.
3902         * modules/unistr/u32-strmbtouc: Likewise.
3903         * modules/unistr/u32-strncat: Likewise.
3904         * modules/unistr/u32-strncmp: Likewise.
3905         * modules/unistr/u32-strncpy: Likewise.
3906         * modules/unistr/u32-strnlen: Likewise.
3907         * modules/unistr/u32-strpbrk: Likewise.
3908         * modules/unistr/u32-strrchr: Likewise.
3909         * modules/unistr/u32-strspn: Likewise.
3910         * modules/unistr/u32-strstr: Likewise.
3911         * modules/unistr/u32-strtok: Likewise.
3912         * modules/unistr/u32-to-u16: Likewise.
3913         * modules/unistr/u32-to-u8: Likewise.
3914         * modules/unistr/u32-uctomb: Likewise.
3915         * modules/uniwbrk/u8-wordbreaks: Likewise.
3916         * modules/uniwbrk/u16-wordbreaks: Likewise.
3917         * modules/uniwbrk/u32-wordbreaks: Likewise.
3918         * modules/uniwbrk/ulc-wordbreaks: Likewise.
3919         * modules/uniwbrk/wordbreak-property: Likewise.
3920         * modules/uniwidth/u8-strwidth: Likewise.
3921         * modules/uniwidth/u8-width: Likewise.
3922         * modules/uniwidth/u16-strwidth: Likewise.
3923         * modules/uniwidth/u16-width: Likewise.
3924         * modules/uniwidth/u32-strwidth: Likewise.
3925         * modules/uniwidth/u32-width: Likewise.
3926         * modules/uniwidth/width: Likewise.
3927         * modules/unicase/cased-tests (Makefile.am): Link all test programs
3928         with $(LIBUNISTRING).
3929         * modules/unicase/ignorable-tests: Likewise.
3930         * modules/unicase/locale-language-tests: Likewise.
3931         * modules/unicase/tolower-tests: Likewise.
3932         * modules/unicase/totitle-tests: Likewise.
3933         * modules/unicase/toupper-tests: Likewise.
3934         * modules/unicase/u8-casecmp-tests: Likewise.
3935         * modules/unicase/u8-casecoll-tests: Likewise.
3936         * modules/unicase/u8-casefold-tests: Likewise.
3937         * modules/unicase/u8-is-cased-tests: Likewise.
3938         * modules/unicase/u8-is-casefolded-tests: Likewise.
3939         * modules/unicase/u8-is-lowercase-tests: Likewise.
3940         * modules/unicase/u8-is-titlecase-tests: Likewise.
3941         * modules/unicase/u8-is-uppercase-tests: Likewise.
3942         * modules/unicase/u8-tolower-tests: Likewise.
3943         * modules/unicase/u8-totitle-tests: Likewise.
3944         * modules/unicase/u8-toupper-tests: Likewise.
3945         * modules/unicase/u16-casecmp-tests: Likewise.
3946         * modules/unicase/u16-casecoll-tests: Likewise.
3947         * modules/unicase/u16-casefold-tests: Likewise.
3948         * modules/unicase/u16-is-cased-tests: Likewise.
3949         * modules/unicase/u16-is-casefolded-tests: Likewise.
3950         * modules/unicase/u16-is-lowercase-tests: Likewise.
3951         * modules/unicase/u16-is-titlecase-tests: Likewise.
3952         * modules/unicase/u16-is-uppercase-tests: Likewise.
3953         * modules/unicase/u16-tolower-tests: Likewise.
3954         * modules/unicase/u16-totitle-tests: Likewise.
3955         * modules/unicase/u16-toupper-tests: Likewise.
3956         * modules/unicase/u32-casecmp-tests: Likewise.
3957         * modules/unicase/u32-casecoll-tests: Likewise.
3958         * modules/unicase/u32-casefold-tests: Likewise.
3959         * modules/unicase/u32-is-cased-tests: Likewise.
3960         * modules/unicase/u32-is-casefolded-tests: Likewise.
3961         * modules/unicase/u32-is-lowercase-tests: Likewise.
3962         * modules/unicase/u32-is-titlecase-tests: Likewise.
3963         * modules/unicase/u32-is-uppercase-tests: Likewise.
3964         * modules/unicase/u32-tolower-tests: Likewise.
3965         * modules/unicase/u32-totitle-tests: Likewise.
3966         * modules/unicase/u32-toupper-tests: Likewise.
3967         * modules/unicase/ulc-casecmp-tests: Likewise.
3968         * modules/unicase/ulc-casecoll-tests: Likewise.
3969         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
3970         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
3971         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
3972         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
3973         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
3974         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
3975         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
3976         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
3977         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
3978         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
3979         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
3980         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
3981         * modules/unictype/bidicategory-byname-tests: Likewise.
3982         * modules/unictype/bidicategory-name-tests: Likewise.
3983         * modules/unictype/bidicategory-of-tests: Likewise.
3984         * modules/unictype/bidicategory-test-tests: Likewise.
3985         * modules/unictype/block-list-tests: Likewise.
3986         * modules/unictype/block-of-tests: Likewise.
3987         * modules/unictype/block-test-tests: Likewise.
3988         * modules/unictype/category-C-tests: Likewise.
3989         * modules/unictype/category-Cc-tests: Likewise.
3990         * modules/unictype/category-Cf-tests: Likewise.
3991         * modules/unictype/category-Cn-tests: Likewise.
3992         * modules/unictype/category-Co-tests: Likewise.
3993         * modules/unictype/category-Cs-tests: Likewise.
3994         * modules/unictype/category-L-tests: Likewise.
3995         * modules/unictype/category-Ll-tests: Likewise.
3996         * modules/unictype/category-Lm-tests: Likewise.
3997         * modules/unictype/category-Lo-tests: Likewise.
3998         * modules/unictype/category-Lt-tests: Likewise.
3999         * modules/unictype/category-Lu-tests: Likewise.
4000         * modules/unictype/category-M-tests: Likewise.
4001         * modules/unictype/category-Mc-tests: Likewise.
4002         * modules/unictype/category-Me-tests: Likewise.
4003         * modules/unictype/category-Mn-tests: Likewise.
4004         * modules/unictype/category-N-tests: Likewise.
4005         * modules/unictype/category-Nd-tests: Likewise.
4006         * modules/unictype/category-Nl-tests: Likewise.
4007         * modules/unictype/category-No-tests: Likewise.
4008         * modules/unictype/category-P-tests: Likewise.
4009         * modules/unictype/category-Pc-tests: Likewise.
4010         * modules/unictype/category-Pd-tests: Likewise.
4011         * modules/unictype/category-Pe-tests: Likewise.
4012         * modules/unictype/category-Pf-tests: Likewise.
4013         * modules/unictype/category-Pi-tests: Likewise.
4014         * modules/unictype/category-Po-tests: Likewise.
4015         * modules/unictype/category-Ps-tests: Likewise.
4016         * modules/unictype/category-S-tests: Likewise.
4017         * modules/unictype/category-Sc-tests: Likewise.
4018         * modules/unictype/category-Sk-tests: Likewise.
4019         * modules/unictype/category-Sm-tests: Likewise.
4020         * modules/unictype/category-So-tests: Likewise.
4021         * modules/unictype/category-Z-tests: Likewise.
4022         * modules/unictype/category-Zl-tests: Likewise.
4023         * modules/unictype/category-Zp-tests: Likewise.
4024         * modules/unictype/category-Zs-tests: Likewise.
4025         * modules/unictype/category-and-not-tests: Likewise.
4026         * modules/unictype/category-and-tests: Likewise.
4027         * modules/unictype/category-byname-tests: Likewise.
4028         * modules/unictype/category-name-tests: Likewise.
4029         * modules/unictype/category-none-tests: Likewise.
4030         * modules/unictype/category-of-tests: Likewise.
4031         * modules/unictype/category-or-tests: Likewise.
4032         * modules/unictype/category-test-withtable-tests: Likewise.
4033         * modules/unictype/combining-class-tests: Likewise.
4034         * modules/unictype/ctype-alnum-tests: Likewise.
4035         * modules/unictype/ctype-alpha-tests: Likewise.
4036         * modules/unictype/ctype-blank-tests: Likewise.
4037         * modules/unictype/ctype-cntrl-tests: Likewise.
4038         * modules/unictype/ctype-digit-tests: Likewise.
4039         * modules/unictype/ctype-graph-tests: Likewise.
4040         * modules/unictype/ctype-lower-tests: Likewise.
4041         * modules/unictype/ctype-print-tests: Likewise.
4042         * modules/unictype/ctype-punct-tests: Likewise.
4043         * modules/unictype/ctype-space-tests: Likewise.
4044         * modules/unictype/ctype-upper-tests: Likewise.
4045         * modules/unictype/ctype-xdigit-tests: Likewise.
4046         * modules/unictype/decimal-digit-tests: Likewise.
4047         * modules/unictype/digit-tests: Likewise.
4048         * modules/unictype/mirror-tests: Likewise.
4049         * modules/unictype/numeric-tests: Likewise.
4050         * modules/unictype/property-alphabetic-tests: Likewise.
4051         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
4052         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
4053         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
4054         * modules/unictype/property-bidi-block-separator-tests: Likewise.
4055         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
4056         * modules/unictype/property-bidi-common-separator-tests: Likewise.
4057         * modules/unictype/property-bidi-control-tests: Likewise.
4058         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
4059         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
4060         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
4061         * modules/unictype/property-bidi-european-digit-tests: Likewise.
4062         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
4063         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
4064         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
4065         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
4066         * modules/unictype/property-bidi-pdf-tests: Likewise.
4067         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
4068         * modules/unictype/property-bidi-whitespace-tests: Likewise.
4069         * modules/unictype/property-byname-tests: Likewise.
4070         * modules/unictype/property-combining-tests: Likewise.
4071         * modules/unictype/property-composite-tests: Likewise.
4072         * modules/unictype/property-currency-symbol-tests: Likewise.
4073         * modules/unictype/property-dash-tests: Likewise.
4074         * modules/unictype/property-decimal-digit-tests: Likewise.
4075         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
4076         * modules/unictype/property-deprecated-tests: Likewise.
4077         * modules/unictype/property-diacritic-tests: Likewise.
4078         * modules/unictype/property-extender-tests: Likewise.
4079         * modules/unictype/property-format-control-tests: Likewise.
4080         * modules/unictype/property-grapheme-base-tests: Likewise.
4081         * modules/unictype/property-grapheme-extend-tests: Likewise.
4082         * modules/unictype/property-grapheme-link-tests: Likewise.
4083         * modules/unictype/property-hex-digit-tests: Likewise.
4084         * modules/unictype/property-hyphen-tests: Likewise.
4085         * modules/unictype/property-id-continue-tests: Likewise.
4086         * modules/unictype/property-id-start-tests: Likewise.
4087         * modules/unictype/property-ideographic-tests: Likewise.
4088         * modules/unictype/property-ids-binary-operator-tests: Likewise.
4089         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
4090         * modules/unictype/property-ignorable-control-tests: Likewise.
4091         * modules/unictype/property-iso-control-tests: Likewise.
4092         * modules/unictype/property-join-control-tests: Likewise.
4093         * modules/unictype/property-left-of-pair-tests: Likewise.
4094         * modules/unictype/property-line-separator-tests: Likewise.
4095         * modules/unictype/property-logical-order-exception-tests: Likewise.
4096         * modules/unictype/property-lowercase-tests: Likewise.
4097         * modules/unictype/property-math-tests: Likewise.
4098         * modules/unictype/property-non-break-tests: Likewise.
4099         * modules/unictype/property-not-a-character-tests: Likewise.
4100         * modules/unictype/property-numeric-tests: Likewise.
4101         * modules/unictype/property-other-alphabetic-tests: Likewise.
4102         * modules/unictype/property-other-default-ignorable-code-point-tests:
4103         Likewise.
4104         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
4105         * modules/unictype/property-other-id-continue-tests: Likewise.
4106         * modules/unictype/property-other-id-start-tests: Likewise.
4107         * modules/unictype/property-other-lowercase-tests: Likewise.
4108         * modules/unictype/property-other-math-tests: Likewise.
4109         * modules/unictype/property-other-uppercase-tests: Likewise.
4110         * modules/unictype/property-paired-punctuation-tests: Likewise.
4111         * modules/unictype/property-paragraph-separator-tests: Likewise.
4112         * modules/unictype/property-pattern-syntax-tests: Likewise.
4113         * modules/unictype/property-pattern-white-space-tests: Likewise.
4114         * modules/unictype/property-private-use-tests: Likewise.
4115         * modules/unictype/property-punctuation-tests: Likewise.
4116         * modules/unictype/property-quotation-mark-tests: Likewise.
4117         * modules/unictype/property-radical-tests: Likewise.
4118         * modules/unictype/property-sentence-terminal-tests: Likewise.
4119         * modules/unictype/property-soft-dotted-tests: Likewise.
4120         * modules/unictype/property-space-tests: Likewise.
4121         * modules/unictype/property-terminal-punctuation-tests: Likewise.
4122         * modules/unictype/property-test-tests: Likewise.
4123         * modules/unictype/property-titlecase-tests: Likewise.
4124         * modules/unictype/property-unassigned-code-value-tests: Likewise.
4125         * modules/unictype/property-unified-ideograph-tests: Likewise.
4126         * modules/unictype/property-uppercase-tests: Likewise.
4127         * modules/unictype/property-variation-selector-tests: Likewise.
4128         * modules/unictype/property-white-space-tests: Likewise.
4129         * modules/unictype/property-xid-continue-tests: Likewise.
4130         * modules/unictype/property-xid-start-tests: Likewise.
4131         * modules/unictype/property-zero-width-tests: Likewise.
4132         * modules/unictype/scripts-tests: Likewise.
4133         * modules/unictype/syntax-c-ident-tests: Likewise.
4134         * modules/unictype/syntax-c-whitespace-tests: Likewise.
4135         * modules/unictype/syntax-java-ident-tests: Likewise.
4136         * modules/unictype/syntax-java-whitespace-tests: Likewise.
4137         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
4138         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
4139         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
4140         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
4141         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
4142         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
4143         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
4144         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
4145         * modules/uniname/uniname-tests: Likewise.
4146         * modules/uninorm/canonical-decomposition-tests: Likewise.
4147         * modules/uninorm/compat-decomposition-tests: Likewise.
4148         * modules/uninorm/composition-tests: Likewise.
4149         * modules/uninorm/decomposing-form-tests: Likewise.
4150         * modules/uninorm/decomposition-tests: Likewise.
4151         * modules/uninorm/filter-tests: Likewise.
4152         * modules/uninorm/nfc-tests: Likewise.
4153         * modules/uninorm/nfd-tests: Likewise.
4154         * modules/uninorm/nfkc-tests: Likewise.
4155         * modules/uninorm/nfkd-tests: Likewise.
4156         * modules/uninorm/u8-normcmp-tests: Likewise.
4157         * modules/uninorm/u8-normcoll-tests: Likewise.
4158         * modules/uninorm/u16-normcmp-tests: Likewise.
4159         * modules/uninorm/u16-normcoll-tests: Likewise.
4160         * modules/uninorm/u32-normcmp-tests: Likewise.
4161         * modules/uninorm/u32-normcoll-tests: Likewise.
4162         * modules/unistdio/u8-asnprintf-tests: Likewise.
4163         * modules/unistdio/u8-vasnprintf-tests: Likewise.
4164         * modules/unistdio/u8-vasprintf-tests: Likewise.
4165         * modules/unistdio/u8-vsnprintf-tests: Likewise.
4166         * modules/unistdio/u8-vsprintf-tests: Likewise.
4167         * modules/unistdio/u16-asnprintf-tests: Likewise.
4168         * modules/unistdio/u16-vasnprintf-tests: Likewise.
4169         * modules/unistdio/u16-vasprintf-tests: Likewise.
4170         * modules/unistdio/u16-vsnprintf-tests: Likewise.
4171         * modules/unistdio/u16-vsprintf-tests: Likewise.
4172         * modules/unistdio/u32-asnprintf-tests: Likewise.
4173         * modules/unistdio/u32-vasnprintf-tests: Likewise.
4174         * modules/unistdio/u32-vasprintf-tests: Likewise.
4175         * modules/unistdio/u32-vsnprintf-tests: Likewise.
4176         * modules/unistdio/u32-vsprintf-tests: Likewise.
4177         * modules/unistdio/ulc-asnprintf-tests: Likewise.
4178         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
4179         * modules/unistdio/ulc-vasprintf-tests: Likewise.
4180         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
4181         * modules/unistdio/ulc-vsprintf-tests: Likewise.
4182         * modules/unistr/u8-check-tests: Likewise.
4183         * modules/unistr/u8-chr-tests: Likewise.
4184         * modules/unistr/u8-cmp-tests: Likewise.
4185         * modules/unistr/u8-cmp2-tests: Likewise.
4186         * modules/unistr/u8-cpy-alloc-tests: Likewise.
4187         * modules/unistr/u8-cpy-tests: Likewise.
4188         * modules/unistr/u8-mblen-tests: Likewise.
4189         * modules/unistr/u8-mbsnlen-tests: Likewise.
4190         * modules/unistr/u8-mbtouc-tests: Likewise.
4191         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
4192         * modules/unistr/u8-mbtoucr-tests: Likewise.
4193         * modules/unistr/u8-move-tests: Likewise.
4194         * modules/unistr/u8-next-tests: Likewise.
4195         * modules/unistr/u8-prev-tests: Likewise.
4196         * modules/unistr/u8-set-tests: Likewise.
4197         * modules/unistr/u8-stpcpy-tests: Likewise.
4198         * modules/unistr/u8-stpncpy-tests: Likewise.
4199         * modules/unistr/u8-strcat-tests: Likewise.
4200         * modules/unistr/u8-strcmp-tests: Likewise.
4201         * modules/unistr/u8-strcoll-tests: Likewise.
4202         * modules/unistr/u8-strcpy-tests: Likewise.
4203         * modules/unistr/u8-strdup-tests: Likewise.
4204         * modules/unistr/u8-strlen-tests: Likewise.
4205         * modules/unistr/u8-strmblen-tests: Likewise.
4206         * modules/unistr/u8-strmbtouc-tests: Likewise.
4207         * modules/unistr/u8-strncat-tests: Likewise.
4208         * modules/unistr/u8-strncmp-tests: Likewise.
4209         * modules/unistr/u8-strncpy-tests: Likewise.
4210         * modules/unistr/u8-strnlen-tests: Likewise.
4211         * modules/unistr/u8-to-u16-tests: Likewise.
4212         * modules/unistr/u8-to-u32-tests: Likewise.
4213         * modules/unistr/u8-uctomb-tests: Likewise.
4214         * modules/unistr/u16-check-tests: Likewise.
4215         * modules/unistr/u16-chr-tests: Likewise.
4216         * modules/unistr/u16-cmp-tests: Likewise.
4217         * modules/unistr/u16-cmp2-tests: Likewise.
4218         * modules/unistr/u16-cpy-alloc-tests: Likewise.
4219         * modules/unistr/u16-cpy-tests: Likewise.
4220         * modules/unistr/u16-mblen-tests: Likewise.
4221         * modules/unistr/u16-mbsnlen-tests: Likewise.
4222         * modules/unistr/u16-mbtouc-tests: Likewise.
4223         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
4224         * modules/unistr/u16-mbtoucr-tests: Likewise.
4225         * modules/unistr/u16-move-tests: Likewise.
4226         * modules/unistr/u16-next-tests: Likewise.
4227         * modules/unistr/u16-prev-tests: Likewise.
4228         * modules/unistr/u16-set-tests: Likewise.
4229         * modules/unistr/u16-stpcpy-tests: Likewise.
4230         * modules/unistr/u16-stpncpy-tests: Likewise.
4231         * modules/unistr/u16-strcat-tests: Likewise.
4232         * modules/unistr/u16-strcmp-tests: Likewise.
4233         * modules/unistr/u16-strcoll-tests: Likewise.
4234         * modules/unistr/u16-strcpy-tests: Likewise.
4235         * modules/unistr/u16-strdup-tests: Likewise.
4236         * modules/unistr/u16-strlen-tests: Likewise.
4237         * modules/unistr/u16-strmblen-tests: Likewise.
4238         * modules/unistr/u16-strmbtouc-tests: Likewise.
4239         * modules/unistr/u16-strncat-tests: Likewise.
4240         * modules/unistr/u16-strncmp-tests: Likewise.
4241         * modules/unistr/u16-strncpy-tests: Likewise.
4242         * modules/unistr/u16-strnlen-tests: Likewise.
4243         * modules/unistr/u16-to-u32-tests: Likewise.
4244         * modules/unistr/u16-to-u8-tests: Likewise.
4245         * modules/unistr/u16-uctomb-tests: Likewise.
4246         * modules/unistr/u32-check-tests: Likewise.
4247         * modules/unistr/u32-chr-tests: Likewise.
4248         * modules/unistr/u32-cmp-tests: Likewise.
4249         * modules/unistr/u32-cmp2-tests: Likewise.
4250         * modules/unistr/u32-cpy-alloc-tests: Likewise.
4251         * modules/unistr/u32-cpy-tests: Likewise.
4252         * modules/unistr/u32-mblen-tests: Likewise.
4253         * modules/unistr/u32-mbsnlen-tests: Likewise.
4254         * modules/unistr/u32-mbtouc-tests: Likewise.
4255         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
4256         * modules/unistr/u32-mbtoucr-tests: Likewise.
4257         * modules/unistr/u32-move-tests: Likewise.
4258         * modules/unistr/u32-next-tests: Likewise.
4259         * modules/unistr/u32-prev-tests: Likewise.
4260         * modules/unistr/u32-set-tests: Likewise.
4261         * modules/unistr/u32-stpcpy-tests: Likewise.
4262         * modules/unistr/u32-stpncpy-tests: Likewise.
4263         * modules/unistr/u32-strcat-tests: Likewise.
4264         * modules/unistr/u32-strcmp-tests: Likewise.
4265         * modules/unistr/u32-strcoll-tests: Likewise.
4266         * modules/unistr/u32-strcpy-tests: Likewise.
4267         * modules/unistr/u32-strdup-tests: Likewise.
4268         * modules/unistr/u32-strlen-tests: Likewise.
4269         * modules/unistr/u32-strmblen-tests: Likewise.
4270         * modules/unistr/u32-strmbtouc-tests: Likewise.
4271         * modules/unistr/u32-strncat-tests: Likewise.
4272         * modules/unistr/u32-strncmp-tests: Likewise.
4273         * modules/unistr/u32-strncpy-tests: Likewise.
4274         * modules/unistr/u32-strnlen-tests: Likewise.
4275         * modules/unistr/u32-to-u16-tests: Likewise.
4276         * modules/unistr/u32-to-u8-tests: Likewise.
4277         * modules/unistr/u32-uctomb-tests: Likewise.
4278         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
4279         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
4280         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
4281         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
4282         * modules/uniwidth/u8-strwidth-tests: Likewise.
4283         * modules/uniwidth/u8-width-tests: Likewise.
4284         * modules/uniwidth/u16-strwidth-tests: Likewise.
4285         * modules/uniwidth/u16-width-tests: Likewise.
4286         * modules/uniwidth/u32-strwidth-tests: Likewise.
4287         * modules/uniwidth/u32-width-tests: Likewise.
4288         * modules/uniwidth/width-tests: Likewise.
4289
4290 2010-05-18  Richard Jones  <rjones@redhat.com>
4291
4292         doc: users.txt: list hivex
4293         * users.txt: Add hivex.
4294
4295 2010-05-18  Richard Jones  <rjones@redhat.com>
4296
4297         doc: users.txt: list febootstrap
4298         * users.txt: Add febootstrap.
4299
4300 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
4301
4302         bootstrap: fix an error when gnulib is not used as a git submodule
4303         * build-aux/bootstrap (gnulib_path): If its length is zero then
4304         assign "gnulib" to it.
4305         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
4306
4307 2010-05-16  Bruno Haible  <bruno@clisp.org>
4308
4309         Avoid autoconf warnings about AM_ICONV.
4310         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
4311         2.64.
4312
4313 2010-05-16  Bruno Haible  <bruno@clisp.org>
4314
4315         absolute-header: Make the macro usable in more situations.
4316         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
4317         from gl_ABSOLUTE_HEADER.
4318         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
4319
4320 2010-05-16  James Youngman  <jay@gnu.org>
4321
4322         doc: update users.txt
4323         * users.txt: Add CSSC.
4324
4325 2010-05-16  Jim Meyering  <meyering@redhat.com>
4326
4327         init.sh: fix an error in the previous change; add more comments
4328         * tests/init.sh: Compare exit code in loop against 9, not 2.
4329         Patch by Bruno Haible.
4330         Make the two tests more similar by adding an empty "then" clause.
4331         Add comments.
4332
4333         init.sh: avoid unnecessary shell re-exec
4334         * tests/init.sh: Improve the re-exec-required check to first test the
4335         current shell.  If it passes the test, do not search for a shell that
4336         does pass, and do not re-exec.  This test is particularly contorted to
4337         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
4338         of $(...) evokes a syntax error and causes immediate shell exit with
4339         status 2.  Bruno Haible reported that the re-exec made it impossible
4340         to single-step through any init.sh-using script.
4341
4342 2010-05-16  Bruno Haible  <bruno@clisp.org>
4343
4344         Fix collision between gnulib's and libintl's printf replacements.
4345         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
4346         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
4347         (printf): When using GNU C, map the __printf__ function to rpl_printf
4348         via __asm__. When not using GNU C, define rpl_printf instead of
4349         __printf__.
4350         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
4351         commit.
4352         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
4353         commit.
4354         * m4/asm-underscore.m4: New file.
4355         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
4356         * modules/stdio (Files): Add m4/asm-underscore.m4.
4357         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
4358         Reported by Ben Pfaff.
4359
4360 2010-05-16  Bruno Haible  <bruno@clisp.org>
4361
4362         verify: Avoid skipping the test on openSUSE 11.0.
4363         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
4364
4365 2010-05-13  Bruno Haible  <bruno@clisp.org>
4366
4367         Avoid useless warnings from G++.
4368         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
4369         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
4370         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
4371
4372 2010-05-11  Jim Meyering  <meyering@redhat.com>
4373
4374         maint.mk: tweak preceding change
4375         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
4376         regexps tighter by anchoring at EOL, and make the new group "shy"
4377         for slightly decreased overhead.
4378
4379 2010-05-11  Eric Blake  <eblake@redhat.com>
4380
4381         maint.mk: gnulib doesn't guarantee NSIG
4382         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
4383
4384 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
4385
4386         test-pwrite.c: Remove unused variable declaration.
4387         * tests/test-pwrite.c (main): Remove read_buf declaration.
4388
4389         Remove useless test-pwrite.sh file.
4390         * tests/test-pwrite.sh: Delete file.
4391         * modules/pwrite-tests: Remove references.
4392         Reported by Bruno Haible.
4393
4394 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
4395
4396         init.sh: fix a typo
4397         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
4398
4399 2010-05-10  Jim Meyering  <meyering@redhat.com>
4400
4401         maint.mk: avoid using a temporary file in the always-defined-macros check
4402         * top/maint.mk (.re-defmac): Remove rule.
4403         (gl_trap_): Remove definition.
4404         (sc_prohibit_always-defined_macros): Rewrite not to create and
4405         depend on a temporary file.  Instead, depend on GNU grep's ability
4406         to read a list of regular expressions from stdin when given "-f -".
4407
4408 2010-05-09  Bruno Haible  <bruno@clisp.org>
4409
4410         Update to GNU gettext 0.18, part 1.
4411         * m4/gettext.m4: Update to GNU gettext 0.18.
4412         * m4/intl.m4: Likewise.
4413         * m4/po.m4: Likewise.
4414         * modules/gettext (Files): Add m4/fcntl-o.m4.
4415         (configure.ac): Require gettext infrastructure from version 0.18.
4416
4417 2010-05-09  Jim Meyering  <meyering@redhat.com>
4418
4419         init.sh: enable MALLOC_PERTURB_
4420         * tests/init.sh: Enable glibc's malloc-perturbing option.
4421
4422         maint.mk: improve sc_cross_check_PATH_usage_in_tests
4423         With my recent change in init.sh from the two-line form:
4424             -#   : ${srcdir=.}
4425             -#   . "$srcdir/init.sh"; path_prepend_ .
4426             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
4427         I noticed that using the one-line form would cause this test
4428         to fail with a false-positive, or to stop working altogether,
4429         depending on whether help-version changed or all the tests did.
4430         * top/maint.mk (_hv_regex): Remove this definition.
4431         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
4432         (_hv_regex_strong): Use a stronger regex to check for conformance.
4433         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
4434         Give a separate diagnostic for lack of conforming use.
4435
4436         maint.mk: prohibit definition of symbols defined by gnulib
4437         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
4438         definition of symbols defined by gnulib.
4439
4440 2010-05-09  Bruno Haible  <bruno@clisp.org>
4441
4442         acl: Avoid test failure on Cygwin-hosted mingw.
4443         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
4444
4445 2010-05-09  Bruno Haible  <bruno@clisp.org>
4446
4447         error: Use system's fcntl function.
4448         * lib/error.c (fcntl): Undefine.
4449
4450 2010-05-09  Jim Meyering  <meyering@redhat.com>
4451
4452         verify: adjust formatting to be more consistent
4453         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
4454         argument-list '('s, and after one comma.
4455
4456 2010-05-09  Bruno Haible  <bruno@clisp.org>
4457
4458         error: More reliable output on mingw.
4459         * lib/error.c: Include <windows.h>.
4460         (is_open): New function.
4461         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
4462         defined.
4463
4464 2010-05-09  Bruno Haible  <bruno@clisp.org>
4465
4466         vasnprintf: Fix syntax errors in libintl build on mingw.
4467         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
4468         pad_ourselves and prec_ourselves after use.
4469
4470 2010-05-08  Bruno Haible  <bruno@clisp.org>
4471
4472         * lib/config.charset: Update comments for Cygwin 1.7.
4473         * lib/localcharset.c: Likewise.
4474
4475 2010-05-07  Jim Meyering  <meyering@redhat.com>
4476
4477         init.sh: improve comments
4478         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
4479         . "${srcdir=.}/init.sh"; path_prepend_ .
4480         Add a note about path_prepend_ and the alternative of using
4481         TESTS_ENVIRONMENT.
4482
4483 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
4484
4485         exclude: Unescape hashed patterns in wildcard mode.
4486         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
4487         to the hash list.
4488         * tests/test-exclude8.sh: New test case.
4489         * modules/exclude-tests: Add new test.
4490
4491 2010-05-05  Eric Blake  <eblake@redhat.com>
4492
4493         verify: automate tests
4494         * modules/verify-tests: New module.
4495         * tests/test-verify.sh: New file.
4496         * tests/test-verify.c: Guard each negative test with a unique id.
4497         Also avoid warning about unused left hand of comma expressions.
4498
4499 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
4500
4501         Further improvements to verify.h, suggested by Eric Blake.
4502         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
4503         the GL_* versions, to avoid collision with OpenGL.
4504         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
4505         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
4506         than testing merely whether it's defined.
4507
4508         Modify verify.h to pacify gcc -Wredundant_decls.
4509         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
4510         These use the prefix "GL_" since they're likely to be useful elsewhere.
4511         We may need to break them out into a different .h file.
4512         (__COUNTER__): Define to 0 if the compiler doesn't support it.
4513         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
4514         of verify_function__.
4515
4516 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
4517
4518         Tests for module pwrite.
4519         * modules/pwrite-tests: New file.
4520         * tests/test-pwrite.sh: New file.
4521         * tests/test-pwrite.c: New file.
4522
4523         New module pwrite.
4524         * lib/unistd.in.h (pwrite): New declaration.
4525         * lib/pwrite.c: New file, from glibc with modifications.
4526         * m4/pwrite.m4: New file.
4527         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
4528         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
4529         REPLACE_PWRITE.
4530         * modules/pwrite: New file.
4531         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
4532         REPLACE_PWRITE.
4533         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
4534         * doc/posix-functions/pwrite.texi: Mention the new module.
4535
4536 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
4537
4538         pread: Update documentation.
4539         * doc/posix-functions/pread.texi: Mention the 'pread' module.
4540
4541 2010-05-04  Eric Blake  <eblake@redhat.com>
4542
4543         docs: update cygwin progress
4544         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
4545         this bug.
4546         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
4547         Added in cygwin 1.7.2.
4548         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
4549         Likewise.
4550         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
4551         Likewise.
4552         * doc/glibc-functions/dup3.texi (dup3): Likewise.
4553         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
4554         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4555         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
4556         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
4557         Mention nproc module.
4558         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
4559         bug in cygwin 1.7.5 addition.
4560         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
4561         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
4562         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
4563         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
4564         1.7.5.
4565         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
4566         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
4567         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
4568         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
4569         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
4570         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
4571         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
4572         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
4573         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
4574         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
4575         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
4576         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
4577         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
4578         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
4579         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
4580         Likewise.
4581         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
4582         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
4583         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
4584         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
4585         Likewise.
4586         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
4587         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
4588         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
4589         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
4590         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
4591         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
4592         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
4593         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
4594         Likewise.
4595         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
4596         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
4597         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
4598         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
4599         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
4600         Likewise.
4601         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
4602         Likewise.
4603         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
4604         Likewise.
4605         * doc/glibc-functions/xdrrec_endofrecord.texi
4606         (xdrrec_endofrecord): Likewise.
4607         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
4608         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
4609         Likewise.
4610         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
4611         Likewise.
4612
4613 2010-05-04  Jim Meyering  <meyering@redhat.com>
4614
4615         gendocs.sh: make its "-s FILE" option more useful
4616         * build-aux/gendocs.sh: When honoring the -s FILE option, update
4617         $PACKAGE to reflect the probably-different basename of "FILE".
4618
4619 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
4620
4621         bootstrap: don't ignore download_po_files failure
4622         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
4623         failure.
4624
4625 2010-05-03  Jim Meyering  <meyering@redhat.com>
4626
4627         maint.mk: allow to pass options to gendocs.sh
4628         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
4629         (gendocs_options_): New overridable variable.
4630
4631         gnu-web-doc-update: don't ignore configure or build failure
4632         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
4633
4634         announce-gen: backslash-escape '@'s in --help output
4635         * build-aux/announce-gen: Fix syntax errors.
4636
4637         maint.mk, announce-gen: allow project-specific announcement mail headers
4638         * top/maint.mk (translation_project_): Define default.
4639         (announcement_Cc_, announcement_mail_headers_): Likewise.
4640         (announcement): Invoke announce-gen with new --mail-headers option.
4641         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
4642
4643         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
4644         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
4645         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
4646         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
4647         line in the "err2" output file when running "make check" in verbose
4648         mode (i.e., with set -x enabled).
4649
4650 2010-05-03  Bruno Haible  <bruno@clisp.org>
4651
4652         wctob: Fix for weird platforms.
4653         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
4654         argument value.
4655
4656 2010-05-03  Jim Meyering  <meyering@redhat.com>
4657
4658         maint.mk: prohibit unwarranted use of <strings.h>
4659         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
4660         strings.h in a file that does not also use strcasecmp, strncasecmp,
4661         ffs or ffsll.
4662
4663         maint.mk: remove obsolete comments
4664         * top/maint.mk: Remove stale, commented-out rules.
4665
4666 2010-05-02  Bruno Haible  <bruno@clisp.org>
4667
4668         wcwidth: Declare also when it's aliased.
4669         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
4670         macro.
4671
4672 2010-05-02  Bruno Haible  <bruno@clisp.org>
4673
4674         Fix regression from 2010-04-25.
4675         * gnulib-tool (func_modules_transitive_closure): Check the status of
4676         all modules, not only of the tests that are of the form foo-tests where
4677         foo is a module.
4678
4679 2010-05-02  Bruno Haible  <bruno@clisp.org>
4680
4681         wctob: Work around nasty Cygwin 1.7.2 bug.
4682         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
4683         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
4684
4685 2010-05-01  Bruno Haible  <bruno@clisp.org>
4686
4687         fpurge: Sharper test.
4688         * tests/test-fpurge.c (main): Add one more ftell check.
4689         * modules/fpurge-tests (Depends-on): Add ftell.
4690         Suggested by Eric Blake.
4691
4692 2010-05-01  Bruno Haible  <bruno@clisp.org>
4693
4694         ftello: Another test.
4695         * tests/test-ftello3.c: New file.
4696         * modules/ftello-tests (Files): Add it.
4697         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
4698         MOSTLYCLEANFILES.
4699
4700         ftell: Another test.
4701         * tests/test-ftell3.c: New file.
4702         * modules/ftell-tests (Files): Add it.
4703         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
4704         MOSTLYCLEANFILES.
4705
4706 2010-05-01  Bruno Haible  <bruno@clisp.org>
4707
4708         ftell, ftello: Work around Solaris bug.
4709         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
4710         * lib/ftello.c: Include stdio-impl.h.
4711         (ftello): On Solaris, when _IOWRT is set, compute the result without
4712         looking at _IOREAD.
4713         * modules/ftello (Files): Add lib/stdio-impl.h.
4714         * doc/posix-functions/ftell.texi: Mention Solaris bug.
4715         * doc/posix-functions/ftello.texi: Likewise.
4716         Reported by Eric Blake.
4717
4718 2010-05-01  Bruno Haible  <bruno@clisp.org>
4719
4720         freading: Adapt to special meaning of _IOREAD flag on Solaris.
4721         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
4722         the _IOWRT flag is also set.
4723
4724 2010-05-01  Bruno Haible  <bruno@clisp.org>
4725
4726         Fix doc about a HP-UX stdio bug.
4727         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
4728         * doc/posix-functions/ftello.texi: Likewise.
4729
4730 2010-05-01  Bruno Haible  <bruno@clisp.org>
4731
4732         lseek test: Fix failure on Solaris.
4733         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
4734         output.
4735
4736 2010-04-30  Jim Meyering  <meyering@redhat.com>
4737
4738         bootstrap: don't ignore failure to generate po*/Makevars
4739         * build-aux/bootstrap (with_gettext): Don't ignore failure
4740         to create po/Makevars or runtime-po/Makevars.
4741
4742 2010-04-29  Eric Blake  <eblake@redhat.com>
4743
4744         headers: relax license to LGPLv2+
4745         * modules/fcntl-h (License): Relax license.
4746         * modules/getopt-posix (License): Likewise.
4747         * modules/locale (License): Likewise.
4748         * modules/math (License): Likewise.
4749         * modules/pty (License): Likewise.
4750         * modules/sched (License): Likewise.
4751         * modules/search (License): Likewise.
4752         * modules/spawn (License): Likewise.
4753         * modules/stdarg (License): Likewise.
4754         * modules/sysexits (License): Likewise.
4755
4756 2010-04-29  Jim Meyering  <meyering@redhat.com>
4757
4758         inttypes: relax license to LGPLv2+
4759         * modules/inttypes (License): Relax license.
4760
4761 2010-04-29  Simon Josefsson  <simon@josefsson.org>
4762
4763         * top/maint.mk (indent): Run twice to produce idempotent results.
4764
4765 2010-04-28  Bruno Haible  <bruno@clisp.org>
4766
4767         getdate: Generate getdate.c in the source directory.
4768         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
4769         MOSTLYCLEANFILES.
4770         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
4771
4772 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
4773
4774         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
4775         is not declared as a const *; avoid warnings in that case.
4776
4777 2010-04-28  Eric Blake  <eblake@redhat.com>
4778
4779         canonicalize-lgpl: avoid compiler warning
4780         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
4781         declaration' / 'extraneous semicolon' warning with some compilers.
4782         Reported by Andreas Gruenbacher.
4783
4784 2010-04-28  Jim Meyering  <meyering@redhat.com>
4785
4786         init.sh: ensure a more reliable exit status when exiting via trap
4787         * tests/init.sh (setup_): Don't rely on $? in signal handler.
4788         Inspired by patches from Dmitry V. Levin.
4789         Also trap on signal 3 (SIGQUIT).
4790
4791 2010-04-27  Bruno Haible  <bruno@clisp.org>
4792
4793         Update doc about utimes().
4794         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
4795         'utimens' module.
4796         Reported by Andreas Gruenbacher <agruen@suse.de>.
4797
4798 2010-04-27  Eric Blake  <eblake@redhat.com>
4799
4800         full-read, full-write: relax license
4801         * modules/full-read (License): Drop to LGPLv2+.
4802         * modules/full-write (License): Likewise.
4803         * modules/safe-read (License): Likewise.
4804         * modules/safe-write (License): Likewise.
4805
4806         pthread: mention library for linking
4807         * modules/pthread (Link): Mention $(LIB_PTHREAD).
4808
4809 2010-04-27  Jim Meyering  <meyering@redhat.com>
4810
4811         maint.mk: fix a bug introduced in last change
4812         * top/maint.mk (gl_assured_headers_): Now that all names are on
4813         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
4814         is not anchored to end of word, it should be adequate.
4815
4816         maint.mk: avoid side-effect in latest syntax-check
4817         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
4818         to run commands via $(shell...), and hence to incur cost only when
4819         the new rule is actually run.
4820
4821         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
4822         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
4823         and use that to create a regexp used to detect all #if HAVE_..._H uses.
4824         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
4825         (gl_assured_headers_, az_, AZ_): Define.
4826         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
4827
4828 2010-04-26  Jim Meyering  <jim@meyering.net>
4829             Bruno Haible  <bruno@clisp.org>
4830
4831         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
4832         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
4833         Prompted by an exchange with Gilles Espinasse.
4834
4835 2010-04-26  Jim Meyering  <meyering@redhat.com>
4836
4837         git-version-gen: aesthetic tweak
4838         * build-aux/git-version-gen: Use "$nl" rather than a literal,
4839         so that the command remains on a single line.
4840
4841 2010-04-26  Eric Blake  <eblake@redhat.com>
4842
4843         git-version-gen: allow use on EBCDIC hosts
4844         * build-aux/git-version-gen (dirty): Use literal rather than tying
4845         ourselves to ascii.
4846         Reported by Steve Goetze.
4847
4848 2010-04-25  Bruno Haible  <bruno@clisp.org>
4849
4850         netdb: Add support for GNULIB_POSIXCHECK.
4851         * lib/netdb.in.h: Include warn-on-use.h.
4852         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
4853         functions are used when GNULIB_POSIXCHECK is defined and the
4854         getaddrinfo module is not in use.
4855         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
4856         freeaddrinfo, gai_strerror, getnameinfo are declared.
4857         * modules/netdb (Depends-on): Add warn-on-use.
4858         (Makefile.am): Include warn-on-use.h in netdb.h.
4859
4860 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
4861
4862         build: avoid "make check" failure without .git/ directory
4863         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
4864         there is no .git/ directory.
4865
4866 2010-04-25  Bruno Haible  <bruno@clisp.org>
4867
4868         ptsname: Fix misuse of ttyname_r.
4869         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
4870         of errno.
4871
4872 2010-04-25  Bruno Haible  <bruno@clisp.org>
4873
4874         ttyname_r: Make it work on Solaris 10.
4875         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
4876         if the system function has the POSIX declaration. Test whether the
4877         function fails if the buffer is less than 128 bytes large.
4878         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
4879         system's ttyname_r function. Provide a reasonably large buffer.
4880         * modules/ttyname_r (Depends-on): Add extensions.
4881         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
4882
4883 2010-04-25  Bruno Haible  <bruno@clisp.org>
4884
4885         Use the 'extensions' module for some more functions on Solaris.
4886         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
4887         module.
4888         * doc/posix-functions/ctime_r.texi: Likewise.
4889         * doc/posix-functions/getgrgid_r.texi: Likewise.
4890         * doc/posix-functions/getgrnam_r.texi: Likewise.
4891         * doc/posix-functions/getpwnam_r.texi: Likewise.
4892         * doc/posix-functions/getpwuid_r.texi: Likewise.
4893         * doc/posix-functions/readdir_r.texi: Likewise.
4894         * doc/posix-functions/sigwait.texi: Likewise.
4895         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
4896         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
4897
4898 2010-04-25  Bruno Haible  <bruno@clisp.org>
4899
4900         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
4901         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
4902         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
4903         * lib/ttyname_r.c: Include <limits.h>.
4904         (ttyname_r): Define using the system's ttyname_r function, if it exists
4905         and not on Solaris.
4906         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
4907         set.
4908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
4909         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
4910         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
4911         Reported by Simon Josefsson.
4912
4913 2010-04-25  Bruno Haible  <bruno@clisp.org>
4914
4915         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
4916         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
4917         * doc/posix-functions/ctime_r.texi: Likewise.
4918         * doc/posix-functions/getgrgid_r.texi: Likewise.
4919         * doc/posix-functions/getgrnam_r.texi: Likewise.
4920         * doc/posix-functions/getlogin_r.texi: Likewise.
4921         * doc/posix-functions/getpwnam_r.texi: Likewise.
4922         * doc/posix-functions/getpwuid_r.texi: Likewise.
4923         * doc/posix-functions/readdir_r.texi: Likewise.
4924         * doc/posix-functions/sigwait.texi: Likewise.
4925         * doc/posix-functions/ttyname_r.texi: Likewise.
4926         Reported by Simon Josefsson.
4927
4928 2010-04-25  Bruno Haible  <bruno@clisp.org>
4929
4930         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
4931         * gnulib-tool (func_usage): Document that --with-*-tests options apply
4932         also to --create-testdir.
4933         (func_acceptable): Don't consider the status of *-tests modules here.
4934         (func_modules_transitive_closure): Consider it here, before including a
4935         test module.
4936         (func_import, func_create_testdir): Set inc_all_direct_tests,
4937         inc_all_indirect_tests.
4938         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
4939         --create-testdir and --create-megatestdir.
4940
4941 2010-04-25  Bruno Haible  <bruno@clisp.org>
4942
4943         gnulib-tool: Add --without-*-tests options.
4944         * gnulib-tool (func_usage): Document the --without-*-tests options.
4945         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
4946         excl_unportable_tests): New variables.
4947         Fail if they are specified with --import or --update.
4948         (func_acceptable): Respect the excl_*_tests variables.
4949         (func_import): Set the excl_*_tests variables to empty.
4950
4951 2010-04-25  Simon Josefsson  <simon@josefsson.org>
4952             Bruno Haible  <bruno@clisp.org>
4953
4954         Work around a MacOS X 10.4 bug with openpty.
4955         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
4956         * tests/test-openpty.c (main): Close the master side explicitly.
4957
4958 2010-04-25  Bruno Haible  <bruno@clisp.org>
4959
4960         strnlen: Fix a C++ test error on MacOS X and Solaris.
4961         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
4962         the function is not declared.
4963         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
4964         Simon Josefsson.
4965
4966 2010-04-24  Bruno Haible  <bruno@clisp.org>
4967
4968         Avoid a gcc warning.
4969         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
4970         of correct type for %08lx directive.
4971         Reported by Eric Blake.
4972
4973 2010-04-24  Bruno Haible  <bruno@clisp.org>
4974
4975         vasnprintf: Correct errno value in case of out-of-memory.
4976         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
4977         or sprintf. Use the errno value from SNPRINTF or sprintf.
4978         Reported by Ian Beckwith <ianb@erislabs.net>.
4979
4980 2010-04-24  Bruno Haible  <bruno@clisp.org>
4981
4982         ansi-c++-opt: Find correct compiler when cross-compiling.
4983         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
4984         AC_CHECK_PROGS.
4985         Reported by Simon Josefsson.
4986
4987 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
4988
4989         vc-list-files: Add support for subversion
4990         * build-aux/vc-list-files: Use "svn list" to generate the list of
4991         files controlled by subversion.
4992
4993 2010-04-23  Jim Meyering  <meyering@redhat.com>
4994
4995         vc-list-files tests: convert to use init.sh
4996         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
4997         path_prepend_.
4998         Use Exit, not exit.
4999         Use skip_ rather than open coding it.
5000         Remove trap set-up and compare definitions.
5001         * tests/test-vc-list-files-git.sh: Likewise.
5002         * modules/vc-list-files-tests (Files): Add tests/init.sh.
5003
5004 2010-04-22  Simon Josefsson  <simon@josefsson.org>
5005
5006         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
5007         backup files.
5008
5009 2010-04-21  Simon Josefsson  <simon@josefsson.org>
5010
5011         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
5012
5013 2010-04-20  Eric Blake  <eblake@redhat.com>
5014
5015         tests: be robust to ignored SIGPIPE
5016         * tests/test-select-in.sh: Consume all output.
5017         * tests/test-lseek.sh: Check correct exit status, while avoiding
5018         EPIPE.
5019
5020 2010-04-20  Simon Josefsson  <simon@josefsson.org>
5021             Bruno Haible  <bruno@clisp.org>
5022
5023         visibility: Don't use -fvisibility if it leads to a warning.
5024         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
5025         yes, don't pretend that visibility works if it leads to a warning.
5026         Reported by Mike Gran <spk121@yahoo.com>.
5027
5028 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
5029
5030         * build-aux/bootstrap: Use "git -h" for testing for supported options
5031         instead of "git --help".  The short-form option only shows a summary,
5032         and doesn't layout the full man page.  Grep for the full option name
5033         in the summary, too.
5034
5035 2010-04-19  Bruno Haible  <bruno@clisp.org>
5036
5037         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
5038         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
5039         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
5040         mention of RELOCATABLE_STRIP.
5041         Reported by Sylvain Beucler <beuc@beuc.net>.
5042
5043 2010-04-19  Bruno Haible  <bruno@clisp.org>
5044
5045         * lib/diffseq.h: Fix typo in comment.
5046         Reported by Eric Blake.
5047
5048 2010-04-19  Bruno Haible  <bruno@clisp.org>
5049
5050         ioctl: Move autoconf macro to a .m4 file.
5051         * m4/ioctl.m4: New file, extracted from modules/ioctl.
5052         * modules/ioctl (Files): Add it.
5053         (configure.ac): Simply invoke gl_FUNC_IOCTL.
5054         Reported by Ian Beckwith <ianb@erislabs.net>.
5055
5056 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
5057             Bruno Haible  <bruno@clisp.org>
5058
5059         diffseq: Accommodate use-case with abstract arrays.
5060         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
5061         is not defined.
5062         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
5063         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
5064
5065 2010-04-18  Bruno Haible  <bruno@clisp.org>
5066
5067         * doc/posix-headers/stdbool.texi: More precise wording.
5068
5069 2010-04-17  Jim Meyering  <meyering@redhat.com>
5070
5071         maint.mk: use gnu-style indentation in an embedded perl script
5072         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
5073         Rename variable: s/two/last_two_bytes/
5074
5075 2010-04-16  Eric Blake  <eblake@redhat.com>
5076
5077         test-stdbool: skip test that fails with Solaris CC
5078         * tests/test-stdbool.c (f): Skip test that causes compilation
5079         error under buggy C++ compiler.
5080         * lib/stdbool.in.h: Document the limitation.
5081         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
5082
5083         setenv: allow compilation with C++
5084         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
5085         register keyword.
5086
5087         stdint: allow test to pass with C++
5088         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
5089
5090         getopt: allow compilation with C++
5091         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
5092         struct.
5093         * lib/getopt.c (_getopt_internal_r): Use correct type.
5094         Reported by Dagobert Michelson, via Joel E. Denny.
5095
5096 2010-04-16  Bruno Haible  <bruno@clisp.org>
5097
5098         Override netdb.h always.
5099         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
5100         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
5101         Reported by Ludovic Courtès <ludo@gnu.org>.
5102
5103 2010-04-15  Bruno Haible  <bruno@clisp.org>
5104
5105         openpty: Fix mistake from 2010-03-21.
5106         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
5107         Reported by Simon Josefsson.
5108
5109 2010-04-15  Eric Blake  <eblake@redhat.com>
5110
5111         test-forkpty: fix expected signature
5112         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
5113         Reported by Simon Josefsson.
5114
5115 2010-04-15  Jim Meyering  <meyering@redhat.com>
5116
5117         maint.mk: texinfo_suffix_re_: correct the default regexp
5118         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
5119
5120         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
5121         make it configurable via texinfo_suffix_re_.
5122
5123 2010-04-14  Eric Blake  <eblake@redhat.com>
5124
5125         strtok_r: relax license to LGPLv2+
5126         * modules/strtok_r (License): Relax license.
5127         Reported by Matthias Bolte.
5128
5129 2010-04-14  Simon Josefsson  <simon@josefsson.org>
5130
5131         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
5132         version 1.4.4 by default instead of requiring the libgcrypt
5133         version used during build.  This makes it possible to use the
5134         application with older but still binary compatible libgcrypt
5135         versions.
5136
5137 2010-04-13  Eric Blake  <eblake@redhat.com>
5138
5139         getopt-gnu: match recent glibc fixes and posix ruling
5140         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
5141         '+' handling, when requesting extensions.
5142         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
5143         'W;' handling.
5144         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
5145         * doc/posix-functions/getopt.texi (getopt): Document this.
5146         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5147         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5148         Likewise.
5149
5150         getopt: merge bug fixes from glibc
5151         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
5152         diagnostics.  Honor '+:' correctly.  Reject ';'.
5153
5154         getopt-posix: detect MacOS bug
5155         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
5156         optind when missing a required argument.
5157         * doc/posix-functions/getopt.texi (getopt): Document the bug.
5158         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5159         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5160         Likewise.
5161
5162         getopt-posix: avoid spurious failure on Solaris
5163         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
5164         an indicator that setting optind=1 is sufficient for reset.
5165
5166         getopt-posix: avoid spurious failure on FreeBSD
5167         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
5168         in POSIX mode, since the m4 test uses it.
5169
5170         gnulib-tool: silence warning on BSD sh
5171         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
5172
5173 2010-04-13  Jim Meyering  <meyering@redhat.com>
5174
5175         doc: users.txt: GNU patch now uses gnulib
5176         * users.txt: Add patch.
5177
5178 2010-04-12  Jim Meyering  <meyering@redhat.com>
5179
5180         maint.mk: generate more concise timing data for syntax-check rules
5181         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
5182         " done" from each line that reports a syntax-check test duration.
5183
5184 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
5185
5186         git-version-gen: use "git update-index..." rather than "git status"
5187         * build-aux/git-version-gen: Use git update-index --refresh, not
5188         "git status".  With some versions of git, "git status" would fail
5189         to update the index and result in an unwarranted "-dirty" suffix.
5190
5191 2010-04-11  Jim Meyering  <meyering@redhat.com>
5192
5193         openat: correct formatting (no semantic change)
5194         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
5195         Suggested by Bruno Haible.
5196
5197 2010-04-11  Bruno Haible  <bruno@clisp.org>
5198
5199         Stricter declaration checking in testdirs.
5200         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5201         If for_tests is true, augment AM_CPPFLAGS to define
5202         GNULIB_STRICT_CHECKING.
5203         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
5204         GNULIB_STRICT_CHECKING is defined, verify that the function is
5205         declared.
5206
5207 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
5208             Bruno Haible  <bruno@clisp.org>
5209
5210         libunistring: Improve configure output.
5211         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
5212         Don't say "consider installing GNU libunistring" when checking again
5213         with libiconv.
5214
5215 2010-04-11  Bruno Haible  <bruno@clisp.org>
5216
5217         libunistring: Correct value of $LTLIBUNISTRING.
5218         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
5219         correct the value of $LTLIBUNISTRING.
5220
5221 2010-04-11  Bruno Haible  <bruno@clisp.org>
5222
5223         havelib: Add static libraries to LIBS in the right order.
5224         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
5225         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
5226
5227 2010-04-11  Bruno Haible  <bruno@clisp.org>
5228
5229         libunistring: Detect libunistring also when it depends on libiconv.
5230         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
5231         the second AC_LIB_HAVE_LINKFLAGS invocation.
5232
5233 2010-04-11  James Youngman  <jay@gnu.org>
5234
5235         close-stream: declare local scalars to be "const"
5236         * lib/close-stream.c (close_stream): Make boolean variables const
5237         to document the fact that we set but do not change them.
5238
5239 2010-04-11  Bruno Haible  <bruno@clisp.org>
5240
5241         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
5242
5243 2010-04-11  Jim Meyering  <meyering@redhat.com>
5244
5245         maint.mk: don't include dist-check.mk
5246         * top/maint.mk: Remove bogus include directive.
5247
5248         maint.mk: improve empty-line-at-EOF check
5249         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
5250         solution, rather than tail+Perl-based one.  The latter would read
5251         a few kilobytes from the end of each file, and did not handle empty
5252         files properly.
5253
5254         maint.mk: print the elapsed time for each syntax-check rule
5255         * top/maint.mk (sc_m_rules_): Save start time in a file.
5256         (sc_z_rules_): New rules: remove temp file and print elapsed time.
5257         (local-check): Interpose the .z rules
5258
5259 2010-04-11  Jim Meyering  <meyering@redhat.com>
5260
5261         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
5262         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
5263         empty file with one that ends in an empty line.
5264
5265 2010-04-10  Bruno Haible  <bruno@clisp.org>
5266
5267         mkdir: Make it work on mingw64.
5268         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
5269         * lib/mkdir.c: Update comment.
5270         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
5271
5272 2010-04-10  Bruno Haible  <bruno@clisp.org>
5273
5274         Don't override improved macro from newer autoconf.
5275         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
5276         autoconf >= 2.62.
5277         Reported by Joel E. Denny <jdenny@clemson.edu>.
5278
5279 2010-04-10  Jim Meyering  <meyering@redhat.com>
5280
5281         maint.mk: new syntax-check rule: prohibit empty lines at end of file
5282         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
5283
5284         maint.mk: correct a diagnostic
5285         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
5286         in diagnostic; now use $prohibit.
5287
5288 2010-04-10  Bruno Haible  <address@hidden>
5289
5290         fchownat: Fix a C++ test error on Solaris 8.
5291         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
5292         the function does not exist.
5293
5294 2010-04-10  Bruno Haible  <bruno@clisp.org>
5295
5296         vasnprintf: Add more tests.
5297         * tests/test-vasnprintf-posix.c: Include <errno.h>.
5298         (test_function): Test converting an invalid wide string.
5299
5300         vasnprintf: Correct handling of unconvertible wide string arguments.
5301         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
5302         VASNPRINTF.
5303         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
5304         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
5305         smaller than the expected maximum need for the directive. Set errno to
5306         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
5307         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
5308         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
5309         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
5310         * modules/vasnprintf (Files): Add m4/printf.m4.
5311         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5312
5313 2010-04-10  Bruno Haible  <bruno@clisp.org>
5314
5315         vasnprintf: Fix crash in %ls directive.
5316         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
5317         string is passed as argument to %ls, with no precision and no width.
5318         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5319
5320 2010-04-10  Bruno Haible  <bruno@clisp.org>
5321
5322         vasnprintf: Fix multiple test failures on mingw.
5323         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
5324         _snprintf, or snwprintf, not _snwprintf.
5325
5326 2010-04-10  Bruno Haible  <bruno@clisp.org>
5327
5328         write: Fix a C++ test error on mingw.
5329         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
5330
5331 2010-04-10  Bruno Haible  <bruno@clisp.org>
5332
5333         vasnprintf test: Reduce code duplication.
5334         * tests/test-vasnprintf.c (test_function): New function, extracted from
5335         test_vasnprintf.
5336         (test_vasnprintf, test_asnprintf): Invoke it.
5337
5338 2010-04-10  Bruno Haible  <bruno@clisp.org>
5339
5340         strnlen: Fix warning in C++ mode on MacOS X.
5341         * lib/string.in.h (strnlen): Use the modern idiom.
5342         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
5343         defining strnlen as a macro already in <config.h>.
5344         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5345         REPLACE_STRNLEN.
5346         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
5347         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5348
5349 2010-04-08  James Youngman  <jay@gnu.org>
5350
5351         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
5352         the example.
5353
5354 2010-04-09  Jim Meyering  <meyering@redhat.com>
5355
5356         maint.mk: print better diagnostic when there is no $(_hv_file)
5357         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
5358         announce that when $(_hv_file) (aka help-version) does not exist.
5359
5360         init.sh: run tr in the "C" locale to avoid multibyte interpretation
5361         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
5362         not try to interpret its random input bytes.  Jarno Rajahalme reported
5363         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
5364         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
5365         (mktempd_): Likewise, just in case.
5366
5367         ftruncate: add two years to projected module removal date: 2012
5368         * m4/ftruncate.m4: Adjust comments.
5369
5370         ftruncate: mark module as obsolete; even MinGW provides it, now
5371         * modules/ftruncate (Status): Obsolete.
5372         (Notice): Say that.
5373         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
5374         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
5375
5376 2010-04-08  Bruno Haible  <bruno@clisp.org>
5377
5378         Fix side effects from tests-related modules.
5379         * modules/dprintf-posix (Comment): New section.
5380         * modules/fprintf-posix (Comment): Likewise.
5381         * modules/obstack-printf-posix (Comment): Likewise.
5382         * modules/printf-posix (Comment): Likewise.
5383         * modules/snprintf-posix (Comment): Likewise.
5384         * modules/sprintf-posix (Comment): Likewise.
5385         * modules/vasnprintf-posix (Comment): Likewise.
5386         * modules/vasprintf-posix (Comment): Likewise.
5387         * modules/vdprintf-posix (Comment): Likewise.
5388         * modules/vfprintf-posix (Comment): Likewise.
5389         * modules/vprintf-posix (Comment): Likewise.
5390         * modules/vsnprintf-posix (Comment): Likewise.
5391         * modules/vsprintf-posix (Comment): Likewise.
5392         * modules/xprintf-posix (Comment): Likewise.
5393         * modules/xvasprintf-posix (Comment): Likewise.
5394         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
5395         * modules/floorf-tests (Depends-on): Likewise.
5396         * modules/round-tests (Depends-on): Likewise.
5397         * modules/roundf-tests (Depends-on): Likewise.
5398         * modules/trunc-tests (Depends-on): Likewise.
5399         * modules/truncf-tests (Depends-on): Likewise.
5400         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
5401         'fprintf-posix' module is not present.
5402         * tests/test-floorf2.c (check): Likewise.
5403         * tests/test-trunc2.c (check): Likewise.
5404         * tests/test-truncf2.c (check): Likewise.
5405         * tests/test-round2.c (equal): Likewise.
5406         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5407
5408 2010-04-07  Karl Berry  <karl@gnu.org>
5409
5410         * config/srclist.txt,
5411         * config/srclistvars.sh,
5412         * config/srclist-update: doc fixes.
5413
5414 2010-04-07  Jim Meyering  <meyering@redhat.com>
5415
5416         maint.mk: add a PATH crosschecking syntax-check rule
5417         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
5418         Useful if you use a test like the one in help-version (coreutils,
5419         diffutils, grep, gzip) that ensures $(VERSION) matches what is
5420         printed by prog --version.
5421
5422 2010-04-06  Bruno Haible  <bruno@clisp.org>
5423
5424         Fix link error on mingw.
5425         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
5426         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
5427
5428 2010-04-06  Bruno Haible  <bruno@clisp.org>
5429
5430         Assume rmdir exists.
5431         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
5432
5433 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
5434
5435         doc: update users.txt
5436         * users.txt: Add gcal.
5437
5438 2010-04-06  Jim Meyering  <meyering@redhat.com>
5439
5440         init.sh: simply unset TMPDIR rather than risking env -i
5441         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
5442         although it probably works fine on all Unix-based systems, some
5443         systems (Cygwin?) cannot tolerate a totally cleared environment.
5444         Suggestion from Eric Blake.
5445
5446 2010-04-06  Jim Meyering  <meyering@redhat.com>
5447
5448         init.sh: portability fix: use env's POSIX-specified -i option not -u
5449         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
5450         than unportable env -u.  Solaris 5.11's env lacks support for -u.
5451
5452 2010-04-05  Bruno Haible  <bruno@clisp.org>
5453
5454         btowc: Work around Cygwin 1.7.2 bug.
5455         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
5456         does not map NUL to 0.
5457         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
5458
5459 2010-04-05  Bruno Haible  <bruno@clisp.org>
5460
5461         Make the multithread modules work on Cygwin 1.7.2.
5462         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
5463         imported symbols can be declared weak, so that it returns "no" on
5464         Cygwin 1.7.2.
5465
5466 2010-04-05  Bruno Haible  <bruno@clisp.org>
5467
5468         Use the module 'strncat'.
5469         * modules/unistr/u8-strncat (Depends-on): Add strncat.
5470
5471         Tests for module 'strncat'.
5472         * modules/strncat-tests: New file.
5473         * tests/test-strncat.c: New file.
5474
5475         New module 'strncat'.
5476         * lib/string.in.h (strncat): New declaration.
5477         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
5478         * m4/strncat.m4: New file, based on m4/memchr.m4.
5479         * modules/strncat: New file.
5480         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
5481         is declared.
5482         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
5483         REPLACE_STRNCAT.
5484         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
5485         REPLACE_STRNCAT.
5486         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
5487         module.
5488         * tests/test-string-c++.cc: Check signature of strncat.
5489
5490 2010-04-05  Jim Meyering  <meyering@redhat.com>
5491
5492         xstrtoumax-tests: convert to use init.sh
5493         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
5494         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5495         Use Exit, not exit.
5496         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5497
5498         xstrtoimax-tests: convert to use init.sh
5499         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
5500         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5501         Use Exit, not exit.
5502         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5503
5504 2010-04-05  Bruno Haible  <bruno@clisp.org>
5505
5506         sys_socket: Avoid #define replacements in C++ mode.
5507         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
5508         warning to the function if possible, rather than #defining the symbol
5509         to a dysfunctional alias.
5510
5511 2010-04-05  Bruno Haible  <bruno@clisp.org>
5512
5513         fseeko: Fix C++ test error on mingw.
5514         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
5515         gl_FUNC_FSEEKO.
5516         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
5517         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
5518         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
5519         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
5520
5521 2010-04-05  Bruno Haible  <bruno@clisp.org>
5522
5523         duplocale: Improve test output.
5524         * tests/test-duplocale.c (main): Print reason for skipped test.
5525
5526 2010-04-05  Bruno Haible  <bruno@clisp.org>
5527
5528         Assume rmdir exists.
5529         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
5530         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
5531
5532 2010-04-05  Bruno Haible  <bruno@clisp.org>
5533
5534         Fix link error on Solaris 8 with cc.
5535         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
5536
5537 2010-04-05  Bruno Haible  <bruno@clisp.org>
5538
5539         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
5540         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
5541
5542 2010-04-05  Bruno Haible  <bruno@clisp.org>
5543
5544         vasprintf: Update documentation.
5545         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
5546
5547 2010-04-05  Bruno Haible  <bruno@clisp.org>
5548
5549         ptsname: Improve test.
5550         * tests/test-ptsname.c (main): Also try the various master names of BSD
5551         systems.
5552
5553 2010-04-05  Bruno Haible  <bruno@clisp.org>
5554
5555         memchr: Avoid a possible C++ test error.
5556         * lib/string.in.h (memchr): Provide declaration if function is missing.
5557         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
5558         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
5559         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
5560         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
5561
5562 2010-04-05  Bruno Haible  <bruno@clisp.org>
5563
5564         strtok_r: Improve idiom.
5565         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
5566         AC_LIBOBJ is used.
5567
5568 2010-04-05  Bruno Haible  <bruno@clisp.org>
5569
5570         strdup: Improve idiom.
5571         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
5572         AC_LIBOBJ is used.
5573         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
5574         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
5575         when AC_LIBOBJ is used.
5576
5577 2010-04-05  Bruno Haible  <bruno@clisp.org>
5578
5579         mbsinit, mbrtowc, wcrtomb: Improve idioms.
5580         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
5581         don't set REPLACE_MBSINIT to 1.
5582         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
5583         don't set REPLACE_MBRTOWC to 1.
5584         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
5585         exist, don't set REPLACE_MBSRTOWCS to 1.
5586         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
5587         exist, don't set REPLACE_MBSNRTOWCS to 1.
5588         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
5589         don't set REPLACE_WCRTOMB to 1.
5590         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
5591         exist, don't set REPLACE_WCSRTOMBS to 1.
5592         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
5593         exist, don't set REPLACE_WCSNRTOMBS to 1.
5594
5595 2010-04-05  Bruno Haible  <bruno@clisp.org>
5596
5597         ldexpl: Improve idiom.
5598         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
5599         make sure to set HAVE_DECL_LDEXPL to 0.
5600
5601 2010-04-05  Jim Meyering  <meyering@redhat.com>
5602
5603         xstrtol-tests: convert to use init.sh
5604         * modules/xstrtol-tests (Files): Add tests/init.sh.
5605         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5606         Use Exit, not exit.
5607         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5608
5609         atexit-tests: convert to use init.sh
5610         * modules/atexit-tests (Files): Add tests/init.sh.
5611         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5612         Use Exit, not exit.
5613         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5614
5615         init.sh: fix typo
5616         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
5617
5618         init.sh: make it easier for a test script to write to the tty, ...
5619         when using automake's parallel-tests mode.
5620         * tests/init.sh (stderr_fileno_): Define overridable variable.
5621         (warn_): New function, to use it.
5622         (fail_, skip_, framework_failure_): Use warn_.
5623
5624 2010-04-04  Bruno Haible  <bruno@clisp.org>
5625
5626         btowc: Avoid warning.
5627         * lib/btowc.c: Include <stdlib.h>.
5628         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
5629
5630 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
5631             Bruno Haible  <bruno@clisp.org>
5632
5633         wchar: Port to NetBSD 1.5.
5634         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
5635         * lib/wctype.in.h (WEOF): Likewise.
5636
5637 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
5638             Bruno Haible  <bruno@clisp.org>
5639
5640         Port extended stdio to NetBSD 1.5.
5641         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
5642         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
5643         older.
5644
5645 2010-04-04  Bruno Haible  <bruno@clisp.org>
5646
5647         string: Remove unused substitution.
5648         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5649         HAVE_DECL_STRERROR.
5650         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
5651
5652 2010-04-04  Bruno Haible  <bruno@clisp.org>
5653
5654         strtod: Avoid a possible C++ test error.
5655         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
5656         set REPLACE_STRTOD.
5657
5658 2010-04-04  Bruno Haible  <bruno@clisp.org>
5659
5660         strerror: Update documentation.
5661         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
5662
5663 2010-04-04  Bruno Haible  <bruno@clisp.org>
5664
5665         stdio: Fix some C++ test errors on Solaris 8 with GCC.
5666         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
5667         _GL_CXXALIAS_SYS_CAST.
5668
5669 2010-04-04  Bruno Haible  <bruno@clisp.org>
5670
5671         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
5672         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
5673         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
5674         REPLACE_FREXPL to 1.
5675         * doc/posix-functions/frexpl.texi: Update documentation.
5676
5677 2010-04-04  Bruno Haible  <bruno@clisp.org>
5678
5679         math: Fix some C++ test errors on Solaris 8 and Cygwin.
5680         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
5681
5682 2010-04-04  Bruno Haible  <bruno@clisp.org>
5683
5684         Implement nanosleep for native Windows.
5685         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
5686
5687 2010-04-04  Bruno Haible  <bruno@clisp.org>
5688
5689         math: Fix some C++ test errors on Solaris 8.
5690         * lib/math.in.h (truncf, trunc): Use simpler idiom.
5691
5692 2010-04-04  Bruno Haible  <bruno@clisp.org>
5693
5694         math: Fix some C++ test errors on Cygwin.
5695         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
5696         truncl): Provide declaration if the system does not have it.
5697         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
5698         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
5699         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
5700         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
5701         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
5702         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
5703         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
5704         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
5705         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
5706         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
5707         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
5708         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
5709         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
5710         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
5711         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
5712         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
5713         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
5714         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
5715         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
5716         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
5717         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
5718         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
5719
5720 2010-04-04  Bruno Haible  <bruno@clisp.org>
5721
5722         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
5723         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5724         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5725         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
5726         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
5727         * m4/isinf.m4 (gl_ISINF): Likewise.
5728         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5729
5730 2010-04-04  Bruno Haible  <bruno@clisp.org>
5731
5732         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
5733         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5734
5735 2010-04-04  Bruno Haible  <bruno@clisp.org>
5736
5737         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
5738         * modules/tmpfile (configure.ac): Update.
5739
5740         tmpfile: Fix C++ test error on mingw.
5741         * lib/stdio.in.h (tmpfile): New declaration.
5742         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
5743         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
5744         * modules/tmpfile (Depends-on): Add stdio.
5745         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
5746         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
5747         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
5748         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
5749         REPLACE_TMPFILE.
5750         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
5751
5752 2010-04-04  Bruno Haible  <bruno@clisp.org>
5753
5754         ioctl: Fix C++ test error on mingw.
5755         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
5756         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
5757         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
5758
5759 2010-04-03  Bruno Haible  <bruno@clisp.org>
5760
5761         wcwidth: Fix C++ test error on mingw.
5762         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
5763         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
5764         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
5765
5766 2010-04-03  Bruno Haible  <bruno@clisp.org>
5767
5768         nanosleep: Fix C++ test error on mingw.
5769         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
5770         * lib/time.in.h (nanosleep): Use modern idiom.
5771         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
5772         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
5773         REPLACE_NANOSLEEP to 1.
5774         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
5775         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
5776
5777 2010-04-03  Bruno Haible  <bruno@clisp.org>
5778
5779         strptime: Fix C++ test error on mingw.
5780         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
5781         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
5782         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
5783         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
5784         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
5785         not REPLACE_STRPTIME.
5786         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
5787         REPLACE_STRPTIME.
5788
5789 2010-04-03  Bruno Haible  <bruno@clisp.org>
5790
5791         timegm: Fix C++ test error on mingw.
5792         * lib/time.in.h (timegm): Use modern idiom.
5793         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
5794         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
5795         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
5796         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
5797
5798 2010-04-03  Bruno Haible  <bruno@clisp.org>
5799
5800         timegm: Assume declaration if function exists.
5801         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
5802         if it exists. Don't clobber ac_cv_func_timegm.
5803
5804 2010-04-03  Bruno Haible  <bruno@clisp.org>
5805
5806         time_r: Fix C++ test error on mingw.
5807         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
5808         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
5809         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
5810         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
5811         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
5812
5813 2010-04-03  Bruno Haible  <bruno@clisp.org>
5814
5815         time_r: Minor updates.
5816         * modules/time_r (Description): Mention the provided functions.
5817         * lib/time_r.c: Don't include <string.h>.
5818         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
5819         * doc/posix-functions/localtime_r.texi: Likewise.
5820
5821 2010-04-03  Bruno Haible  <bruno@clisp.org>
5822
5823         time: Fix regression introduced on 2010-03-08.
5824         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
5825         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
5826
5827 2010-04-03  Jim Meyering  <meyering@redhat.com>
5828
5829         maint.mk: don't silently disable project-specific syntax-check rules
5830         * top/maint.mk (_prohibit_regexp): Define, to help people realize
5831         that they need to convert their project-specific syntax-check rules
5832         to use the new _sc_search_regexp.
5833
5834 2010-04-03  Bruno Haible  <bruno@clisp.org>
5835
5836         fchdir: Fix regression introduced on 2010-03-08.
5837         * lib/unistd.in.h (fchdir): Fix declaration.
5838         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
5839         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
5840         REPLACE_FCHDIR.
5841         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
5842         REPLACE_FCHDIR.
5843
5844 2010-04-03  Bruno Haible  <bruno@clisp.org>
5845
5846         getpagesize: Fix C++ test error on mingw.
5847         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
5848         system does not declare the function.
5849         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
5850         declared.
5851         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5852         HAVE_DECL_GETPAGESIZE.
5853         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
5854
5855 2010-04-03  Bruno Haible  <bruno@clisp.org>
5856
5857         stdio: Make C++ tests work on mingw.
5858         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
5859         does not declare the function.
5860
5861 2010-04-03  Bruno Haible  <bruno@clisp.org>
5862
5863         ftello: Fix C++ test error on mingw.
5864         * lib/stdio.in.h (ftello): Use modern idiom.
5865         * lib/ftello.c (ftello): Renamed from rpl_ftello.
5866         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
5867         is missing and that it needs to be replaced.
5868         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
5869         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
5870         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
5871
5872 2010-04-03  Bruno Haible  <bruno@clisp.org>
5873
5874         fseeko: Fix C++ test error on mingw.
5875         * lib/stdio.in.h (fseeko): Use modern idiom.
5876         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
5877         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
5878         is missing and that it needs to be replaced.
5879         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
5880         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
5881         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
5882
5883 2010-04-03  Bruno Haible  <bruno@clisp.org>
5884
5885         mkstemp: Fix C++ test error on mingw.
5886         * lib/stdlib.in.h (mkstemp): Use modern idiom.
5887         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
5888         function is missing and that it needs to be replaced.
5889         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
5890         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
5891
5892 2010-04-03  Bruno Haible  <bruno@clisp.org>
5893
5894         stpncpy: Fix C++ test error on mingw.
5895         * lib/string.in.h (stpncpy): Use modern idiom.
5896         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
5897         function is missing and that it needs to be replaced.
5898         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5899         REPLACE_STPNCPY.
5900         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
5901
5902 2010-04-03  Bruno Haible  <bruno@clisp.org>
5903
5904         sys_stat: Fix C++ test error on mingw.
5905         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
5906         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
5907
5908 2010-04-03  Bruno Haible  <bruno@clisp.org>
5909
5910         pty: Update doc.
5911         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
5912
5913 2010-04-03  Bruno Haible  <bruno@clisp.org>
5914
5915         unistd: Fix C++ test error on mingw.
5916         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
5917
5918 2010-04-03  Bruno Haible  <bruno@clisp.org>
5919
5920         Update doc regarding mingw.
5921         * doc/glibc-functions/openpty.texi: Update regarding mingw.
5922         * doc/glibc-functions/login_tty.texi: Likewise.
5923         * doc/glibc-functions/forkpty.texi: Likewise.
5924
5925 2010-04-03  Bruno Haible  <bruno@clisp.org>
5926
5927         stdlib: Avoid compilation failure of c-strtold on mingw.
5928         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
5929
5930 2010-04-03  Bruno Haible  <bruno@clisp.org>
5931
5932         locale: Make C++ tests work on Cygwin and mingw.
5933         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
5934         cannot provide the function.
5935         Reported by Simon Josefsson.
5936
5937 2010-04-03  Bruno Haible  <bruno@clisp.org>
5938
5939         localename: Port to MacOS X 10.6.
5940         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
5941         memory layout of the locales in MacOS X 10.6 as well.
5942         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
5943
5944 2010-04-02  Bruno Haible  <bruno@clisp.org>
5945
5946         gnulib-tool: Ensure that long-running tests are executed last.
5947         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
5948         running tests after the one for the other tests.
5949
5950 2010-04-02  Bruno Haible  <bruno@clisp.org>
5951
5952         gnulib-tool: Ensure the tests in the main directory are executed first.
5953         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
5954         start with the current directory.
5955
5956 2010-04-02  Bruno Haible  <bruno@clisp.org>
5957
5958         Tests for module 'havelib', moved here from GNU gettext.
5959         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
5960         modifications.
5961         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
5962         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
5963         with modifications.
5964         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
5965         modifications.
5966         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
5967         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
5968         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
5969         with modifications.
5970         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
5971         with modifications.
5972         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
5973         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
5974         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
5975         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
5976         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
5977         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
5978         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
5979         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
5980         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
5981         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
5982         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
5983         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
5984         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
5985         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
5986         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
5987         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
5988         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
5989         with modifications.
5990         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
5991         with modifications.
5992         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
5993         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
5994         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
5995         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
5996         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
5997         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
5998         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
5999         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
6000         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
6001         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
6002         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
6003         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
6004         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
6005         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
6006         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
6007         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
6008         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
6009         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
6010         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
6011         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
6012         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
6013         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
6014         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
6015         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
6016         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
6017         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
6018         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
6019         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
6020         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
6021         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
6022         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
6023         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
6024         * tests/havelib/rpathx/rpathx.c: New file, from
6025         gettext/autoconf-lib-link.
6026         * tests/havelib/rpathx/Makefile.am: New file, from
6027         gettext/autoconf-lib-link.
6028         * tests/havelib/rpathx/configure.ac: New file, from
6029         gettext/autoconf-lib-link with modifications.
6030         * tests/havelib/rpathy/rpathy.c: New file, from
6031         gettext/autoconf-lib-link.
6032         * tests/havelib/rpathy/Makefile.am: New file, from
6033         gettext/autoconf-lib-link.
6034         * tests/havelib/rpathy/configure.ac: New file, from
6035         gettext/autoconf-lib-link with modifications.
6036         * tests/havelib/rpathz/rpathz.c: New file, from
6037         gettext/autoconf-lib-link.
6038         * tests/havelib/rpathz/Makefile.am: New file, from
6039         gettext/autoconf-lib-link.
6040         * tests/havelib/rpathz/configure.ac: New file, from
6041         gettext/autoconf-lib-link with modifications.
6042         * tests/havelib/rpathlx/usex.c: New file, from
6043         gettext/autoconf-lib-link.
6044         * tests/havelib/rpathlx/Makefile.am: New file, from
6045         gettext/autoconf-lib-link.
6046         * tests/havelib/rpathlx/configure.ac: New file, from
6047         gettext/autoconf-lib-link with modifications.
6048         * tests/havelib/rpathly/usey.c: New file, from
6049         gettext/autoconf-lib-link.
6050         * tests/havelib/rpathly/Makefile.am: New file, from
6051         gettext/autoconf-lib-link.
6052         * tests/havelib/rpathly/configure.ac: New file, from
6053         gettext/autoconf-lib-link with modifications.
6054         * tests/havelib/rpathlz/usez.c: New file, from
6055         gettext/autoconf-lib-link.
6056         * tests/havelib/rpathlz/Makefile.am: New file, from
6057         gettext/autoconf-lib-link.
6058         * tests/havelib/rpathlz/configure.ac: New file, from
6059         gettext/autoconf-lib-link with modifications.
6060         * tests/havelib/rpathlyx/usey.c: New file, from
6061         gettext/autoconf-lib-link.
6062         * tests/havelib/rpathlyx/Makefile.am: New file, from
6063         gettext/autoconf-lib-link.
6064         * tests/havelib/rpathlyx/configure.ac: New file, from
6065         gettext/autoconf-lib-link with modifications.
6066         * tests/havelib/rpathlzyx/usez.c: New file, from
6067         gettext/autoconf-lib-link.
6068         * tests/havelib/rpathlzyx/Makefile.am: New file, from
6069         gettext/autoconf-lib-link.
6070         * tests/havelib/rpathlzyx/configure.ac: New file, from
6071         gettext/autoconf-lib-link with modifications.
6072         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
6073         with modifications.
6074
6075 2010-04-02  Bruno Haible  <bruno@clisp.org>
6076
6077         gnulib-tool: Create distributed built sources also for the tests.
6078         * gnulib-tool (func_create_testdir): Also generate distributed built
6079         sources in the tests directory.
6080
6081 2010-04-02  Bruno Haible  <bruno@clisp.org>
6082
6083         gnulib-tool: Obey user's environment variables.
6084         * gnulib-tool (func_create_testdir): When creating built sources,
6085         respect the environment variables for autoconf, automake, etc. given by
6086         the user.
6087
6088 2010-04-02  Bruno Haible  <bruno@clisp.org>
6089
6090         gnulib-tool: Provide the value of --m4-base to modules.
6091         * gnulib-tool (func_import, func_create_testdir): Emit a definition
6092         of gl_m4_base.
6093
6094 2010-04-02  Eric Blake  <eblake@redhat.com>
6095
6096         maint.mk: fix some fallout
6097         * NEWS: Document the incompatible change, and its effect on cfg.mk.
6098         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
6099
6100 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
6101
6102         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
6103         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
6104         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
6105         (sc_cast_of_x_alloc_return_value): Likewise.
6106         (sc_cast_of_alloca_return_value): Likewise.
6107         (sc_space_tab): Likewise.
6108         (sc_prohibit_atoi_atof): Likewise.
6109         (sc_prohibit_magic_number_exit): Likewise.
6110         (sc_error_exit_success): Likewise.
6111         (sc_file_system): Likewise.
6112         (sc_prohibit_have_config_h): Likewise.
6113         (sc_require_config_h): Likewise.
6114         (sc_prohibit_HAVE_MBRTOWC): Likewise.
6115         (sc_obsolete_symbols): Likewise.
6116         (sc_changelog): Likewise.
6117         (sc_program_name): Likewise.
6118         (sc_the_the): Likewise.
6119         (sc_trailing_blank): Likewise.
6120         (sc_two_space_separator_in_usage): Likewise.
6121         (sc_useless_cpp_parens): Likewise.
6122         (sc_GPL_version): Likewise.
6123         (sc_GFDL_version): Likewise.
6124         (sc_texinfo_acronym): Likewise.
6125         (sc_prohibit_cvs_keyword): Likewise.
6126         (sc_prohibit_stat_st_blocks): Likewise.
6127         (sc_prohibit_S_IS_definition): Likewise.
6128         (sc_redundant_const): Likewise.
6129         (sc_makefile_TAB_only_indentation): Likewise.
6130         (sc_m4_quote_check): Likewise.
6131         (sc_makefile_path_separator_check): Likewise.
6132         (sc_copyright_check): Likewise.
6133         (sc_Wundef_boolean): Likewise.
6134         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
6135
6136         maint.mk: match 0 or more whitespace-before-function-call '('
6137         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
6138         that have zero or two-and-more spaces between the function name
6139         and the open parenthesis.
6140         (sc_error_message_warn_fatal): Likewise.
6141         (sc_error_message_uppercase): Likewise.
6142         (sc_error_message_period): Likewise.
6143
6144 2010-03-31  Eric Blake  <eblake@redhat.com>
6145
6146         maint.mk: check for [ as well as test
6147         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
6148         Based on a libvirt report by Matthias Bolte.
6149
6150         gnumakefile: don't squelch _version output
6151         * top/GNUmakefile (_version): Create one-shot dependency rather
6152         than using $(shell) when version must be regenerated.
6153         (_autoreconf): Run verbosely, by default.
6154
6155         sys_time: avoid compiler warnings
6156         * lib/sys_time.in.h (includes): Ensure gcc pragma is
6157         unconditional, fixing regression from 2010-03-29.
6158         Reported by Simon Josefsson.
6159
6160 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
6161
6162         maint.mk: s/_header_without_use/_sc_header_without_use/
6163         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
6164         (sc_prohibit_assert_without_use): Use the new name.
6165         (sc_prohibit_close_stream_without_use): Likewise.
6166         (sc_prohibit_getopt_without_use): Likewise.
6167         (sc_prohibit_quotearg_without_use): Likewise.
6168         (sc_prohibit_quote_without_use): Likewise.
6169         (sc_prohibit_long_options_without_use): Likewise.
6170         (sc_prohibit_inttostr_without_use): Likewise.
6171         (sc_prohibit_ignore_value_without_use): Likewise.
6172         (sc_prohibit_error_without_use): Likewise.
6173         (sc_prohibit_xalloc_without_use): Likewise.
6174         (sc_prohibit_hash_without_use): Likewise.
6175         (sc_prohibit_hash_pjw_without_use): Likewise.
6176         (sc_prohibit_safe_read_without_use): Likewise.
6177         (sc_prohibit_argmatch_without_use): Likewise.
6178         (sc_prohibit_canonicalize_without_use): Likewise.
6179         (sc_prohibit_root_dev_ino_without_use): Likewise.
6180         (sc_prohibit_openat_without_use): Likewise.
6181         (sc_prohibit_c_ctype_without_use): Likewise.
6182         (sc_prohibit_signal_without_use): Likewise.
6183         (sc_prohibit_intprops_without_use): Likewise.
6184
6185 2010-03-30  Eric Blake  <eblake@redhat.com>
6186
6187         maint: improve module indicators
6188         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
6189         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
6190         columns, and avoid extra macro expansion.
6191
6192         fdopendir: work around FreeBSD bug
6193         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
6194         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
6195         * modules/dirent (Makefile.am): Substitute it.
6196         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
6197         declaration.
6198         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
6199         fix.
6200         Reported by Christian Weisgerber <naddy@mips.inka.de>.
6201
6202 2010-03-29  Bruno Haible  <bruno@clisp.org>
6203
6204         Emit #pragma system_header after the inclusion guard, not before.
6205         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
6206         guard that spans the entire file, not before. This enables an
6207         optimization in GCC's preprocessor.
6208         * lib/ctype.in.h: Likewise.
6209         * lib/dirent.in.h: Likewise.
6210         * lib/errno.in.h: Likewise.
6211         * lib/float.in.h: Likewise.
6212         * lib/getopt.in.h: Likewise.
6213         * lib/iconv.in.h: Likewise.
6214         * lib/langinfo.in.h: Likewise.
6215         * lib/locale.in.h: Likewise.
6216         * lib/math.in.h: Likewise.
6217         * lib/netdb.in.h: Likewise.
6218         * lib/netinet_in.in.h: Likewise.
6219         * lib/pty.in.h: Likewise.
6220         * lib/sched.in.h: Likewise.
6221         * lib/se-selinux.in.h: Likewise.
6222         * lib/search.in.h: Likewise.
6223         * lib/spawn.in.h: Likewise.
6224         * lib/stdarg.in.h: Likewise.
6225         * lib/stdint.in.h: Likewise.
6226         * lib/string.in.h: Likewise.
6227         * lib/strings.in.h: Likewise.
6228         * lib/sys_file.in.h: Likewise.
6229         * lib/sys_ioctl.in.h: Likewise.
6230         * lib/sys_time.in.h: Likewise.
6231         * lib/sys_times.in.h: Likewise.
6232         * lib/sys_utsname.in.h: Likewise.
6233         * lib/sys_wait.in.h: Likewise.
6234         * lib/sysexits.in.h: Likewise.
6235         * lib/wctype.in.h: Likewise.
6236
6237 2010-03-28  James Youngman  <jay@gnu.org>
6238
6239         save-cwd: don't leak a file descriptor when the caller execs.
6240         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
6241         saved file descriptor.
6242         * modules/save-cwd (Depends-on): Depend on cloexec.
6243
6244 2010-03-29  Bruno Haible  <bruno@clisp.org>
6245
6246         Remove vestiges of fts-lgpl module.
6247         * lib/fts_.h: Assume GNULIB_FTS is 1.
6248         * lib/fts.c: Likewise.
6249         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
6250
6251 2010-03-28  Bruno Haible  <bruno@clisp.org>
6252
6253         Fix definition of tests witness macro.
6254         * gnulib-tool (func_import): Fix definition of witness macro.
6255
6256 2010-03-28  Bruno Haible  <bruno@clisp.org>
6257
6258         Fix ioctl's protoype on glibc systems.
6259         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
6260         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
6261         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
6262         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
6263         signature. If not, arrange to replace the ioctl function.
6264         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
6265         REPLACE_IOCTL.
6266         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
6267         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
6268         Reported by Ludovic Courtès <ludo@gnu.org>.
6269
6270 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
6271
6272         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
6273         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
6274         made it so grep -r --include=GLOB* ... did not work.
6275
6276 2010-03-26  Jim Meyering  <meyering@redhat.com>
6277             Eric Blake  <eblake@redhat.com>
6278
6279         maint.mk: prohibit use of test's -o and -a operators
6280         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
6281
6282 2010-03-28  Bruno Haible  <bruno@clisp.org>
6283
6284         Remove unused GNULIB_XYZ macro definitions.
6285         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
6286         invocation.
6287
6288 2010-03-28  Bruno Haible  <bruno@clisp.org>
6289
6290         Mark privileged tests modules.
6291         * modules/idpriv-drop-tests (Status): New section.
6292         * modules/idpriv-droptemp-tests (Status): New section.
6293
6294 2010-03-28  Bruno Haible  <bruno@clisp.org>
6295
6296         Split C++ tests into separate tests modules.
6297         * modules/dirent-c++-tests: New file, extracted from
6298         modules/dirent-tests.
6299         * modules/dirent-tests: Depend on it.
6300         * modules/fcntl-h-c++-tests: New file, extracted from
6301         modules/fcntl-h-tests.
6302         * modules/fcntl-h-tests: Depend on it.
6303         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
6304         * modules/glob-tests: Depend on it.
6305         * modules/iconv-h-c++-tests: New file, extracted from
6306         modules/iconv-h-tests.
6307         * modules/iconv-h-tests: Depend on it.
6308         * modules/langinfo-c++-tests: New file, extracted from
6309         modules/langinfo-tests.
6310         * modules/langinfo-tests: Depend on it.
6311         * modules/locale-c++-tests: New file, extracted from
6312         modules/locale-tests.
6313         * modules/locale-tests: Depend on it.
6314         * modules/math-c++-tests: New file, extracted from modules/math-tests.
6315         * modules/math-tests: Depend on it.
6316         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
6317         * modules/pty-tests: Depend on it.
6318         * modules/search-c++-tests: New file, extracted from
6319         modules/search-tests.
6320         * modules/search-tests: Depend on it.
6321         * modules/signal-c++-tests: New file, extracted from
6322         modules/signal-tests.
6323         * modules/signal-tests: Depend on it.
6324         * modules/spawn-c++-tests: New file, extracted from
6325         modules/spawn-tests.
6326         * modules/spawn-tests: Depend on it.
6327         * modules/stdio-c++-tests: New file, extracted from
6328         modules/stdio-tests.
6329         * modules/stdio-tests: Depend on it.
6330         * modules/stdlib-c++-tests: New file, extracted from
6331         modules/stdlib-tests.
6332         * modules/stdlib-tests: Depend on it.
6333         * modules/string-c++-tests: New file, extracted from
6334         modules/string-tests.
6335         * modules/string-tests: Depend on it.
6336         * modules/sys_ioctl-c++-tests: New file, extracted from
6337         modules/sys_ioctl-tests.
6338         * modules/sys_ioctl-tests: Depend on it.
6339         * modules/sys_select-c++-tests: New file, extracted from
6340         modules/sys_select-tests.
6341         * modules/sys_select-tests: Depend on it.
6342         * modules/sys_socket-c++-tests: New file, extracted from
6343         modules/sys_socket-tests.
6344         * modules/sys_socket-tests: Depend on it.
6345         * modules/sys_stat-c++-tests: New file, extracted from
6346         modules/sys_stat-tests.
6347         * modules/sys_stat-tests: Depend on it.
6348         * modules/sys_time-c++-tests: New file, extracted from
6349         modules/sys_time-tests.
6350         * modules/sys_time-tests: Depend on it.
6351         * modules/time-c++-tests: New file, extracted from modules/time-tests.
6352         * modules/time-tests: Depend on it.
6353         * modules/unistd-c++-tests: New file, extracted from
6354         modules/unistd-tests.
6355         * modules/unistd-tests: Depend on it.
6356         * modules/wchar-c++-tests: New file, extracted from
6357         modules/wchar-tests.
6358         * modules/wchar-tests: Depend on it.
6359         * modules/wctype-c++-tests: New file, extracted from
6360         modules/wctype-tests.
6361         * modules/wctype-tests: Depend on it.
6362         Reported by Simon Josefsson.
6363
6364 2010-03-28  Bruno Haible  <bruno@clisp.org>
6365
6366         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
6367         * gnulib-tool (func_exists_module): New function, extracted from
6368         func_verify_module.
6369         (func_verify_module): Use it.
6370         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
6371         'foo' only if 'foo' exists.
6372         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
6373         module.
6374
6375 2010-03-28  Bruno Haible  <bruno@clisp.org>
6376
6377         gnulib-tool: Add support for special categories of tests.
6378         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
6379         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
6380         (func_usage): Document them.
6381         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
6382         inc_unportable_tests, inc_all_tests): New variables.
6383         (func_acceptable): Consider these variables.
6384         (func_modules_transitive_closure): Make it work when the 'Status' field
6385         consists of multiple words.
6386         (func_import): Store and restore the values of inc_cxx_tests,
6387         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
6388         inc_all_tests in gnulib-comp.m4.
6389         (func_create_testdir): Set inc_all_tests to true.
6390         * doc/gnulib.texi (Extra tests modules): New section.
6391         Suggested by Jim Meyering.
6392
6393 2010-03-28  Bruno Haible  <bruno@clisp.org>
6394
6395         ansi-c++-opt: Allow turning off the C++ build by default.
6396         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
6397         gl_CXX_CHOICE_DEFAULT_NO is defined.
6398         Requested by Eric Blake.
6399
6400 2010-03-28  Bruno Haible  <bruno@clisp.org>
6401
6402         unistd: Avoid #define replacements in C++ mode.
6403         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
6404         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
6405         setsockopt, shutdown, select): In C++, attach a warning to the function
6406         if possible, rather than #defining the symbol to a dysfunctional alias.
6407         Reported by John W. Eaton <jwe@gnu.org>.
6408
6409 2010-03-28  Bruno Haible  <bruno@clisp.org>
6410
6411         Fix link errors on mingw.
6412         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
6413         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
6414         $(LIBSOCKET).
6415         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
6416         $(LIBSOCKET).
6417
6418 2010-03-28  Bruno Haible  <bruno@clisp.org>
6419             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6420
6421         lib-ignore: Determine different options for different compilers.
6422         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
6423         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
6424         Add comments.
6425         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
6426         * NEWS: Mention the change.
6427
6428 2010-03-27  Bruno Haible  <bruno@clisp.org>
6429
6430         Remove unused GNULIB_XYZ macro definitions.
6431         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
6432         * modules/fseek (configure.ac): Likewise.
6433         * modules/ioctl (configure.ac): Likewise.
6434         * modules/open (configure.ac): Likewise.
6435         * modules/stdlib-safer (configure.ac): Likewise.
6436
6437 2010-03-27  Bruno Haible  <bruno@clisp.org>
6438
6439         Add a remark about certain modules.
6440         * modules/malloc (Comment): New section.
6441         * modules/realloc (Comment): Likewise.
6442         * modules/sigpipe (Comment): Likewise.
6443
6444 2010-03-27  Bruno Haible  <bruno@clisp.org>
6445
6446         Resolve conflict between the two kinds of module indicators.
6447         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
6448         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
6449         * modules/canonicalize (configure.ac): Invoke
6450         gl_MODULE_INDICATOR_FOR_TESTS.
6451         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
6452         GNULIB_XYZ.
6453         * tests/test-dirent-c++.cc: Likewise.
6454         * tests/test-dirent-safer.c: Likewise.
6455         * tests/test-dup2.c: Likewise.
6456         * tests/test-fchdir.c: Likewise.
6457         * tests/test-fcntl-h-c++.cc: Likewise.
6458         * tests/test-getopt.c: Likewise.
6459         * tests/test-getopt.h: Likewise.
6460         * tests/test-langinfo-c++.cc: Likewise.
6461         * tests/test-locale-c++.cc: Likewise.
6462         * tests/test-math-c++.cc: Likewise.
6463         * tests/test-pty-c++.cc: Likewise.
6464         * tests/test-search-c++.cc: Likewise.
6465         * tests/test-signal-c++.cc: Likewise.
6466         * tests/test-spawn-c++.cc: Likewise.
6467         * tests/test-stdio-c++.cc: Likewise.
6468         * tests/test-stdlib-c++.cc: Likewise.
6469         * tests/test-string-c++.cc: Likewise.
6470         * tests/test-sys_ioctl-c++.cc: Likewise.
6471         * tests/test-sys_select-c++.cc: Likewise.
6472         * tests/test-sys_socket-c++.cc: Likewise.
6473         * tests/test-sys_stat-c++.cc: Likewise.
6474         * tests/test-sys_time-c++.cc: Likewise.
6475         * tests/test-time-c++.cc: Likewise.
6476         * tests/test-unistd-c++.cc: Likewise.
6477         * tests/test-wchar-c++.cc: Likewise.
6478         * tests/uninorm/test-u8-nfc.c: Likewise.
6479         * tests/uninorm/test-u8-nfd.c: Likewise.
6480         * tests/uninorm/test-u8-nfkc.c: Likewise.
6481         * tests/uninorm/test-u8-nfkd.c: Likewise.
6482         * tests/uninorm/test-u16-nfc.c: Likewise.
6483         * tests/uninorm/test-u16-nfd.c: Likewise.
6484         * tests/uninorm/test-u16-nfkc.c: Likewise.
6485         * tests/uninorm/test-u16-nfkd.c: Likewise.
6486         * tests/uninorm/test-u32-nfc.c: Likewise.
6487         * tests/uninorm/test-u32-nfc-big.c: Likewise.
6488         * tests/uninorm/test-u32-nfd.c: Likewise.
6489         * tests/uninorm/test-u32-nfd-big.c: Likewise.
6490         * tests/uninorm/test-u32-nfkc.c: Likewise.
6491         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
6492         * tests/uninorm/test-u32-nfkd.c: Likewise.
6493         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
6494         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6495
6496 2010-03-27  Bruno Haible  <bruno@clisp.org>
6497
6498         Distinguish two kinds of module indicators.
6499         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
6500         gl_MODULE_INDICATOR.
6501         (gl_MODULE_INDICATOR): New macro.
6502         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
6503         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
6504         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
6505         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
6506         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
6507         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
6508         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
6509         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
6510         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
6511         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
6512         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
6513         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
6514         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
6515         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
6516         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
6517         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
6518         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
6519         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
6520         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
6521         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
6522         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
6523         * modules/cloexec (configure.ac): Likewise.
6524         * modules/getopt-gnu (configure.ac): Likewise.
6525         * modules/uninorm/u8-normalize (configure.ac): Likewise.
6526         * modules/uninorm/u16-normalize (configure.ac): Likewise.
6527         * modules/uninorm/u32-normalize (configure.ac): Likewise.
6528         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
6529
6530 2010-03-27  Bruno Haible  <bruno@clisp.org>
6531
6532         New module description field 'Comment'.
6533         * gnulib-tool: New option --extract-comment.
6534         (func_usage): Document it.
6535         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
6536         (func_get_comment): New function.
6537         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
6538
6539 2010-03-27  Bruno Haible  <bruno@clisp.org>
6540
6541         Addendum to 2010-02-07 commit.
6542         * gnulib-tool (func_usage): Document --extract-applicability option.
6543
6544 2010-03-27  Bruno Haible  <bruno@clisp.org>
6545
6546         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
6547         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
6548         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
6549         rather than link errors.
6550
6551 2010-03-27  Bruno Haible  <bruno@clisp.org>
6552
6553         Avoid side effects from tests-related modules on the compilation of lib.
6554         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
6555         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
6556         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
6557         parameter. Emit into AM_CPPFLAGS a definition of the designated C
6558         macro.
6559         (func_import): Define a witness macro. Assign it a value that depends
6560         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
6561         tests-related modules.
6562         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
6563         Reported by Jim Meyering.
6564
6565 2010-03-27  Bruno Haible  <bruno@clisp.org>
6566
6567         Factorize common .m4 code.
6568         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
6569         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
6570         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
6571         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
6572         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
6573         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
6574         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
6575         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
6576         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
6577         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
6578         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
6579         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
6580         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
6581         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
6582         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
6583         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
6584         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
6585         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
6586         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
6587         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
6588         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
6589         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
6590         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
6591         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
6592         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
6593         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
6594         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
6595         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
6596         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
6597         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
6598         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
6599         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
6600
6601 2010-03-27  Bruno Haible  <bruno@clisp.org>
6602
6603         Fix a compilation error on Cygwin with g++ >= 4.3.
6604         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
6605         if it is undefined or if we alias it to chmod.
6606         (lstat): Don't warn about the use of this function if it is undefined
6607         or if we alias it to stat.
6608         Reported by Simon Josefsson.
6609
6610 2010-03-27  Bruno Haible  <bruno@clisp.org>
6611
6612         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
6613         * modules/getlogin (configure.ac): Update.
6614
6615         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
6616         * modules/getlogin_r (configure.ac): Update.
6617
6618         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
6619         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
6620         * modules/inet_ntop (configure.ac): Update.
6621
6622         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
6623         * modules/inet_pton (configure.ac): Update.
6624
6625         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
6626         * modules/mbslen (configure.ac): Update.
6627
6628         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
6629         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
6630         * modules/forkpty (configure.ac): Update.
6631         * modules/openpty (configure.ac): Update.
6632
6633 2010-03-26  Simon Josefsson  <simon@josefsson.org>
6634
6635         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
6636         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
6637
6638 2010-03-25  Eric Blake  <eblake@redhat.com>
6639
6640         maint: use pragma consistently across replacement headers
6641         * lib/ctype.in.h (system_header): Hoist for consistent placement.
6642         * lib/dirent.in.h (system_header): Likewise.
6643         * lib/errno.in.h (system_header): Likewise.
6644         * lib/float.in.h (system_header): Likewise.
6645         * lib/getopt.in.h (system_header): Likewise.
6646         * lib/iconv.in.h (system_header): Likewise.
6647         * lib/inttypes.in.h (system_header): Likewise.
6648         * lib/langinfo.in.h (system_header): Likewise.
6649         * lib/locale.in.h (system_header): Likewise.
6650         * lib/math.in.h (system_header): Likewise.
6651         * lib/netdb.in.h (system_header): Likewise.
6652         * lib/netinet_in.in.h (system_header): Likewise.
6653         * lib/pty.in.h (system_header): Likewise.
6654         * lib/sched.in.h (system_header): Likewise.
6655         * lib/se-selinux.in.h (system_header): Likewise.
6656         * lib/search.in.h (system_header): Likewise.
6657         * lib/spawn.in.h (system_header): Likewise.
6658         * lib/stdarg.in.h (system_header): Likewise.
6659         * lib/stdint.in.h (system_header): Likewise.
6660         * lib/string.in.h (system_header): Likewise.
6661         * lib/strings.in.h (system_header): Likewise.
6662         * lib/sys_file.in.h (system_header): Likewise.
6663         * lib/sys_ioctl.in.h (system_header): Likewise.
6664         * lib/sys_socket.in.h (system_header): Likewise.
6665         * lib/sys_times.in.h (system_header): Likewise.
6666         * lib/sys_utsname.in.h (system_header): Likewise.
6667         * lib/sys_wait.in.h (system_header): Likewise.
6668         * lib/sysexits.in.h (system_header): Likewise.
6669         * lib/unistd.in.h (system_header): Likewise.
6670         * lib/wctype.in.h (system_header): Likewise.
6671
6672         arpa/inet: fix mingw compilation warning
6673         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
6674         Reported by Matthew Bolte.
6675
6676 2010-03-25  Bruno Haible  <bruno@clisp.org>
6677
6678         Avoid collision between gnulib wrapper and libintl wrapper.
6679         * lib/printf.c (printf): Don't define if a printf wrapper is already
6680         defined in intl/printf.c.
6681         Reported by Michel Boaventura <michel@michelboaventura.com>.
6682
6683 2010-03-25  Bruno Haible  <bruno@clisp.org>
6684
6685         Use ANSI C.
6686         * lib/readutmp.h (getutent): Provide ANSI C prototype.
6687
6688 2010-03-25  Bruno Haible  <bruno@clisp.org>
6689
6690         Minor formatting changes.
6691         * lib/acosl.c: Insert space before function argument list.
6692         * lib/argz.c: Likewise.
6693         * lib/asinl.c: Likewise.
6694         * lib/expl.c: Likewise.
6695         * lib/gen-uni-tables.c: Likewise.
6696         * lib/gettext.h: Likewise.
6697         * lib/glthread/lock.h: Likewise.
6698         * lib/tanl.c: Likewise.
6699         * lib/uniname/uniname.c: Likewise.
6700         * tests/test-idpriv-drop.c: Likewise.
6701         * tests/test-idpriv-droptemp.c: Likewise.
6702         * tests/test-lock.c: Likewise.
6703         * tests/test-tls.c: Likewise.
6704         * lib/argp-help.c: Insert space before function-like macro argument
6705         list.
6706         * lib/memcmp.c: Likewise.
6707         * tests/test-base64.c: Likewise.
6708         * lib/localename.c: Insert space before sizeof's argument list.
6709         * lib/safe-alloc.h: Likewise.
6710         * lib/file-set.h: Insert space before macro argument list.
6711         * tests/test-argp.c: Likewise.
6712         * lib/argp-namefrob.h: Insert space before function parameter list.
6713         * lib/getaddrinfo.c: Likewise.
6714         * lib/netdb.in.h: Likewise.
6715         * lib/parse-duration.h: Likewise.
6716         * lib/parse-duration.c: Likewise.
6717         * lib/poll.c: Likewise.
6718         * lib/select.c: Likewise.
6719         * lib/trim.h: Likewise.
6720         * tests/test-usleep.c: Likewise.
6721         * lib/ldexpl.c: Insert space before function parameter list and before
6722         function argument list.
6723         * lib/logl.c: Likewise.
6724         * lib/sqrtl.c: Likewise.
6725         * lib/trim.c: Likewise.
6726         * lib/cosl.c: Use GNU style indentation. Insert space before function
6727         argument list.
6728         * lib/sinl.c: Likewise.
6729         * lib/tsearch.c: Insert space after 'for'.
6730         Reported by Jim Meyering.
6731
6732 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
6733
6734         * maint.mk (sc_Wundef_boolean): Check for the presence of the
6735         config header before grepping, as it's not present before
6736         autoreconf/configure are run.  Reported by Simon Josefsson.
6737
6738 2010-03-23  Bruno Haible  <bruno@clisp.org>
6739
6740         pt_chown: Make it work with automake < 1.11.
6741         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
6742         Reported by Simon Josefsson.
6743
6744 2010-03-23  Bruno Haible  <bruno@clisp.org>
6745
6746         pt_chown: Don't depend on GPLed modules.
6747         * lib/pt_chown.c: Don't include idpriv.h.
6748         (main): Don't drop privileges.
6749         * modules/pt_chown (Depends-on): Remove idpriv-drop.
6750         Reported by Simon Josefsson.
6751
6752 2010-03-24  Simon Josefsson  <simon@josefsson.org>
6753
6754         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
6755         suggestions from karl@freefriends.org (Karl Berry).
6756
6757 2010-03-22  Eric Blake  <eblake@redhat.com>
6758
6759         gethostname: further tweaks
6760         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
6761         are overriding gethostname.
6762         Suggested by Bruno Haible.
6763
6764 2010-03-21  Bruno Haible  <bruno@clisp.org>
6765
6766         Fix comments.
6767         * lib/forkpty.c (rpl_forkpty): Fix comment.
6768         * lib/openpty.c (rpl_openpty): Likewise.
6769         Reported by Eric Blake.
6770
6771 2010-03-22  Eric Blake  <eblake@redhat.com>
6772
6773         gethostname: fix build on mingw
6774         * lib/unistd.in.h (includes): Work around fact that mingw
6775         <winsock2.h> re-includes <unistd.h>, by avoiding any
6776         redeclarations if we are being included by <winsock2.h>.
6777         Reported by Matthias Bolte.
6778
6779 2010-03-21  Bruno Haible  <bruno@clisp.org>
6780
6781         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
6782         * lib/forkpty.c (forkpty): New replacement function, from glibc with
6783         modifications.
6784         * lib/pty.in.h (forkpty): Update declaration. Add comments.
6785         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
6786         provide the replacement.
6787         * modules/forkpty (Depends-on): Add openpty, login_tty.
6788         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
6789         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
6790         * doc/glibc-functions/forkpty.texi: More supported platforms.
6791         * config/srclist.txt: Add forkpty.c (commented).
6792
6793 2010-03-21  Bruno Haible  <bruno@clisp.org>
6794
6795         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
6796         (Makefile.am): Verify that PTY_LIB is defined.
6797
6798         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
6799
6800 2010-03-21  Bruno Haible  <bruno@clisp.org>
6801
6802         Tests for module 'login_tty'.
6803         * modules/login_tty-tests: New file.
6804         * tests/test-login_tty.c: New file.
6805
6806         New module 'login_tty'.
6807         * lib/login_tty.c: New file.
6808         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
6809         * modules/login_tty: New file.
6810         * doc/glibc-functions/login_tty.texi: Mention the new module.
6811
6812 2010-03-21  Bruno Haible  <bruno@clisp.org>
6813
6814         login_tty: Documentation.
6815         * doc/glibc-functions/login_tty.texi: New file.
6816         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
6817
6818 2010-03-21  Bruno Haible  <bruno@clisp.org>
6819
6820         pty: Consistent macro naming.
6821         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
6822         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
6823         * modules/pty (configure.ac): Update.
6824
6825 2010-03-21  Bruno Haible  <bruno@clisp.org>
6826
6827         Tests for openpty: Make stricter.
6828         * tests/test-openpty.c (main): Add test of canonical processing and
6829         erase.
6830         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
6831
6832         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
6833         * lib/openpty.c (openpty): New replacement function.
6834         * lib/pty.in.h: Include <termios.h>.
6835         (openpty): Update declaration. Add comments.
6836         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
6837         is not declared, arrange to provide the replacement. Check for _getpty
6838         and posix_openpt.
6839         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
6840         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
6841         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
6842         * modules/pty-tests (test_pty_c___LDADD): New variable.
6843         * doc/glibc-functions/openpty.texi: More supported platforms.
6844
6845 2010-03-21  Bruno Haible  <bruno@clisp.org>
6846
6847         setenv: Tweaks.
6848         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
6849         the test program.
6850         * doc/posix-functions/setenv.texi: Update platforms list.
6851
6852 2010-03-21  Bruno Haible  <bruno@clisp.org>
6853
6854         New module 'unlockpt'.
6855         * lib/unlockpt.c: New file, from glibc with modifications.
6856         * m4/unlockpt.m4: New file.
6857         * modules/unlockpt: New file.
6858         * lib/stdlib.in.h (unlockpt): New declaration.
6859         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
6860         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
6861         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
6862         HAVE_UNLOCKPT.
6863         * doc/posix-functions/unlockpt.texi: Mention the new module.
6864         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
6865         * config/srclist.txt: Add unlockpt.c (commented).
6866
6867 2010-03-21  Jim Meyering  <meyering@redhat.com>
6868
6869         maint.mk: prohibit inclusion of "intprops.h" without use
6870         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
6871
6872 2010-03-21  Bruno Haible  <bruno@clisp.org>
6873
6874         New module 'grantpt'.
6875         * lib/grantpt.c: New file, from glibc with modifications.
6876         * m4/grantpt.m4: New file.
6877         * modules/grantpt: New file.
6878         * lib/stdlib.in.h (grantpt): New declaration.
6879         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
6880         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
6881         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
6882         HAVE_GRANTPT.
6883         * doc/posix-functions/grantpt.texi: Mention the new module.
6884         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
6885         * config/srclist.txt: Add grantpt.c (commented).
6886
6887 2010-03-21  Bruno Haible  <bruno@clisp.org>
6888
6889         New module 'pt_chown'.
6890         * lib/pt_chown.c: New file, from glibc with modifications.
6891         * lib/pty-private.h: New file, from glibc with modifications.
6892         * modules/pt_chown: New file.
6893         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
6894
6895 2010-03-21  Bruno Haible  <bruno@clisp.org>
6896
6897         Tests for module 'ptsname'.
6898         * modules/ptsname-tests: New file.
6899         * tests/test-ptsname.c: New file.
6900
6901         New module 'ptsname'.
6902         * lib/ptsname.c: New file, from glibc with modifications.
6903         * m4/ptsname.m4: New file.
6904         * modules/ptsname: New file.
6905         * lib/stdlib.in.h (ptsname): New declaration.
6906         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
6907         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
6908         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
6909         HAVE_PTSNAME.
6910         * doc/posix-functions/ptsname.texi: Mention the new module.
6911         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
6912         * config/srclist.txt: Add ptsname.c (commented).
6913
6914 2010-03-21  Bruno Haible  <bruno@clisp.org>
6915
6916         Tests for module 'ttyname_r'.
6917         * modules/ttyname_r-tests: New file.
6918         * tests/test-ttyname_r.c: New file.
6919
6920         New module 'ttyname_r'.
6921         * lib/ttyname_r.c: New file.
6922         * m4/ttyname_r.m4: New file.
6923         * modules/ttyname_r: New file.
6924         * lib/unistd.in.h (ttyname_r): New declaration.
6925         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
6926         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
6927         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
6928         HAVE_TTYNAME_R.
6929         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
6930         * doc/posix-functions/ttyname_r.texi: Mention the new module.
6931
6932 2010-03-20  Bruno Haible  <bruno@clisp.org>
6933
6934         signal: Undefine macro definitions in C++ mode.
6935         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
6936         sigfillset): Undefine macro definitions from the system header in C++
6937         mode.
6938         Reported by John W. Eaton <jwe@gnu.org>.
6939
6940 2010-03-20  Bruno Haible  <bruno@clisp.org>
6941
6942         Ensure no #include statements inside extern "C" { ... }.
6943         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
6944         contain #include statements.
6945         * lib/time.in.h: Likewise.
6946
6947 2010-03-20  Bruno Haible  <bruno@clisp.org>
6948
6949         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
6950         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
6951         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
6952         Reported by John W. Eaton <jwe@gnu.org>.
6953
6954 2010-03-20  Bruno Haible  <bruno@clisp.org>
6955
6956         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
6957         Reported by Jim Meyering.
6958
6959 2010-03-20  Bruno Haible  <bruno@clisp.org>
6960
6961         pipe: Set errno upon failure.
6962         * lib/pipe.h: Specify that when -1 is returned, errno is set.
6963         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
6964         errno value in error message.
6965
6966 2010-03-20  Bruno Haible  <bruno@clisp.org>
6967             Jim Meyering  <meyering@redhat.com>
6968
6969         lchown: Avoid "unused variable" warning.
6970         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
6971
6972 2010-03-20  Bruno Haible  <bruno@clisp.org>
6973
6974         Work around unlink() bug on MacOS X 10.5.6.
6975         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
6976         attempting to unlink a parent directory.
6977         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
6978         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
6979         activate for the replacement function.
6980         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
6981
6982 2010-03-20  Bruno Haible  <bruno@clisp.org>
6983
6984         Fix link errors on Solaris 8.
6985         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
6986         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
6987
6988 2010-03-19  Jim Meyering  <meyering@redhat.com>
6989
6990         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
6991         The _LIBC implementation of build_range_exp correctly honors the
6992         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
6993         However, the non-_LIBC implementation would ignore that syntax-bit
6994         flag and return REG_ERANGE unconditionally.
6995         This change makes it honor that flag.
6996         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
6997         Make two pointer parameters "const".
6998         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
6999         (parse_bracket_exp): Update caller.
7000
7001         regex.m4: correct the reversed range endpoint ([b-a]) test
7002         * m4/regex.m4: When requiring that [b-a] evoke failure,
7003         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
7004         test pass once again for x86-based systems.
7005
7006 2010-03-19  Bruno Haible  <bruno@clisp.org>
7007
7008         scandir: Fix link error on Solaris 8.
7009         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
7010         macros.
7011
7012 2010-03-19  Bruno Haible  <bruno@clisp.org>
7013
7014         getusershell: Fix documentation.
7015         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
7016         module.
7017         * doc/glibc-functions/setusershell.texi: Likewise.
7018
7019         getusershell: Provide declaration, missing on Solaris 9.
7020         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
7021         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
7022         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
7023         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
7024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7025         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
7026         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
7027         HAVE_GETUSERSHELL.
7028         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
7029
7030 2010-03-19  Bruno Haible  <bruno@clisp.org>
7031
7032         wctype: Provide iswblank function.
7033         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
7034         exists and is fine.
7035         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
7036         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
7037         * tests/test-wctype.c (main): Re-enable the iswblank tests.
7038         * doc/posix-functions/iswblank.texi: Update.
7039
7040 2010-03-19  Bruno Haible  <bruno@clisp.org>
7041
7042         Tests of module 'pty' in C++ mode.
7043         * modules/pty-tests: New file.
7044         * tests/test-pty-c++.cc: New file.
7045         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7046
7047 2010-03-19  Eric Blake  <eblake@redhat.com>
7048
7049         logb: fix documentation
7050         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
7051         1.5 declaration bug.
7052
7053         forkpty, openpty: prefer glibc's const-safe prototype
7054         * lib/forkpty.c (rpl_forkpty): New file.
7055         * lib/openpty.c (rpl_openpty): Likewise.
7056         * modules/forkpty (Files): Distribute it.
7057         * modules/openpty (Files): Likewise.
7058         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
7059         check...
7060         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
7061         replacement for for non-const BSD signature.
7062         * modules/pty (Makefile.am): Substitute witnesses.
7063         * lib/pty.in.h (forkpty, openpty): Declare replacements.
7064         * tests/test-forkpty.c: Update signature check.
7065         * tests/test-openpty.c: Likewise.
7066         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
7067         * doc/glibc-functions/openpty.texi (openpty): Likewise.
7068
7069         forkpty, openpty: split functions into new modules
7070         * modules/pty (Makefile.am): Substitute new witnesses.
7071         (Libraries): Move library detection...
7072         * modules/forkpty: ...into new module.
7073         * modules/openpty: Another new module.
7074         * modules/pty-tests: Rename and split...
7075         * modules/forkpty-tests: ...to this...
7076         * modules/openpty-tests: ...and this.
7077         * tests/test-pty.c: Rename and split...
7078         * tests/test-forkpty.c: ...to this...
7079         * tests/test-openpty.c: ...and this.
7080         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
7081         (gl_PTY): Split library searching...
7082         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
7083         (gl_FORKPTY, gl_OPENPTY): New macros.
7084         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
7085         * NEWS: Mention the split.
7086         * MODULES.html.sh (Misc): Document the modules.
7087         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
7088         * doc/glibc-functions/openpty.texi (openpty): Likewise.
7089
7090         pty: improve replacement header
7091         * lib/pty.in.h: New file.
7092         * modules/pty (Files): Ship it.
7093         (Makefile.am): Always build replacement.
7094         * m4/pty.m4: Rename...
7095         * m4/pty_h.m4: ...to this.
7096         (gl_PTY): Modernize setting of witness macros; update check of
7097         forkpty to take proper advantage of cache.
7098         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
7099
7100         getopt: avoid compiler warning
7101         * lib/getopt.c (attribute_hidden): Remove unused macro.
7102
7103 2010-03-18  Bruno Haible  <bruno@clisp.org>
7104
7105         Fix link errors on Solaris 8.
7106         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
7107         * modules/search-tests (test_search_c___LDADD): Likewise.
7108         * modules/signal-tests (test_signal_c___LDADD): Likewise.
7109         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
7110         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
7111         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
7112         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
7113         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
7114         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
7115
7116 2010-03-18  Bruno Haible  <bruno@clisp.org>
7117
7118         Fix bug introduced on 2010-03-14.
7119         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
7120         (gl_SPAWN_H): Require it.
7121         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
7122         Reported by Simon Josefsson.
7123
7124 2010-03-18  Bruno Haible  <bruno@clisp.org>
7125
7126         Fix typo introduced on 2009-12-31.
7127         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
7128         posix_spawn_file_actions_adddup2.
7129
7130 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
7131         and Eric Blake  <eblake@redhat.com>
7132
7133         test-vc-list-files-git: make more robust
7134         * tests/test-vc-list-files-git.sh: Unset problematic environment
7135         variables.  Chain commands together.
7136
7137 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
7138
7139         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
7140         `AC_CHECK_DECL' invocation.
7141
7142 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
7143
7144         * lib/inttostr.c (inttostr): Make sure the invocation of verify
7145         appears before executable statements. Suggested by Petr Sumbera
7146         <Petr.Sumbera@Sun.COM>.
7147
7148 2010-03-14  Bruno Haible  <bruno@clisp.org>
7149
7150         * tests/test-flock.c (test_exclusive): Comment out a test that causes
7151         portability problems. Instead use a simpler test.
7152         (main): Check that invalid arguments are rejected only on Linux.
7153
7154 2010-03-14  Bruno Haible  <bruno@clisp.org>
7155
7156         Fix bug introduced on 2009-12-31.
7157         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
7158         gl_PREREQ_SYS_H_WINSOCK2 always.
7159         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
7160         SYS_SOCKET_H variable.
7161         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
7162         Update comments.
7163         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
7164         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7165         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7166         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7167         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7168
7169 2010-03-14  Bruno Haible  <bruno@clisp.org>
7170
7171         Fix values returned by sinl, cosl.
7172         * lib/trigl.h: Add specification comments.
7173         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
7174         that combines the values from the precomputed table with the values of
7175         the Chebyshev polynomials.
7176
7177 2010-03-14  Bruno Haible  <bruno@clisp.org>
7178
7179         Fix compilation error when modules 'posix_spawn[p]' are not used.
7180         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
7181         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
7182
7183 2010-03-14  Bruno Haible  <bruno@clisp.org>
7184
7185         Fix compilation error on mingw when module 'time_r' is not used.
7186         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
7187         is 1.
7188         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
7189         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
7190         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
7191         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
7192
7193 2010-03-14  Bruno Haible  <bruno@clisp.org>
7194
7195         Fix compilation error with Sun C.
7196         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
7197         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
7198         instead of GCC specific ULONG_LONG_MAX.
7199         * lib/xstrtoll.c: Likewise.
7200         * lib/xstrtoull.c: Likewise.
7201
7202 2010-03-13  Bruno Haible  <bruno@clisp.org>
7203
7204         Allow the user to disable C++ code and tests.
7205         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
7206         (gl_PROG_ANSI_CXX): Require it.
7207
7208 2010-03-13  Bruno Haible  <bruno@clisp.org>
7209
7210         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
7211         cases.
7212
7213 2010-03-13  Bruno Haible  <bruno@clisp.org>
7214
7215         Test that gnulib does not break the standard C++ headers.
7216         * tests/test-locale-c++2.cc: New file.
7217         * modules/locale-tests (Files): Add it.
7218         (Makefile.am): Compile it for test-locale-c++.
7219         * tests/test-math-c++2.cc: New file.
7220         * modules/math-tests (Files): Add it.
7221         (Makefile.am): Compile it for test-math-c++.
7222         * tests/test-signal-c++2.cc: New file.
7223         * modules/signal-tests (Files): Add it.
7224         (Makefile.am): Compile it for test-signal-c++.
7225         * tests/test-stdio-c++2.cc: New file.
7226         * modules/stdio-tests (Files): Add it.
7227         (Makefile.am): Compile it for test-stdio-c++.
7228         * tests/test-stdlib-c++2.cc: New file.
7229         * modules/stdlib-tests (Files): Add it.
7230         (Makefile.am): Compile it for test-stdlib-c++.
7231         * tests/test-string-c++2.cc: New file.
7232         * modules/string-tests (Files): Add it.
7233         (Makefile.am): Compile it for test-string-c++.
7234         * tests/test-time-c++2.cc: New file.
7235         * modules/time-tests (Files): Add it.
7236         (Makefile.am): Compile it for test-time-c++.
7237         Reported by John W. Eaton <jwe@gnu.org>.
7238
7239 2010-03-13  Bruno Haible  <bruno@clisp.org>
7240
7241         * gnulib-tool (func_usage): Clarify which options are available for
7242         --create-testdir and --create-megatestdir.
7243
7244 2010-03-13  Bruno Haible  <bruno@clisp.org>
7245
7246         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
7247         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
7248         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
7249         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
7250         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
7251         when appropriate.
7252         Reported by Jim Meyering.
7253
7254 2010-03-12  Simon Josefsson  <simon@josefsson.org>
7255
7256         * gnulib-tool (func_import): Explain origin of code.
7257
7258 2010-03-12  Bruno Haible  <bruno@clisp.org>
7259
7260         Fix problem with automake's definition of CXXLINK.
7261         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
7262         Reported by Simon Josefsson and Ludovic Courtès.
7263
7264 2010-03-12  Bruno Haible  <bruno@clisp.org>
7265
7266         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
7267         stable releases.
7268
7269 2010-03-11  Bruno Haible  <bruno@clisp.org>
7270
7271         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
7272         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
7273         whether the system provides one variant or multiple variants of the
7274         function.
7275         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
7276         C++ compilers.
7277         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
7278         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
7279         Reported by Jim Meyering.
7280
7281 2010-03-09  Simon Josefsson  <simon@josefsson.org>
7282
7283         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
7284
7285 2010-03-08  Bruno Haible  <bruno@clisp.org>
7286
7287         gnulib-tool: Add support for --libtool in --create-testdir.
7288         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
7289         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
7290
7291 2010-03-08  Eric Blake  <eblake@redhat.com>
7292
7293         gnulib-tool.texi: mention possibility of git submodule
7294         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
7295         submodules.
7296         * doc/.gitignore: Ignore another generated file.
7297
7298 2010-03-08  Karl Berry  <karl@gnu.org>
7299
7300         * doc/gnulib-tool.texi (VCS Issues): Mention third option
7301         of committing gnulib files while skipping others.
7302
7303 2010-03-07  Bruno Haible  <bruno@clisp.org>
7304
7305         Tests of module 'wctype' in C++ mode.
7306         * tests/test-wctype-c++.cc: New file.
7307         * modules/wctype-tests (Files): Add it and tests/signature.h.
7308         (Depends-on): Add ansi-c++-opt.
7309         (Makefile.am): Arrange to compile and run test-wctype-c++.
7310
7311         Tests of module 'wchar' in C++ mode.
7312         * tests/test-wchar-c++.cc: New file.
7313         * modules/wchar-tests (Files): Add it and tests/signature.h.
7314         (Depends-on): Add ansi-c++-opt.
7315         (Makefile.am): Arrange to compile and run test-wchar-c++.
7316         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
7317         gl_MODULE_INDICATOR.
7318
7319         Tests of module 'unistd' in C++ mode.
7320         * tests/test-unistd-c++.cc: New file.
7321         * modules/unistd-tests (Files): Add it and tests/signature.h.
7322         (Depends-on): Add ansi-c++-opt.
7323         (Makefile.am): Arrange to compile and run test-unistd-c++.
7324         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
7325         gl_MODULE_INDICATOR.
7326
7327         Tests of module 'time' in C++ mode.
7328         * tests/test-time-c++.cc: New file.
7329         * modules/time-tests (Files): Add it and tests/signature.h.
7330         (Depends-on): Add ansi-c++-opt.
7331         (Makefile.am): Arrange to compile and run test-time-c++.
7332         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7333
7334         Tests of module 'sys_time' in C++ mode.
7335         * tests/test-sys_time-c++.cc: New file.
7336         * modules/sys_time-tests (Files): Add it and tests/signature.h.
7337         (Depends-on): Add ansi-c++-opt.
7338         (Makefile.am): Arrange to compile and run test-sys_time-c++.
7339         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
7340         gl_MODULE_INDICATOR.
7341
7342         Tests of module 'sys_stat' in C++ mode.
7343         * tests/test-sys_stat-c++.cc: New file.
7344         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
7345         (Depends-on): Add ansi-c++-opt.
7346         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
7347         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
7348         gl_MODULE_INDICATOR.
7349
7350         Tests of module 'sys_socket' in C++ mode.
7351         * tests/test-sys_socket-c++.cc: New file.
7352         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
7353         (Depends-on): Add ansi-c++-opt.
7354         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
7355         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
7356         gl_MODULE_INDICATOR.
7357
7358         Tests of module 'sys_select' in C++ mode.
7359         * tests/test-sys_select-c++.cc: New file.
7360         * modules/sys_select-tests (Files): Add it and tests/signature.h.
7361         (Depends-on): Add ansi-c++-opt.
7362         (Makefile.am): Arrange to compile and run test-sys_select-c++.
7363         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
7364         gl_MODULE_INDICATOR.
7365
7366         Tests of module 'sys_ioctl' in C++ mode.
7367         * tests/test-sys_ioctl-c++.cc: New file.
7368         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
7369         (Depends-on): Add ansi-c++-opt.
7370         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
7371         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
7372         gl_MODULE_INDICATOR.
7373
7374         Tests of module 'string' in C++ mode.
7375         * tests/test-string-c++.cc: New file.
7376         * modules/string-tests (Files): Add it and tests/signature.h.
7377         (Depends-on): Add ansi-c++-opt.
7378         (Makefile.am): Arrange to compile and run test-string-c++.
7379         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
7380         gl_MODULE_INDICATOR.
7381
7382         Tests of module 'stdlib' in C++ mode.
7383         * tests/test-stdlib-c++.cc: New file.
7384         * modules/stdlib-tests (Files): Add it and tests/signature.h.
7385         (Depends-on): Add ansi-c++-opt.
7386         (Makefile.am): Arrange to compile and run test-stdlib-c++.
7387         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
7388         gl_MODULE_INDICATOR.
7389
7390         Tests of module 'stdio' in C++ mode.
7391         * tests/test-stdio-c++.cc: New file.
7392         * modules/stdio-tests (Files): Add it and tests/signature.h.
7393         (Depends-on): Add ansi-c++-opt.
7394         (Makefile.am): Arrange to compile and run test-stdio-c++.
7395         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
7396         gl_MODULE_INDICATOR.
7397
7398         Tests of module 'spawn' in C++ mode.
7399         * tests/test-spawn-c++.cc: New file.
7400         * modules/spawn-tests (Files): Add it and tests/signature.h.
7401         (Depends-on): Add ansi-c++-opt.
7402         (Makefile.am): Arrange to compile and run test-spawn-c++.
7403         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
7404         gl_MODULE_INDICATOR.
7405
7406         Tests of module 'signal' in C++ mode.
7407         * tests/test-signal-c++.cc: New file.
7408         * modules/signal-tests (Files): Add it and tests/signature.h.
7409         (Depends-on): Add ansi-c++-opt.
7410         (Makefile.am): Arrange to compile and run test-signal-c++.
7411         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
7412         gl_MODULE_INDICATOR.
7413
7414         Tests of module 'search' in C++ mode.
7415         * tests/test-search-c++.cc: New file.
7416         * modules/search-tests (Files): Add it and tests/signature.h.
7417         (Depends-on): Add ansi-c++-opt.
7418         (Makefile.am): Arrange to compile and run test-search-c++.
7419         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
7420         gl_MODULE_INDICATOR.
7421
7422         Tests of module 'math' in C++ mode.
7423         * tests/test-math-c++.cc: New file.
7424         * modules/math-tests (Files): Add it and tests/signature.h.
7425         (Depends-on): Add ansi-c++-opt.
7426         (Makefile.am): Arrange to compile and run test-math-c++.
7427         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7428
7429         Tests of module 'locale' in C++ mode.
7430         * tests/test-locale-c++.cc: New file.
7431         * modules/locale-tests (Files): Add it and tests/signature.h.
7432         (Depends-on): Add ansi-c++-opt.
7433         (Makefile.am): Arrange to compile and run test-locale-c++.
7434         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
7435         gl_MODULE_INDICATOR.
7436
7437         Tests of module 'langinfo' in C++ mode.
7438         * tests/test-langinfo-c++.cc: New file.
7439         * modules/langinfo-tests (Files): Add it and tests/signature.h.
7440         (Depends-on): Add ansi-c++-opt.
7441         (Makefile.am): Arrange to compile and run test-langinfo-c++.
7442         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
7443         gl_MODULE_INDICATOR.
7444
7445         Tests of module 'iconv-h' in C++ mode.
7446         * tests/test-iconv-h-c++.cc: New file.
7447         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
7448         (Depends-on): Add ansi-c++-opt.
7449         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
7450
7451         Tests of module 'glob' in C++ mode.
7452         * tests/test-glob-c++.cc: New file.
7453         * modules/glob-tests (Files): Add it.
7454         (Depends-on): Add ansi-c++-opt.
7455         (Makefile.am): Arrange to compile and run test-glob-c++.
7456
7457         Tests of module 'fcntl-h' in C++ mode.
7458         * tests/test-fcntl-h-c++.cc: New file.
7459         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
7460         (Depends-on): Add ansi-c++-opt.
7461         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
7462         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
7463         gl_MODULE_INDICATOR.
7464
7465         Tests of module 'dirent' in C++ mode.
7466         * tests/test-dirent-c++.cc: New file.
7467         * modules/dirent-tests (Files): Add it and tests/signature.h.
7468         (Depends-on): Add ansi-c++-opt.
7469         (Makefile.am): Arrange to compile and run test-dirent-c++.
7470         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
7471         gl_MODULE_INDICATOR.
7472
7473         New module 'ansi-c++-opt'.
7474         * modules/ansi-c++-opt: New file.
7475         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
7476
7477         Document C++ namespace mode.
7478         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
7479
7480         wctype: Avoid #define replacements in C++ mode.
7481         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
7482         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
7483         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
7484         In C++, define a namespaced alias symbol.
7485         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
7486         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
7487         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
7488         rule.
7489
7490         wchar: Avoid #define replacements in C++ mode.
7491         * lib/wchar.in.h: Include c++defs.h.
7492         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
7493         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
7494         symbol.
7495         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
7496         * modules/wchar (Depends-on): Add c++defs.
7497         (Makefile.am): Update wchar.h rule.
7498
7499         unistd: Avoid #define replacements in C++ mode.
7500         * lib/unistd.in.h: Include c++defs.h.
7501         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
7502         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
7503         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
7504         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
7505         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
7506         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
7507         symbol.
7508         (environ): Update.
7509         * modules/unistd (Depends-on): Add c++defs.
7510         (Makefile.am): Update unistd.h rule.
7511
7512         time: Avoid #define replacements in C++ mode.
7513         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
7514         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
7515         define a namespaced alias symbol.
7516         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
7517         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
7518         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
7519         * modules/time (Depends-on): Add c++defs, warn-on-use.
7520         (Makefile.am): Update time.h rule.
7521         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
7522         * modules/nanosleep (configure.ac): Likewise.
7523         * modules/strptime (configure.ac): Likewise.
7524         * modules/timegm (configure.ac): Likewise.
7525
7526         sys_time: Avoid #define replacements in C++ mode.
7527         * lib/sys_time.in.h: Include c++defs.h.
7528         (gettimeofday): In C++, define a namespaced alias symbol.
7529         * modules/sys_time (Depends-on): Add c++defs.
7530         (Makefile.am): Update sys/time.h rule.
7531
7532         sys_stat: Avoid #define replacements in C++ mode.
7533         * lib/sys_stat.in.h: Include c++defs.h.
7534         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
7535         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
7536         namespaced alias symbol.
7537         In C++, define a namespaced alias symbol.
7538         * modules/sys_stat (Depends-on): Add c++defs.
7539         (Makefile.am): Update sys/stat.h rule.
7540
7541         sys_socket: Avoid #define replacements in C++ mode.
7542         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
7543         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
7544         definitions also when the system has a <sys/socket.h>.
7545         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
7546         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
7547         In C++, define a namespaced alias symbol.
7548         * modules/sys_socket (Depends-on): Add c++defs.
7549         (Makefile.am): Update sys/socket.h rule.
7550
7551         sys_select: Avoid #define replacements in C++ mode.
7552         * lib/sys_select.in.h: Include c++defs.h. Enable the function
7553         definitions also when the system has a <sys/select.h>.
7554         (select): In C++, define a namespaced alias symbol.
7555         * modules/sys_select (Depends-on): Add c++defs.
7556         (Makefile.am): Update sys/select.h rule.
7557
7558         sys_ioctl: Avoid #define replacements in C++ mode.
7559         * lib/sys_ioctl.in.h: Include c++defs.h.
7560         (ioctl): In C++, define a namespaced alias symbol.
7561         * modules/sys_ioctl (Depends-on): Add c++defs.
7562         (Makefile.am): Update sys/ioctl.h rule.
7563
7564         string: Avoid #define replacements in C++ mode.
7565         * lib/string.in.h: Include c++defs.h.
7566         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
7567         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
7568         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
7569         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
7570         strsignal, strverscmp): In C++, define a namespaced alias symbol.
7571         * modules/string (Depends-on): Add c++defs.
7572         (Makefile.am): Update string.h rule.
7573
7574         stdlib: Avoid #define replacements in C++ mode.
7575         * lib/stdlib.in.h: Include c++defs.h.
7576         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
7577         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
7578         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
7579         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
7580         symbol.
7581         * modules/stdlib (Depends-on): Add c++defs.
7582         (Makefile.am): Update stdlib.h rule.
7583
7584         stdio: Avoid #define replacements in C++ mode.
7585         * lib/stdio.in.h: Include c++defs.h.
7586         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
7587         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
7588         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
7589         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
7590         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
7591         namespaced alias symbol.
7592         * modules/stdio (Depends-on): Add c++defs.
7593         (Makefile.am): Update stdio.h rule.
7594
7595         spawn: Avoid #define replacements in C++ mode.
7596         * lib/spawn.in.h: Include c++defs.h.
7597         (posix_spawn, posix_spawnp, posix_spawnattr_init,
7598         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
7599         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
7600         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
7601         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
7602         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
7603         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
7604         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
7605         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
7606         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
7607         In C++, define a namespaced alias symbol.
7608         * modules/spawn (Depends-on): Add c++defs.
7609         (Makefile.am): Update spawn.h rule.
7610
7611         signal: Avoid #define replacements in C++ mode.
7612         * lib/signal.in.h: Include c++defs.h.
7613         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
7614         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
7615         namespaced alias symbol.
7616         * modules/signal (Depends-on): Add c++defs.
7617         (Makefile.am): Update signal.h rule.
7618
7619         search: Avoid #define replacements in C++ mode.
7620         * lib/search.in.h: Include c++defs.h.
7621         (_gl_search_compar_fn, _gl_search_action_fn): New types.
7622         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
7623         symbol.
7624         * modules/search (Depends-on): Add c++defs.
7625         (Makefile.am): Update search.h rule.
7626
7627         math: Avoid #define replacements in C++ mode.
7628         * lib/math.in.h: Include c++defs.h.
7629         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
7630         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
7631         trunc, truncl): In C++, define a namespaced alias symbol.
7632         * modules/math (Depends-on): Add c++defs.
7633         (Makefile.am): Update math.h rule.
7634
7635         locale: Avoid #define replacements in C++ mode.
7636         * lib/locale.in.h: Include c++defs.h.
7637         (duplocale): In C++, define a namespaced alias symbol.
7638         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
7639         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
7640         * modules/locale (Depends-on): Add c++defs.
7641         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
7642
7643         langinfo: Avoid #define replacements in C++ mode.
7644         * lib/langinfo.in.h: Include c++defs.h.
7645         (nl_langinfo): In C++, define a namespaced alias symbol.
7646         * modules/langinfo (Depends-on): Add c++defs.
7647         (Makefile.am): Update langinfo.h rule.
7648
7649         iconv-h: Avoid #define replacements in C++ mode.
7650         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
7651         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
7652         symbol.
7653         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
7654         whenever iconv is present.
7655         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
7656         (Makefile.am): Update iconv.h rule.
7657
7658         glob: Avoid #define replacements in C++ mode.
7659         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
7660         (_gl_glob_errfunc_fn): New type.
7661         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
7662         symbol.
7663         * modules/glob (Depends-on): Add c++defs, warn-on-use.
7664         (Makefile.am): Update glob.h rule.
7665
7666         fcntl-h: Avoid #define replacements in C++ mode.
7667         * lib/fcntl.in.h: Include c++defs.h.
7668         (fcntl, open, openat): In C++, define a namespaced alias symbol.
7669         * modules/fcntl-h (Depends-on): Add c++defs.
7670         (Makefile.am): Update fcntl.h rule.
7671
7672         dirent: Avoid #define replacements in C++ mode.
7673         * lib/dirent.in.h: Include c++defs.h.
7674         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
7675         namespaced alias symbol.
7676         (dirfd): Update declaration.
7677         * modules/dirent (Depends-on): Add c++defs.
7678         (Makefile.am): Update dirent.h rule.
7679
7680         ctype: Make it usable in C++ code.
7681         * lib/ctype.in.h: Include c++defs.h.
7682         (isblank): Declare as extern "C".
7683         * modules/ctype (Depends-on): Add c++defs.
7684         (Makefile.am): Update ctype.h rule.
7685
7686         New module 'c++defs'.
7687         * modules/c++defs: New file.
7688         * build-aux/c++defs.h: New file.
7689         Reported by John W. Eaton <jwe@gnu.org>.
7690
7691 2010-03-07  Bruno Haible  <bruno@clisp.org>
7692
7693         logb: Provide missing declaration for Cygwin.
7694         * lib/math.in.h (logb): New declaration.
7695         * m4/logb.m4: New file.
7696         * modules/logb (Files): Add m4/logb.m4.
7697         (Depends-on): Add math.
7698         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
7699         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
7700         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
7701         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
7702         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
7703
7704 2010-03-07  Bruno Haible  <bruno@clisp.org>
7705
7706         Fix test-cond link error.
7707         * tests/test-cond.c: Include <stdio.h>.
7708
7709 2010-03-07  Bruno Haible  <bruno@clisp.org>
7710
7711         Fix test-dirent-safer link error.
7712         * modules/dirent-safer-tests (Makefile.am): Define
7713         test_dirent_safer_LDADD.
7714
7715 2010-03-07  Bruno Haible  <bruno@clisp.org>
7716
7717         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
7718         among default module list.
7719
7720 2010-03-07  Bruno Haible  <bruno@clisp.org>
7721
7722         Fix link error on platforms with GNU libiconv.
7723         * modules/unistr/u8-strcoll-tests (Makefile): Define
7724         test_u8_strcoll_LDADD.
7725         * modules/unistr/u16-strcoll-tests (Makefile): Define
7726         test_u16_strcoll_LDADD.
7727         * modules/unistr/u32-strcoll-tests (Makefile): Define
7728         test_u32_strcoll_LDADD.
7729
7730 2010-03-07  Bruno Haible  <bruno@clisp.org>
7731
7732         Use POSIX declarations for socket functions.
7733         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
7734         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
7735         rpl_sendto): Change declaration to match POSIX.
7736         * lib/connect.c (rpl_connect): Likewise.
7737         * lib/accept.c (rpl_accept): Likewise.
7738         * lib/bind.c (rpl_bind): Likewise.
7739         * lib/getpeername.c (rpl_getpeername): Likewise.
7740         * lib/getsockname.c (rpl_getsockname): Likewise.
7741         * lib/recv.c (rpl_recv): Likewise.
7742         * lib/send.c (rpl_send): Likewise.
7743         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7744         * lib/sendto.c (rpl_sendto): Likewise.
7745
7746 2010-03-06  Bruno Haible  <bruno@clisp.org>
7747
7748         Clarify access, euidaccess, faccessat.
7749         * doc/posix-functions/faccessat.texi: Mention security problem under
7750         "Other problems", not "Portability problems".
7751         * doc/posix-functions/access.texi: Likewise. Mention a related security
7752         problem.
7753         * doc/glibc-functions/euidaccess.texi: Mention security problems.
7754         * lib/euidaccess.c: Add comments about platforms.
7755         * lib/unistd.in.h (access, euidaccess): Add warnings.
7756
7757 2010-03-07  Bruno Haible  <bruno@clisp.org>
7758
7759         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
7760         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
7761         (POSIX_SPAWN_SETSCHEDULER): Likewise.
7762         (POSIX_SPAWN_USEVFORK): Define in a way that works when
7763         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
7764         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
7765         declare when POSIX_SPAWN_SETSCHEDULER is zero.
7766         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
7767         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
7768         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
7769         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
7770         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
7771         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
7772         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
7773         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
7774         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
7775         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
7776         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
7777         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
7778         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
7779         Likewise.
7780         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
7781         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
7782         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
7783         Likewise.
7784         * tests/test-spawn.c (main): Make it work when
7785         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
7786
7787 2010-03-07  Bruno Haible  <bruno@clisp.org>
7788
7789         Fix incorrect Makefile.am generation in German locale.
7790         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7791         Execute sed command with character range in C locale.
7792
7793 2010-03-06  Bruno Haible  <bruno@clisp.org>
7794
7795         Tests for module 'iconv-h'.
7796         * modules/iconv-h-tests: New file.
7797         * tests/test-iconv-h.c: New file.
7798
7799         New module 'iconv-h'.
7800         * modules/iconv-h: New file.
7801         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
7802         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
7803         (configure.ac): Remove gl_ICONV_H.
7804         (Makefile.am): Remove rule for iconv.h.
7805
7806 2010-03-06  Bruno Haible  <bruno@clisp.org>
7807
7808         More consistent naming of *.m4 files.
7809         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
7810         * modules/wctype (Files): Update.
7811
7812         More consistent naming of *.m4 files.
7813         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
7814         * modules/wchar (Files): Update.
7815
7816 2010-03-06  Jim Meyering  <meyering@redhat.com>
7817
7818         euidaccess: relax license to LGPLv2+
7819         * modules/euidaccess (License): Relax to LGPLv2+.
7820
7821 2010-03-06  Bruno Haible  <bruno@clisp.org>
7822
7823         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
7824         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
7825         (Makefile.am): Augment lib_SOURCES instead.
7826
7827 2010-03-04  Jim Meyering  <meyering@redhat.com>
7828
7829         utime: remove obsolete module
7830         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
7831         unnecessary for years, and has been marked as obsolete for 10 months.
7832         * modules/utime: Remove file.
7833         * lib/utime.c: Remove file.
7834         * m4/utime.m4: Remove file.
7835         * m4/utimes-null.m4: Remove file.
7836         * doc/posix-functions/utime.texi (utime): Remove reference to
7837         the module.  Move the sole "fixed by gnulib" item into the
7838         "problems not fixed by Gnulib" list.
7839         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
7840
7841 2010-03-05  Simon Josefsson  <simon@josefsson.org>
7842
7843         * modules/exit (License): Relax license to LGPLv2+.
7844         (Status): Mark as obsolete.
7845         * NEWS: Mention deprecated 'exit' module.
7846         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
7847         of now obsolete 'exit'.
7848
7849 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7850
7851         fts-lgpl: remove unused module
7852         * modules/fts-lgpl: Remove.
7853         * MODULES.html.sh (func_all_modules): Adjust.
7854         * check-module (find_included_lib_files): Adjust.
7855         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
7856
7857 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
7858
7859         copy-acl: enhance Solaris ACL error handling
7860         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
7861         * lib/set-mode-acl.c (qset_acl): Likewise.
7862
7863 2010-03-02  Bruno Haible  <bruno@clisp.org>
7864
7865         spawn: Don't override the system defined values on FreeBSD 8.
7866         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
7867         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
7868         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
7869         if HAVE_POSIX_SPAWN is 1.
7870         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
7871
7872 2010-03-01  Bruno Haible  <bruno@clisp.org>
7873
7874         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
7875         regarding Automake.
7876
7877 2010-02-25  Bruno Haible  <bruno@clisp.org>
7878
7879         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
7880         * gnulib-tool: Define 'echo' as a function only before the ksh alias
7881         setting, not afterwards.
7882         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7883
7884 2010-02-24  Eric Blake  <eblake@redhat.com>
7885
7886         bootstrap, git-version-gen: use timestamp
7887         * build-aux/git-version-gen (scriptversion): Force UTC.
7888         * build-aux/bootstrap (scriptversion): New variable.
7889
7890         bootstrap: allow older git
7891         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
7892         older than 1.6.4.  Requested by the libvirt project.
7893
7894 2010-02-23  Eric Blake  <eblake@redhat.com>
7895
7896         warn-on-use: work with old autoconf
7897         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
7898         AS_VAR semantics of autoconf 2.60.
7899         Reported by Bruno Haible.
7900
7901         bootstrap: improve some comments
7902         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
7903         clarification comments.
7904
7905         gettimeofday: provide correct function
7906         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
7907         when replacement is declared, otherwise provide gettimeofday.
7908         Reported by Michael Goffioul.
7909
7910 2010-02-23  Jim Meyering  <meyering@redhat.com>
7911
7912         lib-ignore: relax license to "unlimited", not LGPLv2+
7913         * modules/lib-ignore (License): Relax to "unlimited".
7914
7915 2010-02-23  Jim Meyering  <meyering@redhat.com>
7916
7917         lib-ignore: relax license to LGPLv2+
7918         * modules/lib-ignore (License): Relax to LGPLv2+.
7919
7920 2010-02-22  Eric Blake  <eblake@redhat.com>
7921
7922         lseek: avoid bash 3.2 broken pipe bug
7923         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
7924         warning from bash 3.2.
7925         Reported by Ben Pfaff, with analysis from Bruno Haible.
7926
7927         bootstrap: support non-FSF copyright holder
7928         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
7929         bootstrap.conf override of COPYRIGHT_HOLDER.
7930         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
7931
7932         bootstrap: interoperate with gettext 0.14.1
7933         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
7934
7935         bootstrap: allow for alternate submodule location
7936         * build-aux/bootstrap (gnulib_path): New variable; use instead of
7937         hardcoding submodule location.
7938         (gnulib_mk): Allow direct use of Makefile.am.
7939
7940         bootstrap: use GNULIB_SRCDIR to reduce disk usage
7941         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
7942         rather than reconfiguring where the submodule points.
7943
7944         gettimeofday: restore support for platforms that lack function
7945         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
7946         replacement if function is missing.
7947         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
7948         * modules/sys_time (Makefile.am): Substitute it.
7949         * lib/sys_time.in.h (gettimeofday): Check it.
7950         Reported by Michael Goffioul.
7951
7952 2010-02-21  Bruno Haible  <bruno@clisp.org>
7953
7954         * lib/stdio.in.h (obstack_printf): Fix typo.
7955
7956 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
7957
7958         vc-list-files: use bzr ls's -R option
7959         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
7960         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
7961
7962 2010-02-21  Jim Meyering  <meyering@redhat.com>
7963
7964         init.sh: fix EXEEXT shims to work also for names like test-prog
7965         * tests/init.sh: Re-exec a better shell, when needed.
7966         If the current shell lacks support for posix $(...), an init.sh-using
7967         test will now try to find a shell that supports that.  If EXEEXT is
7968         nonempty, we also require support for hyphen-in-alias-name and shell
7969         substitutions like ${var#glob}.  Failure to find such a shell results
7970         in a skipped test.
7971
7972 2010-02-21  Bruno Haible  <bruno@clisp.org>
7973
7974         Really work around around "broken pipe" error message from bash 3.2.
7975         * gnulib-tool (func_reset_sigpipe): Remove function.
7976         (echo): In bash 3.2, define to a function that uses printf.
7977         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
7978
7979 2010-02-20  Bruno Haible  <bruno@clisp.org>
7980
7981         Restore support for automake 1.9.6 with autoconf 2.61.
7982         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
7983         Reported by James Youngman <jay@gnu.org>.
7984
7985 2010-02-20  Bruno Haible  <bruno@clisp.org>
7986
7987         Improve *printf warning condition.
7988         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
7989         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
7990         and the function is overridden due to SIGPIPE emulation.
7991
7992 2010-02-20  Bruno Haible  <bruno@clisp.org>
7993
7994         * lib/stdio.in.h: Tweak comments.
7995
7996 2010-02-19  Bruno Haible  <bruno@clisp.org>
7997
7998         Make it easier to find modules. New gnulib-tool option '--find'.
7999         * gnulib-tool: New option --find.
8000         (func_usage): Document it.
8001         (func_sanitize_modulelist): New function, extracted from
8002         func_all_modules.
8003         (func_all_modules): Invoke it.
8004         * doc/gnulib-tool.texi (Which modules?): New node.
8005
8006 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
8007
8008         * lib/sys_select.in.h: Provide select replacement even if
8009         sys/select.h exists on a system, for Interix.
8010
8011 2010-02-18  Jim Meyering  <meyering@redhat.com>
8012
8013         init.sh: don't use $(...) just yet
8014         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
8015         to accommodate e.g., Solaris' /bin/sh.
8016
8017 2010-02-17  Bruno Haible  <bruno@clisp.org>
8018
8019         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
8020         Reported by Ludovic Courtès <ludo@gnu.org>.
8021
8022 2010-02-16  Simon Josefsson  <simon@josefsson.org>
8023
8024         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
8025         linking with -lintl.
8026
8027 2010-02-17  Simon Josefsson  <simon@josefsson.org>
8028
8029         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
8030         if not provided by the system's netdb.h.  Reported by
8031         ludo@gnu.org (Ludovic Courtès).
8032
8033 2010-02-15  Jim Meyering  <meyering@redhat.com>
8034
8035         init.sh: improve portability and efficiency
8036         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
8037         "dummy" in a for loop.
8038         Use '!', not '^' to select the complement of a character set used
8039         in a "case" statement.
8040         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
8041         Suggestions from Eric Blake.
8042
8043         init.sh: automatically accommodate programs with the .exe suffix
8044         Automatically arrange for an invocation of "prog" to execute the
8045         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
8046         may use the simpler "prog", yet still work when built on a system
8047         that requires specifying the added suffix.
8048         Do this by constructing a function named "prog" that invokes
8049         "prog.exe" for each .exe file in selected directories.
8050         * tests/init.sh (find_exe_basenames_): New function.
8051         (create_exe_shim_functions_): New function.
8052         (path_prepend_): Use it.
8053
8054         maint.mk: mark syntax-check sc_*.m rules as .PHONY
8055         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
8056         "make -t syntax-check" doesn't create a ton of sc_*.m files.
8057
8058 2010-02-14  Jim Meyering  <meyering@redhat.com>
8059
8060         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
8061         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
8062         (sc_prohibit_hash_pjw_without_use): New rule.
8063
8064         maint.mk: allow the default upload destination dir to be overridden
8065         * top/maint.mk (upload_dest_dir_): Define with a default that
8066         preserves the status quo.
8067         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
8068         Reported by Peter Simons.
8069
8070         maint.mk: prohibit inclusion of "hash.h" without_use
8071         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
8072
8073 2010-02-10  Jim Meyering  <meyering@redhat.com>
8074
8075         maint.mk: prohibit inclusion of "ignore-value.h" without_use
8076         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
8077
8078 2010-02-09  Eric Blake  <ebb9@byu.net>
8079         and Bruno Haible  <bruno@clisp.org>
8080
8081         obstack-printf-posix: ensure declaration
8082         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
8083         extracted from gl_FUNC_OBSTACK_PRINTF.
8084         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
8085         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
8086         Likewise.
8087         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
8088         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
8089         0.
8090
8091 2010-02-08  Bruno Haible  <bruno@clisp.org>
8092
8093         gnulib-tool: Fix typo in 2010-02-07 commit.
8094         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
8095         Reported by Eric Blake.
8096
8097 2010-02-07  Bruno Haible  <bruno@clisp.org>
8098
8099         gnulib-tool: Fix up caching patches.
8100         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
8101         option --no-cache. Use associative arrays when supported by the shell.
8102         (sed_comments): New variable.
8103         (modcache): Renamed from do_cache.
8104         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
8105         abbreviate unnecessarily.
8106         (have_associative): New variable.
8107         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
8108         way also for ksh and zsh.
8109         (func_init_sed_convert_to_cache_statements): New function, extracted
8110         from func_cache_lookup_module. Add support for associative arrays.
8111         Don't set the c_MODULE_cached variable here. Ignore all lines before
8112         the first field header. Remove only the final newline, not all trailing
8113         newlines. Support empty fields correctly. Limit the use of 'eval' to
8114         assignments.
8115         (func_get_description, func_get_status, func_get_notice,
8116         func_get_applicability, func_get_filelist, func_get_dependencies,
8117         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
8118         func_get_automake_snippet, func_get_include_directive,
8119         func_get_link_directive, func_get_license, func_get_maintainer):
8120         Update documentation. List the unoptimized code first. Add support for
8121         associative arrays. Limit the use of 'eval' to assignments.
8122         (func_get_applicability): Undo stylistic pessimisations.
8123         (func_get_automake_snippet, func_get_include_directive): Reduce code
8124         duplication.
8125         (func_modules_transitive_closure, func_modules_add_dummy,
8126         func_modules_notice, func_modules_to_filelist, func_add_file,
8127         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
8128         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
8129         func_create_testdir, func_create_megatestdir): Update documentation.
8130
8131 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8132
8133         * gnulib-tool (func_cache_lookup_module): Store the module name
8134         belonging to the cache variable; error out if two different
8135         module names map to the same cache variable name.
8136
8137 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8138
8139         gnulib-tool: Make caching optional.
8140         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
8141         Update matching short versions of --no-changelog.
8142         (func_usage): Update.
8143         (sed_extract_cache_prog): Renamed from ...
8144         (sed_extract_prog): ... this; revert to old extraction script.
8145         (func_get_description, func_get_status)
8146         (func_get_notice, func_get_applicability, func_get_filelist)
8147         (func_get_dependencies, func_get_autoconf_early_snippet)
8148         (func_get_autoconf_snippet, func_get_automake_snippet)
8149         (func_get_include_directive, func_get_link_directive)
8150         (func_get_license, func_get_maintainer): If $do_cache is false,
8151         use old, non-caching extraction scripts.
8152         Suggestion by Bruno Haible.
8153
8154 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8155
8156         gnulib-tool: cache module metainformation.
8157         * gnulib-tool (sed_extract_prog): Match newline before each
8158         header, and rewrite header to a shell variable suffix.
8159         (func_cache_var, func_cache_lookup_module): New functions,
8160         to turn a module name into a cache variable prefix, and to
8161         look up and cache module metainformation.
8162         (func_get_description, func_get_status)
8163         (func_get_notice, func_get_applicability, func_get_filelist)
8164         (func_get_dependencies, func_get_autoconf_early_snippet)
8165         (func_get_autoconf_snippet, func_get_automake_snippet)
8166         (func_get_include_directive, func_get_link_directive)
8167         (func_get_license, func_get_maintainer): Use
8168         func_cache_lookup_module.
8169
8170 2010-02-07  Bruno Haible  <bruno@clisp.org>
8171
8172         fnctl: Fix missing dependency.
8173         * modules/fcntl (Depends-on): Add getdtablesize.
8174         Reported by John W. Eaton <jwe@gnu.org>.
8175
8176 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8177
8178         Argp: fix recognition of short alias options.
8179
8180         * lib/argp-parse.c (convert_options): Fix improper use of
8181         `|' between character values.
8182         * tests/test-argp.c (group1_option): New alias option
8183         --read (-r).
8184         (group1_parser): Special handling for 'r'.
8185         (test15): New test case.
8186         (test_fun): Add test15.
8187         * tests/test-argp-2.sh: Update expected --help and --usage
8188         outputs.
8189
8190 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8191
8192         * tests/test-argp.c: Fix indentation.
8193
8194 2010-02-04  Eric Blake  <ebb9@byu.net>
8195
8196         gettimeofday: expose type of second argument
8197         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
8198         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
8199         * tests/test-gettimeofday.c: Use it to silence warning.
8200         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
8201         the issue.
8202
8203 2010-02-03  Jim Meyering  <meyering@redhat.com>
8204
8205         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
8206         * lib/regcomp.c (TYPE_SIGNED): Define.
8207         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
8208
8209         regcomp.c: avoid a new -Wshadow warning
8210         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
8211
8212 2010-02-01  Jim Meyering  <meyering@redhat.com>
8213
8214         removing useless parentheses in cpp #define directives
8215         For motivation, see commit c0221df4, "define STREQ(a,b)
8216         consistently, removing useless parentheses"
8217         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
8218         * lib/mountlist.c (MNT_IGNORE): Likewise.
8219         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
8220
8221 2010-02-01  Eric Blake  <ebb9@byu.net>
8222
8223         sys_time: use link-warning
8224         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
8225         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
8226         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
8227         * modules/sys_time (Depends-on): Add warn-on-use.
8228         (Makefile.am): Always build replacement.
8229         (configure.ac): Update substitutions.
8230         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
8231         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
8232         bother with SYS_TIME_H.
8233         * modules/gettimeofday (configure.ac): Declare indicator.
8234         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
8235         in use.
8236
8237         closein-tests: silence compiler warning
8238         * tests/test-closein.c (main): Ignore fread result.
8239         * modules/closein-tests (Depends-on): Add ignore-value.
8240
8241         tests: silence warning about system return
8242         * tests/test-areadlink-with-size.c (main): Ignore system result.
8243         * tests/test-areadlink.c (main): Likewise.
8244         * tests/test-areadlinkat-with-size.c (main): Likewise.
8245         * tests/test-areadlinkat.c (main): Likewise.
8246         * tests/test-canonicalize-lgpl.c (main): Likewise.
8247         * tests/test-canonicalize.c (main): Likewise.
8248         * tests/test-chown.c (main): Likewise.
8249         * tests/test-fchownat.c (main): Likewise.
8250         * tests/test-fdutimensat.c (main): Likewise.
8251         * tests/test-fstatat.c (main): Likewise.
8252         * tests/test-futimens.c (main): Likewise.
8253         * tests/test-lchown.c (main): Likewise.
8254         * tests/test-link.c (main): Likewise.
8255         * tests/test-linkat.c (main): Likewise.
8256         * tests/test-lstat.c (main): Likewise.
8257         * tests/test-mkdir.c (main): Likewise.
8258         * tests/test-mkdirat.c (main): Likewise.
8259         * tests/test-mkfifo.c (main): Likewise.
8260         * tests/test-mkfifoat.c (main): Likewise.
8261         * tests/test-mknod.c (main): Likewise.
8262         * tests/test-readlink.c (main): Likewise.
8263         * tests/test-remove.c (main): Likewise.
8264         * tests/test-rename.c (main): Likewise.
8265         * tests/test-renameat.c (main): Likewise.
8266         * tests/test-rmdir.c (main): Likewise.
8267         * tests/test-symlink.c (main): Likewise.
8268         * tests/test-symlinkat.c (main): Likewise.
8269         * tests/test-unlink.c (main): Likewise.
8270         * tests/test-unlinkat.c (main): Likewise.
8271         * tests/test-utimens.c (main): Likewise.
8272         * tests/test-utimensat.c (main): Likewise.
8273         * modules/areadlink-tests (Depends-on): Add ignore-value.
8274         * modules/areadlink-with-size-tests (Depends-on): Likewise.
8275         * modules/areadlinkat-tests (Depends-on): Likewise.
8276         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
8277         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8278         * modules/canonicalize-tests (Depends-on): Likewise.
8279         * modules/chown-tests (Depends-on): Likewise.
8280         * modules/fdutimensat-tests (Depends-on): Likewise.
8281         * modules/futimens-tests (Depends-on): Likewise.
8282         * modules/lchown-tests (Depends-on): Likewise.
8283         * modules/link-tests (Depends-on): Likewise.
8284         * modules/linkat-tests (Depends-on): Likewise.
8285         * modules/lstat-tests (Depends-on): Likewise.
8286         * modules/mkdir-tests (Depends-on): Likewise.
8287         * modules/mkfifo-tests (Depends-on): Likewise.
8288         * modules/mkfifoat-tests (Depends-on): Likewise.
8289         * modules/mknod-tests (Depends-on): Likewise.
8290         * modules/openat-tests (Depends-on): Likewise.
8291         * modules/readlink-tests (Depends-on): Likewise.
8292         * modules/remove-tests (Depends-on): Likewise.
8293         * modules/rename-tests (Depends-on): Likewise.
8294         * modules/renameat-tests (Depends-on): Likewise.
8295         * modules/rmdir-tests (Depends-on): Likewise.
8296         * modules/symlink-tests (Depends-on): Likewise.
8297         * modules/symlinkat-tests (Depends-on): Likewise.
8298         * modules/unlink-tests (Depends-on): Likewise.
8299         * modules/utimens-tests (Depends-on): Likewise.
8300         * modules/utimensat-tests (Depends-on): Likewise.
8301
8302 2010-01-31  Bruno Haible  <bruno@clisp.org>
8303
8304         Perform the same test for many <math.h> functions.
8305         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
8306         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
8307         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
8308         of gl_MATHFUNC.
8309         * modules/acos (configure.ac): Likewise.
8310         * modules/asin (configure.ac): Likewise.
8311         * modules/atan (configure.ac): Likewise.
8312         * modules/atan2 (configure.ac): Likewise.
8313         * modules/cbrt (configure.ac): Likewise.
8314         * modules/copysign (configure.ac): Likewise.
8315         * modules/cos (configure.ac): Likewise.
8316         * modules/cosh (configure.ac): Likewise.
8317         * modules/erf (configure.ac): Likewise.
8318         * modules/erfc (configure.ac): Likewise.
8319         * modules/exp (configure.ac): Likewise.
8320         * modules/fmod (configure.ac): Likewise.
8321         * modules/hypot (configure.ac): Likewise.
8322         * modules/j0 (configure.ac): Likewise.
8323         * modules/j1 (configure.ac): Likewise.
8324         * modules/jn (configure.ac): Likewise.
8325         * modules/lgamma (configure.ac): Likewise.
8326         * modules/log (configure.ac): Likewise.
8327         * modules/log10 (configure.ac): Likewise.
8328         * modules/log1p (configure.ac): Likewise.
8329         * modules/pow (configure.ac): Likewise.
8330         * modules/remainder (configure.ac): Likewise.
8331         * modules/sin (configure.ac): Likewise.
8332         * modules/sinh (configure.ac): Likewise.
8333         * modules/tan (configure.ac): Likewise.
8334         * modules/tanh (configure.ac): Likewise.
8335         * modules/y0 (configure.ac): Likewise.
8336         * modules/y1 (configure.ac): Likewise.
8337         * modules/yn (configure.ac): Likewise.
8338         Suggested by Paolo Bonzini.
8339
8340 2010-01-31  Bruno Haible  <bruno@clisp.org>
8341
8342         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
8343
8344 2010-01-31  Bruno Haible  <bruno@clisp.org>
8345
8346         Work around getdelim() bug on FreeBSD 8.0.
8347         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
8348         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
8349         not work.
8350         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
8351         is 1.
8352         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
8353         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
8354         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
8355         a non-zero size.
8356         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
8357
8358 2010-01-31  Bruno Haible  <bruno@clisp.org>
8359
8360         Work around getline() bug on FreeBSD 8.0.
8361         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
8362         and a non-zero size.
8363         * tests/test-getline.c (main): Likewise.
8364         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
8365         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
8366
8367 2010-01-28  Eric Blake  <ebb9@byu.net>
8368
8369         regex: fix build failure
8370         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
8371         platforms.
8372
8373 2010-01-28  Jim Meyering  <meyering@redhat.com>
8374
8375         regex: do not ignore memory allocation failure
8376         * lib/regex_internal.c (create_cd_newstate): Detect
8377         re_node_set_init_copy failure.   Extracted from glibc commit
8378         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8379
8380         regex: sync more white-space changes from libc
8381         * lib/regex_internal.c: White-space only changes.
8382         * lib/regexec.c: Likewise.
8383
8384         regex: add many uses of __attribute_warn_unused_result__
8385         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
8386         * lib/regexec.c: Likewise.
8387         Extracted from a messy glibc commit.
8388
8389         regcomp.c: spelling and merge-artifact from glibc
8390         * lib/regcomp.c: Merge remainder of glibc's
8391         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8392
8393         regcomp.c: sync white-space changes from glibc
8394         * lib/regcomp.c: Merge to accommodate white space
8395         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8396
8397         regcomp.c: do not ignore internal return values
8398         * lib/regcomp.c: Do not ignore internal return values.
8399         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
8400         but without its white-space changes and spelling fixes.
8401
8402         regex_internal.h: define __attribute_warn_unused_result__
8403         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
8404
8405         maint: add a syntax-check rule to check for vulnerable Makefile.in
8406         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
8407
8408 2010-01-27  Jim Meyering  <meyering@redhat.com>
8409
8410         ncftpput-ftp: clean up spaces
8411         * build-aux/ncftpput-ftp: Make Copyright line consistent.
8412         Remove trailing blanks.
8413
8414 2010-01-27  Simon Josefsson  <simon@josefsson.org>
8415
8416         * build-aux/git-version-gen: Fix copyright statement.
8417         * build-aux/gnupload: Likewise.
8418         * tests/test-arcfour.c: Likewise.
8419         * tests/test-arctwo.c: Likewise.
8420         * tests/test-count-one-bits.c: Likewise.
8421         * tests/test-crc.c: Likewise.
8422         * tests/test-des.c: Likewise.
8423         * tests/test-gc-arcfour.c: Likewise.
8424         * tests/test-gc-arctwo.c: Likewise.
8425         * tests/test-gc-des.c: Likewise.
8426         * tests/test-gc-hmac-md5.c: Likewise.
8427         * tests/test-gc-hmac-sha1.c: Likewise.
8428         * tests/test-gc-md2.c: Likewise.
8429         * tests/test-gc-md4.c: Likewise.
8430         * tests/test-gc-md5.c: Likewise.
8431         * tests/test-gc-pbkdf2-sha1.c: Likewise.
8432         * tests/test-gc-rijndael.c: Likewise.
8433         * tests/test-gc-sha1.c: Likewise.
8434         * tests/test-gc.c: Likewise.
8435         * tests/test-gethostname.c: Likewise.
8436         * tests/test-gettimeofday.c: Likewise.
8437         * tests/test-hash.c: Likewise.
8438         * tests/test-hmac-md5.c: Likewise.
8439         * tests/test-hmac-sha1.c: Likewise.
8440         * tests/test-md2.c: Likewise.
8441         * tests/test-md4.c: Likewise.
8442         * tests/test-md5.c: Likewise.
8443         * tests/test-memchr.c: Likewise.
8444         * tests/test-memchr2.c: Likewise.
8445         * tests/test-memcmp.c: Likewise.
8446         * tests/test-memmem.c: Likewise.
8447         * tests/test-memrchr.c: Likewise.
8448         * tests/test-rawmemchr.c: Likewise.
8449         * tests/test-read-file.c: Likewise.
8450         * tests/test-rijndael.c: Likewise.
8451         * tests/test-sockets.c: Likewise.
8452         * tests/test-strchrnul.c: Likewise.
8453         * tests/test-strstr.c: Likewise.
8454         * tests/test-strtod.c: Likewise.
8455         * build-aux/ncftpput-ftp: Likewise.
8456
8457 2010-01-26  Eric Blake  <ebb9@byu.net>
8458
8459         ignore-value: update recommended header name
8460         * modules/ignore-value (Include): Only use <> for headers that
8461         exist in glibc.
8462
8463 2010-01-26  Jim Meyering  <meyering@redhat.com>
8464
8465         test-userspec.c: avoid compiler warnings
8466         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
8467         and "initialization discards qualifiers..." warnings.
8468         Put the first "uid" in its own scope, and make char* members "const".
8469
8470 2010-01-25  Bruno Haible  <bruno@clisp.org>
8471
8472         gnulib-tool: Make warning diagnostics consistent.
8473         * gnulib-tool (func_warning): New function.
8474         Use it everywhere where gnulib-tool produces output to stderr and it is
8475         not a fatal error.
8476
8477 2010-01-25  Bruno Haible  <bruno@clisp.org>
8478
8479         Fix test dependencies.
8480         * modules/xstrtol-tests (Depends-on): Add inttypes.
8481         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
8482
8483 2010-01-25 Pádraig Brady <P@draigBrady.com>
8484
8485         syntax-check: detect incorrect boolean macro values in config.h
8486         * modules/maintainer-makefile (configure.ac): Parameterize the location
8487         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
8488         The logic is from Eric Blake and the location indicated by Jim Meyering.
8489         Note the more natural CONFIG_HEADER name is prohibited by automake
8490         for backwards compatibility reasons.
8491         * top/maint.mk (sc_Wundef_boolean): New rule.
8492
8493 2010-01-25  Jim Meyering  <meyering@redhat.com>
8494
8495         bootstrap: detect MacOS 10.6's shasum, too
8496         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
8497         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
8498
8499 2010-01-23  Jim Meyering  <meyering@redhat.com>
8500
8501         xstrtoll: new module
8502         * modules/xstrtoll: New file.
8503         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
8504         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
8505         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
8506         ./configure fails if you use this module and lack "long long".
8507         * modules/xstrtoll-tests: New module.
8508         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
8509         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
8510         new init.sh-based test framework.
8511
8512 2010-01-24  Bruno Haible  <bruno@clisp.org>
8513
8514         Tests for module 'yn'.
8515         * modules/yn-tests: New file.
8516         * tests/test-yn.c: New file.
8517
8518         Tests for module 'y1'.
8519         * modules/y1-tests: New file.
8520         * tests/test-y1.c: New file.
8521
8522         Tests for module 'y0'.
8523         * modules/y0-tests: New file.
8524         * tests/test-y0.c: New file.
8525
8526         Tests for module 'tanh'.
8527         * modules/tanh-tests: New file.
8528         * tests/test-tanh.c: New file.
8529
8530         Tests for module 'tan'.
8531         * modules/tan-tests: New file.
8532         * tests/test-tan.c: New file.
8533
8534         Tests for module 'sqrt'.
8535         * modules/sqrt-tests: New file.
8536         * tests/test-sqrt.c: New file.
8537
8538         Tests for module 'sinh'.
8539         * modules/sinh-tests: New file.
8540         * tests/test-sinh.c: New file.
8541
8542         Tests for module 'sin'.
8543         * modules/sin-tests: New file.
8544         * tests/test-sin.c: New file.
8545
8546         Tests for module 'rint'.
8547         * modules/rint-tests: New file.
8548         * tests/test-rint.c: New file.
8549
8550         Tests for module 'remainder'.
8551         * modules/remainder-tests: New file.
8552         * tests/test-remainder.c: New file.
8553
8554         Tests for module 'pow'.
8555         * modules/pow-tests: New file.
8556         * tests/test-pow.c: New file.
8557
8558         Tests for module 'nextafter'.
8559         * modules/nextafter-tests: New file.
8560         * tests/test-nextafter.c: New file.
8561
8562         Tests for module 'modf'.
8563         * modules/modf-tests: New file.
8564         * tests/test-modf.c: New file.
8565
8566         Tests for module 'logb'.
8567         * modules/logb-tests: New file.
8568         * tests/test-logb.c: New file.
8569
8570         Tests for module 'log1p'.
8571         * modules/log1p-tests: New file.
8572         * tests/test-log1p.c: New file.
8573
8574         Tests for module 'log10'.
8575         * modules/log10-tests: New file.
8576         * tests/test-log10.c: New file.
8577
8578         Tests for module 'log'.
8579         * modules/log-tests: New file.
8580         * tests/test-log.c: New file.
8581
8582         Tests for module 'lgamma'.
8583         * modules/lgamma-tests: New file.
8584         * tests/test-lgamma.c: New file.
8585
8586         Tests for module 'ldexp'.
8587         * modules/ldexp-tests: New file.
8588         * tests/test-ldexp.c: New file.
8589
8590         Tests for module 'jn'.
8591         * modules/jn-tests: New file.
8592         * tests/test-jn.c: New file.
8593
8594         Tests for module 'j1'.
8595         * modules/j1-tests: New file.
8596         * tests/test-j1.c: New file.
8597
8598         Tests for module 'j0'.
8599         * modules/j0-tests: New file.
8600         * tests/test-j0.c: New file.
8601
8602         Tests for module 'hypot'.
8603         * modules/hypot-tests: New file.
8604         * tests/test-hypot.c: New file.
8605
8606         Tests for module 'fmod'.
8607         * modules/fmod-tests: New file.
8608         * tests/test-fmod.c: New file.
8609
8610         Tests for module 'fabs'.
8611         * modules/fabs-tests: New file.
8612         * tests/test-fabs.c: New file.
8613
8614         Tests for module 'exp'.
8615         * modules/exp-tests: New file.
8616         * tests/test-exp.c: New file.
8617
8618         Tests for module 'erfc'.
8619         * modules/erfc-tests: New file.
8620         * tests/test-erfc.c: New file.
8621
8622         Tests for module 'erf'.
8623         * modules/erf-tests: New file.
8624         * tests/test-erf.c: New file.
8625
8626         Tests for module 'cosh'.
8627         * modules/cosh-tests: New file.
8628         * tests/test-cosh.c: New file.
8629
8630         Tests for module 'cos'.
8631         * modules/cos-tests: New file.
8632         * tests/test-cos.c: New file.
8633
8634         Tests for module 'copysign'.
8635         * modules/copysign-tests: New file.
8636         * tests/test-copysign.c: New file.
8637
8638         Tests for module 'cbrt'.
8639         * modules/cbrt-tests: New file.
8640         * tests/test-cbrt.c: New file.
8641
8642         Tests for module 'atan2'.
8643         * modules/atan2-tests: New file.
8644         * tests/test-atan2.c: New file.
8645
8646         Tests for module 'atan'.
8647         * modules/atan-tests: New file.
8648         * tests/test-atan.c: New file.
8649
8650         Tests for module 'asin'.
8651         * modules/asin-tests: New file.
8652         * tests/test-asin.c: New file.
8653
8654         Tests for module 'acos'.
8655         * modules/acos-tests: New file.
8656         * tests/test-acos.c: New file.
8657
8658 2010-01-24  Bruno Haible  <bruno@clisp.org>
8659
8660         Fix tests for common <math.h> functions.
8661         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
8662         code snippet that references the function pointer, rather than merely
8663         calling the function. Substitute the FUNC_LIBM variable.
8664         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
8665         * modules/acos (configure.ac): Likewise.
8666         * modules/asin (configure.ac): Likewise.
8667         * modules/atan (configure.ac): Likewise.
8668         * modules/atan2 (configure.ac): Likewise.
8669         * modules/cbrt (configure.ac): Likewise.
8670         * modules/copysign (configure.ac): Likewise.
8671         * modules/cos (configure.ac): Likewise.
8672         * modules/cosh (configure.ac): Likewise.
8673         * modules/erf (configure.ac): Likewise.
8674         * modules/erfc (configure.ac): Likewise.
8675         * modules/exp (configure.ac): Likewise.
8676         * modules/fabs (configure.ac): Likewise.
8677         * modules/fmod (configure.ac): Likewise.
8678         * modules/hypot (configure.ac): Likewise.
8679         * modules/j0 (configure.ac): Likewise.
8680         * modules/j1 (configure.ac): Likewise.
8681         * modules/jn (configure.ac): Likewise.
8682         * modules/ldexp (configure.ac): Likewise.
8683         * modules/lgamma (configure.ac): Likewise.
8684         * modules/log (configure.ac): Likewise.
8685         * modules/log10 (configure.ac): Likewise.
8686         * modules/log1p (configure.ac): Likewise.
8687         * modules/logb (configure.ac): Likewise.
8688         * modules/modf (configure.ac): Likewise.
8689         * modules/nextafter (configure.ac): Likewise.
8690         * modules/pow (configure.ac): Likewise.
8691         * modules/remainder (configure.ac): Likewise.
8692         * modules/rint (configure.ac): Likewise.
8693         * modules/sin (configure.ac): Likewise.
8694         * modules/sinh (configure.ac): Likewise.
8695         * modules/tan (configure.ac): Likewise.
8696         * modules/tanh (configure.ac): Likewise.
8697         * modules/y0 (configure.ac): Likewise.
8698         * modules/y1 (configure.ac): Likewise.
8699         * modules/yn (configure.ac): Likewise.
8700
8701 2010-01-24  Bruno Haible  <bruno@clisp.org>
8702
8703         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
8704         * tests/test-acosl.c (x): New variable.
8705         (main): Store argument in x and fetch it from x.
8706         * tests/test-asinl.c (x): New variable.
8707         (main): Store argument in x and fetch it from x.
8708         * tests/test-atanl.c (x): New variable.
8709         (main): Store argument in x and fetch it from x.
8710         * tests/test-cosl.c (x): New variable.
8711         (main): Store argument in x and fetch it from x.
8712         * tests/test-expl.c (x): New variable.
8713         (main): Store argument in x and fetch it from x.
8714         * tests/test-logl.c (x): New variable.
8715         (main): Store argument in x and fetch it from x.
8716         * tests/test-sinl.c (x): New variable.
8717         (main): Store argument in x and fetch it from x.
8718         * tests/test-sqrtl.c (x): New variable.
8719         (main): Store argument in x and fetch it from x.
8720         * tests/test-tanl.c (x): New variable.
8721         (main): Store argument in x and fetch it from x.
8722
8723 2010-01-24  Bruno Haible  <bruno@clisp.org>
8724
8725         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
8726         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
8727         assignments to the initial TESTS_ENVIRONMENT.
8728         * doc/gnulib.texi (Unit test modules): Document it.
8729         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
8730         TESTS_ENVIRONMENT.
8731         * modules/btowc-tests (Makefile.am): Likewise.
8732         * modules/c-stack-tests (Makefile.am): Likewise.
8733         * modules/c-strcase-tests (Makefile.am): Likewise.
8734         * modules/copy-file-tests (Makefile.am): Likewise.
8735         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
8736         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
8737         * modules/mbrtowc-tests (Makefile.am): Likewise.
8738         * modules/mbscasecmp-tests (Makefile.am): Likewise.
8739         * modules/mbscasestr-tests (Makefile.am): Likewise.
8740         * modules/mbschr-tests (Makefile.am): Likewise.
8741         * modules/mbscspn-tests (Makefile.am): Likewise.
8742         * modules/mbsinit-tests (Makefile.am): Likewise.
8743         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
8744         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
8745         * modules/mbspbrk-tests (Makefile.am): Likewise.
8746         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
8747         * modules/mbsrchr-tests (Makefile.am): Likewise.
8748         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
8749         * modules/mbsspn-tests (Makefile.am): Likewise.
8750         * modules/mbsstr-tests (Makefile.am): Likewise.
8751         * modules/nl_langinfo-tests (Makefile.am): Likewise.
8752         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
8753         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
8754         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
8755         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
8756         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
8757         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
8758         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
8759         * modules/wcrtomb-tests (Makefile.am): Likewise.
8760         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
8761         * modules/wcsrtombs-tests (Makefile.am): Likewise.
8762         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
8763         assignments from TESTS_ENVIRONMENT.
8764         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
8765         augmentation.
8766         * modules/argp-version-etc-tests (Makefile.am): Likewise.
8767         * modules/atexit-tests (Makefile.am): Likewise.
8768         * modules/binary-io-tests (Makefile.am): Likewise.
8769         * modules/closein-tests (Makefile.am): Likewise.
8770         * modules/dprintf-posix-tests (Makefile.am): Likewise.
8771         * modules/exclude-tests (Makefile.am): Likewise.
8772         * modules/fflush-tests (Makefile.am): Likewise.
8773         * modules/fpending-tests (Makefile.am): Likewise.
8774         * modules/fprintf-posix-tests (Makefile.am): Likewise.
8775         * modules/freadahead-tests (Makefile.am): Likewise.
8776         * modules/freadptr-tests (Makefile.am): Likewise.
8777         * modules/freadseek-tests (Makefile.am): Likewise.
8778         * modules/fseek-tests (Makefile.am): Likewise.
8779         * modules/fseeko-tests (Makefile.am): Likewise.
8780         * modules/ftell-tests (Makefile.am): Likewise.
8781         * modules/ftello-tests (Makefile.am): Likewise.
8782         * modules/idpriv-drop-tests (Makefile.am): Likewise.
8783         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
8784         * modules/lseek-tests (Makefile.am): Likewise.
8785         * modules/parse-duration-tests (Makefile.am): Likewise.
8786         * modules/perror-tests (Makefile.am): Likewise.
8787         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
8788         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
8789         * modules/pipe-tests (Makefile.am): Likewise.
8790         * modules/pread-tests (Makefile.am): Likewise.
8791         * modules/printf-posix-tests (Makefile.am): Likewise.
8792         * modules/select-tests (Makefile.am): Likewise.
8793         * modules/sigpipe-tests (Makefile.am): Likewise.
8794         * modules/tsearch-tests (Makefile.am): Likewise.
8795         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
8796         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
8797         * modules/uniname/uniname-tests (Makefile.am): Likewise.
8798         * modules/uniwidth/width-tests (Makefile.am): Likewise.
8799         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
8800         * modules/version-etc-tests (Makefile.am): Likewise.
8801         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
8802         * modules/vprintf-posix-tests (Makefile.am): Likewise.
8803         * modules/xalloc-die-tests (Makefile.am): Likewise.
8804         * modules/xprintf-posix-tests (Makefile.am): Likewise.
8805         * modules/xstrtoimax-tests (Makefile.am): Likewise.
8806         * modules/xstrtol-tests (Makefile.am): Likewise.
8807         * modules/xstrtoumax-tests (Makefile.am): Likewise.
8808         * modules/yesno-tests (Makefile.am): Likewise.
8809         Suggested by Jim Meyering.
8810
8811 2010-01-24  Bruno Haible  <bruno@clisp.org>
8812
8813         More documentation.
8814         * doc/gnulib.texi (Writing modules): New chapter.
8815         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
8816         the new chapter.
8817
8818 2010-01-24  Jim Meyering  <meyering@redhat.com>
8819
8820         maint.mk: do not prepend "./" after filtering
8821         * top/maint.mk (_prepend_srcdir_prefix): New variable
8822         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
8823         "./" when $(srcdir) is ".".
8824
8825         define STREQ(a,b) consistently, removing useless parentheses
8826         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
8827         since the only risk is that "a" or "b" contains an unparenthesized
8828         comma, but if either did that, STREQ would have 3 or more arguments.
8829         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
8830         * lib/fts.c (STREQ): Remove unnecessary parentheses.
8831         * lib/hash-triple.c (STREQ): Likewise.
8832         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
8833         * lib/getugroups.c (STREQ): Likewise.
8834
8835 2010-01-23  Jim Meyering  <meyering@redhat.com>
8836
8837         maint.mk: fix syntax-check in a non-srcdir build directory
8838         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
8839         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
8840
8841 2010-01-22  Jim Meyering  <meyering@redhat.com>
8842
8843         userspec: add unit tests
8844         * tests/test-userspec.c: New file.
8845         * modules/userspec-tests: Likewise.
8846
8847 2010-01-21  Jim Meyering  <meyering@redhat.com>
8848
8849         maint.mk: handle source file names containing "." robustly
8850         * top/maint.mk (_dot_escaped_srcdir): Define.
8851         (VC_LIST): Use it in LHS of sed substitution.
8852
8853 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
8854
8855         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
8856         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
8857         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
8858         from a non-srcdir build.
8859
8860 2010-01-20  Eric Blake  <ebb9@byu.net>
8861
8862         warn-on-use: use instead of link-warning
8863         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
8864         * modules/unistd (Depends-on, Makefile.am): Likewise.
8865         * modules/arpa_inet (Depends-on): Replace link-warning with
8866         warn-on-use.
8867         (Makefile.am): Update rules accordingly.
8868         * modules/ctype (Depends-on, Makefile.am): Likewise.
8869         * modules/dirent (Depends-on, Makefile.am): Likewise.
8870         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
8871         * modules/inttypes (Depends-on, Makefile.am): Likewise.
8872         * modules/langinfo (Depends-on, Makefile.am): Likewise.
8873         * modules/locale (Depends-on, Makefile.am): Likewise.
8874         * modules/math (Depends-on, Makefile.am): Likewise.
8875         * modules/search (Depends-on, Makefile.am): Likewise.
8876         * modules/signal (Depends-on, Makefile.am): Likewise.
8877         * modules/spawn (Depends-on, Makefile.am): Likewise.
8878         * modules/stdlib (Depends-on, Makefile.am): Likewise.
8879         * modules/string (Depends-on, Makefile.am): Likewise.
8880         * modules/strings (Depends-on, Makefile.am): Likewise.
8881         * modules/sys_file (Depends-on, Makefile.am): Likewise.
8882         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
8883         * modules/sys_select (Depends-on, Makefile.am): Likewise.
8884         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
8885         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
8886         * modules/sys_times (Depends-on, Makefile.am): Likewise.
8887         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
8888         * modules/wchar (Depends-on, Makefile.am): Likewise.
8889         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
8890         should be poisoned.
8891         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
8892         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
8893         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
8894         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8895         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
8896         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8897         * m4/math_h.m4 (gl_MATH_H): Likewise.
8898         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8899         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8900         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8901         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
8902         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
8903         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
8904         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
8905         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
8906         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
8907         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8908         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8909         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8910         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8911         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8912         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8913         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8914         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
8915         GL_LINK_WARNING.
8916         * lib/ctype.in.h: Likewise.
8917         * lib/dirent.in.h: Likewise.
8918         * lib/fcntl.in.h: Likewise.
8919         * lib/inttypes.in.h: Likewise.
8920         * lib/langinfo.in.h: Likewise.
8921         * lib/locale.in.h: Likewise.
8922         * lib/math.in.h: Likewise.
8923         * lib/search.in.h: Likewise.
8924         * lib/signal.in.h: Likewise.
8925         * lib/spawn.in.h: Likewise.
8926         * lib/stdio.in.h: Likewise.
8927         * lib/stdlib.in.h: Likewise.
8928         * lib/string.in.h: Likewise.
8929         * lib/strings.in.h: Likewise.
8930         * lib/sys_file.in.h: Likewise.
8931         * lib/sys_ioctl.in.h: Likewise.
8932         * lib/sys_select.in.h: Likewise.
8933         * lib/sys_socket.in.h: Likewise.
8934         * lib/sys_stat.in.h: Likewise.
8935         * lib/sys_times.in.h: Likewise.
8936         * lib/sys_utsname.in.h: Likewise.
8937         * lib/unistd.in.h: Likewise.
8938         * lib/wchar.in.h: Likewise.
8939
8940 2010-01-20  Bruno Haible  <bruno@clisp.org>
8941
8942         Avoid duplicate -lm.
8943         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
8944         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
8945         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
8946         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
8947         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
8948         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
8949         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
8950         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
8951         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
8952         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
8953         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
8954         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8955         Reported by Paolo Bonzini.
8956
8957 2010-01-19  Bruno Haible  <bruno@clisp.org>
8958
8959         langinfo, nl_langinfo: Relicense under LGPLv2+.
8960         * modules/langinfo (License): Change to LGPLv2+.
8961         * modules/nl_langinfo (License): Likewise.
8962         Patch by David Lutterkort <lutter@redhat.com>.
8963
8964 2010-01-19  Bruno Haible  <bruno@clisp.org>
8965
8966         Avoid compilation error with cc on OSF/1 5.1.
8967         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
8968         statement, not before.
8969         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8970
8971 2010-01-18  Bruno Haible  <bruno@clisp.org>
8972
8973         Avoid a link error due to the __printf__ symbol.
8974         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
8975         and 2.6.x.
8976         (__format__, __printf__): Remove definitions.
8977         * lib/argp-fmtstream.h: Likewise.
8978         * lib/argp.h: Likewise.
8979         * lib/error.h: Likewise.
8980         * lib/vasnprintf.h: Likewise.
8981         * lib/xprintf.h: Likewise.
8982         * lib/xvasprintf.h: Likewise.
8983         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8984
8985 2010-01-18  Bruno Haible  <bruno@clisp.org>
8986
8987         Tests for module 'tanl'.
8988         * modules/tanl-tests: New file.
8989         * tests/test-tanl.c: New file.
8990
8991         Tests for module 'sqrtl'.
8992         * modules/sqrtl-tests: New file.
8993         * tests/test-sqrtl.c: New file.
8994
8995         Tests for module 'sinl'.
8996         * modules/sinl-tests: New file.
8997         * tests/test-sinl.c: New file.
8998
8999         Tests for module 'logl'.
9000         * modules/logl-tests: New file.
9001         * tests/test-logl.c: New file.
9002
9003         Tests for module 'expl'.
9004         * modules/expl-tests: New file.
9005         * tests/test-expl.c: New file.
9006
9007         Tests for module 'cosl'.
9008         * modules/cosl-tests: New file.
9009         * tests/test-cosl.c: New file.
9010
9011         Tests for module 'atanl'.
9012         * modules/atanl-tests: New file.
9013         * tests/test-atanl.c: New file.
9014
9015         Tests for module 'asinl'.
9016         * modules/asinl-tests: New file.
9017         * tests/test-asinl.c: New file.
9018
9019         Tests for module 'acosl'.
9020         * modules/acosl-tests: New file.
9021         * tests/test-acosl.c: New file.
9022
9023         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
9024         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
9025         tanl): Use the standard gnulib idiom.
9026         * lib/cosl.c: Don't include trigl.c and sincosl.c.
9027         * lib/sinl.c: Likewise.
9028         * lib/tanl.c: Don't include trigl.c.
9029         (kernel_tanl): Make static.
9030         * lib/sincosl.c: Include trigl.h first.
9031         * lib/trigl.c: Likewise.
9032         * m4/acosl.m4: New file.
9033         * m4/asinl.m4: New file.
9034         * m4/atanl.m4: New file.
9035         * m4/cosl.m4: New file.
9036         * m4/expl.m4: New file.
9037         * m4/logl.m4: New file.
9038         * m4/sinl.m4: New file.
9039         * m4/sqrtl.m4: New file.
9040         * m4/tanl.m4: New file.
9041         * m4/mathl.m4: Remove file.
9042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
9043         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
9044         Don't initialize GNULIB_MATHL.
9045         * modules/acosl: New file.
9046         * modules/asinl: New file.
9047         * modules/atanl: New file.
9048         * modules/cosl: New file.
9049         * modules/expl: New file.
9050         * modules/logl: New file.
9051         * modules/sinl: New file.
9052         * modules/sqrtl: New file.
9053         * modules/tanl: New file.
9054         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
9055         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
9056         substitute GNULIB_MATHL.
9057         * modules/mathl: Rewritten.
9058         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
9059         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
9060         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
9061         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
9062         * doc/posix-functions/expl.texi: Mention the 'expl' module.
9063         * doc/posix-functions/logl.texi: Mention the 'logl' module.
9064         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
9065         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
9066         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
9067
9068 2010-01-18  Bruno Haible  <bruno@clisp.org>
9069
9070         sqrt: Make gl_FUNC_SQRT requirable.
9071         * m4/sqrt.m4: New file.
9072         * modules/sqrt (Files): Add it.
9073         (configure.ac): Invoke gl_FUNC_SQRT.
9074
9075 2010-01-18  Bruno Haible  <bruno@clisp.org>
9076
9077         New modules for common <math.h> functions.
9078         * m4/mathfunc.m4: New file.
9079         * modules/acos: New file.
9080         * modules/asin: New file.
9081         * modules/atan: New file.
9082         * modules/atan2: New file.
9083         * modules/cbrt: New file.
9084         * modules/copysign: New file.
9085         * modules/cos: New file.
9086         * modules/cosh: New file.
9087         * modules/erf: New file.
9088         * modules/erfc: New file.
9089         * modules/exp: New file.
9090         * modules/fabs: New file.
9091         * modules/fmod: New file.
9092         * modules/hypot: New file.
9093         * modules/j0: New file.
9094         * modules/j1: New file.
9095         * modules/jn: New file.
9096         * modules/ldexp: New file.
9097         * modules/lgamma: New file.
9098         * modules/log: New file.
9099         * modules/log10: New file.
9100         * modules/log1p: New file.
9101         * modules/logb: New file.
9102         * modules/modf: New file.
9103         * modules/nextafter: New file.
9104         * modules/pow: New file.
9105         * modules/remainder: New file.
9106         * modules/rint: New file.
9107         * modules/sin: New file.
9108         * modules/sinh: New file.
9109         * modules/sqrt: New file.
9110         * modules/tan: New file.
9111         * modules/tanh: New file.
9112         * modules/y0: New file.
9113         * modules/y1: New file.
9114         * modules/yn: New file.
9115         * doc/posix-functions/acos.texi: Mention the 'acos' module.
9116         * doc/posix-functions/asin.texi: Mention the 'asin' module.
9117         * doc/posix-functions/atan.texi: Mention the 'atan' module.
9118         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
9119         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
9120         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
9121         * doc/posix-functions/cos.texi: Mention the 'cos' module.
9122         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
9123         * doc/posix-functions/erf.texi: Mention the 'erf' module.
9124         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
9125         * doc/posix-functions/exp.texi: Mention the 'exp' module.
9126         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
9127         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
9128         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
9129         * doc/posix-functions/j0.texi: Mention the 'j0' module.
9130         * doc/posix-functions/j1.texi: Mention the 'j1' module.
9131         * doc/posix-functions/jn.texi: Mention the 'jn' module.
9132         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
9133         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
9134         * doc/posix-functions/log.texi: Mention the 'log' module.
9135         * doc/posix-functions/log10.texi: Mention the 'log10' module.
9136         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
9137         * doc/posix-functions/logb.texi: Mention the 'logb' module.
9138         * doc/posix-functions/modf.texi: Mention the 'modf' module.
9139         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
9140         * doc/posix-functions/pow.texi: Mention the 'pow' module.
9141         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
9142         * doc/posix-functions/rint.texi: Mention the 'rint' module.
9143         * doc/posix-functions/sin.texi: Mention the 'sin' module.
9144         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
9145         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
9146         * doc/posix-functions/tan.texi: Mention the 'tan' module.
9147         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
9148         * doc/posix-functions/y0.texi: Mention the 'y0' module.
9149         * doc/posix-functions/y1.texi: Mention the 'y1' module.
9150         * doc/posix-functions/yn.texi: Mention the 'yn' module.
9151
9152 2010-01-18  Jim Meyering  <meyering@redhat.com>
9153
9154         ignore-value: relax license to LGPLv2+
9155         * modules/ignore-value (License): Relax to LGPLv2+.
9156
9157         getdate: don't leak when TZ contains two or more '"'s
9158         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
9159         double quote in TZ after the first one.
9160
9161         readtokens: do not leak internal token_lengths buffer
9162         * lib/readtokens.c (readtokens): Free the local, lengths,
9163         when the supplied "token_lengths" parameter is NULL.
9164
9165 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9166
9167         Fix a couple of missing LIBTHREAD link failures on AIX.
9168         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
9169         $(LIBTHREAD).
9170         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
9171
9172         Link test-poll against INET_PTON_LIB.
9173         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
9174         for inet_pton on Solaris 10.
9175
9176 2010-01-17  Bruno Haible  <bruno@clisp.org>
9177
9178         unistdio/*-sprintf: Fix typo in module description.
9179         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
9180         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
9181         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
9182         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
9183         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
9184         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
9185         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
9186         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9187
9188 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9189
9190         gnulib-tool: fix filelist for AIX, HP-UX ksh.
9191         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
9192         variables in shell case patterns, for AIX and HP-UX ksh.
9193
9194         Split large sed scripts, for HP-UX sed.
9195         * modules/stdio: Split sed scripts around 50 sed commands,
9196         to avoid HP-UX limit of 99 commands, in the near future.
9197         * modules/string: Likewise.
9198         * modules/unistd: Likewise.
9199
9200         gnulib-tool: avoid writing in the current directory.
9201         * gnulib-tool (func_emit_lib_Makefile_am)
9202         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
9203         not in the current directory, so concurrent gnulib-tool
9204         instances do not interfere.
9205
9206 2010-01-16  Jim Meyering  <meyering@redhat.com>
9207
9208         doc: update users.txt
9209         * users.txt: Add grep.
9210         (diffutils, gzip): Update URLs.
9211
9212 2010-01-12  Bruno Haible  <bruno@clisp.org>
9213
9214         posix_spawn: Avoid test failure on Cygwin.
9215         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
9216         characters.
9217         Reported by Simon Josefsson.
9218
9219 2010-01-12  Bruno Haible  <bruno@clisp.org>
9220
9221         * tests/test-cond.c (main): When skipping the test, show the reason.
9222
9223 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9224
9225         * lib/striconv.c (str_cd_iconv): Avoid if before free.
9226
9227 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9228
9229         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
9230         VC_LIST_ALWAYS_EXCLUDE_REGEX.
9231
9232 2010-01-12  Eric Blake  <ebb9@byu.net>
9233
9234         build: guarantee AS_VAR_IF
9235         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
9236         (gl_AS_VAR_IF): Move...
9237         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
9238         Reported by Simon Josefsson.
9239
9240 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9241
9242         * lib/stdio.in.h: Fix typo.
9243
9244 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9245
9246         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
9247         libgpg-error.
9248
9249 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9250
9251         * tests/test-xalloc-die.sh: Use $EXEEXT.
9252
9253 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9254             Bruno Haible  <bruno@clisp.org>
9255
9256         getlogin, getlogin_r: Avoid test failure.
9257         * tests/test-getlogin.c: Include <stdio.h>.
9258         (main): Skip the test when the function fails because stdin is not a
9259         tty.
9260         * tests/test-getlogin_r.c: Include <stdio.h>.
9261         (main): Skip the test when the function fails because stdin is not a
9262         tty.
9263
9264 2010-01-11  Eric Blake  <ebb9@byu.net>
9265
9266         tests: avoid more large file warnings
9267         * tests/test-fflush.c: Avoid warning about ftell use.
9268         * tests/test-fseek.c: Avoid warning about fseek use.
9269
9270 2010-01-10  Bruno Haible  <bruno@clisp.org>
9271
9272         nproc: Work better on Linux when /proc and /sys are not mounted.
9273         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
9274         as lower bound when, on glibc/Linux systems,
9275         sysconf (_SC_NPROCESSORS_CONF) returns 1.
9276         Suggested by Pádraig Brady <P@draigbrady.com>.
9277         Reported by Dmitry V. Levin <ldv@altlinux.org>.
9278
9279         nproc: Refactor.
9280         * lib/nproc.c (num_processors_via_affinity_mask): New function,
9281         extracted from num_processors.
9282         (num_processors): Call it.
9283
9284 2010-01-11  Jim Meyering  <meyering@redhat.com>
9285
9286         utimecmp: avoid new warning from upcoming gcc-4.5.0
9287         * lib/utimecmp.c (BILLION): Define using #define rather than an
9288         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
9289
9290 2010-01-11  Eric Blake  <ebb9@byu.net>
9291
9292         math: add portability warnings for classification macros
9293         * modules/math (Depends-on): Add warn-on-use.
9294         (Makefile.am): Provide new substitutions.
9295         * m4/math_h.m4 (gl_MATH_H): Require inline.
9296         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
9297         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
9298         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
9299         implement warnings.
9300
9301         unistd: warn on use of environ without module
9302         * modules/unistd (Depends-on): Add warn-on-use.
9303         (Makefile.am): Provide new substitutions.
9304         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
9305         * lib/unistd.in.h (environ): Wrap with a warning helper function.
9306
9307         stdio: warn on suspicious uses
9308         * modules/stdio (Depends-on): Add warn-on-use.
9309         (Makefile.am): Provide new substitutions.
9310         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
9311         fseeko.
9312         * lib/stdio.in.h (gets): Always warn on use.
9313         (fseek, ftell): Adjust when warnings are issued, and honor
9314         _GL_NO_LARGE_FILES as a way to silence the warning.
9315         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
9316         any warning about large file offsets.
9317         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
9318         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
9319         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
9320         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
9321         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
9322         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
9323         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
9324         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
9325
9326         warn-on-use: new module
9327         * modules/warn-on-use: New file.
9328         * build-aux/warn-on-use.h: Likewise.
9329         * m4/warn-on-use.m4: Likewise.
9330         * MODULES.html.sh (Support for building): Mention it.
9331
9332 2010-01-10  Bruno Haible  <bruno@clisp.org>
9333
9334         Tests for module 'unistr/u32-strdup'.
9335         * modules/unistr/u32-strdup-tests: New file.
9336         * tests/unistr/test-u32-strdup.c: New file.
9337
9338         Tests for module 'unistr/u16-strdup'.
9339         * modules/unistr/u16-strdup-tests: New file.
9340         * tests/unistr/test-u16-strdup.c: New file.
9341
9342         Tests for module 'unistr/u8-strdup'.
9343         * modules/unistr/u8-strdup-tests: New file.
9344         * tests/unistr/test-u8-strdup.c: New file.
9345         * tests/unistr/test-strdup.h: New file.
9346
9347         Tests for module 'unistr/u32-strncmp'.
9348         * modules/unistr/u32-strncmp-tests: New file.
9349         * tests/unistr/test-u32-strncmp.c: New file.
9350
9351         Tests for module 'unistr/u16-strncmp'.
9352         * modules/unistr/u16-strncmp-tests: New file.
9353         * tests/unistr/test-u16-strncmp.c: New file.
9354
9355         Tests for module 'unistr/u8-strncmp'.
9356         * modules/unistr/u8-strncmp-tests: New file.
9357         * tests/unistr/test-u8-strncmp.c: New file.
9358         * tests/unistr/test-strncmp.h: New file.
9359
9360         Tests for module 'unistr/u32-strcoll'.
9361         * modules/unistr/u32-strcoll-tests: New file.
9362         * tests/unistr/test-u32-strcoll.c: New file.
9363
9364         Tests for module 'unistr/u16-strcoll'.
9365         * modules/unistr/u16-strcoll-tests: New file.
9366         * tests/unistr/test-u16-strcoll.c: New file.
9367
9368         Tests for module 'unistr/u8-strcoll'.
9369         * modules/unistr/u8-strcoll-tests: New file.
9370         * tests/unistr/test-u8-strcoll.c: New file.
9371
9372         Tests for module 'unistr/u32-strcmp'.
9373         * modules/unistr/u32-strcmp-tests: New file.
9374         * tests/unistr/test-u32-strcmp.c: New file.
9375         * tests/unistr/test-u32-strcmp.h: New file.
9376
9377         Tests for module 'unistr/u16-strcmp'.
9378         * modules/unistr/u16-strcmp-tests: New file.
9379         * tests/unistr/test-u16-strcmp.c: New file.
9380         * tests/unistr/test-u16-strcmp.h: New file.
9381
9382         Tests for module 'unistr/u8-strcmp'.
9383         * modules/unistr/u8-strcmp-tests: New file.
9384         * tests/unistr/test-u8-strcmp.c: New file.
9385         * tests/unistr/test-u8-strcmp.h: New file.
9386         * tests/unistr/test-strcmp.h: New file.
9387
9388         Tests for module 'unistr/u32-strncat'.
9389         * modules/unistr/u32-strncat-tests: New file.
9390         * tests/unistr/test-u32-strncat.c: New file.
9391
9392         Tests for module 'unistr/u16-strncat'.
9393         * modules/unistr/u16-strncat-tests: New file.
9394         * tests/unistr/test-u16-strncat.c: New file.
9395
9396         Tests for module 'unistr/u8-strncat'.
9397         * modules/unistr/u8-strncat-tests: New file.
9398         * tests/unistr/test-u8-strncat.c: New file.
9399         * tests/unistr/test-strncat.h: New file.
9400
9401         Tests for module 'unistr/u32-strcat'.
9402         * modules/unistr/u32-strcat-tests: New file.
9403         * tests/unistr/test-u32-strcat.c: New file.
9404
9405         Tests for module 'unistr/u16-strcat'.
9406         * modules/unistr/u16-strcat-tests: New file.
9407         * tests/unistr/test-u16-strcat.c: New file.
9408
9409         Tests for module 'unistr/u8-strcat'.
9410         * modules/unistr/u8-strcat-tests: New file.
9411         * tests/unistr/test-u8-strcat.c: New file.
9412         * tests/unistr/test-strcat.h: New file.
9413
9414         Tests for module 'unistr/u32-stpncpy'.
9415         * modules/unistr/u32-stpncpy-tests: New file.
9416         * tests/unistr/test-u32-stpncpy.c: New file.
9417
9418         Tests for module 'unistr/u16-stpncpy'.
9419         * modules/unistr/u16-stpncpy-tests: New file.
9420         * tests/unistr/test-u16-stpncpy.c: New file.
9421
9422         Tests for module 'unistr/u8-stpncpy'.
9423         * modules/unistr/u8-stpncpy-tests: New file.
9424         * tests/unistr/test-u8-stpncpy.c: New file.
9425         * tests/unistr/test-stpncpy.h: New file.
9426
9427         Tests for module 'unistr/u32-strncpy'.
9428         * modules/unistr/u32-strncpy-tests: New file.
9429         * tests/unistr/test-u32-strncpy.c: New file.
9430
9431         Tests for module 'unistr/u16-strncpy'.
9432         * modules/unistr/u16-strncpy-tests: New file.
9433         * tests/unistr/test-u16-strncpy.c: New file.
9434
9435         Tests for module 'unistr/u8-strncpy'.
9436         * modules/unistr/u8-strncpy-tests: New file.
9437         * tests/unistr/test-u8-strncpy.c: New file.
9438         * tests/unistr/test-strncpy.h: New file.
9439
9440         Tests for module 'unistr/u32-stpcpy'.
9441         * modules/unistr/u32-stpcpy-tests: New file.
9442         * tests/unistr/test-u32-stpcpy.c: New file.
9443
9444         Tests for module 'unistr/u16-stpcpy'.
9445         * modules/unistr/u16-stpcpy-tests: New file.
9446         * tests/unistr/test-u16-stpcpy.c: New file.
9447
9448         Tests for module 'unistr/u8-stpcpy'.
9449         * modules/unistr/u8-stpcpy-tests: New file.
9450         * tests/unistr/test-u8-stpcpy.c: New file.
9451         * tests/unistr/test-stpcpy.h: New file.
9452
9453         Tests for module 'unistr/u32-strcpy'.
9454         * modules/unistr/u32-strcpy-tests: New file.
9455         * tests/unistr/test-u32-strcpy.c: New file.
9456
9457         Tests for module 'unistr/u16-strcpy'.
9458         * modules/unistr/u16-strcpy-tests: New file.
9459         * tests/unistr/test-u16-strcpy.c: New file.
9460
9461         Tests for module 'unistr/u8-strcpy'.
9462         * modules/unistr/u8-strcpy-tests: New file.
9463         * tests/unistr/test-u8-strcpy.c: New file.
9464         * tests/unistr/test-strcpy.h: New file.
9465
9466         Tests for module 'unistr/u32-strnlen'.
9467         * modules/unistr/u32-strnlen-tests: New file.
9468         * tests/unistr/test-u32-strnlen.c: New file.
9469
9470         Tests for module 'unistr/u16-strnlen'.
9471         * modules/unistr/u16-strnlen-tests: New file.
9472         * tests/unistr/test-u16-strnlen.c: New file.
9473
9474         Tests for module 'unistr/u8-strnlen'.
9475         * modules/unistr/u8-strnlen-tests: New file.
9476         * tests/unistr/test-u8-strnlen.c: New file.
9477         * tests/unistr/test-strnlen.h: New file.
9478
9479         Tests for module 'unistr/u32-strlen'.
9480         * modules/unistr/u32-strlen-tests: New file.
9481         * tests/unistr/test-u32-strlen.c: New file.
9482
9483         Tests for module 'unistr/u16-strlen'.
9484         * modules/unistr/u16-strlen-tests: New file.
9485         * tests/unistr/test-u16-strlen.c: New file.
9486
9487         Tests for module 'unistr/u8-strlen'.
9488         * modules/unistr/u8-strlen-tests: New file.
9489         * tests/unistr/test-u8-strlen.c: New file.
9490
9491         Tests for module 'unistr/u32-prev'.
9492         * modules/unistr/u32-prev-tests: New file.
9493         * tests/unistr/test-u32-prev.c: New file.
9494
9495         Tests for module 'unistr/u16-prev'.
9496         * modules/unistr/u16-prev-tests: New file.
9497         * tests/unistr/test-u16-prev.c: New file.
9498
9499         Tests for module 'unistr/u8-prev'.
9500         * modules/unistr/u8-prev-tests: New file.
9501         * tests/unistr/test-u8-prev.c: New file.
9502
9503         Tests for module 'unistr/u32-next'.
9504         * modules/unistr/u32-next-tests: New file.
9505         * tests/unistr/test-u32-next.c: New file.
9506
9507         Tests for module 'unistr/u16-next'.
9508         * modules/unistr/u16-next-tests: New file.
9509         * tests/unistr/test-u16-next.c: New file.
9510
9511         Tests for module 'unistr/u8-next'.
9512         * modules/unistr/u8-next-tests: New file.
9513         * tests/unistr/test-u8-next.c: New file.
9514
9515         Tests for module 'unistr/u32-strmbtouc'.
9516         * modules/unistr/u32-strmbtouc-tests: New file.
9517         * tests/unistr/test-u32-strmbtouc.c: New file.
9518
9519         Tests for module 'unistr/u16-strmbtouc'.
9520         * modules/unistr/u16-strmbtouc-tests: New file.
9521         * tests/unistr/test-u16-strmbtouc.c: New file.
9522
9523         Tests for module 'unistr/u8-strmbtouc'.
9524         * modules/unistr/u8-strmbtouc-tests: New file.
9525         * tests/unistr/test-u8-strmbtouc.c: New file.
9526
9527         Tests for module 'unistr/u32-strmblen'.
9528         * modules/unistr/u32-strmblen-tests: New file.
9529         * tests/unistr/test-u32-strmblen.c: New file.
9530
9531         Tests for module 'unistr/u16-strmblen'.
9532         * modules/unistr/u16-strmblen-tests: New file.
9533         * tests/unistr/test-u16-strmblen.c: New file.
9534
9535         Tests for module 'unistr/u8-strmblen'.
9536         * modules/unistr/u8-strmblen-tests: New file.
9537         * tests/unistr/test-u8-strmblen.c: New file.
9538
9539         Tests for module 'unistr/u32-cpy-alloc'.
9540         * modules/unistr/u32-cpy-alloc-tests: New file.
9541         * tests/unistr/test-u32-cpy-alloc.c: New file.
9542
9543         Tests for module 'unistr/u16-cpy-alloc'.
9544         * modules/unistr/u16-cpy-alloc-tests: New file.
9545         * tests/unistr/test-u16-cpy-alloc.c: New file.
9546
9547         Tests for module 'unistr/u8-cpy-alloc'.
9548         * modules/unistr/u8-cpy-alloc-tests: New file.
9549         * tests/unistr/test-u8-cpy-alloc.c: New file.
9550         * tests/unistr/test-cpy-alloc.h: New file.
9551
9552         Tests for module 'unistr/u32-mbsnlen'.
9553         * modules/unistr/u32-mbsnlen-tests: New file.
9554         * tests/unistr/test-u32-mbsnlen.c: New file.
9555
9556         Tests for module 'unistr/u16-mbsnlen'.
9557         * modules/unistr/u16-mbsnlen-tests: New file.
9558         * tests/unistr/test-u16-mbsnlen.c: New file.
9559
9560         Tests for module 'unistr/u8-mbsnlen'.
9561         * modules/unistr/u8-mbsnlen-tests: New file.
9562         * tests/unistr/test-u8-mbsnlen.c: New file.
9563
9564         Tests for module 'unistr/u32-chr'.
9565         * modules/unistr/u32-chr-tests: New file.
9566         * tests/unistr/test-u32-chr.c: New file.
9567
9568         Tests for module 'unistr/u16-chr'.
9569         * modules/unistr/u16-chr-tests: New file.
9570         * tests/unistr/test-u16-chr.c: New file.
9571
9572         Tests for module 'unistr/u8-chr'.
9573         * modules/unistr/u8-chr-tests: New file.
9574         * tests/unistr/test-u8-chr.c: New file.
9575         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
9576
9577         Tests for module 'unistr/u32-cmp2'.
9578         * modules/unistr/u32-cmp2-tests: New file.
9579         * tests/unistr/test-u32-cmp2.c: New file.
9580
9581         Tests for module 'unistr/u16-cmp2'.
9582         * modules/unistr/u16-cmp2-tests: New file.
9583         * tests/unistr/test-u16-cmp2.c: New file.
9584
9585         Tests for module 'unistr/u8-cmp2'.
9586         * modules/unistr/u8-cmp2-tests: New file.
9587         * tests/unistr/test-u8-cmp2.c: New file.
9588         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
9589
9590         Tests for module 'unistr/u32-cmp'.
9591         * modules/unistr/u32-cmp-tests: New file.
9592         * tests/unistr/test-u32-cmp.c: New file.
9593
9594         Tests for module 'unistr/u16-cmp'.
9595         * modules/unistr/u16-cmp-tests: New file.
9596         * tests/unistr/test-u16-cmp.c: New file.
9597
9598         Tests for module 'unistr/u8-cmp'.
9599         * modules/unistr/u8-cmp-tests: New file.
9600         * tests/unistr/test-u8-cmp.c: New file.
9601         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
9602
9603         Tests for module 'unistr/u32-set'.
9604         * modules/unistr/u32-set-tests: New file.
9605         * tests/unistr/test-u32-set.c: New file.
9606
9607         Tests for module 'unistr/u16-set'.
9608         * modules/unistr/u16-set-tests: New file.
9609         * tests/unistr/test-u16-set.c: New file.
9610
9611         Tests for module 'unistr/u8-set'.
9612         * modules/unistr/u8-set-tests: New file.
9613         * tests/unistr/test-u8-set.c: New file.
9614         * tests/unistr/test-set.h: New file.
9615
9616         Tests for module 'unistr/u32-move'.
9617         * modules/unistr/u32-move-tests: New file.
9618         * tests/unistr/test-u32-move.c: New file.
9619
9620         Tests for module 'unistr/u16-move'.
9621         * modules/unistr/u16-move-tests: New file.
9622         * tests/unistr/test-u16-move.c: New file.
9623
9624         Tests for module 'unistr/u8-move'.
9625         * modules/unistr/u8-move-tests: New file.
9626         * tests/unistr/test-u8-move.c: New file.
9627         * tests/unistr/test-move.h: New file.
9628
9629         Tests for module 'unistr/u32-cpy'.
9630         * modules/unistr/u32-cpy-tests: New file.
9631         * tests/unistr/test-u32-cpy.c: New file.
9632
9633         Tests for module 'unistr/u16-cpy'.
9634         * modules/unistr/u16-cpy-tests: New file.
9635         * tests/unistr/test-u16-cpy.c: New file.
9636
9637         Tests for module 'unistr/u8-cpy'.
9638         * modules/unistr/u8-cpy-tests: New file.
9639         * tests/unistr/test-u8-cpy.c: New file.
9640         * tests/unistr/test-cpy.h: New file.
9641
9642 2010-01-09  Bruno Haible  <bruno@clisp.org>
9643
9644         Tests for module 'unistr/u32-uctomb'.
9645         * modules/unistr/u32-uctomb-tests: New file.
9646         * tests/unistr/test-u32-uctomb.c: New file.
9647
9648         Tests for module 'unistr/u16-uctomb'.
9649         * modules/unistr/u16-uctomb-tests: New file.
9650         * tests/unistr/test-u16-uctomb.c: New file.
9651
9652         Tests for module 'unistr/u8-uctomb'.
9653         * modules/unistr/u8-uctomb-tests: New file.
9654         * tests/unistr/test-u8-uctomb.c: New file.
9655
9656         Tests for module 'unistr/u32-mbtoucr'.
9657         * modules/unistr/u32-mbtoucr-tests: New file.
9658         * tests/unistr/test-u32-mbtoucr.c: New file.
9659
9660         Tests for module 'unistr/u16-mbtoucr'.
9661         * modules/unistr/u16-mbtoucr-tests: New file.
9662         * tests/unistr/test-u16-mbtoucr.c: New file.
9663
9664         Tests for module 'unistr/u8-mbtoucr'.
9665         * modules/unistr/u8-mbtoucr-tests: New file.
9666         * tests/unistr/test-u8-mbtoucr.c: New file.
9667
9668         Tests for module 'unistr/u32-mbtouc'.
9669         * modules/unistr/u32-mbtouc-tests: New file.
9670         * tests/unistr/test-u32-mbtouc.c: New file.
9671
9672         Tests for module 'unistr/u16-mbtouc'.
9673         * modules/unistr/u16-mbtouc-tests: New file.
9674         * tests/unistr/test-u16-mbtouc.c: New file.
9675
9676         Tests for module 'unistr/u8-mbtouc'.
9677         * modules/unistr/u8-mbtouc-tests: New file.
9678         * tests/unistr/test-u8-mbtouc.c: New file.
9679
9680         Tests for module 'unistr/u32-mbtouc-unsafe'.
9681         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
9682         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
9683         * tests/unistr/test-u32-mbtouc.h: New file.
9684
9685         Tests for module 'unistr/u16-mbtouc-unsafe'.
9686         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
9687         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
9688         * tests/unistr/test-u16-mbtouc.h: New file.
9689
9690         Tests for module 'unistr/u8-mbtouc-unsafe'.
9691         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
9692         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
9693         * tests/unistr/test-u8-mbtouc.h: New file.
9694
9695         Tests for module 'unistr/u32-mblen'.
9696         * modules/unistr/u32-mblen-tests: New file.
9697         * tests/unistr/test-u32-mblen.c: New file.
9698
9699         Tests for module 'unistr/u16-mblen'.
9700         * modules/unistr/u16-mblen-tests: New file.
9701         * tests/unistr/test-u16-mblen.c: New file.
9702
9703         Tests for module 'unistr/u8-mblen'.
9704         * modules/unistr/u8-mblen-tests: New file.
9705         * tests/unistr/test-u8-mblen.c: New file.
9706
9707         Tests for module 'unistr/u32-to-u16'.
9708         * modules/unistr/u32-to-u16-tests: New file.
9709         * tests/unistr/test-u32-to-u16.c: New file.
9710
9711         Tests for module 'unistr/u32-to-u8'.
9712         * modules/unistr/u32-to-u8-tests: New file.
9713         * tests/unistr/test-u32-to-u8.c: New file.
9714
9715         Tests for module 'unistr/u16-to-u32'.
9716         * modules/unistr/u16-to-u32-tests: New file.
9717         * tests/unistr/test-u16-to-u32.c: New file.
9718
9719         Tests for module 'unistr/u16-to-u8'.
9720         * modules/unistr/u16-to-u8-tests: New file.
9721         * tests/unistr/test-u16-to-u8.c: New file.
9722
9723         Tests for module 'unistr/u8-to-u32'.
9724         * modules/unistr/u8-to-u32-tests: New file.
9725         * tests/unistr/test-u8-to-u32.c: New file.
9726
9727         Tests for module 'unistr/u8-to-u16'.
9728         * modules/unistr/u8-to-u16-tests: New file.
9729         * tests/unistr/test-u8-to-u16.c: New file.
9730
9731         Tests for module 'unistr/u32-check'.
9732         * modules/unistr/u32-check-tests: New file.
9733         * tests/unistr/test-u32-check.c: New file.
9734
9735         Tests for module 'unistr/u16-check'.
9736         * modules/unistr/u16-check-tests: New file.
9737         * tests/unistr/test-u16-check.c: New file.
9738
9739         Tests for module 'unistr/u8-check'.
9740         * modules/unistr/u8-check-tests: New file.
9741         * tests/unistr/test-u8-check.c: New file.
9742
9743         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
9744         (category_equals): New function.
9745         (main): Add more tests.
9746         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
9747
9748         * tests/unictype/test-bidi_byname.c (main): Add more tests.
9749
9750 2010-01-10  Bruno Haible  <bruno@clisp.org>
9751
9752         unistr/u*-strcoll: Try harder to distinguish different strings.
9753         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
9754         compare s1 and s2 to see if they are different.
9755
9756 2010-01-10  Bruno Haible  <bruno@clisp.org>
9757
9758         unistr/u*-stpncpy: Fix the return value.
9759         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
9760         description of the return value consistent with stpncpy in glibc.
9761         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
9762         written non-NUL unit.
9763
9764 2010-01-10  Bruno Haible  <bruno@clisp.org>
9765
9766         unistr/u*-next: Add missing dependencies.
9767         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
9768         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
9769         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
9770
9771 2010-01-10  Bruno Haible  <bruno@clisp.org>
9772
9773         unistr/u8-mbsnlen: Fix return value for incomplete character.
9774         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
9775         u8_mblen.
9776         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
9777         Remove unistr/u8-mblen.
9778         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
9779         u16_mblen.
9780         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
9781         Remove unistr/u16-mblen.
9782
9783 2010-01-10  Bruno Haible  <bruno@clisp.org>
9784
9785         wchar: Fix compilation error when <wchar.h> is used from coreutils.
9786         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
9787         Reported by Brian Gough <bjg@gnu.org> and
9788         Chris Clayton <chris2553@googlemail.com> via
9789         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
9790
9791 2010-01-09  Bruno Haible  <bruno@clisp.org>
9792
9793         unistr/u16-to-u32: Reject invalid input.
9794         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
9795         u16_mbtouc.
9796         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
9797         Remove unistr/u16-mbtouc.
9798
9799         unistr/u16-to-u8: Reject invalid input.
9800         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
9801         u16_mbtouc.
9802         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
9803         Remove unistr/u16-mbtouc.
9804
9805         unistr/u8-to-u32: Reject invalid input.
9806         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
9807         u8_mbtouc.
9808         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
9809         Remove unistr/u8-mbtouc.
9810
9811         unistr/u8-to-u16: Reject invalid input.
9812         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
9813         u8_mbtouc.
9814         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
9815         Remove unistr/u8-mbtouc.
9816
9817 2010-01-09  Bruno Haible  <bruno@clisp.org>
9818
9819         Tests for module 'getlogin'.
9820         * modules/getlogin-tests: New file.
9821         * tests/test-getlogin.c: New file.
9822
9823         New module 'getlogin'.
9824         * lib/unistd.in.h (getlogin): New declaration.
9825         * lib/getlogin.c: New file.
9826         * m4/getlogin.m4: New file.
9827         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
9828         HAVE_GETLOGIN.
9829         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
9830         HAVE_GETLOGIN.
9831         * modules/getlogin: New file.
9832         * doc/posix-functions/getlogin.texi: Mention the new module.
9833         Reported by John W. Eaton <jwe@gnu.org>.
9834
9835 2010-01-09  Bruno Haible  <bruno@clisp.org>
9836
9837         getlogin_r: Support for native Windows.
9838         * lib/getlogin_r.c: Include <windows.h>
9839         (getlogin_r): Implement for native Windows.
9840         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
9841         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
9842         via John W. Eaton <jwe@gnu.org>.
9843
9844 2010-01-09  Bruno Haible  <bruno@clisp.org>
9845
9846         getlogin_r: Small fixes.
9847         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
9848         succeeds.
9849         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
9850         before testing whether getlogin_r is declared. No need to set
9851         HAVE_DECL_GETLOGIN_R to 1.
9852         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
9853
9854 2010-01-09  Bruno Haible  <bruno@clisp.org>
9855
9856         * lib/unistd.in.h (getlogin_r): Add comment.
9857
9858 2010-01-09  Bruno Haible  <bruno@clisp.org>
9859
9860         Tests for module 'getlogin_r'.
9861         * modules/getlogin_r-tests: New file.
9862         * tests/test-getlogin_r.c: New file.
9863
9864 2010-01-09  Jim Meyering  <meyering@redhat.com>
9865
9866         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
9867         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
9868         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
9869
9870 2010-01-08  Simon Josefsson  <simon@josefsson.org>
9871
9872         * lib/dup2.c (rpl_dup2): Improve comment.
9873
9874 2010-01-08  Eric Blake  <ebb9@byu.net>
9875
9876         maint.mk: allow packages to add makefile @@ exceptions
9877         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
9878         (sc_makefile_check): Rename...
9879         (sc_makefile_at_at_check): ...to this, and use hook.
9880
9881         dup2: work around mingw bug
9882         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
9883         Reported by Simon Josefsson.
9884
9885 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
9886
9887         glob: Fix C++ compilation.
9888         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
9889         C++.
9890
9891 2010-01-07  Bruno Haible  <bruno@clisp.org>
9892
9893         Fix indentation of wctype.in.h, broken since 2007-01-06.
9894         * lib/wctype.in.h: Fix indentation of preprocessor directives.
9895
9896 2010-01-07  Bruno Haible  <bruno@clisp.org>
9897
9898         mbslen: Avoid collision with system function.
9899         * lib/string.in.h [MirBSD]: Include <wchar.h>.
9900         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
9901         * m4/mbslen.m4: New file.
9902         * modules/mbslen (Files): Add it.
9903         (configure.ac): Invoke gl_MBSLEN.
9904         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
9905         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
9906         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
9907         via Ian Beckwith <ianb@erislabs.net>.
9908
9909 2010-01-07  Bruno Haible  <bruno@clisp.org>
9910
9911         dirent: Document the last fix.
9912         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
9913
9914 2010-01-07  Bruno Haible  <bruno@clisp.org>
9915
9916         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
9917         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
9918         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
9919         va_list are defined.
9920         * doc/posix-headers/stdio.texi: Document the bug of missing types.
9921         Reported by Eric Blake.
9922
9923 2010-01-07  Bruno Haible  <bruno@clisp.org>
9924
9925         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
9926         * modules/xlist (Depends-on): Add 'list',
9927         * modules/xoset (Depends-on): Add 'oset'.
9928         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9929
9930 2010-01-07  Bruno Haible  <bruno@clisp.org>
9931
9932         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
9933         * doc/posix-functions/strncasecmp.texi: Likewise.
9934
9935 2010-01-07  Bruno Haible  <bruno@clisp.org>
9936
9937         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
9938
9939 2010-01-07  John W. Eaton  <jwe@octave.org>
9940
9941         wctype: allow C++ use
9942         * lib/wctype.in.h: Add extern "C" block for C++.
9943
9944 2010-01-06  Eric Blake  <ebb9@byu.net>
9945
9946         maint.mk: detect incorrect GFDL usage
9947         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
9948
9949 2010-01-06  Jim Meyering  <meyering@redhat.com>
9950         and Eric Blake  <ebb9@byu.net>
9951
9952         maint.mk: ignore multi-line copyright in NEWS
9953         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
9954
9955 2010-01-06  Eric Blake  <ebb9@byu.net>
9956
9957         select: add missing dependency
9958         * modules/select-tests (Depends-on): Move sockets dependency...
9959         * modules/select (Depends-on): ...here.
9960         Reported by Ian Beckwith.
9961
9962         doc: regenerate INSTALL
9963         * doc/INSTALL: Reflect recent autoconf update.
9964         * doc/INSTALL.ISO: Likewise.
9965         * doc/INSTALL.UTF-8: Likewise.
9966
9967         pread: fix compilation on glibc
9968         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
9969         Reported by Ralf Wildenhues.
9970
9971         dirent: fix test failure
9972         * lib/dirent.in.h (includes): Guarantee ino_t.
9973         Reported by Ralf Wildenhues.
9974
9975 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
9976
9977         linkat, renameat: avoid bad free
9978         * lib/at-func2.c (at_func2): Fix typo.
9979         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
9980
9981 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9982
9983         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
9984         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
9985         to avoid failure of symlink test later.
9986
9987 2010-01-06  Eric Blake  <ebb9@byu.net>
9988
9989         stdio, unistd: guarantee ssize_t
9990         * lib/unistd.in.h (includes): Ensure that types required by POSIX
9991         2008 are exposed when needed.
9992         * lib/stdio.in.h (includes): Likewise.
9993         Reported by Ralf Wildenhues.
9994
9995 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
9996
9997         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
9998         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
9999         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
10000
10001 2010-01-06  Jim Meyering  <meyering@redhat.com>
10002
10003         readtokens: this module *does* require xalloc.h
10004         It uses only functions that were omitted by the old syntax-check rule.
10005         * lib/readtokens.c: Include "xalloc.h" once again.
10006         * modules/readtokens (Depends-on): Add xalloc.
10007         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
10008
10009 2010-01-05  Eric Blake  <ebb9@byu.net>
10010
10011         maint: support 'make announcement' from a VPATH build
10012         * top/maint.mk (announcement): Look for correct NEWS file.
10013
10014 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
10015
10016         utimens (fdutimens): ignore a negative FD, per contract
10017         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
10018         when we have a valid file descriptor.  Otherwise, using a brand
10019         new glibc (with just-patched futimens that now fails with EBADF)
10020         would cause this function to fail with ENOSYS.
10021         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
10022         See also http://bugzilla.redhat.com/552320.
10023
10024 2010-01-05  Eric Blake  <ebb9@byu.net>
10025
10026         strcase: document what it provides
10027         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
10028         gnulib module.
10029         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
10030         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
10031
10032 2010-01-05  Jim Meyering  <meyering@redhat.com>
10033
10034         maint: remove useless inclusions of "xalloc.h"
10035         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
10036         * lib/readtokens.c: Likewise.
10037         * lib/same.c: Likewise.
10038         * modules/getloadavg (Depends-on): Remove xalloc.
10039         * modules/readtokens: Likewise.
10040         * modules/same: Likewise.
10041
10042         maint.mk: include 4 more function names in alloca.h-checking regexp
10043         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
10044         regexp.  Before, we would give a false-positive (saying alloca.h
10045         is included unnecessarily) when the only uses involved omitted symbols.
10046
10047         xalloc.h: use consistent formatting
10048         * lib/xalloc.h: Move declarations to start in the first column.
10049
10050 2010-01-05  Eric Blake  <ebb9@byu.net>
10051
10052         mkdir: avoid xalloc
10053         * lib/mkdir.c (includes): Drop unused header.
10054         Reported by John W. Eaton.
10055
10056 2010-01-04  Jim Meyering  <meyering@redhat.com>
10057
10058         nl_langinfo: avoid configure-time syntax error
10059         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
10060         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
10061         the empty string.  Don't let that provoke a shell syntax error.
10062
10063         regcomp, regexec, fnmatch: avoid array bounds read error
10064         * lib/regcomp.c (build_equiv_class): From glibc:
10065         Use only the low 24 bits of a findidx return value as an index
10066         into the weights array.  Patch by Ulrich Drepper:
10067         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
10068         * lib/regexec.c (check_node_accept_bytes): Likewise.
10069         * lib/fnmatch_loop.c (FCT): Likewise.
10070
10071         regcomp: skip collseq lookup when there are no rules
10072         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
10073         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
10074
10075         regcomp: recognize ill-formed { } expressions
10076         * lib/regcomp.c (parse_dup_op): From glibc:
10077         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
10078
10079         regcomp: fix typo in comment
10080         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
10081         s/satisfy/satisfies/.
10082
10083         regcomp: sync from glibc: remove dead store
10084         * lib/regcomp.c (duplicate_node_closure): Remove useless
10085         search_duplicated_node call and dead store.
10086
10087         regcomp: sync from glibc; always use nl_langinfo
10088         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
10089         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
10090         * modules/regex (Depends-on): Add nl_langinfo.
10091
10092 2010-01-04  Eric Blake  <ebb9@byu.net>
10093
10094         fdopendir: fix configure test
10095         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
10096
10097 2010-01-01  Bruno Haible  <bruno@clisp.org>
10098
10099         wchar: Remove unused configure check.
10100         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
10101
10102 2010-01-01  Eric Blake  <ebb9@byu.net>
10103
10104         headers: make check of system header explicit
10105         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
10106         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
10107         ourselves.
10108         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10109         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10110         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
10111         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
10112         internals.
10113         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
10114         missing.
10115         Suggested by Bruno Haible.
10116
10117 2010-01-01  Jim Meyering  <meyering@redhat.com>
10118
10119         ChangeLog: tweak to eliminate unnecessary copyright line
10120         * ChangeLog: Remove a copyright line that was mistakenly updated
10121         by today's update-copyright run.  Reported by Eric Blake.
10122
10123         test-update-copyright: don't let envvar setting cause test failure
10124         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
10125
10126 2010-01-01  Bruno Haible  <bruno@clisp.org>
10127
10128         localename: Avoid gcc warning.
10129         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
10130         function if it is not used.
10131
10132 2010-01-01  Jim Meyering  <meyering@redhat.com>
10133
10134         update nearly all FSF copyright year lists to include 2010
10135         Use the same procedure as for 2009, outlined in
10136         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
10137
10138         version-etc: set COPYRIGHT_YEAR to 2010
10139         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
10140
10141 2009-12-31  Eric Blake  <ebb9@byu.net>
10142
10143         doc: correct availability of cygwin 1.5.x getopt
10144         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
10145         variables.
10146         * doc/posix-functions/opterr.texi (opterr): Likewise.
10147         * doc/posix-functions/optind.texi (optind): Likewise.
10148         * doc/posix-functions/optopt.texi (optopt): Likewise.
10149         * doc/posix-functions/tzname.texi (tzname): Likewise.
10150
10151         openat: update maintainer
10152         * modules/openat (Maintainer): Add myself.
10153
10154         utimens: avoid shadowing warning
10155         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
10156         buffers into one, to avoid shadowing, as well as avoiding a
10157         redundant stat.
10158         Reported by Jim Meyering.
10159
10160         test-dup2: avoid compiler warning
10161         * tests/test-dup2.c (is_inheritable): Only define if used.
10162
10163 2010-01-01  Bruno Haible  <bruno@clisp.org>
10164
10165         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
10166         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
10167         defined, use wctomb instead of wcrtomb.
10168
10169 2010-01-01  Bruno Haible  <bruno@clisp.org>
10170
10171         iconv: Reject native Solaris iconv.
10172         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
10173         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
10174
10175 2009-12-31  Bruno Haible  <bruno@clisp.org>
10176
10177         * tests/test-signal.c (main): Remove test of 'SIG'.
10178
10179 2009-12-31  Bruno Haible  <bruno@clisp.org>
10180
10181         spawn: Fix incomplete fix.
10182         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
10183         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
10184         warnings for GNULIB_POSIXCHECK again.
10185         Reported by Eric Blake.
10186
10187 2009-12-31  Bruno Haible  <bruno@clisp.org>
10188
10189         Avoid namespace pollution on glibc systems.
10190         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
10191         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
10192         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
10193         glibc systems.
10194
10195 2009-12-31  Bruno Haible  <bruno@clisp.org>
10196
10197         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
10198         (gl_REPLACE_WCHAR_H): Turn into a no-op.
10199         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
10200         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10201         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10202         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10203         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10204
10205 2009-12-31  Bruno Haible  <bruno@clisp.org>
10206
10207         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
10208         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
10209         afterwards.
10210
10211 2009-12-31  Bruno Haible  <bruno@clisp.org>
10212
10213         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
10214         SYS_UTSNAME_H.
10215
10216 2009-12-31  Bruno Haible  <bruno@clisp.org>
10217
10218         spawn: Fix misapplied patch.
10219         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
10220         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
10221         warnings for GNULIB_POSIXCHECK.
10222
10223 2009-12-31  Bruno Haible  <bruno@clisp.org>
10224
10225         times: Update after sys_times changed.
10226         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
10227         * modules/times (Files): Add it.
10228         (configure.ac): Invoke gl_FUNC_TIMES.
10229
10230 2009-12-31  Bruno Haible  <bruno@clisp.org>
10231
10232         Use AC_C_INLINE where necessary.
10233         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
10234         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
10235         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
10236         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
10237         * m4/mbfile.m4 (gl_MBFILE): Likewise.
10238         * m4/mbiter.m4 (gl_MBITER): Likewise.
10239         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10240         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10241         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
10242         * modules/u64 (configure.ac): Likewise.
10243
10244 2009-12-31  Bruno Haible  <bruno@clisp.org>
10245
10246         Use AC_C_INLINE instead of module 'inline' where possible.
10247         * modules/inline (Description): Clarify purpose.
10248         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
10249         * modules/count-one-bits (Depends-on): Remove inline.
10250         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
10251         * modules/openat (Depends-on): Remove inline.
10252         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
10253         instead of depending on module 'inline'.
10254         * modules/filevercmp (Depends-on, configure.ac): Likewise.
10255         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
10256         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
10257         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
10258         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
10259         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
10260         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
10261         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
10262         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
10263         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
10264         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
10265         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
10266         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
10267         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
10268         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
10269         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
10270         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
10271         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
10272         Likewise.
10273         * modules/unictype/property-ascii-hex-digit (Depends-on,
10274         configure.ac): Likewise.
10275         * modules/unictype/property-bidi-arabic-digit (Depends-on,
10276         configure.ac): Likewise.
10277         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
10278         configure.ac): Likewise.
10279         * modules/unictype/property-bidi-block-separator (Depends-on,
10280         configure.ac): Likewise.
10281         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
10282         configure.ac): Likewise.
10283         * modules/unictype/property-bidi-common-separator (Depends-on,
10284         configure.ac): Likewise.
10285         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
10286         Likewise.
10287         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
10288         configure.ac): Likewise.
10289         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
10290         configure.ac): Likewise.
10291         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
10292         configure.ac): Likewise.
10293         * modules/unictype/property-bidi-european-digit (Depends-on,
10294         configure.ac): Likewise.
10295         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
10296         configure.ac): Likewise.
10297         * modules/unictype/property-bidi-left-to-right (Depends-on,
10298         configure.ac): Likewise.
10299         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
10300         configure.ac): Likewise.
10301         * modules/unictype/property-bidi-other-neutral (Depends-on,
10302         configure.ac): Likewise.
10303         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
10304         Likewise.
10305         * modules/unictype/property-bidi-segment-separator (Depends-on,
10306         configure.ac): Likewise.
10307         * modules/unictype/property-bidi-whitespace (Depends-on,
10308         configure.ac): Likewise.
10309         * modules/unictype/property-combining (Depends-on, configure.ac):
10310         Likewise.
10311         * modules/unictype/property-composite (Depends-on, configure.ac):
10312         Likewise.
10313         * modules/unictype/property-currency-symbol (Depends-on,
10314         configure.ac): Likewise.
10315         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
10316         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
10317         Likewise.
10318         * modules/unictype/property-default-ignorable-code-point (Depends-on,
10319         configure.ac): Likewise.
10320         * modules/unictype/property-deprecated (Depends-on, configure.ac):
10321         Likewise.
10322         * modules/unictype/property-diacritic (Depends-on, configure.ac):
10323         Likewise.
10324         * modules/unictype/property-extender (Depends-on, configure.ac):
10325         Likewise.
10326         * modules/unictype/property-format-control (Depends-on, configure.ac):
10327         Likewise.
10328         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
10329         Likewise.
10330         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
10331         Likewise.
10332         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
10333         Likewise.
10334         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
10335         Likewise.
10336         * modules/unictype/property-hyphen (Depends-on, configure.ac):
10337         Likewise.
10338         * modules/unictype/property-id-continue (Depends-on, configure.ac):
10339         Likewise.
10340         * modules/unictype/property-id-start (Depends-on, configure.ac):
10341         Likewise.
10342         * modules/unictype/property-ideographic (Depends-on, configure.ac):
10343         Likewise.
10344         * modules/unictype/property-ids-binary-operator (Depends-on,
10345         configure.ac): Likewise.
10346         * modules/unictype/property-ids-trinary-operator (Depends-on,
10347         configure.ac): Likewise.
10348         * modules/unictype/property-ignorable-control (Depends-on,
10349         configure.ac): Likewise.
10350         * modules/unictype/property-iso-control (Depends-on, configure.ac):
10351         Likewise.
10352         * modules/unictype/property-join-control (Depends-on, configure.ac):
10353         Likewise.
10354         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
10355         Likewise.
10356         * modules/unictype/property-line-separator (Depends-on, configure.ac):
10357         Likewise.
10358         * modules/unictype/property-logical-order-exception (Depends-on,
10359         configure.ac): Likewise.
10360         * modules/unictype/property-lowercase (Depends-on, configure.ac):
10361         Likewise.
10362         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
10363         * modules/unictype/property-non-break (Depends-on, configure.ac):
10364         Likewise.
10365         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
10366         Likewise.
10367         * modules/unictype/property-numeric (Depends-on, configure.ac):
10368         Likewise.
10369         * modules/unictype/property-other-alphabetic (Depends-on,
10370         configure.ac): Likewise.
10371         * modules/unictype/property-other-default-ignorable-code-point
10372         (Depends-on, configure.ac): Likewise.
10373         * modules/unictype/property-other-grapheme-extend (Depends-on,
10374         configure.ac): Likewise.
10375         * modules/unictype/property-other-id-continue (Depends-on,
10376         configure.ac): Likewise.
10377         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
10378         Likewise.
10379         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
10380         Likewise.
10381         * modules/unictype/property-other-math (Depends-on, configure.ac):
10382         Likewise.
10383         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
10384         Likewise.
10385         * modules/unictype/property-paired-punctuation (Depends-on,
10386         configure.ac): Likewise.
10387         * modules/unictype/property-paragraph-separator (Depends-on,
10388         configure.ac): Likewise.
10389         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
10390         Likewise.
10391         * modules/unictype/property-pattern-white-space (Depends-on,
10392         configure.ac): Likewise.
10393         * modules/unictype/property-private-use (Depends-on, configure.ac):
10394         Likewise.
10395         * modules/unictype/property-punctuation (Depends-on, configure.ac):
10396         Likewise.
10397         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
10398         Likewise.
10399         * modules/unictype/property-radical (Depends-on, configure.ac):
10400         Likewise.
10401         * modules/unictype/property-sentence-terminal (Depends-on,
10402         configure.ac): Likewise.
10403         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
10404         Likewise.
10405         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
10406         * modules/unictype/property-terminal-punctuation (Depends-on,
10407         configure.ac): Likewise.
10408         * modules/unictype/property-titlecase (Depends-on, configure.ac):
10409         Likewise.
10410         * modules/unictype/property-unassigned-code-value (Depends-on,
10411         configure.ac): Likewise.
10412         * modules/unictype/property-unified-ideograph (Depends-on,
10413         configure.ac): Likewise.
10414         * modules/unictype/property-uppercase (Depends-on, configure.ac):
10415         Likewise.
10416         * modules/unictype/property-variation-selector (Depends-on,
10417         configure.ac): Likewise.
10418         * modules/unictype/property-white-space (Depends-on, configure.ac):
10419         Likewise.
10420         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
10421         Likewise.
10422         * modules/unictype/property-xid-start (Depends-on, configure.ac):
10423         Likewise.
10424         * modules/unictype/property-zero-width (Depends-on, configure.ac):
10425         Likewise.
10426         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
10427         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
10428         Likewise.
10429
10430 2009-12-31  Bruno Haible  <bruno@clisp.org>
10431
10432         Remove unnecessary AC_C_INLINE invocation.
10433         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
10434         since 2009-08-21.
10435
10436 2009-12-31  Jim Meyering  <meyering@redhat.com>
10437
10438         maint.mk: don't require explicit gpg_key_ID in cfg.mk
10439         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
10440         With this change, we can all remove the gpg_key_ID = ... definition
10441         from our respective cfg.mk files.
10442
10443         maint.mk: create announcement template in ~/, not in /tmp
10444         * top/maint.mk (emit_upload_commands): Adjust.
10445         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
10446         Remove temporary file, .ci-msg.
10447
10448 2009-12-31  Eric Blake  <ebb9@byu.net>
10449
10450         link-warning: always build headers with link warnings
10451         * modules/arpa_inet (Makefile.am): Always build replacement
10452         header.
10453         * modules/ctype (Makefile.am): Likewise.
10454         * modules/dirent (Makefile.am): Likewise.
10455         * modules/inttypes (Makefile.am): Likewise.
10456         * modules/langinfo (Makefile.am): Likewise.
10457         * modules/locale (Makefile.am): Likewise.
10458         * modules/spawn (Makefile.am): Likewise.
10459         * modules/sys_file (Makefile.am): Likewise.
10460         * modules/sys_ioctl (Makefile.am): Likewise.
10461         * modules/sys_select (Makefile.am): Likewise.
10462         * modules/sys_socket (Makefile.am): Likewise.
10463         * modules/sys_times (Makefile.am): Likewise.
10464         * modules/sys_utsname (Makefile.am): Likewise.
10465         * modules/sys_wait (Makefile.am): Likewise.
10466         * modules/wchar (Makefile.am): Likewise.
10467         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
10468         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
10469         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
10470         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
10471         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
10472         Likewise.
10473         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
10474         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
10475         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
10476         Likewise.
10477         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
10478         Likewise.
10479         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
10480         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
10481         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
10482         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10483         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10484         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
10485         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
10486         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
10487         (gl_WCHAR_H_DEFAULTS): Likewise.
10488
10489 2009-12-31  Eric Blake  <ebb9@byu.net>
10490
10491         signal, spawn: use link warnings
10492         * lib/signal.in.h (sigset_t): Make unconditional.
10493         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
10494         (sigpending, sigprocmask, sigaction): Add link warnings.
10495         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
10496         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
10497         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
10498         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
10499         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
10500         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
10501         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
10502         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
10503         (posix_spawn_file_actions_destroy)
10504         (posix_spawn_file_actions_addopen)
10505         (posix_spawn_file_actions_addclose)
10506         (posix_spawn_file_actions_adddup2): Likewise.
10507         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
10508         * tests/test-signal.c (main): Enhance test.
10509
10510         spawn: improve wrapper support
10511         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
10512         (gl_SPAWN_H_DEFAULTS): New defaults.
10513         * modules/spawn (Makefile.am): Substitute them.
10514         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
10515         Only declare if missing or broken.
10516
10517         sys_times, sys_utsname: use include_next
10518         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
10519         header.
10520         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
10521         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
10522         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
10523         * modules/sys_times (Depends-on): Add include_next.
10524         (Makefile.am): Substitute additional values.
10525         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
10526         * lib/sys_times.in.h (includes): Include native header, if
10527         available.
10528         * lib/sys_utsname.in.h (includes): Likewise.
10529         * tests/test-sys_times.c (main): Enhance test.
10530
10531         fdutimensat: revert prior patch
10532         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
10533         utimens.h.
10534         Reported by Bruno Haible.
10535
10536 2009-12-30  Eric Blake  <ebb9@byu.net>
10537
10538         sys_wait: drop link-warning dependency
10539         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
10540         link-warning efforts.
10541         * lib/sys_wait.in.h: Likewise.
10542
10543         fdutimensat: remove bogus dependency
10544         * modules/fdutimensat (Depends-on): Drop inline.
10545
10546         unistd: fix typo
10547         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
10548
10549 2009-12-30  Bruno Haible  <bruno@clisp.org>
10550
10551         Fix compilation error with Solaris cc.
10552         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
10553         * lib/unicase/u16-is-invariant.c: Likewise.
10554         * lib/unicase/u32-is-invariant.c: Likewise.
10555         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
10556
10557 2009-12-30  Bruno Haible  <bruno@clisp.org>
10558
10559         Fix test crash.
10560         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
10561         locales.
10562         Reported by Simon Josefsson <simon@josefsson.org>.
10563
10564 2009-12-30  Bruno Haible  <bruno@clisp.org>
10565
10566         Fix compilation error on most platforms.
10567         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
10568         Reported by Simon Josefsson <simon@josefsson.org>
10569         and Nelson H. F. Beebe <beebe@math.utah.edu>.
10570
10571 2009-12-30  Eric Blake  <ebb9@byu.net>
10572
10573         futimens, utimensat: work around ntfs-3g bug
10574         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
10575         a ctime bug is present, and expand workaround to cover ntfs-3g.
10576         * lib/utimens.c (fdutimens, lutimens): Likewise.
10577         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
10578         (validate_timespec): Adjust return value.
10579         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
10580         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10581         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
10582
10583 2009-12-29  Eric Blake  <ebb9@byu.net>
10584
10585         link-warning: make usage consistent
10586         * modules/ctype (Depends-on): Add link-warning.
10587         (Makefile.am): Update rules accordingly.
10588         * modules/langinfo (Depends-on, Makefile.am): Likewise.
10589         * modules/locale (Depends-on, Makefile.am): Likewise.
10590         * modules/sys_file (Makefile.am): Likewise.
10591         * modules/getopt-posix (Makefile.am): Delete unused link warning
10592         efforts.
10593         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
10594         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
10595         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
10596         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
10597
10598         stdio: remove unused variables
10599         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
10600         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
10601         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10602
10603         tests: test more substitute headers
10604         * modules/ctype-tests: New file.
10605         * modules/dirent-tests: Likewise.
10606         * modules/spawn-tests: Likewise.
10607         * modules/sys_file-tests: Likewise.
10608         * modules/sys_ioctl-tests: Likewise.
10609         * modules/sys_wait-tests: Likewise.
10610         * tests/test-ctype.c: Likewise.
10611         * tests/test-dirent.c: Likewise.
10612         * tests/test-spawn.c: Likewise.
10613         * tests/test-sys_file.c: Likewise.
10614         * tests/test-sys_ioctl.c: Likewise.
10615         * tests/test-sys_wait.c: Likewise.
10616         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
10617         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
10618         whether or not flock is in use.
10619
10620         tests: remove License section from module
10621         * modules/arpa_inet-tests: Remove unneeded section.
10622         * modules/byteswap-tests: Likewise.
10623         * modules/ceilf-tests: Likewise.
10624         * modules/ceill-tests: Likewise.
10625         * modules/crypto/des-tests: Likewise.
10626         * modules/crypto/gc-arcfour-tests: Likewise.
10627         * modules/crypto/gc-arctwo-tests: Likewise.
10628         * modules/crypto/gc-des-tests: Likewise.
10629         * modules/crypto/gc-hmac-md5-tests: Likewise.
10630         * modules/crypto/gc-hmac-sha1-tests: Likewise.
10631         * modules/crypto/gc-md2-tests: Likewise.
10632         * modules/crypto/gc-md4-tests: Likewise.
10633         * modules/crypto/gc-md5-tests: Likewise.
10634         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
10635         * modules/crypto/gc-rijndael-tests: Likewise.
10636         * modules/crypto/gc-sha1-tests: Likewise.
10637         * modules/crypto/gc-tests: Likewise.
10638         * modules/crypto/md2-tests: Likewise.
10639         * modules/crypto/md4-tests: Likewise.
10640         * modules/fcntl-h-tests: Likewise.
10641         * modules/floorf-tests: Likewise.
10642         * modules/floorl-tests: Likewise.
10643         * modules/frexp-nolibm-tests: Likewise.
10644         * modules/frexp-tests: Likewise.
10645         * modules/frexpl-nolibm-tests: Likewise.
10646         * modules/frexpl-tests: Likewise.
10647         * modules/getaddrinfo-tests: Likewise.
10648         * modules/inttypes-tests: Likewise.
10649         * modules/isfinite-tests: Likewise.
10650         * modules/isinf-tests: Likewise.
10651         * modules/ldexpl-tests: Likewise.
10652         * modules/locale-tests: Likewise.
10653         * modules/math-tests: Likewise.
10654         * modules/netdb-tests: Likewise.
10655         * modules/netinet_in-tests: Likewise.
10656         * modules/printf-frexp-tests: Likewise.
10657         * modules/printf-frexpl-tests: Likewise.
10658         * modules/priv-set-tests: Likewise.
10659         * modules/random_r-tests: Likewise.
10660         * modules/round-tests: Likewise.
10661         * modules/roundf-tests: Likewise.
10662         * modules/roundl-tests: Likewise.
10663         * modules/search-tests: Likewise.
10664         * modules/select-tests: Likewise.
10665         * modules/signal-tests: Likewise.
10666         * modules/stdbool-tests: Likewise.
10667         * modules/stddef-tests: Likewise.
10668         * modules/stdint-tests: Likewise.
10669         * modules/stdio-tests: Likewise.
10670         * modules/stdlib-tests: Likewise.
10671         * modules/string-tests: Likewise.
10672         * modules/strings-tests: Likewise.
10673         * modules/sys_select-tests: Likewise.
10674         * modules/sys_socket-tests: Likewise.
10675         * modules/sys_stat-tests: Likewise.
10676         * modules/sys_time-tests: Likewise.
10677         * modules/sys_utsname-tests: Likewise.
10678         * modules/sysexits-tests: Likewise.
10679         * modules/time-tests: Likewise.
10680         * modules/trunc-tests: Likewise.
10681         * modules/truncf-tests: Likewise.
10682         * modules/truncl-tests: Likewise.
10683         * modules/tsearch-tests: Likewise.
10684         * modules/unistd-tests: Likewise.
10685         * modules/wchar-tests: Likewise.
10686         * modules/wctype-tests: Likewise.
10687
10688         tests: fix license on several tests
10689         * tests/test-des.c: Update to GPLv3+.
10690         * tests/test-flock.c: Likewise.
10691         * tests/test-fsync.c: Likewise.
10692         * tests/test-futimens.h: Likewise.
10693         * tests/test-gc-arcfour.c: Likewise.
10694         * tests/test-gc-arctwo.c: Likewise.
10695         * tests/test-gc-des.c: Likewise.
10696         * tests/test-gc-hmac-md5.c: Likewise.
10697         * tests/test-gc-hmac-sha1.c: Likewise.
10698         * tests/test-gc-md2.c: Likewise.
10699         * tests/test-gc-md4.c: Likewise.
10700         * tests/test-gc-md5.c: Likewise.
10701         * tests/test-gc-pbkdf2-sha1.c: Likewise.
10702         * tests/test-gc-rijndael.c: Likewise.
10703         * tests/test-gc-sha1.c: Likewise.
10704         * tests/test-gc.c: Likewise.
10705         * tests/test-getcwd.c: Likewise.
10706         * tests/test-link.c: Likewise.
10707         * tests/test-link.h: Likewise.
10708         * tests/test-lutimens.h: Likewise.
10709         * tests/test-md2.c: Likewise.
10710         * tests/test-md4.c: Likewise.
10711         * tests/test-mkdir.h: Likewise.
10712         * tests/test-rename.c: Likewise.
10713         * tests/test-rename.h: Likewise.
10714         * tests/test-safe-alloc.c: Likewise.
10715         * tests/test-utimens-common.h: Likewise.
10716         * tests/test-utimens.h: Likewise.
10717
10718         maint: sync license texts
10719         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
10720         * doc/gpl-3.0.texi: Revert copyright year update.
10721         * doc/lgpl-3.0.texi: Likewise.
10722
10723 2009-12-29  Jim Meyering  <meyering@redhat.com>
10724
10725         update nearly all FSF copyright year lists to include 2009
10726         The files named by the following are exempted:
10727             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
10728               test -f "$dst" && { echo "$dst"; continue; }
10729               test -d "$dst" || continue
10730               echo "$dst"/$(basename "$src")
10731             done > exempt
10732             git ls-files tests/unictype >> exempt
10733         In the remaining files, convert to all-interval notation if
10734         - there is already at least one year interval like 2000-2003
10735         - the file is maintained by me
10736         - the file is in lib/uni*/, where that style already prevails
10737         Otherwise, use update-copyright's default.
10738
10739 2009-12-29  Simon Josefsson  <simon@josefsson.org>
10740         and Eric Blake  <ebb9@byu.net>
10741
10742         tests: don't require debug system() to pass
10743         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
10744         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10745         * tests/test-unlink.h (test_unlink_func): Likewise.
10746         * tests/test-fstatat.c (main): ...into callers.
10747         * tests/test-lstat.c (main): Likewise.
10748         * tests/test-rmdir.c (main): Likewise.
10749         * tests/test-unlink.c (main): Likewise.
10750         * tests/test-unlinkat.c (main): Likewise.
10751         * tests/test-areadlink-with-size.c (main): Don't require a
10752         debug-only system call to pass, aiding cross-testing to mingw.
10753         * tests/test-areadlink.c (main): Likewise.
10754         * tests/test-areadlinkat-with-size.c (main): Likewise.
10755         * tests/test-areadlinkat.c (main): Likewise.
10756         * tests/test-canonicalize-lgpl.c (main): Likewise.
10757         * tests/test-canonicalize.c (main): Likewise.
10758         * tests/test-chown.c (main): Likewise.
10759         * tests/test-fchownat.c (main): Likewise.
10760         * tests/test-lchown.c (main): Likewise.
10761         * tests/test-fdutimensat.c (main): Likewise.
10762         * tests/test-futimens.c (main): Likewise.
10763         * tests/test-link.c (main): Likewise.
10764         * tests/test-linkat.c (main): Likewise.
10765         * tests/test-mkdir.c (main): Likewise.
10766         * tests/test-mkdirat.c (main): Likewise.
10767         * tests/test-mkfifo.c (main): Likewise.
10768         * tests/test-mkfifoat.c (main): Likewise.
10769         * tests/test-mknod.c (main): Likewise.
10770         * tests/test-readlink.c (main): Likewise.
10771         * tests/test-remove.c (main): Likewise.
10772         * tests/test-rename.c (main): Likewise.
10773         * tests/test-renameat.c (main): Likewise.
10774         * tests/test-symlink.c (main): Likewise.
10775         * tests/test-symlinkat.c (main): Likewise.
10776         * tests/test-utimens.c (main): Likewise.
10777         * tests/test-utimensat.c (main): Likewise.
10778
10779 2009-12-29  Simon Josefsson  <simon@josefsson.org>
10780
10781         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
10782         on $(UNUSED_PARAMETER_H) to avoid build failure.
10783
10784 2009-12-28  Jim Meyering  <meyering@redhat.com>
10785
10786         update-copyright: you may specify a max. line length other than 72
10787         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
10788
10789         maint: use consistent FSF copyright line syntax
10790         * lib/posixtm.c: Add missing comma in FSF copyright line.
10791         * lib/posixtm.h: Likewise.
10792         * lib/getugroups.c: Add missing ", Inc.".
10793
10794         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
10795         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
10796         FSF copyright line.  Remove trailing blanks.
10797
10798 2009-12-28  Eric Blake  <ebb9@byu.net>
10799
10800         test-dup2: reduce dependencies
10801         * modules/cloexec (Configure.ac): Set witness.
10802         * modules/dup2-tests (Depends-on): Drop cloexec.
10803         * tests/test-dup2.c (main): Skip portion of test if cloexec module
10804         not present.
10805         Suggested by Bruno Haible.
10806
10807 2009-12-26  Bruno Haible  <bruno@clisp.org>
10808
10809         Remove an unneeded dependency.
10810         * modules/fseterr (Depends-on): Remove dup2.
10811
10812 2009-12-26  Eric Blake  <ebb9@byu.net>
10813
10814         tests: use macros.h in more places
10815         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
10816         (ASSERT_STREAM): Provide default of stderr.
10817         * tests/test-dirent-safer.c: Include macros.h, using alternate
10818         stream for assertions.
10819         * tests/test-dup-safer.c: Likewise.
10820         * tests/test-freopen-safer.c: Likewise.
10821         * tests/test-getopt.c: Likewise.
10822         * tests/test-openat-safer.c: Likewise.
10823         * tests/test-pipe.c: Likewise.
10824         * tests/test-popen-safer.c: Likewise.
10825         * modules/dirent-safer-tests (Files): Include macros.h.
10826         * modules/unistd-safer-tests (Files): Likewise.
10827         * modules/freopen-safer-tests (Files): Likewise.
10828         * modules/getopt-posix-tests (Files): Likewise.
10829         * modules/openat-safer-tests (Files): Likewise.
10830         * modules/pipe-tests (Files): Likewise.
10831
10832 2009-12-26  Bruno Haible  <bruno@clisp.org>
10833
10834         javacomp: Portability fix.
10835         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
10836         that it also works on Solaris.
10837
10838 2009-12-26  Bruno Haible  <bruno@clisp.org>
10839
10840         localename: Fix storage allocation of gl_locale_name_thread's result.
10841         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
10842         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
10843         all platforms that have 'uselocale'.
10844         (gl_locale_name_thread_unsafe): New function, extracted from
10845         gl_locale_name_thread.
10846         (gl_locale_name_thread): Call struniq on all platforms that have
10847         'uselocale'.
10848         * tests/test-localename.c (test_locale_name_thread): Check that the
10849         resulting strings are permanently allocated.
10850         * modules/localename-tests (Depends-on): Add strdup.
10851
10852 2009-12-26  Bruno Haible  <bruno@clisp.org>
10853
10854         * tests/test-localename.c (categories): Fill in the strings.
10855
10856 2009-12-26  Jim Meyering  <meyering@redhat.com>
10857
10858         isdir: complete the removal of m4/isdir.m4
10859         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
10860
10861         isdir: clean up, since at least grep still uses it
10862         * lib/isdir.c: Include "isdir.h".
10863         (S_ISDIR): Remove now-unneeded definition.
10864         * modules/isdir (Files): Add lib/isdir.h.
10865         * lib/isdir.h: New file, with declaration.
10866         * m4/isdir.m4: Remove file -- unneeded.
10867
10868 2009-12-25  Bruno Haible  <bruno@clisp.org>
10869
10870         selinux-h: Make generated .h files standalone.
10871         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
10872         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
10873         * lib/se-selinux.in.h: Likewise.
10874         * modules/selinux-h (Depends-on): Add unused-parameter.
10875         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
10876         selinux/selinux.h and selinux/context.h.
10877         Suggested by Eric Blake.
10878
10879 2009-12-25  Bruno Haible  <bruno@clisp.org>
10880
10881         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
10882         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
10883         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
10884         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
10885         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
10886
10887 2009-12-24  Bruno Haible  <bruno@clisp.org>
10888
10889         openat: Fix warning.
10890         * lib/openat-proc.c: Include <unistd.h>.
10891
10892 2009-12-24  Bruno Haible  <bruno@clisp.org>
10893
10894         New module 'unused-parameter'.
10895         * build-aux/unused-parameter.h: New file, extracted from earlier
10896         gnulib-common.m4.
10897         * modules/unused-parameter: New file.
10898         * lib/unistr.h: Include unused-parameter.h.
10899         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
10900         _GL_UNUSED.
10901         * modules/unistr/base (Depends-on): Add unused-parameter.
10902
10903 2009-12-24  Bruno Haible  <bruno@clisp.org>
10904
10905         Add missing dependencies to 'extensions' module.
10906         * m4/extensions.m4: Add comment.
10907         * modules/accept4 (Depends-on): Add extensions.
10908         * modules/dup3 (Depends-on): Likewise.
10909         * modules/fcntl (Depends-on): Likewise.
10910         * modules/futimens (Depends-on): Likewise.
10911         * modules/mknod (Depends-on): Likewise.
10912         * modules/pipe2 (Depends-on): Likewise.
10913         * modules/stat-time (Depends-on): Likewise.
10914         * modules/strcasestr-simple (Depends-on): Likewise.
10915         * modules/strsignal (Depends-on): Likewise.
10916         * modules/utimensat (Depends-on): Likewise.
10917         * modules/localcharset (Depends-on): Likewise. Needed because of
10918         gl_FCNTL_O_FLAGS.
10919         * modules/wcrtomb (Depends-on): Likewise. Needed because of
10920         AC_TYPE_MBSTATE_T.
10921         * modules/wcsnrtombs (Depends-on): Likewise.
10922         * modules/wcsrtombs (Depends-on): Likewise.
10923
10924 2009-12-24  Bruno Haible  <bruno@clisp.org>
10925
10926         binary-io: Avoid gcc warning due to SET_BINARY.
10927         * lib/binary-io.h (SET_BINARY): Cast the result to void.
10928         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
10929
10930 2009-12-24  Bruno Haible  <bruno@clisp.org>
10931
10932         Avoid future namespace pollution on glibc systems.
10933         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
10934         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
10935         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
10936         glibc systems.
10937
10938 2009-12-24  Bruno Haible  <bruno@clisp.org>
10939
10940         Refactor common macros used in tests.
10941         * tests/macros.h: New file.
10942         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
10943         and/or <stdlib.h>, if appropriate.
10944         (ASSERT, SIZEOF): Remove macros.
10945         * tests/test-areadlink-with-size.c: Likewise.
10946         * tests/test-areadlinkat.c: Likewise.
10947         * tests/test-areadlinkat-with-size.c: Likewise.
10948         * tests/test-argmatch.c: Likewise.
10949         * tests/test-argv-iter.c: Likewise.
10950         * tests/test-array-mergesort.c: Likewise.
10951         * tests/test-array_list.c: Likewise.
10952         * tests/test-array_oset.c: Likewise.
10953         * tests/test-avltree_list.c: Likewise.
10954         * tests/test-avltree_oset.c: Likewise.
10955         * tests/test-avltreehash_list.c: Likewise.
10956         * tests/test-base64.c: Likewise.
10957         * tests/test-binary-io.c: Likewise.
10958         * tests/test-bitrotate.c: Likewise.
10959         * tests/test-btowc.c: Likewise.
10960         * tests/test-byteswap.c: Likewise.
10961         * tests/test-c-ctype.c: Likewise.
10962         * tests/test-c-stack.c: Likewise.
10963         * tests/test-c-strcasecmp.c: Likewise.
10964         * tests/test-c-strcasestr.c: Likewise.
10965         * tests/test-c-strncasecmp.c: Likewise.
10966         * tests/test-c-strstr.c: Likewise.
10967         * tests/test-canonicalize-lgpl.c: Likewise.
10968         * tests/test-canonicalize.c: Likewise.
10969         * tests/test-carray_list.c: Likewise.
10970         * tests/test-ceilf1.c: Likewise.
10971         * tests/test-ceilf2.c: Likewise.
10972         * tests/test-ceill.c: Likewise.
10973         * tests/test-chown.c: Likewise.
10974         * tests/test-cloexec.c: Likewise.
10975         * tests/test-copy-acl.c: Likewise.
10976         * tests/test-copy-file.c: Likewise.
10977         * tests/test-count-one-bits.c: Likewise.
10978         * tests/test-dprintf-posix.c: Likewise.
10979         * tests/test-dup2.c: Likewise.
10980         * tests/test-dup3.c: Likewise.
10981         * tests/test-duplocale.c: Likewise.
10982         * tests/test-fbufmode.c: Likewise.
10983         * tests/test-fchdir.c: Likewise.
10984         * tests/test-fchownat.c: Likewise.
10985         * tests/test-fcntl-safer.c: Likewise.
10986         * tests/test-fcntl.c: Likewise.
10987         * tests/test-fdopendir.c: Likewise.
10988         * tests/test-fdutimensat.c: Likewise.
10989         * tests/test-fflush2.c: Likewise.
10990         * tests/test-file-has-acl.c: Likewise.
10991         * tests/test-filevercmp.c: Likewise.
10992         * tests/test-flock.c: Likewise.
10993         * tests/test-floorf1.c: Likewise.
10994         * tests/test-floorf2.c: Likewise.
10995         * tests/test-floorl.c: Likewise.
10996         * tests/test-fnmatch.c: Likewise.
10997         * tests/test-fopen.h: Likewise.
10998         * tests/test-fpending.c: Likewise.
10999         * tests/test-fprintf-posix.c: Likewise.
11000         * tests/test-fpurge.c: Likewise.
11001         * tests/test-freadable.c: Likewise.
11002         * tests/test-freadahead.c: Likewise.
11003         * tests/test-freading.c: Likewise.
11004         * tests/test-freadptr.c: Likewise.
11005         * tests/test-freadptr2.c: Likewise.
11006         * tests/test-freadseek.c: Likewise.
11007         * tests/test-freopen.c: Likewise.
11008         * tests/test-frexp.c: Likewise.
11009         * tests/test-frexpl.c: Likewise.
11010         * tests/test-fseek.c: Likewise.
11011         * tests/test-fseeko.c: Likewise.
11012         * tests/test-fstatat.c: Likewise.
11013         * tests/test-fstrcmp.c: Likewise.
11014         * tests/test-fsync.c: Likewise.
11015         * tests/test-ftell.c: Likewise.
11016         * tests/test-ftello.c: Likewise.
11017         * tests/test-func.c: Likewise.
11018         * tests/test-futimens.c: Likewise.
11019         * tests/test-fwritable.c: Likewise.
11020         * tests/test-fwriting.c: Likewise.
11021         * tests/test-getcwd.c: Likewise.
11022         * tests/test-getdate.c: Likewise.
11023         * tests/test-getdelim.c: Likewise.
11024         * tests/test-getdtablesize.c: Likewise.
11025         * tests/test-getgroups.c: Likewise.
11026         * tests/test-getline.c: Likewise.
11027         * tests/test-getndelim2.c: Likewise.
11028         * tests/test-glob.c: Likewise.
11029         * tests/test-hash.c: Likewise.
11030         * tests/test-i-ring.c: Likewise.
11031         * tests/test-iconv-utf.c: Likewise.
11032         * tests/test-iconv.c: Likewise.
11033         * tests/test-idpriv-drop.c: Likewise.
11034         * tests/test-idpriv-droptemp.c: Likewise.
11035         * tests/test-inet_ntop.c: Likewise.
11036         * tests/test-inet_pton.c: Likewise.
11037         * tests/test-isblank.c: Likewise.
11038         * tests/test-isfinite.c: Likewise.
11039         * tests/test-isinf.c: Likewise.
11040         * tests/test-isnan.c: Likewise.
11041         * tests/test-isnand.h: Likewise.
11042         * tests/test-isnanf.h: Likewise.
11043         * tests/test-isnanl.h: Likewise.
11044         * tests/test-lchown.c: Likewise.
11045         * tests/test-ldexpl.c: Likewise.
11046         * tests/test-link.c: Likewise.
11047         * tests/test-linkat.c: Likewise.
11048         * tests/test-linked_list.c: Likewise.
11049         * tests/test-linkedhash_list.c: Likewise.
11050         * tests/test-localename.c: Likewise.
11051         * tests/test-lseek.c: Likewise.
11052         * tests/test-lstat.c: Likewise.
11053         * tests/test-mbmemcasecmp.c: Likewise.
11054         * tests/test-mbmemcasecoll.c: Likewise.
11055         * tests/test-mbrtowc.c: Likewise.
11056         * tests/test-mbscasecmp.c: Likewise.
11057         * tests/test-mbscasestr1.c: Likewise.
11058         * tests/test-mbscasestr2.c: Likewise.
11059         * tests/test-mbscasestr3.c: Likewise.
11060         * tests/test-mbscasestr4.c: Likewise.
11061         * tests/test-mbschr.c: Likewise.
11062         * tests/test-mbscspn.c: Likewise.
11063         * tests/test-mbsinit.c: Likewise.
11064         * tests/test-mbsncasecmp.c: Likewise.
11065         * tests/test-mbsnrtowcs.c: Likewise.
11066         * tests/test-mbspbrk.c: Likewise.
11067         * tests/test-mbspcasecmp.c: Likewise.
11068         * tests/test-mbsrchr.c: Likewise.
11069         * tests/test-mbsrtowcs.c: Likewise.
11070         * tests/test-mbsspn.c: Likewise.
11071         * tests/test-mbsstr1.c: Likewise.
11072         * tests/test-mbsstr2.c: Likewise.
11073         * tests/test-mbsstr3.c: Likewise.
11074         * tests/test-memchr.c: Likewise.
11075         * tests/test-memchr2.c: Likewise.
11076         * tests/test-memcmp.c: Likewise.
11077         * tests/test-memmem.c: Likewise.
11078         * tests/test-memrchr.c: Likewise.
11079         * tests/test-mkdir.c: Likewise.
11080         * tests/test-mkdirat.c: Likewise.
11081         * tests/test-mkfifo.c: Likewise.
11082         * tests/test-mkfifoat.c: Likewise.
11083         * tests/test-mknod.c: Likewise.
11084         * tests/test-nanosleep.c: Likewise.
11085         * tests/test-nl_langinfo.c: Likewise.
11086         * tests/test-obstack-printf.c: Likewise.
11087         * tests/test-open.c: Likewise.
11088         * tests/test-openat.c: Likewise.
11089         * tests/test-pipe-filter-gi1.c: Likewise.
11090         * tests/test-pipe-filter-gi2-main.c: Likewise.
11091         * tests/test-pipe-filter-ii1.c: Likewise.
11092         * tests/test-pipe-filter-ii2-main.c: Likewise.
11093         * tests/test-pipe2.c: Likewise.
11094         * tests/test-popen.h: Likewise.
11095         * tests/test-posixtm.c: Likewise.
11096         * tests/test-pread.c: Likewise.
11097         * tests/test-printf-frexp.c: Likewise.
11098         * tests/test-printf-frexpl.c: Likewise.
11099         * tests/test-printf-posix.c: Likewise.
11100         * tests/test-priv-set.c: Likewise.
11101         * tests/test-quotearg.c: Likewise.
11102         * tests/test-random_r.c: Likewise.
11103         * tests/test-rawmemchr.c: Likewise.
11104         * tests/test-rbtree_list.c: Likewise.
11105         * tests/test-rbtree_oset.c: Likewise.
11106         * tests/test-rbtreehash_list.c: Likewise.
11107         * tests/test-readlink.c: Likewise.
11108         * tests/test-remove.c: Likewise.
11109         * tests/test-rename.c: Likewise.
11110         * tests/test-renameat.c: Likewise.
11111         * tests/test-rmdir.c: Likewise.
11112         * tests/test-round1.c: Likewise.
11113         * tests/test-roundf1.c: Likewise.
11114         * tests/test-roundl.c: Likewise.
11115         * tests/test-safe-alloc.c: Likewise.
11116         * tests/test-sameacls.c: Likewise.
11117         * tests/test-set-mode-acl.c: Likewise.
11118         * tests/test-setenv.c: Likewise.
11119         * tests/test-sigaction.c: Likewise.
11120         * tests/test-signbit.c: Likewise.
11121         * tests/test-sleep.c: Likewise.
11122         * tests/test-snprintf-posix.c: Likewise.
11123         * tests/test-snprintf.c: Likewise.
11124         * tests/test-sprintf-posix.c: Likewise.
11125         * tests/test-stat-time.c: Likewise.
11126         * tests/test-stat.c: Likewise.
11127         * tests/test-strcasestr.c: Likewise.
11128         * tests/test-strchrnul.c: Likewise.
11129         * tests/test-strerror.c: Likewise.
11130         * tests/test-striconv.c: Likewise.
11131         * tests/test-striconveh.c: Likewise.
11132         * tests/test-striconveha.c: Likewise.
11133         * tests/test-strsignal.c: Likewise.
11134         * tests/test-strstr.c: Likewise.
11135         * tests/test-strtod.c: Likewise.
11136         * tests/test-strverscmp.c: Likewise.
11137         * tests/test-symlink.c: Likewise.
11138         * tests/test-symlinkat.c: Likewise.
11139         * tests/test-trunc1.c: Likewise.
11140         * tests/test-trunc2.c: Likewise.
11141         * tests/test-truncf1.c: Likewise.
11142         * tests/test-truncf2.c: Likewise.
11143         * tests/test-truncl.c: Likewise.
11144         * tests/test-uname.c: Likewise.
11145         * tests/test-unlink.c: Likewise.
11146         * tests/test-unlinkat.c: Likewise.
11147         * tests/test-unsetenv.c: Likewise.
11148         * tests/test-usleep.c: Likewise.
11149         * tests/test-utimens.c: Likewise.
11150         * tests/test-utimensat.c: Likewise.
11151         * tests/test-vasnprintf-posix.c: Likewise.
11152         * tests/test-vasnprintf-posix2.c: Likewise.
11153         * tests/test-vasnprintf.c: Likewise.
11154         * tests/test-vasprintf-posix.c: Likewise.
11155         * tests/test-vasprintf.c: Likewise.
11156         * tests/test-vdprintf-posix.c: Likewise.
11157         * tests/test-vfprintf-posix.c: Likewise.
11158         * tests/test-vprintf-posix.c: Likewise.
11159         * tests/test-vsnprintf-posix.c: Likewise.
11160         * tests/test-vsnprintf.c: Likewise.
11161         * tests/test-vsprintf-posix.c: Likewise.
11162         * tests/test-wcrtomb.c: Likewise.
11163         * tests/test-wcsnrtombs.c: Likewise.
11164         * tests/test-wcsrtombs.c: Likewise.
11165         * tests/test-wctype.c: Likewise.
11166         * tests/test-wcwidth.c: Likewise.
11167         * tests/test-xfprintf-posix.c: Likewise.
11168         * tests/test-xmemdup0.c: Likewise.
11169         * tests/test-xprintf-posix.c: Likewise.
11170         * tests/test-xvasprintf.c: Likewise.
11171         * tests/unicase/test-locale-language.c: Likewise.
11172         * tests/unicase/test-mapping-part1.h: Likewise.
11173         * tests/unicase/test-predicate-part1.h: Likewise.
11174         * tests/unicase/test-u8-casecmp.c: Likewise.
11175         * tests/unicase/test-u8-casecoll.c: Likewise.
11176         * tests/unicase/test-u8-casefold.c: Likewise.
11177         * tests/unicase/test-u8-is-cased.c: Likewise.
11178         * tests/unicase/test-u8-is-casefolded.c: Likewise.
11179         * tests/unicase/test-u8-is-lowercase.c: Likewise.
11180         * tests/unicase/test-u8-is-titlecase.c: Likewise.
11181         * tests/unicase/test-u8-is-uppercase.c: Likewise.
11182         * tests/unicase/test-u8-tolower.c: Likewise.
11183         * tests/unicase/test-u8-totitle.c: Likewise.
11184         * tests/unicase/test-u8-toupper.c: Likewise.
11185         * tests/unicase/test-u16-casecmp.c: Likewise.
11186         * tests/unicase/test-u16-casecoll.c: Likewise.
11187         * tests/unicase/test-u16-casefold.c: Likewise.
11188         * tests/unicase/test-u16-is-cased.c: Likewise.
11189         * tests/unicase/test-u16-is-casefolded.c: Likewise.
11190         * tests/unicase/test-u16-is-lowercase.c: Likewise.
11191         * tests/unicase/test-u16-is-titlecase.c: Likewise.
11192         * tests/unicase/test-u16-is-uppercase.c: Likewise.
11193         * tests/unicase/test-u16-tolower.c: Likewise.
11194         * tests/unicase/test-u16-totitle.c: Likewise.
11195         * tests/unicase/test-u16-toupper.c: Likewise.
11196         * tests/unicase/test-u32-casecmp.c: Likewise.
11197         * tests/unicase/test-u32-casecoll.c: Likewise.
11198         * tests/unicase/test-u32-casefold.c: Likewise.
11199         * tests/unicase/test-u32-is-cased.c: Likewise.
11200         * tests/unicase/test-u32-is-casefolded.c: Likewise.
11201         * tests/unicase/test-u32-is-lowercase.c: Likewise.
11202         * tests/unicase/test-u32-is-titlecase.c: Likewise.
11203         * tests/unicase/test-u32-is-uppercase.c: Likewise.
11204         * tests/unicase/test-u32-tolower.c: Likewise.
11205         * tests/unicase/test-u32-totitle.c: Likewise.
11206         * tests/unicase/test-u32-toupper.c: Likewise.
11207         * tests/unicase/test-ulc-casecmp.c: Likewise.
11208         * tests/unicase/test-ulc-casecoll.c: Likewise.
11209         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
11210         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
11211         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
11212         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
11213         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
11214         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
11215         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
11216         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
11217         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
11218         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
11219         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
11220         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
11221         * tests/unictype/test-bidi_byname.c: Likewise.
11222         * tests/unictype/test-bidi_name.c: Likewise.
11223         * tests/unictype/test-bidi_of.c: Likewise.
11224         * tests/unictype/test-bidi_test.c: Likewise.
11225         * tests/unictype/test-block_list.c: Likewise.
11226         * tests/unictype/test-block_of.c: Likewise.
11227         * tests/unictype/test-block_test.c: Likewise.
11228         * tests/unictype/test-categ_and.c: Likewise.
11229         * tests/unictype/test-categ_and_not.c: Likewise.
11230         * tests/unictype/test-categ_byname.c: Likewise.
11231         * tests/unictype/test-categ_name.c: Likewise.
11232         * tests/unictype/test-categ_none.c: Likewise.
11233         * tests/unictype/test-categ_of.c: Likewise.
11234         * tests/unictype/test-categ_or.c: Likewise.
11235         * tests/unictype/test-categ_test_withtable.c: Likewise.
11236         * tests/unictype/test-combining.c: Likewise.
11237         * tests/unictype/test-decdigit.c: Likewise.
11238         * tests/unictype/test-digit.c: Likewise.
11239         * tests/unictype/test-mirror.c: Likewise.
11240         * tests/unictype/test-numeric.c: Likewise.
11241         * tests/unictype/test-pr_byname.c: Likewise.
11242         * tests/unictype/test-pr_test.c: Likewise.
11243         * tests/unictype/test-predicate-part1.h: Likewise.
11244         * tests/unictype/test-scripts.c: Likewise.
11245         * tests/unictype/test-sy_c_ident.c: Likewise.
11246         * tests/unictype/test-sy_java_ident.c: Likewise.
11247         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
11248         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
11249         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
11250         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
11251         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
11252         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
11253         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
11254         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
11255         * tests/uninorm/test-canonical-decomposition.c: Likewise.
11256         * tests/uninorm/test-compat-decomposition.c: Likewise.
11257         * tests/uninorm/test-composition.c: Likewise.
11258         * tests/uninorm/test-decomposing-form.c: Likewise.
11259         * tests/uninorm/test-decomposition.c: Likewise.
11260         * tests/uninorm/test-u8-nfc.c: Likewise.
11261         * tests/uninorm/test-u8-nfd.c: Likewise.
11262         * tests/uninorm/test-u8-nfkc.c: Likewise.
11263         * tests/uninorm/test-u8-nfkd.c: Likewise.
11264         * tests/uninorm/test-u8-normcmp.c: Likewise.
11265         * tests/uninorm/test-u8-normcoll.c: Likewise.
11266         * tests/uninorm/test-u16-nfc.c: Likewise.
11267         * tests/uninorm/test-u16-nfd.c: Likewise.
11268         * tests/uninorm/test-u16-nfkc.c: Likewise.
11269         * tests/uninorm/test-u16-nfkd.c: Likewise.
11270         * tests/uninorm/test-u16-normcmp.c: Likewise.
11271         * tests/uninorm/test-u16-normcoll.c: Likewise.
11272         * tests/uninorm/test-u32-nfc.c: Likewise.
11273         * tests/uninorm/test-u32-nfd.c: Likewise.
11274         * tests/uninorm/test-u32-nfkc.c: Likewise.
11275         * tests/uninorm/test-u32-nfkd.c: Likewise.
11276         * tests/uninorm/test-u32-normalize-big.c: Likewise.
11277         * tests/uninorm/test-u32-normcmp.c: Likewise.
11278         * tests/uninorm/test-u32-normcoll.c: Likewise.
11279         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
11280         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
11281         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
11282         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
11283         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
11284         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
11285         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
11286         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
11287         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
11288         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
11289         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
11290         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
11291         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
11292         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
11293         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
11294         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
11295         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
11296         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
11297         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
11298         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
11299         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
11300         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
11301         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
11302         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
11303         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
11304         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
11305         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
11306         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
11307         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
11308         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
11309         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
11310         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
11311         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
11312         * tests/uniwidth/test-u8-strwidth.c: Likewise.
11313         * tests/uniwidth/test-u8-width.c: Likewise.
11314         * tests/uniwidth/test-u16-strwidth.c: Likewise.
11315         * tests/uniwidth/test-u16-width.c: Likewise.
11316         * tests/uniwidth/test-u32-strwidth.c: Likewise.
11317         * tests/uniwidth/test-u32-width.c: Likewise.
11318         * tests/uniwidth/test-uc_width.c: Likewise.
11319         * tests/uniwidth/test-uc_width2.c: Likewise.
11320         * modules/acl-tests (Files): Add tests/macros.h.
11321         * modules/areadlink-tests (Files): Likewise.
11322         * modules/areadlink-with-size-tests (Files): Likewise.
11323         * modules/areadlinkat-tests (Files): Likewise.
11324         * modules/areadlinkat-with-size-tests (Files): Likewise.
11325         * modules/argmatch-tests (Files): Likewise.
11326         * modules/argv-iter-tests (Files): Likewise.
11327         * modules/array-list-tests (Files): Likewise.
11328         * modules/array-mergesort-tests (Files): Likewise.
11329         * modules/array-oset-tests (Files): Likewise.
11330         * modules/avltree-list-tests (Files): Likewise.
11331         * modules/avltree-oset-tests (Files): Likewise.
11332         * modules/avltreehash-list-tests (Files): Likewise.
11333         * modules/base64-tests (Files): Likewise.
11334         * modules/binary-io-tests (Files): Likewise.
11335         * modules/bitrotate-tests (Files): Likewise.
11336         * modules/btowc-tests (Files): Likewise.
11337         * modules/byteswap-tests (Files): Likewise.
11338         * modules/c-ctype-tests (Files): Likewise.
11339         * modules/c-stack-tests (Files): Likewise.
11340         * modules/c-strcase-tests (Files): Likewise.
11341         * modules/c-strcasestr-tests (Files): Likewise.
11342         * modules/c-strstr-tests (Files): Likewise.
11343         * modules/canonicalize-lgpl-tests (Files): Likewise.
11344         * modules/canonicalize-tests (Files): Likewise.
11345         * modules/carray-list-tests (Files): Likewise.
11346         * modules/ceilf-tests (Files): Likewise.
11347         * modules/ceill-tests (Files): Likewise.
11348         * modules/chown-tests (Files): Likewise.
11349         * modules/cloexec-tests (Files): Likewise.
11350         * modules/copy-file-tests (Files): Likewise.
11351         * modules/count-one-bits-tests (Files): Likewise.
11352         * modules/dprintf-posix-tests (Files): Likewise.
11353         * modules/dup2-tests (Files): Likewise.
11354         * modules/dup3-tests (Files): Likewise.
11355         * modules/duplocale-tests (Files): Likewise.
11356         * modules/fbufmode-tests (Files): Likewise.
11357         * modules/fchdir-tests (Files): Likewise.
11358         * modules/fcntl-safer-tests (Files): Likewise.
11359         * modules/fcntl-tests (Files): Likewise.
11360         * modules/fdopendir-tests (Files): Likewise.
11361         * modules/fdutimensat-tests (Files): Likewise.
11362         * modules/fflush-tests (Files): Likewise.
11363         * modules/filevercmp-tests (Files): Likewise.
11364         * modules/flock-tests (Files): Likewise.
11365         * modules/floorf-tests (Files): Likewise.
11366         * modules/floorl-tests (Files): Likewise.
11367         * modules/fnmatch-tests (Files): Likewise.
11368         * modules/fopen-safer-tests (Files): Likewise.
11369         * modules/fopen-tests (Files): Likewise.
11370         * modules/fpending-tests (Files): Likewise.
11371         * modules/fprintf-posix-tests (Files): Likewise.
11372         * modules/fpurge-tests (Files): Likewise.
11373         * modules/freadable-tests (Files): Likewise.
11374         * modules/freadahead-tests (Files): Likewise.
11375         * modules/freading-tests (Files): Likewise.
11376         * modules/freadptr-tests (Files): Likewise.
11377         * modules/freadseek-tests (Files): Likewise.
11378         * modules/freopen-tests (Files): Likewise.
11379         * modules/frexp-nolibm-tests (Files): Likewise.
11380         * modules/frexp-tests (Files): Likewise.
11381         * modules/frexpl-nolibm-tests (Files): Likewise.
11382         * modules/frexpl-tests (Files): Likewise.
11383         * modules/fseek-tests (Files): Likewise.
11384         * modules/fseeko-tests (Files): Likewise.
11385         * modules/fstrcmp-tests (Files): Likewise.
11386         * modules/fsync-tests (Files): Likewise.
11387         * modules/ftell-tests (Files): Likewise.
11388         * modules/ftello-tests (Files): Likewise.
11389         * modules/func-tests (Files): Likewise.
11390         * modules/futimens-tests (Files): Likewise.
11391         * modules/fwritable-tests (Files): Likewise.
11392         * modules/fwriting-tests (Files): Likewise.
11393         * modules/getcwd-tests (Files): Likewise.
11394         * modules/getdate-tests (Files): Likewise.
11395         * modules/getdelim-tests (Files): Likewise.
11396         * modules/getdtablesize-tests (Files): Likewise.
11397         * modules/getgroups-tests (Files): Likewise.
11398         * modules/getline-tests (Files): Likewise.
11399         * modules/getndelim2-tests (Files): Likewise.
11400         * modules/glob-tests (Files): Likewise.
11401         * modules/hash-tests (Files): Likewise.
11402         * modules/i-ring-tests (Files): Likewise.
11403         * modules/iconv-tests (Files): Likewise.
11404         * modules/iconv_open-utf-tests (Files): Likewise.
11405         * modules/idpriv-drop-tests (Files): Likewise.
11406         * modules/idpriv-droptemp-tests (Files): Likewise.
11407         * modules/inet_ntop-tests (Files): Likewise.
11408         * modules/inet_pton-tests (Files): Likewise.
11409         * modules/isblank-tests (Files): Likewise.
11410         * modules/isfinite-tests (Files): Likewise.
11411         * modules/isinf-tests (Files): Likewise.
11412         * modules/isnan-tests (Files): Likewise.
11413         * modules/isnand-nolibm-tests (Files): Likewise.
11414         * modules/isnand-tests (Files): Likewise.
11415         * modules/isnanf-nolibm-tests (Files): Likewise.
11416         * modules/isnanf-tests (Files): Likewise.
11417         * modules/isnanl-nolibm-tests (Files): Likewise.
11418         * modules/isnanl-tests (Files): Likewise.
11419         * modules/lchown-tests (Files): Likewise.
11420         * modules/ldexpl-tests (Files): Likewise.
11421         * modules/link-tests (Files): Likewise.
11422         * modules/linkat-tests (Files): Likewise.
11423         * modules/linked-list-tests (Files): Likewise.
11424         * modules/linkedhash-list-tests (Files): Likewise.
11425         * modules/localename-tests (Files): Likewise.
11426         * modules/lseek-tests (Files): Likewise.
11427         * modules/lstat-tests (Files): Likewise.
11428         * modules/mbmemcasecmp-tests (Files): Likewise.
11429         * modules/mbmemcasecoll-tests (Files): Likewise.
11430         * modules/mbrtowc-tests (Files): Likewise.
11431         * modules/mbscasecmp-tests (Files): Likewise.
11432         * modules/mbscasestr-tests (Files): Likewise.
11433         * modules/mbschr-tests (Files): Likewise.
11434         * modules/mbscspn-tests (Files): Likewise.
11435         * modules/mbsinit-tests (Files): Likewise.
11436         * modules/mbsncasecmp-tests (Files): Likewise.
11437         * modules/mbsnrtowcs-tests (Files): Likewise.
11438         * modules/mbspbrk-tests (Files): Likewise.
11439         * modules/mbspcasecmp-tests (Files): Likewise.
11440         * modules/mbsrchr-tests (Files): Likewise.
11441         * modules/mbsrtowcs-tests (Files): Likewise.
11442         * modules/mbsspn-tests (Files): Likewise.
11443         * modules/mbsstr-tests (Files): Likewise.
11444         * modules/memchr-tests (Files): Likewise.
11445         * modules/memchr2-tests (Files): Likewise.
11446         * modules/memcmp-tests (Files): Likewise.
11447         * modules/memmem-tests (Files): Likewise.
11448         * modules/memrchr-tests (Files): Likewise.
11449         * modules/mkdir-tests (Files): Likewise.
11450         * modules/mkfifo-tests (Files): Likewise.
11451         * modules/mkfifoat-tests (Files): Likewise.
11452         * modules/mknod-tests (Files): Likewise.
11453         * modules/nanosleep-tests (Files): Likewise.
11454         * modules/nl_langinfo-tests (Files): Likewise.
11455         * modules/obstack-printf-tests (Files): Likewise.
11456         * modules/open-tests (Files): Likewise.
11457         * modules/openat-tests (Files): Likewise.
11458         * modules/pipe-filter-gi-tests (Files): Likewise.
11459         * modules/pipe-filter-ii-tests (Files): Likewise.
11460         * modules/pipe2-tests (Files): Likewise.
11461         * modules/popen-safer-tests (Files): Likewise.
11462         * modules/popen-tests (Files): Likewise.
11463         * modules/posixtm-tests (Files): Likewise.
11464         * modules/pread-tests (Files): Likewise.
11465         * modules/printf-frexp-tests (Files): Likewise.
11466         * modules/printf-frexpl-tests (Files): Likewise.
11467         * modules/printf-posix-tests (Files): Likewise.
11468         * modules/priv-set-tests (Files): Likewise.
11469         * modules/quotearg-tests (Files): Likewise.
11470         * modules/random_r-tests (Files): Likewise.
11471         * modules/rawmemchr-tests (Files): Likewise.
11472         * modules/rbtree-list-tests (Files): Likewise.
11473         * modules/rbtree-oset-tests (Files): Likewise.
11474         * modules/rbtreehash-list-tests (Files): Likewise.
11475         * modules/readlink-tests (Files): Likewise.
11476         * modules/remove-tests (Files): Likewise.
11477         * modules/rename-tests (Files): Likewise.
11478         * modules/renameat-tests (Files): Likewise.
11479         * modules/rmdir-tests (Files): Likewise.
11480         * modules/round-tests (Files): Likewise.
11481         * modules/roundf-tests (Files): Likewise.
11482         * modules/roundl-tests (Files): Likewise.
11483         * modules/safe-alloc-tests (Files): Likewise.
11484         * modules/setenv-tests (Files): Likewise.
11485         * modules/sigaction-tests (Files): Likewise.
11486         * modules/signbit-tests (Files): Likewise.
11487         * modules/sleep-tests (Files): Likewise.
11488         * modules/snprintf-posix-tests (Files): Likewise.
11489         * modules/snprintf-tests (Files): Likewise.
11490         * modules/sprintf-posix-tests (Files): Likewise.
11491         * modules/stat-tests (Files): Likewise.
11492         * modules/stat-time-tests (Files): Likewise.
11493         * modules/strcasestr-tests (Files): Likewise.
11494         * modules/strchrnul-tests (Files): Likewise.
11495         * modules/strerror-tests (Files): Likewise.
11496         * modules/striconv-tests (Files): Likewise.
11497         * modules/striconveh-tests (Files): Likewise.
11498         * modules/striconveha-tests (Files): Likewise.
11499         * modules/strsignal-tests (Files): Likewise.
11500         * modules/strstr-tests (Files): Likewise.
11501         * modules/strtod-tests (Files): Likewise.
11502         * modules/strverscmp-tests (Files): Likewise.
11503         * modules/symlink-tests (Files): Likewise.
11504         * modules/symlinkat-tests (Files): Likewise.
11505         * modules/trunc-tests (Files): Likewise.
11506         * modules/truncf-tests (Files): Likewise.
11507         * modules/truncl-tests (Files): Likewise.
11508         * modules/uname-tests (Files): Likewise.
11509         * modules/unicase/cased-tests (Files): Likewise.
11510         * modules/unicase/ignorable-tests (Files): Likewise.
11511         * modules/unicase/locale-language-tests (Files): Likewise.
11512         * modules/unicase/tolower-tests (Files): Likewise.
11513         * modules/unicase/totitle-tests (Files): Likewise.
11514         * modules/unicase/toupper-tests (Files): Likewise.
11515         * modules/unicase/u8-casecmp-tests (Files): Likewise.
11516         * modules/unicase/u8-casecoll-tests (Files): Likewise.
11517         * modules/unicase/u8-casefold-tests (Files): Likewise.
11518         * modules/unicase/u8-is-cased-tests (Files): Likewise.
11519         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
11520         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
11521         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
11522         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
11523         * modules/unicase/u8-tolower-tests (Files): Likewise.
11524         * modules/unicase/u8-totitle-tests (Files): Likewise.
11525         * modules/unicase/u8-toupper-tests (Files): Likewise.
11526         * modules/unicase/u16-casecmp-tests (Files): Likewise.
11527         * modules/unicase/u16-casecoll-tests (Files): Likewise.
11528         * modules/unicase/u16-casefold-tests (Files): Likewise.
11529         * modules/unicase/u16-is-cased-tests (Files): Likewise.
11530         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
11531         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
11532         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
11533         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
11534         * modules/unicase/u16-tolower-tests (Files): Likewise.
11535         * modules/unicase/u16-totitle-tests (Files): Likewise.
11536         * modules/unicase/u16-toupper-tests (Files): Likewise.
11537         * modules/unicase/u32-casecmp-tests (Files): Likewise.
11538         * modules/unicase/u32-casecoll-tests (Files): Likewise.
11539         * modules/unicase/u32-casefold-tests (Files): Likewise.
11540         * modules/unicase/u32-is-cased-tests (Files): Likewise.
11541         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
11542         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
11543         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
11544         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
11545         * modules/unicase/u32-tolower-tests (Files): Likewise.
11546         * modules/unicase/u32-totitle-tests (Files): Likewise.
11547         * modules/unicase/u32-toupper-tests (Files): Likewise.
11548         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
11549         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
11550         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
11551         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
11552         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
11553         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
11554         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
11555         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
11556         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
11557         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
11558         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
11559         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
11560         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
11561         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
11562         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
11563         * modules/unictype/bidicategory-name-tests (Files): Likewise.
11564         * modules/unictype/bidicategory-of-tests (Files): Likewise.
11565         * modules/unictype/bidicategory-test-tests (Files): Likewise.
11566         * modules/unictype/block-list-tests (Files): Likewise.
11567         * modules/unictype/block-of-tests (Files): Likewise.
11568         * modules/unictype/block-test-tests (Files): Likewise.
11569         * modules/unictype/category-C-tests (Files): Likewise.
11570         * modules/unictype/category-Cc-tests (Files): Likewise.
11571         * modules/unictype/category-Cf-tests (Files): Likewise.
11572         * modules/unictype/category-Cn-tests (Files): Likewise.
11573         * modules/unictype/category-Co-tests (Files): Likewise.
11574         * modules/unictype/category-Cs-tests (Files): Likewise.
11575         * modules/unictype/category-L-tests (Files): Likewise.
11576         * modules/unictype/category-Ll-tests (Files): Likewise.
11577         * modules/unictype/category-Lm-tests (Files): Likewise.
11578         * modules/unictype/category-Lo-tests (Files): Likewise.
11579         * modules/unictype/category-Lt-tests (Files): Likewise.
11580         * modules/unictype/category-Lu-tests (Files): Likewise.
11581         * modules/unictype/category-M-tests (Files): Likewise.
11582         * modules/unictype/category-Mc-tests (Files): Likewise.
11583         * modules/unictype/category-Me-tests (Files): Likewise.
11584         * modules/unictype/category-Mn-tests (Files): Likewise.
11585         * modules/unictype/category-N-tests (Files): Likewise.
11586         * modules/unictype/category-Nd-tests (Files): Likewise.
11587         * modules/unictype/category-Nl-tests (Files): Likewise.
11588         * modules/unictype/category-No-tests (Files): Likewise.
11589         * modules/unictype/category-P-tests (Files): Likewise.
11590         * modules/unictype/category-Pc-tests (Files): Likewise.
11591         * modules/unictype/category-Pd-tests (Files): Likewise.
11592         * modules/unictype/category-Pe-tests (Files): Likewise.
11593         * modules/unictype/category-Pf-tests (Files): Likewise.
11594         * modules/unictype/category-Pi-tests (Files): Likewise.
11595         * modules/unictype/category-Po-tests (Files): Likewise.
11596         * modules/unictype/category-Ps-tests (Files): Likewise.
11597         * modules/unictype/category-S-tests (Files): Likewise.
11598         * modules/unictype/category-Sc-tests (Files): Likewise.
11599         * modules/unictype/category-Sk-tests (Files): Likewise.
11600         * modules/unictype/category-Sm-tests (Files): Likewise.
11601         * modules/unictype/category-So-tests (Files): Likewise.
11602         * modules/unictype/category-Z-tests (Files): Likewise.
11603         * modules/unictype/category-Zl-tests (Files): Likewise.
11604         * modules/unictype/category-Zp-tests (Files): Likewise.
11605         * modules/unictype/category-Zs-tests (Files): Likewise.
11606         * modules/unictype/category-and-not-tests (Files): Likewise.
11607         * modules/unictype/category-and-tests (Files): Likewise.
11608         * modules/unictype/category-byname-tests (Files): Likewise.
11609         * modules/unictype/category-name-tests (Files): Likewise.
11610         * modules/unictype/category-none-tests (Files): Likewise.
11611         * modules/unictype/category-of-tests (Files): Likewise.
11612         * modules/unictype/category-or-tests (Files): Likewise.
11613         * modules/unictype/category-test-withtable-tests (Files): Likewise.
11614         * modules/unictype/combining-class-tests (Files): Likewise.
11615         * modules/unictype/ctype-alnum-tests (Files): Likewise.
11616         * modules/unictype/ctype-alpha-tests (Files): Likewise.
11617         * modules/unictype/ctype-blank-tests (Files): Likewise.
11618         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
11619         * modules/unictype/ctype-digit-tests (Files): Likewise.
11620         * modules/unictype/ctype-graph-tests (Files): Likewise.
11621         * modules/unictype/ctype-lower-tests (Files): Likewise.
11622         * modules/unictype/ctype-print-tests (Files): Likewise.
11623         * modules/unictype/ctype-punct-tests (Files): Likewise.
11624         * modules/unictype/ctype-space-tests (Files): Likewise.
11625         * modules/unictype/ctype-upper-tests (Files): Likewise.
11626         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
11627         * modules/unictype/decimal-digit-tests (Files): Likewise.
11628         * modules/unictype/digit-tests (Files): Likewise.
11629         * modules/unictype/mirror-tests (Files): Likewise.
11630         * modules/unictype/numeric-tests (Files): Likewise.
11631         * modules/unictype/property-alphabetic-tests (Files): Likewise.
11632         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
11633         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
11634         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
11635         Likewise.
11636         * modules/unictype/property-bidi-block-separator-tests (Files):
11637         Likewise.
11638         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
11639         Likewise.
11640         * modules/unictype/property-bidi-common-separator-tests (Files):
11641         Likewise.
11642         * modules/unictype/property-bidi-control-tests (Files): Likewise.
11643         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
11644         Likewise.
11645         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
11646         Likewise.
11647         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
11648         Likewise.
11649         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
11650         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
11651         Likewise.
11652         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
11653         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
11654         Likewise.
11655         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
11656         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
11657         * modules/unictype/property-bidi-segment-separator-tests (Files):
11658         Likewise.
11659         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
11660         * modules/unictype/property-byname-tests (Files): Likewise.
11661         * modules/unictype/property-combining-tests (Files): Likewise.
11662         * modules/unictype/property-composite-tests (Files): Likewise.
11663         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
11664         * modules/unictype/property-dash-tests (Files): Likewise.
11665         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
11666         * modules/unictype/property-default-ignorable-code-point-tests (Files):
11667         Likewise.
11668         * modules/unictype/property-deprecated-tests (Files): Likewise.
11669         * modules/unictype/property-diacritic-tests (Files): Likewise.
11670         * modules/unictype/property-extender-tests (Files): Likewise.
11671         * modules/unictype/property-format-control-tests (Files): Likewise.
11672         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
11673         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
11674         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
11675         * modules/unictype/property-hex-digit-tests (Files): Likewise.
11676         * modules/unictype/property-hyphen-tests (Files): Likewise.
11677         * modules/unictype/property-id-continue-tests (Files): Likewise.
11678         * modules/unictype/property-id-start-tests (Files): Likewise.
11679         * modules/unictype/property-ideographic-tests (Files): Likewise.
11680         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
11681         * modules/unictype/property-ids-trinary-operator-tests (Files):
11682         Likewise.
11683         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
11684         * modules/unictype/property-iso-control-tests (Files): Likewise.
11685         * modules/unictype/property-join-control-tests (Files): Likewise.
11686         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
11687         * modules/unictype/property-line-separator-tests (Files): Likewise.
11688         * modules/unictype/property-logical-order-exception-tests (Files):
11689         Likewise.
11690         * modules/unictype/property-lowercase-tests (Files): Likewise.
11691         * modules/unictype/property-math-tests (Files): Likewise.
11692         * modules/unictype/property-non-break-tests (Files): Likewise.
11693         * modules/unictype/property-not-a-character-tests (Files): Likewise.
11694         * modules/unictype/property-numeric-tests (Files): Likewise.
11695         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
11696         * modules/unictype/property-other-default-ignorable-code-point-tests
11697         (Files): Likewise.
11698         * modules/unictype/property-other-grapheme-extend-tests (Files):
11699         Likewise.
11700         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
11701         * modules/unictype/property-other-id-start-tests (Files): Likewise.
11702         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
11703         * modules/unictype/property-other-math-tests (Files): Likewise.
11704         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
11705         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
11706         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
11707         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
11708         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
11709         * modules/unictype/property-private-use-tests (Files): Likewise.
11710         * modules/unictype/property-punctuation-tests (Files): Likewise.
11711         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
11712         * modules/unictype/property-radical-tests (Files): Likewise.
11713         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
11714         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
11715         * modules/unictype/property-space-tests (Files): Likewise.
11716         * modules/unictype/property-terminal-punctuation-tests (Files):
11717         Likewise.
11718         * modules/unictype/property-test-tests (Files): Likewise.
11719         * modules/unictype/property-titlecase-tests (Files): Likewise.
11720         * modules/unictype/property-unassigned-code-value-tests (Files):
11721         Likewise.
11722         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
11723         * modules/unictype/property-uppercase-tests (Files): Likewise.
11724         * modules/unictype/property-variation-selector-tests (Files): Likewise.
11725         * modules/unictype/property-white-space-tests (Files): Likewise.
11726         * modules/unictype/property-xid-continue-tests (Files): Likewise.
11727         * modules/unictype/property-xid-start-tests (Files): Likewise.
11728         * modules/unictype/property-zero-width-tests (Files): Likewise.
11729         * modules/unictype/scripts-tests (Files): Likewise.
11730         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
11731         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
11732         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
11733         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
11734         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
11735         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
11736         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
11737         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
11738         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
11739         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
11740         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
11741         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
11742         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
11743         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
11744         * modules/uninorm/composition-tests (Files): Likewise.
11745         * modules/uninorm/decomposing-form-tests (Files): Likewise.
11746         * modules/uninorm/decomposition-tests (Files): Likewise.
11747         * modules/uninorm/filter-tests (Files): Likewise.
11748         * modules/uninorm/nfc-tests (Files): Likewise.
11749         * modules/uninorm/nfd-tests (Files): Likewise.
11750         * modules/uninorm/nfkc-tests (Files): Likewise.
11751         * modules/uninorm/nfkd-tests (Files): Likewise.
11752         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
11753         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
11754         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
11755         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
11756         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
11757         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
11758         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
11759         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
11760         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
11761         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
11762         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
11763         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
11764         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
11765         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
11766         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
11767         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
11768         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
11769         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
11770         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
11771         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
11772         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
11773         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
11774         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
11775         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
11776         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
11777         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
11778         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
11779         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
11780         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
11781         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
11782         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
11783         * modules/uniwidth/u8-width-tests (Files): Likewise.
11784         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
11785         * modules/uniwidth/u16-width-tests (Files): Likewise.
11786         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
11787         * modules/uniwidth/u32-width-tests (Files): Likewise.
11788         * modules/uniwidth/width-tests (Files): Likewise.
11789         * modules/unlink-tests (Files): Likewise.
11790         * modules/unsetenv-tests (Files): Likewise.
11791         * modules/usleep-tests (Files): Likewise.
11792         * modules/utimens-tests (Files): Likewise.
11793         * modules/utimensat-tests (Files): Likewise.
11794         * modules/vasnprintf-posix-tests (Files): Likewise.
11795         * modules/vasnprintf-tests (Files): Likewise.
11796         * modules/vasprintf-posix-tests (Files): Likewise.
11797         * modules/vasprintf-tests (Files): Likewise.
11798         * modules/vdprintf-posix-tests (Files): Likewise.
11799         * modules/vfprintf-posix-tests (Files): Likewise.
11800         * modules/vprintf-posix-tests (Files): Likewise.
11801         * modules/vsnprintf-posix-tests (Files): Likewise.
11802         * modules/vsnprintf-tests (Files): Likewise.
11803         * modules/vsprintf-posix-tests (Files): Likewise.
11804         * modules/wcrtomb-tests (Files): Likewise.
11805         * modules/wcsnrtombs-tests (Files): Likewise.
11806         * modules/wcsrtombs-tests (Files): Likewise.
11807         * modules/wctype-tests (Files): Likewise.
11808         * modules/wcwidth-tests (Files): Likewise.
11809         * modules/xmemdup0-tests (Files): Likewise.
11810         * modules/xprintf-posix-tests (Files): Likewise.
11811         * modules/xvasprintf-tests (Files): Likewise.
11812
11813 2009-12-24  Eric Blake  <ebb9@byu.net>
11814
11815         test-nanosleep: fix typo
11816         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
11817         patch.
11818         Reported by Bruno Haible.
11819
11820 2009-12-24  Bruno Haible  <bruno@clisp.org>
11821
11822         Reduce namespace pollution on glibc systems.
11823         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
11824         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
11825         systems.
11826         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
11827         <getopt.h> on glibc systems.
11828         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
11829         systems.
11830         * lib/fcntl.c: Include <unistd.h> here instead.
11831
11832 2009-12-24  Bruno Haible  <bruno@clisp.org>
11833
11834         * lib/stdlib.in.h (includes): Fix typo in today's commit.
11835
11836 2009-12-24  Eric Blake  <ebb9@byu.net>
11837
11838         tests: add signature checks
11839         * tests/signature.h (SIGNATURE_CHECK): New file.
11840         * modules/atexit-tests (Files): Use it.
11841         * modules/btowc-tests (Files): Likewise.
11842         * modules/canonicalize-lgpl-tests (Files): Likewise.
11843         * modules/ceilf-tests (Files): Likewise.
11844         * modules/ceill-tests (Files): Likewise.
11845         * modules/chown-tests (Files): Likewise.
11846         * modules/dprintf-posix-tests (Files): Likewise.
11847         * modules/dup2-tests (Files): Likewise.
11848         * modules/dup3-tests (Files): Likewise.
11849         * modules/duplocale-tests (Files): Likewise.
11850         * modules/fchdir-tests (Files): Likewise.
11851         * modules/fcntl-tests (Files): Likewise.
11852         * modules/fdopendir-tests (Files): Likewise.
11853         * modules/fflush-tests (Files): Likewise.
11854         * modules/flock-tests (Files): Likewise.
11855         * modules/floorf-tests (Files): Likewise.
11856         * modules/floorl-tests (Files): Likewise.
11857         * modules/fnmatch-tests (Files): Likewise.
11858         * modules/fopen-tests (Files): Likewise.
11859         * modules/fprintf-posix-tests (Files): Likewise.
11860         * modules/freopen-tests (Files): Likewise.
11861         * modules/frexp-nolibm-tests (Files): Likewise.
11862         * modules/frexp-tests (Files): Likewise.
11863         * modules/frexpl-nolibm-tests (Files): Likewise.
11864         * modules/frexpl-tests (Files): Likewise.
11865         * modules/fseek-tests (Files): Likewise.
11866         * modules/fseeko-tests (Files): Likewise.
11867         * modules/fsync-tests (Files): Likewise.
11868         * modules/ftell-tests (Files): Likewise.
11869         * modules/ftello-tests (Files): Likewise.
11870         * modules/futimens-tests (Files): Likewise.
11871         * modules/getaddrinfo-tests (Files): Likewise.
11872         * modules/getcwd-tests (Files): Likewise.
11873         * modules/getdelim-tests (Files): Likewise.
11874         * modules/getdtablesize-tests (Files): Likewise.
11875         * modules/getgroups-tests (Files): Likewise.
11876         * modules/gethostname-tests (Files): Likewise.
11877         * modules/getline-tests (Files): Likewise.
11878         * modules/getopt-posix-tests (Files): Likewise.
11879         * modules/gettimeofday-tests (Files): Likewise.
11880         * modules/glob-tests (Files): Likewise.
11881         * modules/iconv-tests (Files): Likewise.
11882         * modules/inet_ntop-tests (Files): Likewise.
11883         * modules/inet_pton-tests (Files): Likewise.
11884         * modules/isblank-tests (Files): Likewise.
11885         * modules/lchown-tests (Files): Likewise.
11886         * modules/ldexpl-tests (Files): Likewise.
11887         * modules/link-tests (Files): Likewise.
11888         * modules/linkat-tests (Files): Likewise.
11889         * modules/lseek-tests (Files): Likewise.
11890         * modules/lstat-tests (Files): Likewise.
11891         * modules/mbrtowc-tests (Files): Likewise.
11892         * modules/mbsinit-tests (Files): Likewise.
11893         * modules/mbsnrtowcs-tests (Files): Likewise.
11894         * modules/mbsrtowcs-tests (Files): Likewise.
11895         * modules/memchr-tests (Files): Likewise.
11896         * modules/memcmp-tests (Files): Likewise.
11897         * modules/memmem-tests (Files): Likewise.
11898         * modules/memrchr-tests (Files): Likewise.
11899         * modules/mkdir-tests (Files): Likewise.
11900         * modules/mkfifo-tests (Files): Likewise.
11901         * modules/mkfifoat-tests (Files): Likewise.
11902         * modules/mknod-tests (Files): Likewise.
11903         * modules/nanosleep-tests (Files): Likewise.
11904         * modules/nl_langinfo-tests (Files): Likewise.
11905         * modules/obstack-printf-tests (Files): Likewise.
11906         * modules/open-tests (Files): Likewise.
11907         * modules/openat-tests (Files): Likewise.
11908         * modules/perror-tests (Files): Likewise.
11909         * modules/pipe2-tests (Files): Likewise.
11910         * modules/poll-tests (Files): Likewise.
11911         * modules/popen-tests (Files): Likewise.
11912         * modules/posix_spawn-tests (Files): Likewise.
11913         * modules/posix_spawnp-tests (Files): Likewise.
11914         * modules/pread-tests (Files): Likewise.
11915         * modules/printf-posix-tests (Files): Likewise.
11916         * modules/pty-tests (Files): Likewise.
11917         * modules/random_r-tests (Files): Likewise.
11918         * modules/rawmemchr-tests (Files): Likewise.
11919         * modules/readlink-tests (Files): Likewise.
11920         * modules/remove-tests (Files): Likewise.
11921         * modules/rename-tests (Files): Likewise.
11922         * modules/renameat-tests (Files): Likewise.
11923         * modules/rmdir-tests (Files): Likewise.
11924         * modules/round-tests (Files): Likewise.
11925         * modules/roundf-tests (Files): Likewise.
11926         * modules/roundl-tests (Files): Likewise.
11927         * modules/select-tests (Files): Likewise.
11928         * modules/setenv-tests (Files): Likewise.
11929         * modules/sigaction-tests (Files): Likewise.
11930         * modules/sleep-tests (Files): Likewise.
11931         * modules/snprintf-posix-tests (Files): Likewise.
11932         * modules/snprintf-tests (Files): Likewise.
11933         * modules/sprintf-posix-tests (Files): Likewise.
11934         * modules/stat-tests (Files): Likewise.
11935         * modules/strcasestr-tests (Files): Likewise.
11936         * modules/strchrnul-tests (Files): Likewise.
11937         * modules/strerror-tests (Files): Likewise.
11938         * modules/strsignal-tests (Files): Likewise.
11939         * modules/strstr-tests (Files): Likewise.
11940         * modules/strtod-tests (Files): Likewise.
11941         * modules/strverscmp-tests (Files): Likewise.
11942         * modules/symlink-tests (Files): Likewise.
11943         * modules/symlinkat-tests (Files): Likewise.
11944         * modules/times-tests (Files): Likewise.
11945         * modules/trunc-tests (Files): Likewise.
11946         * modules/truncf-tests (Files): Likewise.
11947         * modules/truncl-tests (Files): Likewise.
11948         * modules/tsearch-tests (Files): Likewise.
11949         * modules/uname-tests (Files): Likewise.
11950         * modules/unlink-tests (Files): Likewise.
11951         * modules/unsetenv-tests (Files): Likewise.
11952         * modules/usleep-tests (Files): Likewise.
11953         * modules/utimensat-tests (Files): Likewise.
11954         * modules/vasprintf-tests (Files): Likewise.
11955         * modules/vdprintf-posix-tests (Files): Likewise.
11956         * modules/vfprintf-posix-tests (Files): Likewise.
11957         * modules/vprintf-posix-tests (Files): Likewise.
11958         * modules/vsnprintf-posix-tests (Files): Likewise.
11959         * modules/vsnprintf-tests (Files): Likewise.
11960         * modules/vsprintf-posix-tests (Files): Likewise.
11961         * modules/wcrtomb-tests (Files): Likewise.
11962         * modules/wcsnrtombs-tests (Files): Likewise.
11963         * modules/wcsrtombs-tests (Files): Likewise.
11964         * modules/wcwidth-tests (Files): Likewise.
11965         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
11966         * tests/test-isinf.c (isinf): Likewise.
11967         * tests/test-isnan.c (isnan): Likewise.
11968         * tests/test-signbit.c (signbit): Likewise.
11969         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
11970         declaration, either as macro or with correct signature.
11971         (select): Ensure function under test is declared with correct
11972         signature in correct header.
11973         * tests/test-atexit.c (atexit): Likewise.
11974         * tests/test-btowc.c (btowc): Likewise.
11975         * tests/test-canonicalize-lgpl.c (realpath)
11976         (canonicalize_file_name): Likewise.
11977         * tests/test-ceilf1.c (ceilf): Likewise.
11978         * tests/test-ceill.c (ceill): Likewise.
11979         * tests/test-chown.c (chown): Likewise.
11980         * tests/test-dprintf-posix.c (dprintf): Likewise.
11981         * tests/test-dup2.c (dup2): Likewise.
11982         * tests/test-dup3.c (dup3): Likewise.
11983         * tests/test-duplocale.c (duplocale): Likewise.
11984         * tests/test-fchdir.c (fchdir): Likewise.
11985         * tests/test-fchownat.c (fchownat): Likewise.
11986         * tests/test-fcntl.c (fcntl): Likewise.
11987         * tests/test-fdopendir.c (fdopendir): Likewise.
11988         * tests/test-fflush.c (fflush): Likewise.
11989         * tests/test-flock.c (flock): Likewise.
11990         * tests/test-floorf1.c (floorf): Likewise.
11991         * tests/test-floorl.c (floorl): Likewise.
11992         * tests/test-fnmatch.c (fnmatch): Likewise.
11993         * tests/test-fopen.c (fopen): Likewise.
11994         * tests/test-fprintf-posix.c (fprintf): Likewise.
11995         * tests/test-freopen.c (freopen): Likewise.
11996         * tests/test-frexp.c (frexp): Likewise.
11997         * tests/test-frexpl.c (frexpl): Likewise.
11998         * tests/test-fseek.c (fseek): Likewise.
11999         * tests/test-fseeko.c (fseeko): Likewise.
12000         * tests/test-fstatat.c (fstatat): Likewise.
12001         * tests/test-fsync.c (fsync): Likewise.
12002         * tests/test-ftell.c (ftell): Likewise.
12003         * tests/test-ftello.c (ftello): Likewise.
12004         * tests/test-futimens.c (futimens): Likewise.
12005         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
12006         (gai_strerror): Likewise.
12007         * tests/test-getcwd.c (getcwd): Likewise.
12008         * tests/test-getdelim.c (getdelim): Likewise.
12009         * tests/test-getdtablesize.c (getdtablesize): Likewise.
12010         * tests/test-getgroups.c (getgroups): Likewise.
12011         * tests/test-gethostname.c (gethostname): Likewise.
12012         * tests/test-getline.c (getline): Likewise.
12013         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
12014         Likewise.
12015         * tests/test-gettimeofday.c (gettimeofday): Likewise.
12016         * tests/test-glob.c (glob, globfree): Likewise.
12017         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
12018         * tests/test-inet_ntop.c (inet_ntop): Likewise.
12019         * tests/test-inet_pton.c (inet_pton): Likewise.
12020         * tests/test-isblank.c (isblank): Likewise.
12021         * tests/test-lchown.c (lchown): Likewise.
12022         * tests/test-ldexpl.c (ldexpl): Likewise.
12023         * tests/test-link.c (link): Likewise.
12024         * tests/test-linkat.c (linkat): Likewise.
12025         * tests/test-lseek.c (lseek): Likewise.
12026         * tests/test-lstat.c (lstat): Likewise.
12027         * tests/test-mbrtowc.c (mbrtowc): Likewise.
12028         * tests/test-mbsinit.c (mbsinit): Likewise.
12029         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
12030         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
12031         * tests/test-memchr.c (memchr): Likewise.
12032         * tests/test-memcmp.c (memcmp): Likewise.
12033         * tests/test-memmem.c (memmem): Likewise.
12034         * tests/test-memrchr.c (memrchr): Likewise.
12035         * tests/test-mkdir.c (mkdir): Likewise.
12036         * tests/test-mkdirat.c (mkdirat): Likewise.
12037         * tests/test-mkfifo.c (mkfifo): Likewise.
12038         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
12039         * tests/test-mknod.c (mknod): Likewise.
12040         * tests/test-nanosleep.c (nanosleep): Likewise.
12041         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
12042         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
12043         Likewise.
12044         * tests/test-open.c (open): Likewise.
12045         * tests/test-openat.c (openat): Likewise.
12046         * tests/test-perror.c (perror): Likewise.
12047         * tests/test-pipe2.c (pipe2): Likewise.
12048         * tests/test-poll.c (poll): Likewise.
12049         * tests/test-popen.c (popen, pclose): Likewise.
12050         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
12051         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
12052         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
12053         (posix_spawn_file_actions_destroy)
12054         (posix_spawn_file_actions_addclose)
12055         (posix_spawn_file_actions_addopen)
12056         (posix_spawn_file_actions_adddup2): Likewise.
12057         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
12058         * tests/test-pread.c (pread): Likewise.
12059         * tests/test-printf-posix.c (printf): Likewise.
12060         * tests/test-pty.c (openpty, forkpty): Likewise.
12061         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
12062         (random_r): Likewise.
12063         * tests/test-rawmemchr.c (rawmemchr): Likewise.
12064         * tests/test-readlink.c (readlink): Likewise.
12065         * tests/test-remove.c (remove): Likewise.
12066         * tests/test-rename.c (rename): Likewise.
12067         * tests/test-renameat.c (renameat): Likewise.
12068         * tests/test-rmdir.c (rmdir): Likewise.
12069         * tests/test-round1.c (round): Likewise.
12070         * tests/test-roundf1.c (roundf): Likewise.
12071         * tests/test-roundl.c (roundl): Likewise.
12072         * tests/test-setenv.c (setenv): Likewise.
12073         * tests/test-sigaction.c (sigaction): Likewise.
12074         * tests/test-sleep.c (sleep): Likewise.
12075         * tests/test-snprintf.c (snprintf): Likewise.
12076         * tests/test-sprintf-posix.c (sprintf): Likewise.
12077         * tests/test-stat.c (stat): Likewise.
12078         * tests/test-stpncpy.c (stpncpy): Likewise.
12079         * tests/test-strcasestr.c (strcasestr): Likewise.
12080         * tests/test-strchrnul.c (strchrnul): Likewise.
12081         * tests/test-strerror.c (strerror): Likewise.
12082         * tests/test-strsignal.c (strsignal): Likewise.
12083         * tests/test-strstr.c (strstr): Likewise.
12084         * tests/test-strtod.c (strtod): Likewise.
12085         * tests/test-strverscmp.c (strverscmp): Likewise.
12086         * tests/test-symlink.c (symlink): Likewise.
12087         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
12088         * tests/test-times.c (times): Likewise.
12089         * tests/test-trunc1.c (trunc): Likewise.
12090         * tests/test-truncf1.c (truncf): Likewise.
12091         * tests/test-truncl.c (truncl): Likewise.
12092         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
12093         Likewise.
12094         * tests/test-uname.c (uname): Likewise.
12095         * tests/test-unlink.c (unlink): Likewise.
12096         * tests/test-unlinkat.c (unlinkat): Likewise.
12097         * tests/test-unsetenv.c (unsetenv): Likewise.
12098         * tests/test-usleep.c (usleep): Likewise.
12099         * tests/test-utimensat.c (utimensat): Likewise.
12100         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
12101         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
12102         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
12103         * tests/test-vprintf-posix.c (vprintf): Likewise.
12104         * tests/test-vsnprintf.c (vsnprintf): Likewise.
12105         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
12106         * tests/test-wcrtomb.c (wcrtomb): Likewise.
12107         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
12108         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
12109         * tests/test-wcwidth.c (wcwidth): Likewise.
12110
12111         build: pull in conditional headers during GNULIB_POSIXCHECK
12112         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
12113         definitions from any conditionally-included headers.
12114         * lib/stdlib.in.h (includes): Likewise.
12115         * lib/unistd.in.h (includes): Likewise.
12116
12117 2009-12-24  Bruno Haible  <bruno@clisp.org>
12118
12119         * tests/test-argv-iter.c: Include header file being tested immediately
12120         after config.h.
12121         * tests/test-base64.c: Likewise.
12122         * tests/test-flock.c: Likewise.
12123         * tests/test-fsync.c: Likewise.
12124         * tests/test-getdate.c: Likewise.
12125         * tests/test-getndelim2.c: Likewise.
12126         * tests/test-isfinite.c: Likewise.
12127         * tests/test-isinf.c: Likewise.
12128         * tests/test-strerror.c: Likewise.
12129         * tests/test-strsignal.c: Likewise.
12130
12131 2009-12-23  Eric Blake  <ebb9@byu.net>
12132
12133         unistd: work around cygwin bug
12134         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
12135         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
12136         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12137
12138 2009-12-23  Bruno Haible  <bruno@clisp.org>
12139
12140         localename: More tests.
12141         * tests/test-localename.c (SIZEOF): New macro.
12142         (categories): New variable.
12143         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
12144         test_locale_name_default): Add test w.r.t. thread locale.
12145         (test_locale_name_thread): New function.
12146         (main): Invoke it.
12147
12148         localename: Make aware of thread locale.
12149         * lib/localename.h (gl_locale_name_thread): New declaration.
12150         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
12151         behaviour with respect to thread locale.
12152         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
12153         <langinfo.h>, glthread/lock.h.
12154         (SIZE_BITS): New macro.
12155         (string_hash): New function.
12156         (struct hash_node): New type.
12157         (HASH_TABLE_SIZE): New macro.
12158         (struniq_hash_table, struniq_lock): New variables.
12159         (struniq): New function.
12160         (gl_locale_name_thread): New function.
12161         (gl_locale_name): Invoke it.
12162         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
12163         * modules/localename (Depends-on): Add lock.
12164         Reported by Mike Gran <spk121@yahoo.com>.
12165
12166 2009-12-23  Eric Blake  <ebb9@byu.net>
12167
12168         va-args: new module
12169         * modules/va-args: New file.
12170         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
12171         * MODULES.html.sh (Core language properties): Mention it.
12172
12173         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
12174         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
12175         named alias for __attribute__((__unused__)).
12176         * lib/chown.c: Update client.
12177         * lib/fchmodat.c: Likewise.
12178         * lib/fts.c: Likewise.
12179         * lib/getdate.y: Likewise.
12180         * lib/getgroups.c: Likewise.
12181         * lib/getopt.c: Likewise.
12182         * lib/getugroups.c: Likewise.
12183         * lib/mkdir.c: Likewise.
12184         * lib/mkfifo.c: Likewise.
12185         * lib/mkfifoat.c: Likewise.
12186         * lib/mknod.c: Likewise.
12187         * lib/mknodat.c: Likewise.
12188         * lib/readlink.c: Likewise.
12189         * lib/se-context.in.h: Likewise.
12190         * lib/se-selinux.in.h: Likewise.
12191         * lib/sockets.c: Likewise.
12192         * lib/symlink.c: Likewise.
12193         * lib/symlinkat.c: Likewise.
12194         * lib/unicodeio.c: Likewise.
12195         * lib/unistr.h: Likewise.
12196         * tests/test-areadlink.c: Likewise.
12197         * tests/test-areadlinkat.c: Likewise.
12198         * tests/test-filenamecat.c: Likewise.
12199         * tests/test-fseeko.c: Likewise.
12200         * tests/test-ftello.c: Likewise.
12201         * tests/test-getdate.c: Likewise.
12202         * tests/test-getgroups.c: Likewise.
12203         * tests/test-gethostname.c: Likewise.
12204         * tests/test-quotearg.c: Likewise.
12205         * tests/test-version-etc.c: Likewise.
12206         * tests/test-xalloc-die.c: Likewise.
12207         * tests/test-xfprintf-posix.c: Likewise.
12208         * tests/test-xprintf-posix.c: Likewise.
12209         * tests/test-xvasprintf.c: Likewise.
12210
12211         tests: avoid compiler warnings
12212         * tests/test-fcntl.c (main): Delete unused parameters.
12213         * tests/test-freopen-safer.c (main): Likewise.
12214         * tests/test-xalloc-die.c (main): Mark unused parameters.
12215         * tests/test-fseeko.c (main): Likewise.
12216         * tests/test-ftello.c (main): Likewise.
12217         * tests/test-nanosleep.c (main): Avoid declaration warning.
12218         * tests/test-sleep.c (main): Likewise.
12219         * tests/test-unsetenv.c (main): Silence warning about string
12220         literal.
12221         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
12222
12223 2009-12-23  Bruno Haible  <bruno@clisp.org>
12224
12225         * tests/test-localename.c (test_locale_name): New function, extracted
12226         from main. Also test mixed situations.
12227         (test_locale_name_posix, test_locale_name_environ,
12228         test_locale_name_default): New functions.
12229         (main): Invoke them all.
12230         * modules/localename-tests (configure.ac): Test for newlocale.
12231
12232 2009-12-23  Bruno Haible  <bruno@clisp.org>
12233
12234         unistd: Ensure getcwd gets declared before being overridden.
12235         * lib/unistd.in.h: Conditionally include <io.h>.
12236
12237 2009-12-22  Bruno Haible  <bruno@clisp.org>
12238
12239         wchar: Diagnose broken combination of glibc and gcc versions and flags.
12240         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
12241         (gl_WCHAR_H): Invoke it.
12242         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
12243         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
12244         Reported by Karl Berry <karl@freefriends.org>.
12245
12246 2009-12-22  Eric Blake  <ebb9@byu.net>
12247
12248         math, unistd: avoid redundant includes
12249         * lib/math.in.h (isnan): No need to re-include <math.h>.
12250         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
12251
12252         getsubopt: work around cygwin bug
12253         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
12254         avoid conflicting with system getsubopt.
12255         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
12256         bug.
12257
12258         getopt: synchronize from glibc
12259         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
12260         parameter order.  Adjust all callers.
12261         (_getopt_internal_r, main): Adjust quoting in error messages.
12262         Drop considerations for outdated POSIX 1003.2 error message.
12263         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
12264         callers.
12265         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
12266
12267         test-getopt: test stderr behavior
12268         * modules/getopt-posix-tests (Depends-on): Add dup2.
12269         * tests/test-getopt.c (ASSERT): Avoid stderr.
12270         (main): Move stderr to a temporary file.
12271         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
12272         Instead, add parameter to inform caller if output occurred.
12273         (test_getopt): Adjust all existing tests to expect silence, and
12274         add new tests of leading ":".
12275         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
12276         glibc shortcomings with leading "-:" or "+:" in optstring.
12277         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12278         Likewise.
12279         * doc/posix-functions/getopt.texi (getopt): Likewise.
12280
12281         test-getopt: enhance test
12282         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
12283         supports optind=0.
12284         * tests/test-getopt.c (OPTIND_MIN): Move...
12285         * tests/test-getopt.h (OPTIND_MIN): ...here.
12286         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
12287         Require that optind=0 works, since modern BSD supports it in
12288         addition to optreset, and since coreutils expects it.
12289         (test_getopt_long_only): New test.
12290         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
12291         glibc shortcomings with 'W;', and enforcement of optind=0.
12292         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12293         Likewise.
12294
12295 2009-12-21  Bruno Haible  <bruno@clisp.org>
12296
12297         localename: Improvements for MacOS X and Cygwin.
12298         * lib/localename.h (gl_locale_name_environ): New declaration.
12299         * lib/localename.c (gl_locale_name_environ): New function, extracted from
12300         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
12301         (gl_locale_name_posix): Invoke it.
12302         (gl_locale_name_default): Add comments. Use Windows native API also on
12303         Cygwin.
12304
12305 2009-12-21  Bruno Haible  <bruno@clisp.org>
12306
12307         Update list of Win32 locale ids.
12308         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
12309         (LANG_SAMI): Renamed from LANG_SAAMI.
12310         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
12311         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
12312         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
12313         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
12314         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
12315         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
12316         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
12317         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
12318         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
12319         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
12320         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
12321         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
12322         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
12323         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
12324         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
12325         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
12326         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
12327         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
12328         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
12329         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
12330         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
12331         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
12332         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
12333         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
12334         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
12335         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
12336         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
12337         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
12338         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
12339         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
12340         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
12341         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
12342         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
12343         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
12344         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
12345         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
12346         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
12347         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
12348         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
12349         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
12350         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
12351         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
12352         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
12353         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
12354         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
12355         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
12356         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
12357         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
12358         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
12359         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
12360         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
12361         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
12362         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
12363         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
12364         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
12365         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
12366         Add more languages and countries for Sami, Sorbian. Add more countries
12367         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
12368         for Pashto. Change country for Syriac, Tswana.
12369
12370 2009-12-21  Eric Blake  <ebb9@byu.net>
12371
12372         test-utimens: avoid spurious failure
12373         * tests/test-chown.h (nap): Factor...
12374         * tests/nap.h: ...into new file.
12375         * tests/test-lchown.h (nap): Avoid duplication.
12376         * tests/test-utimens-common.h (nap): Use shared implementation,
12377         necessary on file systems with 1-second resolution.
12378         * modules/chown-tests (Files): Include new file.
12379         * modules/fdutimensat-tests (Files): Likewise.
12380         * modules/futimens-tests (Files): Likewise.
12381         * modules/lchown-tests (Files): Likewise.
12382         * modules/openat-tests (Files): Likewise.
12383         * modules/utimens-tests (Files): Likewise.
12384         * modules/utimensat-tests (Files): Likewise.
12385
12386 2009-12-19  Eric Blake  <ebb9@byu.net>
12387
12388         futimens, utimensat: work around Linux bug
12389         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
12390         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12391         * lib/utimensat.c (rpl_utimensat): Work around it.
12392         * lib/futimens.c (rpl_futimens): Adjust comment.
12393
12394         utimens: work around Linux ctime bug
12395         * lib/utimens.c (detect_ctime_bug): New helper function.
12396         (update_timespec): Differentiate between workaround needed for
12397         this bug vs. what is needed for systems that lack utimensat.
12398         (fdutimens, lutimens): Work around bug.
12399
12400         utimens: check for ctime update
12401         * tests/test-utimens-common.h (check_ctime): Define.
12402         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
12403         * tests/test-futimens.h (test_futimens): Likewise.
12404         * tests/test-lutimens.h (test_lutimens): Likewise.
12405         * doc/posix-functions/futimens.texi (futimens): Document the bug.
12406         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12407
12408 2009-12-19  Bruno Haible  <bruno@clisp.org>
12409
12410         dprintf-posix: Check against memory leak fixed on 2009-12-15.
12411         * tests/test-dprintf-posix2.sh: New file.
12412         * tests/test-dprintf-posix2.c: New file.
12413         * modules/dprintf-posix-tests (Files): Add them.
12414         (configure.ac): Check for getrlimit and setrlimit.
12415         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
12416
12417 2009-12-19  Bruno Haible  <bruno@clisp.org>
12418
12419         fprintf-posix: Check against memory leak fixed on 2009-12-15.
12420         * tests/test-fprintf-posix3.sh: New file.
12421         * tests/test-fprintf-posix3.c: New file.
12422         * modules/fprintf-posix-tests (Files): Add them.
12423         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
12424
12425 2009-12-19  Eric Blake  <ebb9@byu.net>
12426
12427         dirfd: fix prototype
12428         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
12429         * lib/dirfd.c (dirfd): Likewise.
12430
12431         canonicalize: reduce memory usage
12432         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
12433         allocation to size.
12434         Reported by Solar Designer <solar@openwall.com>.
12435
12436 2009-12-19  Bruno Haible  <bruno@clisp.org>
12437
12438         New module attribute 'Applicability'.
12439         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
12440         * gnulib-tool: New option --extract-applicability.
12441         (func_usage): Document it.
12442         (sed_extract_prog): Recognize it.
12443         (func_get_applicability): New function.
12444         (func_import): Generalize handling of 'link-warning' module.
12445         * modules/link-warning (Applicability): New section.
12446         * modules/arg-nonnull (Applicability): New section.
12447         Repoted by Simon Josefsson <simon@josefsson.org>.
12448
12449 2009-12-19  Bruno Haible  <bruno@clisp.org>
12450
12451         fflush: tweak
12452         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
12453         * lib/fseeko.c (rpl_fseeko): Likewise.
12454
12455 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
12456
12457         * lib/gl_list.h: Fix typo in comment.
12458
12459 2009-12-16  Eric Blake  <ebb9@byu.net>
12460
12461         fcntl: use to simplify other modules
12462         * modules/cloexec (Depends-on): Add fcntl.
12463         * modules/fchdir (Depends-on): Likewise.
12464         * modules/fd-safer-flag (Depends-on): Likewise.
12465         * modules/unistd-safer (Depends-on): Likewise.
12466         * modules/dup3 (configure.ac): Set module indicator.
12467         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
12468         missing.
12469         * lib/fchdir.c (_gl_register_dup): Fix comment.
12470         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
12471         * lib/dup-safer.c (dup_safer): Likewise.
12472         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
12473         * lib/dup3.c (dup3): Likewise.
12474         * tests/test-fchdir.c (main): Enhance test.
12475         Fixes a dup_cloexec bug reported by Ondřej Vašík.
12476
12477         fcntl: port portions of fcntl to mingw
12478         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
12479         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
12480         replacement for mingw.
12481         * modules/fcntl (Description): Update.
12482         (Depends-on): Add dup2.
12483         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
12484         * modules/fcntl-h (Makefile.am): Substitute it.
12485         * lib/fcntl.in.h (fcntl): Update declaration.
12486         (F_DUPFD, F_GETFD): New macros, when needed.
12487         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12488         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
12489         * tests/test-fcntl.c (check_flags, main): Enhance test for items
12490         we now guarantee.
12491
12492         fcntl: work around cygwin bug in F_DUPFD
12493         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
12494         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
12495         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
12496         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
12497         * doc/posix-functions/fcntl.texi (fcntl): Document it.
12498
12499         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
12500         * modules/fcntl (Files): List new files.
12501         (configure.ac): Run a test.
12502         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
12503         * lib/fcntl.c (rpl_fcntl): Likewise.
12504         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
12505         (gl_FCNTL_H): Always replace fcntl.h.
12506         * modules/fcntl-h (Makefile.am): Substitute witnesses.
12507         * lib/fcntl.in.h (fcntl): Declare replacement.
12508         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
12509         needed, plus a witness.
12510         * doc/posix-functions/fcntl.texi (fcntl): Document this.
12511         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
12512         * tests/test-fcntl.c: New file.
12513         * modules/fcntl-tests: Likewise.
12514
12515         binary-io: avoid potential compilation warning
12516         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
12517         directives.
12518
12519         fflush: avoid compilation error on NetBSD
12520         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
12521         between off_t and fpos_t, since the latter is sometimes a struct.
12522         * lib/fseeko.c (rpl_fseeko): Likewise.
12523         Reported by Alexander Nasonov <alnsn@yandex.ru>.
12524
12525 2009-12-15  Eric Blake  <ebb9@byu.net>
12526
12527         fcntl-h, stdio, sys_ioctl: fix declarations
12528         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
12529         function must not take arguments.
12530         * lib/sys_ioctl.in.h (ioctl): Likewise.
12531         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
12532         (open): Add a link warning.
12533
12534 2009-12-15  Jim Meyering  <meyering@redhat.com>
12535
12536         areadlink, areadlink-with-size: relax license to LGPLv2+
12537         * modules/areadlink (License): Relax to LGPLv2+.
12538         * modules/areadlink-with-size (License): Likewise.
12539
12540 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
12541             Bruno Haible  <bruno@clisp.org>
12542
12543         *printf: Fix memory leak.
12544         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
12545         * lib/vfprintf.c (vfprintf): Likewise.
12546         * lib/dprintf.c (dprintf): Likewise.
12547         * lib/vdprintf.c (vdprintf): Likewise.
12548
12549 2009-12-14  Eric Blake  <ebb9@byu.net>
12550
12551         accept4: adjust module dependencies
12552         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
12553
12554         utimens: one more try at avoiding compiler warning
12555         * lib/utimens.c (lutimens): Lower scope of result.
12556
12557 2009-12-13  Bruno Haible  <bruno@clisp.org>
12558
12559         Move the malloc checking from module 'list' to new module 'xlist'.
12560         * modules/xlist: New file.
12561         * lib/gl_xlist.h: New file.
12562         * lib/gl_xlist.c: New file.
12563         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
12564         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
12565         gl_list_add_last, gl_list_add_before, gl_list_add_after,
12566         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
12567         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
12568         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
12569         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
12570         gl_sortedlist_nx_add): New declarations.
12571         (struct gl_list_implementation): Rename and change methods accordingly.
12572         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
12573         (gl_list_nx_create): Renamed from gl_list_create.
12574         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
12575         (gl_list_nx_set_at): Renamed from gl_list_set_at.
12576         (gl_list_nx_add_first): Renamed from gl_list_add_first.
12577         (gl_list_nx_add_last): Renamed from gl_list_add_last.
12578         (gl_list_nx_add_before): Renamed from gl_list_add_before.
12579         (gl_list_nx_add_after): Renamed from gl_list_add_after.
12580         (gl_list_nx_add_at): Renamed from gl_list_add_at.
12581         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
12582         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
12583         gl_list_create_empty.
12584         (gl_list_nx_create): Renamed from gl_list_create.
12585         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
12586         (gl_list_nx_set_at): Renamed from gl_list_set_at.
12587         (gl_list_nx_add_first): Renamed from gl_list_add_first.
12588         (gl_list_nx_add_last): Renamed from gl_list_add_last.
12589         (gl_list_nx_add_before): Renamed from gl_list_add_before.
12590         (gl_list_nx_add_after): Renamed from gl_list_add_after.
12591         (gl_list_nx_add_at): Renamed from gl_list_add_at.
12592         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
12593         * lib/gl_array_list.c: Don't include xalloc.h.
12594         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
12595         NULL upon out-of-memory.
12596         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
12597         out-of-memory.
12598         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
12599         Change return type to 'int'.
12600         (gl_array_nx_set_at): Renamed from gl_array_set_at.
12601         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
12602         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
12603         upon out-of-memory.
12604         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
12605         upon out-of-memory.
12606         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
12607         upon out-of-memory.
12608         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
12609         upon out-of-memory.
12610         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
12611         out-of-memory.
12612         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
12613         Update.
12614         (gl_array_list_implementation): Update.
12615         * lib/gl_carray_list.c: Don't include xalloc.h.
12616         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
12617         Return NULL upon out-of-memory.
12618         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
12619         out-of-memory.
12620         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
12621         Change return type to 'int'.
12622         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
12623         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
12624         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
12625         upon out-of-memory.
12626         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
12627         upon out-of-memory.
12628         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
12629         out-of-memory.
12630         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
12631         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
12632         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
12633         Update.
12634         (gl_carray_list_implementation): Update.
12635         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
12636         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
12637         gl_linked_create_empty. Return NULL upon out-of-memory.
12638         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
12639         out-of-memory.
12640         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
12641         Change return type to 'int'. Return -1 upon out-of-memory.
12642         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
12643         out-of-memory.
12644         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
12645         upon out-of-memory.
12646         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
12647         upon out-of-memory.
12648         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
12649         NULL upon out-of-memory.
12650         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
12651         upon out-of-memory.
12652         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
12653         out-of-memory.
12654         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
12655         Update.
12656         * lib/gl_linked_list.c: Don't include xalloc.h.
12657         (gl_linked_list_implementation): Update.
12658         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
12659         (add_to_bucket): Change return type to 'int'.
12660         (gl_linkedhash_list_implementation): Update.
12661         * lib/gl_anytree_list1.h (free_subtree): New function.
12662         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
12663         gl_tree_create_empty. Return NULL upon out-of-memory.
12664         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
12665         Change return type to 'int'. Return -1 upon out-of-memory.
12666         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
12667         out-of-memory.
12668         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
12669         (gl_tree_remove_node): New function, moved here from
12670         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
12671         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
12672         Update.
12673         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
12674         malloc, not xmalloc. Return NULL upon out-of-memory.
12675         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
12676         out-of-memory.
12677         (gl_tree_remove_node_from_tree): New function, extracted from
12678         gl_tree_remove_node.
12679         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
12680         upon out-of-memory.
12681         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
12682         out-of-memory.
12683         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
12684         upon out-of-memory.
12685         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
12686         upon out-of-memory.
12687         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
12688         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
12689         not xmalloc. Return NULL upon out-of-memory.
12690         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
12691         out-of-memory.
12692         (gl_tree_remove_node_from_tree): New function, extracted from
12693         gl_tree_remove_node.
12694         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
12695         upon out-of-memory.
12696         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
12697         out-of-memory.
12698         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
12699         upon out-of-memory.
12700         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
12701         upon out-of-memory.
12702         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
12703         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
12704         gl_anytree_list1.h before gl_anyavltree_list2.h.
12705         (gl_avltree_list_implementation): Update.
12706         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
12707         gl_anytree_list1.h before gl_anyavltree_list2.h.
12708         (gl_rbtree_list_implementation): Update.
12709         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
12710         Change return type to 'int'. Return -1 upon out-of-memory. Use
12711         __builtin_expect.
12712         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
12713         (gl_avltreehash_list_implementation): Update.
12714         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
12715         (gl_rbtreehash_list_implementation): Update.
12716         * modules/array-list (Depends-on): Remove xalloc.
12717         * modules/carray-list (Depends-on): Likewise.
12718         * modules/linked-list (Depends-on): Likewise.
12719         * modules/linkedhash-list (Depends-on): Likewise.
12720         * modules/avltree-list (Depends-on): Likewise.
12721         * modules/rbtree-list (Depends-on): Likewise.
12722         * modules/avltreehash-list (Depends-on): Likewise.
12723         * modules/rbtreehash-list (Depends-on): Likewise.
12724
12725         * modules/xsublist: New file.
12726         * lib/gl_xsublist.h: New file.
12727         * lib/gl_xsublist.c: New file.
12728         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
12729         (gl_sublist_nx_create): New declaration.
12730         * lib/gl_sublist.c: Don't include xalloc.h.
12731         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
12732         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
12733         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
12734         Change return type to 'int'. Return -1 upon out-of-memory.
12735         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
12736         upon out-of-memory.
12737         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
12738         NULL upon out-of-memory.
12739         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
12740         upon out-of-memory.
12741         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
12742         NULL upon out-of-memory.
12743         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
12744         NULL upon out-of-memory.
12745         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
12746         upon out-of-memory.
12747         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
12748         (gl_sublist_list_implementation): Update.
12749         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
12750         upon out-of-memory.
12751         * modules/sublist (Depends-on): Remove xalloc.
12752
12753         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
12754         * tests/test-carray_list.c: Likewise.
12755         * tests/test-linked_list.c: Likewise.
12756         * tests/test-linkedhash_list.c: Likewise.
12757         * tests/test-avltree_list.c: Likewise.
12758         * tests/test-rbtree_list.c: Likewise.
12759         * tests/test-avltreehash_list.c: Likewise.
12760         * tests/test-rbtreehash_list.c: Likewise.
12761         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
12762         * modules/carray-list-tests (Makefile.am): Likewise.
12763         * modules/linked-list-tests (Makefile.am): Likewise.
12764         * modules/linkedhash-list-tests (Makefile.am): Likewise.
12765         * modules/avltree-list-tests (Makefile.am): Likewise.
12766         * modules/rbtree-list-tests (Makefile.am): Likewise.
12767         * modules/avltreehash-list-tests (Makefile.am): Likewise.
12768         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
12769
12770         * NEWS: Mention the changes.
12771
12772         * lib/clean-temp.c: Include gl_xlist.h.
12773         * modules/clean-temp (Depends-on): Add xlist.
12774
12775         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
12776         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
12777
12778         * tests/test-array_oset.c: Include gl_xlist.h.
12779         * modules/array-oset-tests (Depends-on): Add xlist.
12780
12781         Reported by José E. Marchesi <jemarch@gnu.org>.
12782
12783 2009-12-13  Bruno Haible  <bruno@clisp.org>
12784
12785         Move the malloc checking from module 'oset' to new module 'xoset'.
12786         * modules/xoset: New file.
12787         * lib/gl_xoset.h: New file.
12788         * lib/gl_xoset.c: New file.
12789         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
12790         declarations.
12791         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
12792         (struct gl_oset_implementation): Rename and change methods accordingly.
12793         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
12794         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
12795         'int'. Mark as __warn_unused_result__.
12796         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
12797         gl_oset_create_empty.
12798         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
12799         'int'.
12800         * lib/gl_array_oset.c: Don't include xalloc.h.
12801         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
12802         malloc, not xmalloc.
12803         (grow): Change return type to 'int'. Don't call xalloc_die.
12804         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
12805         to 'int'.
12806         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
12807         'int'.
12808         (gl_array_oset_implementation): Update.
12809         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
12810         gl_tree_create_empty.
12811         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
12812         'int'.
12813         * lib/gl_avltree_oset.c: Don't include xalloc.h.
12814         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
12815         xmalloc.
12816         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
12817         not xmalloc.
12818         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
12819         xmalloc.
12820         (gl_avltree_oset_implementation): Update.
12821         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
12822         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
12823         xmalloc.
12824         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
12825         not xmalloc.
12826         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
12827         xmalloc.
12828         (gl_rbtree_oset_implementation): Update.
12829         * modules/array-oset (Depends-on): Remove xalloc.
12830         * modules/avltree-oset (Depends-on): Likewise.
12831         * modules/rbtree-oset (Depends-on): Likewise.
12832         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
12833         * tests/test-avltree_oset.c: Likewise.
12834         * tests/test-rbtree_oset.c: Likewise.
12835         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
12836         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
12837         * modules/rbtree-oset-tests (Makefile.am): Likewise.
12838         * NEWS: Mention the change.
12839
12840 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
12841
12842         maint.mk: allow a project to override release-prep commands
12843         * top/maint.mk (alpha, beta, stable): Move release-preparatory
12844         commands into a new rule.
12845         (release-prep): New rule.
12846         (release-prep-hook): New overridable variable.
12847
12848 2009-12-13  Bruno Haible  <bruno@clisp.org>
12849
12850         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
12851
12852 2009-12-13  Jim Meyering  <meyering@redhat.com>
12853
12854         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
12855         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
12856
12857 2009-12-12  Bruno Haible  <bruno@clisp.org>
12858
12859         duplocale: Tweak.
12860         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
12861
12862 2009-12-12  Karl Berry  <karl@gnu.org>
12863
12864         * config/srclist.txt (strtoll.c): tab changes, no more sync.
12865
12866 2009-12-12  Bruno Haible  <bruno@clisp.org>
12867
12868         * m4/po.m4: Undo incorrect untabification.
12869
12870 2009-12-12  Bruno Haible  <bruno@clisp.org>
12871
12872         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
12873         * modules/c-strtod (Depends-on): Add locale.
12874         * modules/c-strtold (Depends-on): Likewise.
12875
12876 2009-12-12  Bruno Haible  <bruno@clisp.org>
12877
12878         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
12879
12880 2009-12-11  Eric Blake  <ebb9@byu.net>
12881
12882         setenv: relax requirement in light of POSIX ruling
12883         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
12884         not NULL.
12885         * tests/test-setenv.c (main): Relax test.
12886         * tests/test-unsetenv.c (main): Likewise.
12887         * doc/posix-functions/setenv.texi (setenv): Document this.
12888         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
12889
12890 2009-12-11  Bruno Haible  <bruno@clisp.org>
12891
12892         New module 'fd-safer-flag'.
12893         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
12894         * lib/dup-safer.c (dup_safer_flag): Remove function.
12895         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
12896         * lib/fd-safer.c (fd_safer_flag): Remove function.
12897         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
12898         * modules/cloexec (configure.ac): Drop indicator macro.
12899         * modules/fd-safer-flag: New file.
12900         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
12901         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
12902         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
12903
12904 2009-12-11  Bruno Haible  <bruno@clisp.org>
12905
12906         Tests for module 'nl_langinfo'.
12907         * modules/nl_langinfo-tests: New file.
12908         * tests/test-nl_langinfo.sh: New file.
12909         * tests/test-nl_langinfo.c: New file.
12910
12911         New module 'nl_langinfo'.
12912         * lib/nl_langinfo.c: New file.
12913         * m4/nl_langinfo.m4: New file.
12914         * modules/nl_langinfo: New file.
12915         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
12916
12917 2009-12-11  Bruno Haible  <bruno@clisp.org>
12918
12919         Tests for module 'langinfo'.
12920         * modules/langinfo-tests: New file.
12921         * tests/test-langinfo.c: New file.
12922
12923         New module 'langinfo'.
12924         * lib/langinfo.in.h: New file.
12925         * m4/langinfo_h.m4: New file.
12926         * modules/langinfo: New file.
12927         * doc/posix-headers/langinfo.texi: Mention the new module.
12928
12929 2009-12-11  Bruno Haible  <bruno@clisp.org>
12930
12931         * lib/config.charset: Untabify.
12932
12933 2009-12-11  Bruno Haible  <bruno@clisp.org>
12934
12935         * modules/unistd-safer (configure.ac): Drop indicator macro.
12936
12937 2009-12-11  Bruno Haible  <bruno@clisp.org>
12938
12939         Move pipe2-safer code to its own file.
12940         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
12941         * lib/pipe-safer.c (pipe2_safer): Remove function.
12942         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
12943         (Makefile.am): Add it to lib_SOURCES.
12944
12945 2009-12-10  Bruno Haible  <bruno@clisp.org>
12946
12947         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
12948
12949 2009-12-10  Bruno Haible  <bruno@clisp.org>
12950
12951         Declare which arguments expect non-NULL values, for GCC and clang.
12952         * build-aux/arg-nonnull.h: New file.
12953         * modules/arg-nonnull: New file.
12954         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
12955         (inet_ntop, inet_pton): Use it.
12956         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
12957         (closedir, dirfd, opendir, scandir, alphasort): Use it.
12958         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
12959         (open, openat): Use it.
12960         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
12961         (fnmatch): Use it.
12962         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
12963         (getopt, getopt_long, getopt_long_only): Use it.
12964         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
12965         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
12966         Use it.
12967         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
12968         (iconv_open): Use it.
12969         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
12970         (strtoimax, strtoumax): Use it.
12971         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
12972         (duplocale): Use it.
12973         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
12974         (frexp, frexpl): Use it.
12975         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
12976         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
12977         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
12978         (tsearch, tfind, tdelete, twalk): Use it.
12979         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
12980         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
12981         sigpending): Use it.
12982         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
12983         (posix_spawn, posix_spawnp, posix_spawnattr_init,
12984         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
12985         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
12986         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
12987         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
12988         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
12989         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
12990         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
12991         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
12992         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
12993         Use it.
12994         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
12995         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
12996         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
12997         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
12998         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
12999         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
13000         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
13001         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
13002         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
13003         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
13004         strtoull, unsetenv): Use it.
13005         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
13006         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
13007         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
13008         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
13009         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
13010         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
13011         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
13012         (strcasecmp, strncasecmp): Use it.
13013         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
13014         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
13015         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
13016         rpl_setsockopt): Use it.
13017         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
13018         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
13019         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
13020         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
13021         (gettimeofday): Use it.
13022         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
13023         (times): Use it.
13024         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
13025         (uname): Use it.
13026         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
13027         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
13028         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
13029         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
13030         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
13031         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
13032         unlinkat, write): Use it.
13033         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
13034         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
13035         * lib/argv-iter.h: Include arg-nonnull.h.
13036         (_ATTRIBUTE_NONNULL_): Remove macro.
13037         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
13038         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
13039         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
13040         optimization.
13041         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
13042         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
13043         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
13044         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
13045         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
13046         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
13047         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
13048         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
13049         * modules/arpa_inet (Depends-on): Add arg-nonnull.
13050         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
13051         * modules/dirent (Depends-on): Add arg-nonnull.
13052         (Makefile.am): Insert arg-nonnull.h into dirent.h.
13053         * modules/fcntl-h (Depends-on): Add arg-nonnull.
13054         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
13055         * modules/fnmatch (Depends-on): Add arg-nonnull.
13056         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
13057         * modules/getopt-posix (Depends-on): Add arg-nonnull.
13058         (Makefile.am): Insert arg-nonnull.h into getopt.h.
13059         * modules/glob (Depends-on): Add arg-nonnull.
13060         (Makefile.am): Insert arg-nonnull.h into glob.h.
13061         * modules/iconv_open (Depends-on): Add arg-nonnull.
13062         (Makefile.am): Insert arg-nonnull.h into iconv.h.
13063         * modules/inttypes (Depends-on): Add arg-nonnull.
13064         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
13065         * modules/locale (Depends-on): Add arg-nonnull.
13066         (Makefile.am): Insert arg-nonnull.h into locale.h.
13067         * modules/math (Depends-on): Add arg-nonnull.
13068         (Makefile.am): Insert arg-nonnull.h into math.h.
13069         * modules/netdb (Depends-on): Add arg-nonnull.
13070         (Makefile.am): Insert arg-nonnull.h into netdb.h.
13071         * modules/search (Depends-on): Add arg-nonnull.
13072         (Makefile.am): Insert arg-nonnull.h into search.h.
13073         * modules/signal (Depends-on): Add arg-nonnull.
13074         (Makefile.am): Insert arg-nonnull.h into signal.h.
13075         * modules/spawn (Depends-on): Add arg-nonnull.
13076         (Makefile.am): Insert arg-nonnull.h into spawn.h.
13077         * modules/stdio (Depends-on): Add arg-nonnull.
13078         (Makefile.am): Insert arg-nonnull.h into stdio.h.
13079         * modules/stdlib (Depends-on): Add arg-nonnull.
13080         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
13081         * modules/string (Depends-on): Add arg-nonnull.
13082         (Makefile.am): Insert arg-nonnull.h into string.h.
13083         * modules/strings (Depends-on): Add arg-nonnull.
13084         (Makefile.am): Insert arg-nonnull.h into strings.h.
13085         * modules/sys_socket (Depends-on): Add arg-nonnull.
13086         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
13087         * modules/sys_stat (Depends-on): Add arg-nonnull.
13088         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
13089         * modules/sys_time (Depends-on): Add arg-nonnull.
13090         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
13091         * modules/sys_times (Depends-on): Add arg-nonnull.
13092         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
13093         * modules/sys_utsname (Depends-on): Add arg-nonnull.
13094         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
13095         * modules/time (Depends-on): Add arg-nonnull.
13096         (Makefile.am): Insert arg-nonnull.h into time.h.
13097         * modules/unistd (Depends-on): Add arg-nonnull.
13098         (Makefile.am): Insert arg-nonnull.h into unistd.h.
13099         * modules/wchar (Depends-on): Add arg-nonnull.
13100         (Makefile.am): Insert arg-nonnull.h into wchar.h.
13101         * modules/argv-iter (Depends-on): Add arg-nonnull.
13102         * tests/test-canonicalize.c (null_ptr): New function.
13103         (main): Use it.
13104         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
13105         (main): Use it.
13106         * tests/test-memmem.c (null_ptr): New function.
13107         (main): Use it.
13108         Reported by Jim Meyering.
13109
13110 2009-12-10  Bruno Haible  <bruno@clisp.org>
13111
13112         Use spaces for indentation, not tabs.
13113         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
13114         * m4/*.m4: Untabify.
13115         * build-aux/*.h: Untabify.
13116         * tests/**/*.[hc]: Untabify.
13117         * README: New section "Indent with spaces, not TABs", based on
13118         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
13119         * NEWS: Mention the change.
13120
13121 2009-12-10  Bruno Haible  <bruno@clisp.org>
13122
13123         pty test: Fix link error.
13124         * modules/pty-tests (Makefile.am): Add the default LDADD value to
13125         test_pty_LDADD.
13126
13127 2009-12-07  Simon Josefsson  <simon@josefsson.org>
13128
13129         * modules/pty: New file.
13130         * modules/pty-tests: New file.
13131         * m4/pty.m4: New file.
13132         * tests/test-pty.c: New file.
13133         * doc/glibc-headers/pty.texi: Modified.
13134         * doc/glibc-functions/forkpty.texi: Modified.
13135         * doc/glibc-functions/openpty.texi: Modified.
13136
13137 2009-12-10  Bruno Haible  <bruno@clisp.org>
13138
13139         Avoid syntax error in C++ mode.
13140         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
13141
13142 2009-12-10  Bruno Haible  <bruno@clisp.org>
13143
13144         Use sed with option -e.
13145         * gnulib-tool (func_version, func_emit_copyright_notice,
13146         func_emit_initmacro_end, func_import, func_create_testdir): Pass
13147         option -e to sed.
13148         * modules/link-warning (Makefile.am): Likewise.
13149
13150 2009-12-10  Jim Meyering  <meyering@redhat.com>
13151
13152         mgetgroups: do not write bytes beyond end of malloc'd buffer
13153         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
13154         username, we call getgroups with a one-element-shorter buffer,
13155         but still told it the length was original, max_n_groups.
13156
13157 2009-12-09  Eric Blake  <ebb9@byu.net>
13158
13159         cloexec: relax license
13160         * modules/cloexec (Maintainer): Add myself.
13161         (License): Use LGPL, not GPL.
13162
13163         link-warning: optimize generation
13164         * modules/link-warning (Makefile.am): Reduce process usage.
13165
13166 2009-12-09  Bruno Haible  <bruno@clisp.org>
13167
13168         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
13169         workaround was added on 2009-11-17.
13170
13171 2009-12-09  Jim Meyering  <meyering@redhat.com>
13172             Bruno Haible  <bruno@clisp.org>
13173
13174         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
13175         * modules/link-warning (Makefile.am): Make the comment-removing sed
13176         command more robust in the face of bootstrap-prepended comment lines.
13177
13178 2009-12-09  Bruno Haible  <bruno@clisp.org>
13179
13180         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
13181         most one group.
13182
13183 2009-12-09  Simon Josefsson <simon@josefsson.org>
13184             Bruno Haible  <bruno@clisp.org>
13185
13186         * build-aux/link-warning.h: Add copyright notice.
13187         * modules/link-warning (Makefile.am): Generate link-warning.h from
13188         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
13189         * NEWS: Mention change in link-warning module.
13190         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
13191         * modules/dirent (Makefile.am): Add dependency to dirent.h.
13192         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
13193         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
13194         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
13195         * modules/math (Makefile.am): Add dependency to math.h.
13196         * modules/search (Makefile.am): Add dependency to search.h.
13197         * modules/signal (Makefile.am): Add dependency to signal.h.
13198         * modules/spawn (Makefile.am): Add dependency to spawn.h.
13199         * modules/stdio (Makefile.am): Add dependency to stdio.h.
13200         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
13201         * modules/string (Makefile.am): Add dependency to string.h.
13202         * modules/strings (Makefile.am): Add dependency to strings.h.
13203         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
13204         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
13205         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
13206         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
13207         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
13208         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
13209         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
13210         * modules/unistd (Makefile.am): Add dependency to unistd.h.
13211         * modules/wchar (Makefile.am): Add dependency to wchar.h.
13212
13213 2009-12-09  Bruno Haible  <bruno@clisp.org>
13214
13215         fchdir: Optimize away rpl_fstat when possible.
13216         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
13217         REPLACE_OPEN_DIRECTORY.
13218         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
13219
13220 2009-12-09  Bruno Haible  <bruno@clisp.org>
13221
13222         * lib/fchdir.c: Update comment.
13223
13224 2009-12-09  Bruno Haible  <bruno@clisp.org>
13225
13226         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
13227
13228 2009-12-08  Eric Blake  <ebb9@byu.net>
13229
13230         fchdir: avoid memory leak on re-registration.
13231         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
13232
13233 2009-12-08  Jim Meyering  <meyering@redhat.com>
13234
13235         init.sh: avoid Solaris 10 /bin/sh portability problem
13236         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
13237         sourced script:
13238           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
13239           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
13240           bar
13241         tests/init.sh relied on that, accepting a --set-path=DIR argument,
13242         and two tests used that idiom.
13243         * tests/init.sh: Update suggested usage comments.
13244         (path_prepend_): New function, to be used in place
13245         of the --src-path=DIR option.
13246         (setup_): Move PATH-prepending code into path_prepend_.
13247         * tests/test-pread.sh: Adapt to new usage.
13248         * tests/test-xalloc-die.sh: Likewise.
13249
13250 2009-12-08  Simon Josefsson  <simon@josefsson.org>
13251
13252         * doc/gnulib.texi (Glibc pty.h): Add.
13253         * doc/glibc-functions/forkpty.texi: Add.
13254         * doc/glibc-functions/openpty.texi: Add.
13255         Suggested by Bruno Haible.
13256
13257 2009-12-08  Eric Blake  <ebb9@byu.net>
13258
13259         fchdir: fix logic bugs
13260         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
13261         * tests/test-fchdir.c (main): Enhance test.
13262         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
13263         is in use.
13264
13265         dup2: fix logic bugs
13266         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
13267         REPLACE_DUP2 to decide when rpl_dup2 is needed.
13268         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
13269         exists.
13270         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
13271
13272 2009-12-07  Eric Blake  <ebb9@byu.net>
13273
13274         unlink: fix m4 detection
13275         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
13276
13277         unistd-safer: add unit test
13278         * modules/unistd-safer-tests: New file.
13279         * tests/test-dup-safer.c: Likewise.
13280         * tests/test-cloexec.c (setmode): Avoid compiler warning.
13281         * tests/test-dup2.c (setmode): Likewise.
13282         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
13283
13284         cloexec: preserve text vs. binary across dup_cloexec
13285         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
13286         mode.
13287         * modules/dup2-tests (Depends-on): Add binary-io.
13288         * modules/cloexec-tests (Depends-on): Likewise.
13289         * tests/test-dup2.c (setmode, is_mode): New helpers.
13290         (main): Add tests that translation mode is preserved.
13291         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
13292         Reported by Bruno Haible.
13293
13294         mgetgroups: reduce duplicate listings
13295         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
13296         resulting array.
13297         * tests/test-chown.h (test_chown): Simplify client.
13298         * tests/test-lchown.h (test_lchown): Likewise.
13299
13300 2009-12-06  Bruno Haible  <bruno@clisp.org>
13301
13302         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
13303         value.
13304
13305 2009-12-06  Bruno Haible  <bruno@clisp.org>
13306
13307         * lib/progname.c: Include stdio.h, stdlib.h.
13308         (set_program_name): Reject a NULL argument.
13309
13310 2009-12-05  Eric Blake  <ebb9@byu.net>
13311
13312         pipe2-safer: new module
13313         * modules/pipe2-safer: New file.
13314         * lib/unistd-safer.h (pipe2_safer): New prototype.
13315         * lib/unistd--.h (pipe2): New wrapper.
13316         * lib/pipe-safer.c (pipe2_safer): New function.
13317         * modules/pipe (Depends-on): Add pipe2-safer.
13318         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
13319
13320         stdlib-safer: preserve cloexec flag for mkostemp[s]
13321         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
13322         fd_safer_flag.
13323
13324         unistd-safer: allow preservation of cloexec status via flag
13325         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
13326         prototypes.
13327         * lib/dup-safer.c (dup_safer_flag): New function.
13328         * lib/fd-safer.c (fd_safer_flag): Likewise.
13329         * modules/cloexec (configure.ac): Set witness.
13330
13331         test-dup2: enhance test
13332         * modules/dup2-tests (Depends-on): Add cloexec.
13333         * tests/test-dup2.c (main): Enhance test.
13334
13335         cloexec: add dup_cloexec
13336         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
13337         header and comments.
13338         * lib/cloexec.c (set_cloexec_flag): Add comments.
13339         (dup_cloexec): New function, with mingw implementation borrowed
13340         from...
13341         * lib/w32spawn.h (dup_noinherit): ...here.
13342         * modules/execute (Depends-on): Add cloexec.
13343         * modules/pipe (Depends-on): Likewise.
13344         * modules/cloexec (Depends-on): Add dup2.
13345         * modules/cloexec-tests (Files): New file.
13346         * tests/test-cloexec.c: Likewise.
13347
13348         test-xalloc-die: fix test for mingw
13349         * modules/xalloc-die-tests (Files): Add tests/init.sh.
13350         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
13351         directory and .exe suffix off argv[0] output.
13352
13353         test-fseeko: fix test for mingw
13354         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
13355         than undefining fseek, so test will pass on mingw.
13356
13357 2009-12-05  Bruno Haible  <bruno@clisp.org>
13358
13359         * lib/progname.h (set_program_name): Clarify specification.
13360         * lib/progname.c (set_program_name): Likewise.
13361         Reported by Jim Meyering.
13362
13363 2009-12-05  Jim Meyering  <meyering@redhat.com>
13364
13365         maint.mk: backslash-escape parens in default regexp
13366         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
13367         backslash-escape the literal parentheses.
13368
13369         maint.mk: news-date-check: use grep -E
13370         * top/maint.mk (today): Define a Make variable, not a...
13371         (news-date-check): ...shell variable.
13372         (news-date-regexp): Use the Make variable.
13373         Use grep's -E option.  Change the failing diagnostic to mention
13374         the variable, $(news-date-regexp).
13375
13376 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
13377
13378         maintainer-makefile: allow customization of NEWS entry format
13379         * top/maint.mk (news-date-regexp): New overridable variable.
13380         (news-date-check): Use it.
13381
13382 2009-12-04  Eric Blake  <ebb9@byu.net>
13383
13384         mgetgroups: add xgetgroups, and avoid ENOSYS failures
13385         * lib/mgetgroups.h (xgetgroups): New prototype.
13386         * lib/mgetgroups.c (xgetgroups): New wrapper.
13387         (mgetgroups): Handle ENOSYS.
13388         * modules/mgetgroups (Depends-on): Add realloc.
13389         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
13390
13391         mgetgroups: avoid argument promotion issues with -1
13392         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
13393         for invalid gid_t.
13394         * tests/test-chown.h (getegid, test_chown): Likewise.
13395         * tests/test-lchown.h (getegid, test_lchown): Likewise.
13396
13397 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
13398
13399         exclude: Fix header file problems.
13400         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
13401
13402 2009-12-01  Jim Meyering  <meyering@redhat.com>
13403
13404         fts: fts_open: do not let an empty string cause immediate failure
13405         This is required in support of GNU rm, for which the command
13406         "rm A '' B" must process and remove both A and B, in spite of
13407         the empty string argument.
13408         * lib/fts.c (fts_open): Do not let the presence of an empty string
13409         cause fts_open to fail immediately.  Most fts-using tools must be
13410         able to process all arguments, in order, and can be expected to
13411         diagnose such arguments themselves.
13412
13413 2009-11-30  Eric Blake  <ebb9@byu.net>
13414
13415         utimens: fix compilation error
13416         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
13417         Declare variable at right scope.
13418
13419 2009-11-29  Jim Meyering  <meyering@redhat.com>
13420
13421         bootstrap: handle perl-5.11's changed --version output
13422         * build-aux/bootstrap (get_version): Handle perl separately,
13423         since perl-5.11's --version output is different.
13424
13425 2009-11-28  Jim Meyering  <meyering@redhat.com>
13426
13427         userspec: depend on the inttostr module, too
13428         * modules/userspec (Depends-on): Add inttostr.
13429
13430         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
13431         * lib/userspec.c (parse_with_separator): Do not accept a user ID
13432         number of MAXUID when it evaluates to (uid_t) -1.
13433         Likewise for group ID.  Reported by Matt McCutchen in
13434         <http://savannah.gnu.org/bugs/?28113>
13435
13436         userspec: reformat to use spaces, not TABs
13437         * lib/userspec.c: Expand TABs to spaces.
13438         Add Emacs' "indent-tabs-mode: nil" hint.
13439
13440 2009-11-27  Eric Blake  <ebb9@byu.net>
13441
13442         getopt-gnu: flush out another BSD bug
13443         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
13444         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
13445         flush out BSD bug.
13446         * tests/test-getopt.h (test_getopt): End lists with NULL.
13447         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13448         (test_getopt_long_posix): Enhance test.
13449         * modules/getopt-posix-tests (Depends-on): Add stdbool.
13450         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
13451         getopt-gnu.
13452         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13453         Likewise.
13454
13455 2009-11-27  Simon Josefsson  <simon@josefsson.org>
13456
13457         * modules/idpriv-droptemp-tests (Notice): Fix text.
13458
13459 2009-11-27  Jim Meyering  <meyering@redhat.com>
13460
13461         test-xalloc-die: avoid spurious failure due to libtool argv difference
13462         In a libtool-enabled project, this test would fail due to a difference
13463         in the emitted program name, e.g.,
13464         -test-xalloc-die: memory exhausted
13465         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
13466         Use program to avoid that.
13467         * modules/xalloc-die-tests (Depends-on): Add progname.
13468         * tests/test-xalloc-die.c: Include progname.h".
13469         (program_name): Remove decl.
13470         (main): Call set_program_name.
13471         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
13472
13473 2009-11-26  Richard Jones  <rjones@redhat.com>
13474
13475         w32sock: leave win32 error in place.
13476         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
13477
13478 2009-11-26  Eric Blake  <ebb9@byu.net>
13479
13480         init.sh: suggest to use skip_ and fail_ functions in comments
13481         * tests/init.sh: Add a sentence.
13482
13483 2009-11-25  Bruno Haible  <bruno@clisp.org>
13484
13485         init.sh: add documentation in comments
13486         * tests/init.sh: Add some developer and user documentation.
13487
13488 2009-11-26  Jim Meyering  <meyering@redhat.com>
13489
13490         init.sh: accommodate even those who specify bogus srcdir manually
13491         * tests/init.sh: Normally, srcdir is guaranteed by automake and
13492         configure-time tests to be sanitized, so that there is no need to
13493         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
13494         (with no double quotes) suffices.  However, since tests may be
13495         invoked manually, and since you may explicitly set srcdir to the
13496         name of a directory containing spaces, do quote its uses here.
13497         * tests/test-pread.sh: Likewise.
13498         Suggested by Bruno Haible.
13499
13500         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
13501         * tests/test-pread.sh: Write no data into the pipe, because
13502         test-pread actually reads none.  This avoids a diagnostic,
13503         "bash: echo: write error: Broken pipe", that arises in the unusual
13504         event something is ignoring SIGPIPE, and might be interpreted
13505         as some sort of failure.  Reported by Bruno Haible.
13506
13507 2009-11-25  Jim Meyering  <meyering@redhat.com>
13508
13509         test-pread: cover failure with ESPIPE and EINVAL
13510         * tests/test-pread.c (main): Test for failure, too.
13511         * tests/test-pread.sh: Invoke with stdin on a pipe.
13512         Suggested by Eric Blake.
13513
13514         pread: improvement and fix
13515         * modules/pread (Depends-on): Depend on lseek, for portability to
13516         e.g., mingw.  Suggested by Eric Blake.
13517         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
13518
13519         unistd.in.h: correct declaration of pread
13520         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
13521         Reported by Richard W.M. Jones.
13522
13523         test-pread.sh: distribute the test script
13524         * modules/pread-tests (Files): Include test-pread.sh.
13525
13526         test-pread.sh: clean up
13527         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
13528         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
13529         That is unnecessary, since it's always ".".
13530         Suggestion from Eric Blake.
13531
13532         test-pread.sh: make executable
13533         * tests/test-pread.sh: Set executable bit.
13534         Reported by Eric Blake.
13535
13536         correct typo in test-pread.sh
13537         * tests/test-pread.sh: Add #! line.
13538
13539         test pread
13540         * tests/test-pread.c: New file.
13541         * tests/test-pread.sh: Likewise.
13542         * modules/pread-tests: Likewise.
13543
13544         pread: new module
13545         * modules/pread: New file.
13546         * lib/unistd.in.h (pread): Define/declare.
13547         * lib/pread.c (pread): New file.
13548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
13549         * modules/unistd (Makefile.am): Substitute witnesses.
13550         * doc/posix-functions/pread.texi (pread): Update.
13551         * MODULES.html.sh: Add pread.
13552
13553 2009-11-25  Jim Meyering  <meyering@redhat.com>
13554
13555         tests/init.sh: new file to be used via most *.sh tests
13556         * tests/init.sh: New file.
13557
13558 2009-11-25  Eric Blake  <ebb9@byu.net>
13559
13560         utimens: work around older Linux failure with symlinks
13561         * lib/utimens.c (lutimensat_works_really): New variable.
13562         (fdutimens, lutimens): Use it to manage kernels that support
13563         nanosecond times on files, but not on symlinks.
13564         Reported by Ondřej Vašík.
13565
13566         utimes: fix configure grammar
13567         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
13568
13569 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
13570
13571         regex: Fix fastmap for multibyte character ranges.
13572         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
13573         characters when a multibyte character range is included.
13574
13575 2009-11-22  Andy Wingo  <wingo@pobox.com>
13576
13577         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
13578         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
13579
13580 2009-11-24  Bruno Haible  <bruno@clisp.org>
13581
13582         doc: Most *_l functions exist in MacOS X 10.5.
13583         * doc/posix-functions/duplocale.texi: Update platforms list.
13584         * doc/posix-functions/freelocale.texi: Likewise.
13585         * doc/posix-functions/newlocale.texi: Likewise.
13586         * doc/posix-functions/uselocale.texi: Likewise.
13587         * doc/posix-functions/isalnum_l.texi: Likewise.
13588         * doc/posix-functions/isalpha_l.texi: Likewise.
13589         * doc/posix-functions/isblank_l.texi: Likewise.
13590         * doc/posix-functions/iscntrl_l.texi: Likewise.
13591         * doc/posix-functions/isdigit_l.texi: Likewise.
13592         * doc/posix-functions/isgraph_l.texi: Likewise.
13593         * doc/posix-functions/islower_l.texi: Likewise.
13594         * doc/posix-functions/isprint_l.texi: Likewise.
13595         * doc/posix-functions/ispunct_l.texi: Likewise.
13596         * doc/posix-functions/isspace_l.texi: Likewise.
13597         * doc/posix-functions/isupper_l.texi: Likewise.
13598         * doc/posix-functions/iswalnum_l.texi: Likewise.
13599         * doc/posix-functions/iswalpha_l.texi: Likewise.
13600         * doc/posix-functions/iswblank_l.texi: Likewise.
13601         * doc/posix-functions/iswcntrl_l.texi: Likewise.
13602         * doc/posix-functions/iswctype_l.texi: Likewise.
13603         * doc/posix-functions/iswdigit_l.texi: Likewise.
13604         * doc/posix-functions/iswgraph_l.texi: Likewise.
13605         * doc/posix-functions/iswlower_l.texi: Likewise.
13606         * doc/posix-functions/iswprint_l.texi: Likewise.
13607         * doc/posix-functions/iswpunct_l.texi: Likewise.
13608         * doc/posix-functions/iswspace_l.texi: Likewise.
13609         * doc/posix-functions/iswupper_l.texi: Likewise.
13610         * doc/posix-functions/iswxdigit_l.texi: Likewise.
13611         * doc/posix-functions/isxdigit_l.texi: Likewise.
13612         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
13613         * doc/posix-functions/strcasecmp_l.texi: Likewise.
13614         * doc/posix-functions/strcoll_l.texi: Likewise.
13615         * doc/posix-functions/strfmon_l.texi: Likewise.
13616         * doc/posix-functions/strftime_l.texi: Likewise.
13617         * doc/posix-functions/strncasecmp_l.texi: Likewise.
13618         * doc/posix-functions/strxfrm_l.texi: Likewise.
13619         * doc/posix-functions/tolower_l.texi: Likewise.
13620         * doc/posix-functions/toupper_l.texi: Likewise.
13621         * doc/posix-functions/towctrans_l.texi: Likewise.
13622         * doc/posix-functions/towlower_l.texi: Likewise.
13623         * doc/posix-functions/towupper_l.texi: Likewise.
13624         * doc/posix-functions/wcscoll_l.texi: Likewise.
13625         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
13626         * doc/posix-functions/wctrans_l.texi: Likewise.
13627         * doc/posix-functions/wctype_l.texi: Likewise.
13628         * doc/glibc-functions/strptime_l.texi: Likewise.
13629         * doc/glibc-functions/strtod_l.texi: Likewise.
13630         * doc/glibc-functions/strtof_l.texi: Likewise.
13631         * doc/glibc-functions/strtol_l.texi: Likewise.
13632         * doc/glibc-functions/strtold_l.texi: Likewise.
13633         * doc/glibc-functions/strtoll_l.texi: Likewise.
13634         * doc/glibc-functions/strtoul_l.texi: Likewise.
13635         * doc/glibc-functions/strtoull_l.texi: Likewise.
13636         * doc/glibc-functions/wcsftime_l.texi: Likewise.
13637         * doc/glibc-functions/wcstod_l.texi: Likewise.
13638         * doc/glibc-functions/wcstof_l.texi: Likewise.
13639         * doc/glibc-functions/wcstol_l.texi: Likewise.
13640         * doc/glibc-functions/wcstold_l.texi: Likewise.
13641         * doc/glibc-functions/wcstoll_l.texi: Likewise.
13642         * doc/glibc-functions/wcstoul_l.texi: Likewise.
13643         * doc/glibc-functions/wcstoull_l.texi: Likewise.
13644
13645 2009-11-24  Bruno Haible  <bruno@clisp.org>
13646
13647         duplocale: Fix logic bug.
13648         * lib/duplocale.c: Don't include <langinfo.h>.
13649         (_NL_LOCALE_NAME): Remove macro.
13650         (rpl_duplocale): Use setlocale instead of nl_langinfo.
13651         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
13652
13653 2009-11-23  Jim Meyering  <meyering@redhat.com>
13654
13655         test-update-copyright: don't hard-code /usr/bin/perl
13656         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
13657         perl to print the current year.  Gilles Espinasse reported that
13658         the replaced use of perl was hard-coded as /usr/bin/perl.
13659
13660 2009-11-23  Bruno Haible  <bruno@clisp.org>
13661
13662         duplocale: Add support for glibc 2.3.x.
13663         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
13664
13665 2009-11-22  Bruno Haible  <bruno@clisp.org>
13666
13667         vasnprintf: Tiny optimization.
13668         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
13669         MacOS X.
13670
13671 2009-11-22  Bruno Haible  <bruno@clisp.org>
13672
13673         Tests for module 'duplocale'.
13674         * modules/duplocale-tests: New file.
13675         * tests/test-duplocale.c: New file.
13676
13677         New module 'duplocale'.
13678         * m4/duplocale.m4: New file.
13679         * lib/locale.in.h (duplocale): New declaration.
13680         * lib/duplocale.c: New file.
13681         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
13682         gl_LOCALE_H_DEFAULTS): New macros.
13683         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
13684         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
13685         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
13686         REPLACE_DUPLOCALE.
13687         * modules/duplocale: New file.
13688         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
13689
13690 2009-11-22  Bruno Haible  <bruno@clisp.org>
13691
13692         * modules/locale-tests (configure.ac): Test for newlocale function.
13693         * tests/test-locale.c: When the system has extended locale functions,
13694         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
13695
13696         locale: Make locale_t available when possible.
13697         * lib/locale.in.h: Include <xlocale.h> when it exists.
13698         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
13699         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
13700         * modules/locale (Depends-on): Add extensions.
13701         (Makefile.am): Also substitute HAVE_XLOCALE_H.
13702         * doc/posix-headers/locale.texi: Document the problem with locale_t.
13703
13704 2009-11-22  Bruno Haible  <bruno@clisp.org>
13705
13706         Add comments.
13707         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
13708         invocation.
13709         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
13710         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13711         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
13712
13713 2009-11-22  Bruno Haible  <bruno@clisp.org>
13714
13715         error: account for the possibility of freopen (stdout).
13716         * lib/error.c: Include <unistd.h>.
13717         (flush_stdout): New function, extracted from error and error_at_line.
13718         Determine stdout's fd dynamically.
13719         (error, error_at_line): Invoke flush_stdout.
13720         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
13721         * modules/error (Depends-on): Add unistd.
13722
13723 2009-11-22  Bruno Haible  <bruno@clisp.org>
13724
13725         diffseq: Add comment.
13726         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
13727
13728 2009-11-22  Jim Meyering  <meyering@redhat.com>
13729
13730         c-stack: avoid defining an unused static function
13731         * lib/c-stack.c (find_stack_direction): Do not define this function
13732         when it will not be used.
13733
13734         diffseq: avoid spurious gcc warnings
13735         * lib/diffseq.h (IF_LINT2): Define.
13736         (compareseq): Use it to initialize two members of "part".
13737         This avoids two used-uninitialized warnings.
13738
13739 2009-11-21  Jim Meyering  <meyering@redhat.com>
13740
13741         c-stack: avoid "ignoring return value of `write'" warning
13742         * lib/c-stack.c: Include "ignore-value.h".
13743         (die): Explicitly ignore each write return value.
13744         * modules/c-stack (Depends-on): Add ignore-value.
13745
13746 2009-11-21  Bruno Haible  <bruno@clisp.org>
13747
13748         diffseq: reduce scope of variable 'best'.
13749         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
13750         variable, earlier used for two different purposes.
13751
13752 2009-11-21  Jim Meyering  <meyering@redhat.com>
13753
13754         diffseq: remove useless assignment to "best"
13755         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
13756         assignment.  At that point "best" is already guaranteed to be zero.
13757
13758 2009-11-20  Eric Blake  <ebb9@byu.net>
13759
13760         build: mention ftp redirector in release announcements
13761         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
13762         values that used to come from cfg.mk; mention FTP redirect URL.
13763         * build-aux/announce-gen: Mention the mirror list.
13764         Suggested by Karl Berry.
13765
13766         nanosleep: improve port to mingw
13767         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
13768         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
13769         LIB_NANOSLEEP, but only when needed.
13770         * modules/select (Link): Document LIBSOCKET.
13771         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
13772         enough.
13773
13774         nanosleep: work around cygwin bug
13775         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
13776         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
13777         bug.
13778         (getnow): Delete, not needed.
13779         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
13780         LIB_CLOCK_GETTIME.
13781         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
13782         clock-time, gettime.
13783         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
13784         bug.
13785         * modules/nanosleep-tests: New test.
13786         * tests/test-nanosleep.c: New file.
13787
13788         sleep: work around cygwin bug
13789         * lib/sleep.c (rpl_sleep): Work around the bug.
13790         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
13791         (gl_PREREQ_SLEEP): Delete unused macro.
13792         * modules/sleep (Depends-on): Add verify.
13793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
13794         * modules/unistd (Makefile.am): Substitute witness.
13795         * lib/unistd.in.h (sleep): Update prototype.
13796         * doc/posix-functions/sleep.texi (sleep): Document the bug.
13797         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
13798         * modules/sleep-tests (Depends-on): Check for alarm.
13799
13800 2009-11-20  Jim Meyering  <meyering@redhat.com>
13801
13802         maint.mk: improve sc_prohibit_magic_number_exit
13803         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
13804         so it does not match uses like System.exit(1).
13805         Add comments showing how to correct all offenders.
13806
13807 2009-11-19  Eric Blake  <ebb9@byu.net>
13808
13809         xalloc-die-tests: add missing library
13810         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
13811
13812         test-xvasprintf: silence compiler warnings
13813         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
13814         empty string from gcc.
13815
13816 2009-11-19  Jim Meyering  <meyering@redhat.com>
13817
13818         xfreopen: new module, from coreutils
13819         * modules/xfreopen: New module.
13820         * lib/xfreopen.c: New file.
13821         * lib/xfreopen.h: New file.
13822         * MODULES.html.sh (File stream based Input/Output"): Add it.
13823
13824 2009-11-19  Eric Blake  <ebb9@byu.net>
13825
13826         manywarnings: depend on warnings
13827         * modules/manywarnings (Depends-on): Add warnings.
13828
13829         build: avoid compiler warnings
13830         * lib/select.c (rpl_select): Delete unused variable.
13831         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
13832
13833 2009-11-18  Eric Blake  <ebb9@byu.net>
13834
13835         tests: avoid false negative with --with-packager
13836         * tests/test-version-etc.sh: Discard packager information.
13837         * tests/test-argp-version-etc-1.sh: Likewise.
13838         Reported by Mike Frysinger.
13839
13840         utimens: fix regression on Solaris
13841         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
13842         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
13843         can only change fd timestamps via futimesat.  Instead, use an
13844         additional witness macro to avoid BSD bug.
13845         Reported by Jim Meyering.
13846
13847 2009-11-17  Eric Blake  <ebb9@byu.net>
13848
13849         usleep: use it to simplify tests
13850         * modules/stat-time-tests (Depends-on): Add usleep.
13851         (configure.ac): Drop usleep check.
13852         * modules/chown-tests (Depends-on, configure.ac): Likewise.
13853         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
13854         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
13855         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
13856         * modules/openat-tests (Depends-on, configure.ac): Likewise.
13857         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
13858         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
13859         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
13860         Likewise.
13861         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
13862         * tests/test-lchown.h (nap): Likewise.
13863         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
13864         * tests/test-stat-time.c (nap): Likewise.
13865         * tests/test-utimens-common.h (nap): Update comments.
13866
13867         usleep: new module
13868         * modules/usleep: New file.
13869         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
13870         * lib/usleep.c (usleep): Likewise.
13871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
13872         * modules/unistd (Makefile.am): Substitute witnesses.
13873         * lib/unistd.in.h (usleep): Add declaration.
13874         * doc/pastposix-functions/usleep.texi (usleep): Document this.
13875         * MODULES.html.sh (Date and time): Likewise.
13876         * modules/usleep-tests (Depends-on): New test.
13877         * tests/test-usleep.c: New file.
13878
13879         chown: work around OpenBSD bug
13880         * lib/chown.c (rpl_chown): Work around the bug.
13881         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
13882         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
13883         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
13884         * modules/chown (Depends-on): Add stdbool.
13885         * modules/lchown (Depends-on): Likewise.
13886         * doc/posix-functions/chown.texi (chown): Document the bug.
13887         * doc/posix-functions/lchown.texi (lchown): Likewise.
13888         * tests/test-lchown.h (test_chown): Relax test.
13889
13890         mkstemp: avoid conflict with C++ keyword template
13891         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
13892         * lib/mkostemp.c (mkostemp): Likewise.
13893         * lib/mkostemps.c (mkostemps): Likewise.
13894         * lib/mkstemp.c (mkstemp): Likewise.
13895         * lib/mkstemps.c (mkstemps): Likewise.
13896
13897         xalloc-die-tests: optimize
13898         * tests/test-xalloc-die.sh: Reduce number of processes.
13899
13900 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13901
13902         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
13903         patch from ludo@gnu.org (Ludovic Courtès).
13904
13905 2009-11-17  Jim Meyering  <meyering@redhat.com>
13906
13907         version-etc: use proper license string
13908         * modules/version-etc (License): Use LGPL, not LGPLv3+.
13909         * modules/version-etc-fsf: Likewise.
13910
13911 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13912
13913         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
13914         printed to stdout.  Deal with EOL differences.
13915
13916 2009-11-17  Eric Blake  <ebb9@byu.net>
13917
13918         unsetenv: work around Solaris bug
13919         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
13920         * lib/unsetenv.c (rpl_unsetenv): Work around it.
13921         Reported by Jim Meyering.
13922
13923         vasnprintf: avoid compiler warnings
13924         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
13925         variables.
13926         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
13927
13928 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13929
13930         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
13931         settings since xalloc-die is no longer the self test,
13932         xalloc-die.sh is.
13933
13934 2009-11-17  Jim Meyering  <meyering@redhat.com>
13935
13936         test-xalloc-die.sh: make the code agree with the commit log
13937         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
13938         at the end, just in case you happen to have a test-xalloc-die
13939         program in some other PATH directory.
13940
13941         test-xalloc-die.sh: fix a portability bug
13942         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
13943         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
13944         Otherwise, argv[0] (as often seen in diagnostics) would be too
13945         system-dependent, sometimes with, and sometimes without the leading "./".
13946
13947         version-etc-fsf: relax license to LGPLv3+
13948         * modules/version-etc-fsf (License): Relax license.
13949
13950 2009-11-16  Eric Blake  <ebb9@byu.net>
13951
13952         xalloc-die-tests: avoid printing null pointer
13953         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
13954         shell script.
13955         * tests/test-xalloc-die.c (program_name): Declare.
13956         * tests/test-xalloc-die.sh (tmpfiles): New file.
13957
13958         setenv, unsetenv: work around various bugs
13959         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
13960         (setenv) [HAVE_SETENV]: Work around bugs.
13961         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
13962         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
13963         for bugs.
13964         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
13965         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
13966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
13967         * modules/stdlib (Makefile.am): Update substitutions.
13968         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
13969         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
13970         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
13971         * modules/setenv-tests: New test.
13972         * modules/unsetenv-tests: Likewise.
13973         * tests/test-setenv.c: New file.
13974         * tests/test-unsetenv.c: Likewise.
13975
13976 2009-11-16  Jim Meyering  <meyering@redhat.com>
13977
13978         version-etc: relax license to LGPLv3+
13979         * modules/version-etc (License): Relax license.
13980
13981         better AC_REQUIRE expanded-before-required-warning avoidance
13982         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
13983         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
13984         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
13985         which is no longer needed.
13986
13987 2009-11-16  Eric Blake  <ebb9@byu.net>
13988
13989         test-freading: clean up temporary file
13990         * tests/test-freading.c (main): Remove file on success, and use
13991         ASSERT more liberally.
13992         Reported by Jim Meyering.
13993
13994 2009-11-16  Jim Meyering  <meyering@redhat.com>
13995
13996         avoid new AC_REQUIRE expanded-before-required warnings
13997         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
13998         merely using it.
13999         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
14000         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
14001
14002 2009-11-15  Simon Josefsson  <simon@josefsson.org>
14003
14004         * tests/test-xalloc-die.c: New file.
14005         * modules/xalloc-die-tests: New file.
14006         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
14007         XFAIL_TESTS so it can be appended by modules.
14008
14009 2009-11-15  Simon Josefsson  <simon@josefsson.org>
14010
14011         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
14012         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
14013
14014 2009-11-14  Eric Blake  <ebb9@byu.net>
14015
14016         fnmatch: avoid compiler warning
14017         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
14018         to silence compiler warning about mismatch signedness in ?:.
14019         Reported by Robert Millan.
14020
14021         intprops: add double-inclusion guard
14022         * lib/intprops.h: Allow idempotent includes.
14023         Suggested by Bruce Korb.
14024
14025         openat: detect Solaris fchownat bug
14026         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
14027         penalizing glibc chownat when only lchownat is broken.
14028         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
14029         trailing slash bugs.
14030         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
14031         * modules/openat-tests (Files): Include more files.
14032         (Depends-on): Add mgetgroups, sleep, stat-time.
14033         (configure.ac): Add additional checks.
14034         (Makefile.am): Build new test.
14035         * tests/test-fchownat.c: New file.
14036
14037         lchown: detect Solaris and FreeBSD bug
14038         * lib/lchown.c (rpl_lchown): Work around bug.
14039         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
14040         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14041         * modules/unistd (Makefile.am): Populate it.
14042         * lib/unistd.in.h (lchown): Update declaration.
14043         * doc/posix-functions/lchown.texi (lchown): Document the bug.
14044         * modules/lchown-tests: New file.
14045         * tests/test-lchown.h (test_lchown): Likewise.
14046         * tests/test-lchown.c (main): Likewise.
14047
14048         chown: detect Solaris and FreeBSD bug
14049         * lib/chown.c (rpl_chown): Work around bug.
14050         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
14051         (gl_PREREQ_CHOWN): Delete.
14052         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14053         * modules/unistd (Makefile.am): Populate it.
14054         * lib/unistd.in.h (chown): Update declaration.
14055         * lib/lchown.c (chown): Update client.
14056         * modules/lchown (Depends-on): Add lstat.
14057         * doc/posix-functions/chown.texi (chown): Document the bug.
14058         * doc/posix-functions/getgroups.texi (getgroups): Document
14059         getgroups pitfall.
14060         * modules/chown-tests: New file.
14061         * tests/test-chown.h (test_chown): Likewise.
14062         * tests/test-chown.c (main): Likewise.
14063
14064 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
14065
14066         gnulib-tool: correctly detect absence of m4 directories
14067         * gnulib-tool: Avoid extra newline on data passed to wc -l.
14068
14069 2009-11-14  Jim Meyering  <meyering@redhat.com>
14070
14071         maint.mk: Prohibit inclusion of "xalloc.h" without use.
14072         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
14073
14074 2009-11-14  John W. Eaton  <jwe@gnu.org>
14075
14076         strftime.h: wrap funtion declaration in extern "C" block
14077         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
14078
14079 2009-11-13  Eric Blake  <ebb9@byu.net>
14080
14081         getgroups: avoid compiler warning
14082         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
14083
14084         getgroups: work around FreeBSD bug
14085         * lib/getgroups.c (rpl_getgroups): Work around the bug.
14086         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
14087         * doc/posix-functions/getgroups.texi (getgroups): Document it.
14088         * tests/test-getgroups.c (main): Fix buffer overrun.
14089
14090         getgroups: avoid compilation failure
14091         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
14092         * modules/getgroups (Depends-on): Add stdint.
14093
14094 2009-11-13  Jim Meyering  <meyering@redhat.com>
14095
14096         test-getgroups: avoid compilation failure
14097         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
14098
14099 2009-11-13  Eric Blake  <ebb9@byu.net>
14100
14101         mgetgroups: new module, taken from coreutils
14102         * modules/mgetgroups: New file.
14103         * lib/mgetgroups.h: Likewise.
14104         * lib/mgetgroups.c (mgetgroups): Likewise.
14105         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
14106         * MODULES.html.sh (Users and groups): Mention it.
14107
14108         getgroups: don't expose GETGROUPS_T to user
14109         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
14110         an element at a time if GETGROUPS_T is wrong size.
14111         * lib/getugroups.h (getugroups): Change signature.
14112         * lib/unistd.in.h (getgroups): Likewise.
14113         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
14114         signature needs fixing.
14115         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
14116         AC_TYPE_GETGROUPS.
14117         * modules/group-member (Depends-on): Add getgroups.
14118         * lib/group-member.c (group_info, get_group_info): Use gid_t.
14119         (group_member): Rely on getgroups replacement.
14120         * lib/getugroups.c (getugroups): Use gid_t.
14121         * tests/test-getgroups.c (main): Likewise.
14122         * NEWS: Mention the signature change.
14123         * doc/posix-functions/getgroups.texi (getgroups): Mention the
14124         problem with signature.
14125         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
14126         GETGROUPS_T is still useful for setgroups.
14127
14128         getgroups, getugroups: provide stubs for mingw
14129         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
14130         * lib/getugroups.c (getugroups): Likewise.
14131         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
14132         function.  Modernize replacement scheme.
14133         (gl_PREREQ_GETGROUPS): Delete.
14134         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
14135         * modules/getgroups (configure.ac): Declare witness.
14136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
14137         * modules/unistd (Depends-on): Substitute witness.
14138         * lib/unistd.in.h (getgroups): Declare replacement.
14139
14140         getgroups: avoid calling exit
14141         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
14142         drop xalloc.
14143         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
14144         dependencies.
14145         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
14146         exiting, in the rare case of malloc failure.
14147
14148         getgroups: fix logic error
14149         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
14150         has more than 20 groups.
14151         * modules/getgroups-tests: New test.
14152         * tests/test-getgroups.c: New file.
14153
14154 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14155
14156         * tests/test-base64.c: Improve.
14157
14158 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14159
14160         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
14161         Blake <ebb9@byu.net>.
14162
14163 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14164
14165         * tests/test-xvasprintf.c: Add %s%s related checks.
14166
14167 2009-11-12  Eric Blake  <ebb9@byu.net>
14168
14169         version-etc: match standards.texi style
14170         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
14171         and use <> only for URLs.
14172
14173 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
14174
14175         fts: do not fail on a submount during traversal
14176         * lib/fts.c (fts_build): Read the stat info again after opening
14177         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
14178         Original report at http://bugzilla.redhat.com/501848.
14179
14180 2009-11-12  Jim Meyering  <meyering@redhat.com>
14181
14182         bootstrap: sync from coreutils
14183         * build-aux/bootstrap (bootstrap_epilogue): New function.
14184         Use git_modules_config in one more place.  This make bootstrap's
14185         --gnulib-srcdir option more useful for testing.
14186
14187         bootstrap: generalize autoheader check
14188         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
14189         AC_CONFIG_HEADERS.
14190
14191 2009-11-11  Eric Blake  <ebb9@byu.net>
14192
14193         mkfifoat: use new modules for Solaris and BSD bugs
14194         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
14195         * lib/mkfifoat.c (mknodat): Split...
14196         * lib/mknodat.c (mknodat): ...into new file.
14197         * modules/mkfifoat (Files): Ship new file.
14198         (Depends-on): Add mkfifo, mknod.
14199         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
14200         (Depends-on): Add symlink.
14201         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
14202         redundant with test_mkfifo.h.
14203         (do_mkfifoat, do_mknodat): New helpers.
14204
14205         mknod: new module
14206         * modules/mknod: New file.
14207         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
14208         * lib/mknod.c (mknod): Likewise.
14209         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
14210         defaults.
14211         * modules/sys_stat (Makefile.am): Substitute them.
14212         * lib/sys_stat.in.h (mknod): Declare replacement.
14213         * MODULES.html.sh (Support for systems lacking POSIX:2008):
14214         Document it.
14215         * doc/posix-functions/mknod.texi (mknod): Likewise.
14216         * modules/mknod-tests: New test.
14217         * tests/test-mknod.c: Likewise.
14218
14219         mkfifo: new module
14220         * modules/mkfifo: New file.
14221         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
14222         * lib/mkfifo.c (mkfifo): Likewise.
14223         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
14224         defaults.
14225         * modules/sys_stat (Makefile.am): Substitute them.
14226         * lib/sys_stat.in.h (mkfifo): Declare replacement.
14227         * MODULES.html.sh (Support for systems lacking POSIX:2008):
14228         Document it.
14229         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
14230         * modules/mkfifo-tests: New test.
14231         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
14232         from test-mkfifoat.c.
14233         * tests/test-mkfifo.c: New file.
14234
14235         readlink: detect FreeBSD bug
14236         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
14237         slash on symlink.
14238         * doc/posix-functions/readlink.texi (readlink): Document the bug.
14239         * tests/test-readlink.h (test_readlink): Enhance test.
14240
14241         symlink: detect FreeBSD bug
14242         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
14243         slash on symlink.
14244         * doc/posix-functions/symlink.texi (symlink): Document the bug.
14245         * tests/test-symlink.h (test_symlink): Enhance test.
14246
14247 2009-11-10  Eric Blake  <ebb9@byu.net>
14248
14249         link: detect FreeBSD bug
14250         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
14251         symlink.
14252         * doc/posix-functions/link.texi (link): Document the bug.
14253         * tests/test-link.h (test_link): Enhance test.
14254         * tests/test-linkat.c (main): Update caller.
14255
14256         unlink, remove: detect FreeBSD bug
14257         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
14258         slash on symlink.
14259         * doc/posix-functions/unlink.texi (unlink): Document the bug.
14260         * doc/posix-functions/remove.texi (remove): Likewise.
14261         * tests/test-unlink.h (test_unlink): Enhance test.
14262         * tests/test-remove.c (main): Likewise.
14263
14264 2009-11-09  Eric Blake  <ebb9@byu.net>
14265
14266         rename: detect FreeBSD bug
14267         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
14268         slash on symlink.
14269         * modules/renameat-tests (Depends-on): Add filenamecat.
14270         * tests/test-rename.h (test_rename): Allow one more errno.
14271         * tests/test-renameat.c (main): Likewise.
14272         * doc/posix-functions/rename.texi (rename): Document the bug.
14273
14274         open: detect FreeBSD bug
14275         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
14276         symlink.
14277         * doc/posix-functions/open.texi (open): Document the bug.
14278         * doc/posix-functions/utimes.texi (utimes): Likewise.
14279         * tests/test-open.h (test_open): Add parameters, and test symlink
14280         handling.
14281         * tests/test-open.c (main): Adjust caller.
14282         * tests/test-fcntl-safer.c (main): Likewise.
14283         * modules/open-tests (Depends-on): Add stdbool, symlink.
14284         * modules/fcntl-safer-tests (Depends-on): Likewise.
14285         * tests/test-openat.c (main): Add test-open tests.
14286
14287         stat: detect FreeBSD bug
14288         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
14289         symlink.
14290         * doc/posix-functions/stat.texi (stat): Document the bug.
14291         * tests/test-stat.h (test_stat_func): Add argument.
14292         * tests/test-stat.c (main): Adjust caller.
14293         * tests/test-fstatat.c (main): Likewise.
14294         * modules/stat-tests (Depends-on): Add stdbool, symlink.
14295         Reported by Jim Meyering.
14296
14297 2009-11-09  James Youngman  <jay@gnu.org>
14298
14299         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
14300         * lib/strftime.c: Correct placement of #include "ignore-value.h".
14301
14302 2009-11-08  Jim Meyering  <meyering@redhat.com>
14303
14304         utimens: remove invalid futimesat call
14305         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
14306         It used the file descriptor of the target file as the DIR_FD
14307         parameter and NULL as the file name.  That caused failure with
14308         errno == EFAULT on FreeBSD-8.0-rc2
14309
14310 2009-11-07  Eric Blake  <ebb9@byu.net>
14311
14312         fflush, freadseek: use fseeko, not fseek
14313         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
14314         (clear_ungetc_buffer): Avoid potential problems on large files.
14315         * lib/freadseek.c (freadseek): Likewise.
14316         * modules/freadseek (Depends-on): Add fseeko.
14317         * modules/fseek (configure.ac): Set a witness.
14318         * tests/test-fflush.c (main): Use fseeko.
14319         * tests/test-fpurge.c (fseek): Disable link warning.
14320         * tests/test-freadable.c (fseek): Likewise.
14321         * tests/test-freading.c (fseek): Likewise.
14322         * tests/test-fseeko.c (fseek): Likewise.
14323         * tests/test-ftell.c (fseek): Likewise.
14324         * tests/test-ftello.c (fseek): Likewise.
14325         * tests/test-fwritable.c (fseek): Likewise.
14326         * tests/test-fwriting.c (fseek): Likewise.
14327
14328 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14329
14330         * modules/memchr (Depends-on): Drop getpagesize dependency.
14331
14332 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14333
14334         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
14335         Reported by Ludovic Courtès.
14336         * build-aux/pmccabe2html: Improve example usage.
14337         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
14338
14339 2009-11-06  Jim Meyering  <meyering@redhat.com>
14340
14341         do-release-commit-and-tag: New module.
14342         Automate the release-commit and tag process.
14343         * build-aux/do-release-commit-and-tag: New script, from coreutils.
14344         * modules/do-release-commit-and-tag: New file.
14345         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14346
14347 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14348
14349         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
14350         because test-select.c uses inet_pton.
14351
14352 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14353
14354         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
14355         GETADDRINFO_LIB.  Bump serial number.
14356         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
14357         Suggested by Eric Blake <ebb9@byu.net>.
14358
14359 2009-11-05  Eric Blake  <ebb9@byu.net>
14360
14361         strtod: detect darwin bug
14362         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
14363         Reported by Leo Davis.
14364
14365         freopen-safer: new module
14366         * modules/freopen-safer: New module.
14367         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
14368         * lib/freopen-safer.c (freopen_safer): New file.
14369         * lib/stdio-safer.h (freopen_safer): New declaration.
14370         * lib/stdio--.h (freopen): New override.
14371         * MODULES.html.sh (File stream based Input/Output): Mention it.
14372         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
14373         freopen-safer module.
14374         * doc/posix-functions/stderr.texi (stderr): Likewise.
14375         * doc/posix-functions/stdin.texi (stdin): Likewise.
14376         * doc/posix-functions/stdout.texi (stdout): Likewise.
14377         * modules/freopen-safer-tests: New test.
14378         * tests/test-reopen-safer.c: New file.
14379
14380 2009-11-05  Jim Meyering  <meyering@redhat.com>
14381
14382         maint.mk: Prohibit inclusion of "close-stream.h" without use.
14383         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
14384
14385 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14386
14387         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
14388
14389 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14390
14391         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
14392
14393 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14394
14395         Fix link error.
14396         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
14397         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14398
14399 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14400
14401         * tests/test-func.c: Also test value of __func__.
14402
14403 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14404
14405         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
14406         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
14407
14408 2009-11-05  Bruno Haible  <bruno@clisp.org>
14409
14410         Fix link error.
14411         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
14412         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14413         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
14414
14415 2009-11-05  Bruno Haible  <bruno@clisp.org>
14416
14417         Tests for module 'inet_pton'.
14418         * modules/inet_pton-tests: New file.
14419         * tests/test-inet_pton.c: New file.
14420
14421 2009-11-05  Bruno Haible  <bruno@clisp.org>
14422
14423         Tests for module 'inet_ntop'.
14424         * modules/inet_ntop-tests: New file.
14425         * tests/test-inet_ntop.c: New file.
14426
14427 2009-11-04  Eric Blake  <ebb9@byu.net>
14428
14429         stdlib-safer: wrap all mkstemp variants
14430         * modules/mkostemp (configure.ac): Set witness.
14431         * modules/mkostemps (configure.ac): Likewise.
14432         * modules/mkstemps (configure.ac): Likewise.
14433         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
14434         (mkstemps_safer): Wrap more functions.
14435         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
14436         wrapping.
14437         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
14438         (mkstemps_safer): Implement the wrappers.
14439
14440         mkstemps, mkostemps: new modules
14441         * modules/mkostemps: New module.
14442         * modules/mkstemps: Likewise.
14443         * lib/mkostemps.c (mkostemps): New file.
14444         * lib/mkstemps.c (mkstemps): Likewise.
14445         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
14446         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
14447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
14448         * modules/stdlib (Makefile.am): Substitute them.
14449         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
14450         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
14451         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
14452         * doc/gnulib.texi (Glibc stdlib.h): Include them.
14453         * MODULES.html.sh (File system functions): Mention them.
14454
14455         tempname: resync from glibc
14456         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
14457         same values for __GT_FILE as glibc.  Abort even when assertions
14458         are disabled.
14459         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
14460         match its value otherwise.  Allow idempotent inclusion.
14461         * lib/mkdtemp.c (mkdtemp): Adjust caller.
14462         * lib/mkostemp.c (mkostemp): Likewise.
14463         * lib/mkstemp.c (mkstemp): Likewise.
14464         * lib/tmpfile.c (tmpfile): Likewise.
14465         * NEWS: Document this.
14466
14467         utimens: fix use of futimens on older Linux
14468         * lib/utimens.c (fdutimens): Use updated, rather than original,
14469         timespec to avoid bug in older Linux kernel.
14470         Reported by Simon Josefsson.
14471
14472 2009-11-04  Bruno Haible  <bruno@clisp.org>
14473
14474         Make num_processors more flexible and consistent.
14475         * lib/nproc.h (enum nproc_query): New type.
14476         (num_processors): Add a 'query' argument.
14477         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
14478         (num_processors): Add a 'query' argument. Test the value of the
14479         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
14480         mingw, count the number of CPUs available for the current process.
14481         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
14482         Check for sched_getaffinity and sched_getaffinity_np.
14483         * modules/nproc (Depends-on): Add c-ctype, extensions.
14484         * NEWS: Mention the change.
14485
14486 2009-11-03  Bruno Haible  <bruno@clisp.org>
14487
14488         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
14489
14490 2009-11-03  Jim Meyering  <meyering@redhat.com>
14491
14492         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
14493         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
14494         if it is defined.
14495
14496 2009-11-02  Eric Blake  <ebb9@byu.net>
14497
14498         mktime, timegm: share common declaration
14499         * lib/mktime-internal.h: New file.
14500         * lib/mktime.c: Use it rather than open-coding a declaration.
14501         * lib/timegm.c: Likewise.
14502         * modules/mktime (Files): Ship it.
14503         * modules/timegm (Files): Likewise.
14504         Suggested by Bruno Haible.
14505
14506         test-update-copyright: update test to match script changes
14507         * tests/test-update-copyright.sh: Avoid hard-coding perl
14508         location.  Don't update *.bak created by earlier runs.
14509
14510 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14511             Simon Josefsson  <simon@josefsson.org>
14512             Bruno Haible  <bruno@clisp.org>
14513
14514         Fix link error on Solaris 8.
14515         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
14516         also in libnsl. Define also INET_PTON_LIB.
14517         * modules/inet_pton (Link): New section.
14518
14519 2009-11-02  Simon Josefsson  <simon@josefsson.org>
14520             Bruno Haible  <bruno@clisp.org>
14521
14522         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
14523         * modules/inet_ntop (Link): New section.
14524         Reported by Boyan Kasarov <bkasarov@gmail.com>.
14525
14526 2009-11-02  Eric Blake  <ebb9@byu.net>
14527
14528         maint: avoid compiler warnings in m4 macros
14529         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
14530         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
14531
14532 2009-11-02  Simon Josefsson  <simon@josefsson.org>
14533
14534         * m4/pmccabe2html.m4: Remove file.
14535         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
14536         function.  Change maintainer.
14537         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
14538         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
14539         Courtès).
14540
14541 2009-10-31  Eric Blake  <ebb9@byu.net>
14542
14543         fseeko: fix m4 regression
14544         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
14545         regression from 2009-10-27.
14546         Reported by Ralf Wildenhues.
14547
14548 2009-10-31  Jim Meyering  <meyering@redhat.com>
14549
14550         inttostr: aesthetics and improved (compile-time) safety
14551         Define inttype_is_signed rather than inttype_is_unsigned,
14552         since the sole use is via "#if inttype_is_signed".
14553         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
14554         inttype_is_unsigned.
14555         * lib/offtostr.c (inttype_is_signed): Likewise.
14556         * lib/uinttostr.c (inttype_is_signed): Likewise.
14557         * lib/umaxtostr.c (inttype_is_signed): Likewise.
14558         * lib/inttostr.c (inttostr): Use verify to cross-check the
14559         inttype_is_signed value and the signedness of the actual type.
14560         * modules/inttostr (Depends-on): Add verify.
14561
14562 2009-10-30  Eric Blake  <ebb9@byu.net>
14563
14564         build: avoid compiler warnings
14565         * lib/fchmodat.c (lchmod): Mark unused variables.
14566         * lib/getopt.c (_getopt_initialize): Likewise.
14567         * lib/mktime.c (__mktime_internal): Provide prototype.
14568         * lib/inttostr.c (inttostr): Avoid compiler warning even with
14569         older gcc that do not understand #pragma GCC diagnostic.
14570         * lib/uinttostr.c (inttype_is_unsigned): Define.
14571         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
14572
14573 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
14574
14575         stat: fix compilation on AIX
14576         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
14577         only see struct stat64.
14578
14579 2009-10-30  Eric Blake  <ebb9@byu.net>
14580
14581         exclude: make more robust
14582         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
14583         rather than masking a coding bug.
14584         Suggested by Bruno Haible.
14585
14586 2009-10-30  Jim Meyering  <meyering@redhat.com>
14587
14588         perl scripts: remove #!/usr/bin/perl in favor of more portable...
14589         Rather than putting #!/usr/bin/perl on the first line,
14590         start with a variant of what's recommended by "man perlrun" that
14591         invokes the first "perl" program from your shell's search path.
14592         * build-aux/gitlog-to-changelog: Replace #!... as above.
14593         Add a "Local Variables" perl mode setting.
14594         Prompted by a patch from Ludovic Courtès.
14595         Improved by Eric Blake.
14596         * build-aux/useless-if-before-free: Likewise.
14597         * build-aux/announce-gen: Likewise.
14598         * build-aux/update-copyright: Likewise.
14599
14600 2009-10-29  Eric Blake  <ebb9@byu.net>
14601
14602         filenamecat-lgpl: adjust clients
14603         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
14604         filenamecat.
14605         * modules/renameat (Depends-on): Likewise.
14606
14607         filenamecat: split into filenamecat-lgpl
14608         * modules/filenamecat-lgpl: New module.
14609         * modules/filenamecat (Files): Move library-safe files into
14610         filenamecat-lgpl.
14611         (Depends-on): Add filenamecat-lgpl.
14612         (configure.ac): Declare witness.
14613         * lib/filenamecat.h (file_name_concat): Only declare when using
14614         GPL module.
14615         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
14616         Move...
14617         * lib/filenamecat-lgpl.c: ...into new file.
14618         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
14619         (gl_FILE_NAME_CONCAT): Use it.
14620         * MODULES.html.sh (File system functions): Mention new module.
14621
14622         argp: avoid memory leak
14623         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
14624         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
14625         base_name, since the latter malloc()s and can call exit().
14626         Leak introduced 2006-07-03.
14627
14628         dirname-lgpl: adjust clients that don't need full dirname
14629         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
14630         * modules/filenamecat (Depends-on): Likewise.
14631         * modules/linkat (Depends-on): Likewise.
14632         * modules/mkancesdirs (Depends-on): Likewise.
14633         * modules/mkdir (Depends-on): Likewise.
14634         * modules/openat (Depends-on): Likewise.
14635         * modules/savewd (Depends-on): Likewise.
14636         * modules/rename (Depends-on): Likewise.
14637         (License): Relax license.
14638         * modules/mkdir-tests (Depends-on): Drop progname.
14639         (Makefile.am): Delete unneeded LDADD.
14640         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
14641
14642         dirname: split into dirname-lgpl
14643         * modules/dirname-lgpl: New module.
14644         * modules/dirname (Files): Move library-safe files into
14645         dirname-lgpl.
14646         (Depends-on): Add dirname-lgpl.
14647         (configure.ac): Declare witness.
14648         * modules/double-slash-root (License): Relax license.
14649         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
14650         module.
14651         * lib/dirname.c (dir_len, mdir_name): Move...
14652         * lib/dirname-lgpl.c: ...into new file.
14653         * lib/basename.c (last_component, base_len): Move...
14654         * lib/basename-lgpl.c: ...into new file.
14655         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
14656         (gl_DIRNAME): Use it.
14657         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
14658         Mention new module.
14659         * modules/dirname-tests (Depends-on): Add progname.
14660         * tests/test-dirname.c (program_name): Delete.
14661
14662         mkdir: make safe for libraries
14663         * modules/mkdir (Depends-on): Drop xalloc.
14664         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
14665         exit.
14666
14667         tests: avoid some compiler warnings
14668         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
14669         literals.
14670         * tests/test-memchr.c (main): Avoid type mismatch.
14671         * tests/test-arpa_inet.c (main): Avoid unused parameters.
14672         * tests/test-base64.c (main): Likewise.
14673         * tests/test-getdelim.c (main): Likewise.
14674         * tests/test-gethostname.c (main): Likewise.
14675         * tests/test-getline.c (main): Likewise.
14676         * tests/test-netinet_in.c (main): Likewise.
14677         * tests/test-select.c (open_server_socket, main): Likewise.
14678         * tests/test-select-stdin.c (main): Likewise.
14679         * tests/test-sockets.c (main): Likewise.
14680         * tests/test-strsignal.c (main): Likewise.
14681         * tests/test-sys_select.c (main): Likewise.
14682         * tests/test-sys_socket.c (main): Likewise.
14683         * tests/test-u64.c (main): Likewise.
14684         * tests/test-xfprintf-posix.c (main): Likewise.
14685         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
14686
14687         sockets: avoid compiler warning
14688         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
14689
14690         maint: detect usage(1) and other suspicious exits
14691         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
14692
14693 2009-10-29  Jim Meyering  <meyering@redhat.com>
14694
14695         timespec: long-to-int truncation could make timespec_cmp malfunction
14696         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
14697         a multiple of 2^32 nanoseconds as no difference.
14698
14699 2009-10-28  Jim Meyering  <meyering@redhat.com>
14700
14701         fprintftime: wrap macro code argument in "do {...} while(0)"
14702         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
14703         cpy macro must be a statement that can be followed by a semicolon.
14704         Now that the else clause contains a comment and is hence longer
14705         than one line, I require curly braces.  That in turn requires
14706         that we wrap this code block in the standard do...while(0).
14707
14708         fprintftime: remove stray semicolon from previous change
14709         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
14710
14711         fprintftime: avoid a warning about ignored fwrite return value
14712         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
14713         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
14714         that is unsafe.
14715         * modules/fprintftime (Depends-on): Add ignore-value.
14716
14717         exclude: avoid an unwarranted warning
14718         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
14719
14720 2009-10-27  Eric Blake  <ebb9@byu.net>
14721
14722         fseek: avoid compilation failure when fflush is replaced
14723         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
14724         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
14725         module is in use.
14726         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
14727         module is not in use; since REPLACE_FSEEK worked otherwise.
14728         (GNULIB_FTELLO): Likewise for ftell.
14729         Reported by Ian Beckwith and others.
14730
14731 2009-10-27  Bruno Haible  <bruno@clisp.org>
14732
14733         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
14734         Reported by Jim Meyering.
14735
14736 2009-10-27  Jim Meyering  <jim@meyering.net>
14737             Bruno Haible  <bruno@clisp.org>
14738
14739         Avoid warning despite dropping the return value of fwrite.
14740         * lib/unicodeio.c: Include ignore-value.h.
14741         (fwrite_success_callback): Explicitly ignore fwrite's return value.
14742         * modules/unicodeio (Depends-on): Add ignore-value.
14743
14744 2009-10-26  Eric Blake  <ebb9@byu.net>
14745
14746         areadlinkat: fix fallback path
14747         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
14748         pointer and zero.
14749
14750 2009-10-22  Pádraig Brady  <P@draigBrady.com>
14751
14752         Use a better IO block size for modern systems
14753         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
14754         * lib/md2.c: Likewise.
14755         * lib/md4.c: Likewise.
14756         * lib/md5.c: Likewise.
14757         * lib/sha1.c: Likewise.
14758         * lib/sha256.c: Likewise.
14759         * lib/sha512.c: Likewise.
14760
14761 2009-10-22  Eric Blake  <ebb9@byu.net>
14762
14763         tests: avoid several compiler warnings
14764         * tests/test-getcwd.c (main): Avoid buffer underflow.
14765         * tests/test-getdate.c (main): String literals are not safe with
14766         putenv, so use setenv.  Declare unused argument.
14767         * modules/getdate-tests (Depends-on): Add setenv.
14768         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
14769         problems with string literals in char *.
14770         * tests/test-hash.c (main): Avoid shadowing declaration.
14771         (insert_new): Treat string literals as char const *.
14772         * tests/test-getopt.h (test_getopt): Likewise.
14773         (getopt_loop): Alter types to minimize casting elsewhere.
14774         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
14775         (test_getopt_long_posix): Likewise.
14776         (do_getopt_long): Add wrapper to minimize casting.
14777         * tests/test-atexit.c (clear_temp_file): Use void.
14778         * tests/test-areadlink-with-size.c (main): Declare unused
14779         arguments.
14780         * tests/test-areadlink.c (main): Likewise.
14781         * tests/test-areadlinkat-with-size.c (main): Likewise.
14782         * tests/test-areadlinkat.c (main): Likewise.
14783         * tests/test-canonicalize-lgpl.c (main): Likewise.
14784         * tests/test-canonicalize.c (main): Likewise.
14785         * tests/test-dirent-safer.c (main): Likewise.
14786         * tests/test-dirname.c (main): Likewise.
14787         * tests/test-dup2.c (main): Likewise.
14788         * tests/test-fchdir.c (main): Likewise.
14789         * tests/test-fcntl-h.c (main): Likewise.
14790         * tests/test-fcntl-safer.c (main): Likewise.
14791         * tests/test-fdopendir.c (main): Likewise.
14792         * tests/test-fdutimensat.c (main): Likewise.
14793         * tests/test-fflush.c (main): Likewise.
14794         * tests/test-filenamecat.c (main): Likewise.
14795         * tests/test-filevercmp.c (main): Likewise.
14796         * tests/test-fopen-safer.c (main): Likewise.
14797         * tests/test-fopen.c (main): Likewise.
14798         * tests/test-fpending.c (main): Likewise.
14799         * tests/test-fpurge.c (main): Likewise.
14800         * tests/test-freading.c (main): Likewise.
14801         * tests/test-fstatat.c (main): Likewise.
14802         * tests/test-fsync.c (main): Likewise.
14803         * tests/test-futimens.c (main): Likewise.
14804         * tests/test-getndelim2.c (main): Likewise.
14805         * tests/test-gettimeofday.c (main): Likewise.
14806         * tests/test-getopt.c (main): Likewise.
14807         * tests/test-i-ring.c (main): Likewise.
14808         * tests/test-inttypes.c (main): Likewise.
14809         * tests/test-link.c (main): Likewise.
14810         * tests/test-lstat.c (main): Likewise.
14811         * tests/test-math.c (main): Likewise.
14812         * tests/test-md5.c (main): Likewise.
14813         * tests/test-memchr2.c (main): Likewise.
14814         * tests/test-memrchr.c (main): Likewise.
14815         * tests/test-mkdir.c (main): Likewise.
14816         * tests/test-mkdirat.c (main): Likewise.
14817         * tests/test-mkfifoat.c (main): Likewise.
14818         * tests/test-open.c (main): Likewise.
14819         * tests/test-openat-safer.c (main): Likewise.
14820         * tests/test-openat.c (main): Likewise.
14821         * tests/test-quotearg.c (main): Likewise.
14822         * tests/test-rawmemchr.c (main): Likewise.
14823         * tests/test-readlink.c (main): Likewise.
14824         * tests/test-remove.c (main): Likewise.
14825         * tests/test-rename.c (main): Likewise.
14826         * tests/test-renameat.c (main): Likewise.
14827         * tests/test-rmdir.c (main): Likewise.
14828         * tests/test-sha1.c (main): Likewise.
14829         * tests/test-signal.c (main): Likewise.
14830         * tests/test-sigaction.c (main): Likewise.
14831         * tests/test-stat.c (main): Likewise.
14832         * tests/test-stat-time.c (main): Likewise.
14833         * tests/test-stddef.c (main): Likewise.
14834         * tests/test-stdint.c (main): Likewise.
14835         * tests/test-stdio.c (main): Likewise.
14836         * tests/test-stdlib.c (main): Likewise.
14837         * tests/test-strchrnul.c (main): Likewise.
14838         * tests/test-strerror.c (main): Likewise.
14839         * tests/test-string.c (main): Likewise.
14840         * tests/test-strtod.c (main): Likewise.
14841         * tests/test-strverscmp.c (main): Likewise.
14842         * tests/test-symlink.c (main): Likewise.
14843         * tests/test-symlinkat.c (main): Likewise.
14844         * tests/test-sys_stat.c (main): Likewise.
14845         * tests/test-sys_time.c (main): Likewise.
14846         * tests/test-time.c (main): Likewise.
14847         * tests/test-unistd.c (main): Likewise.
14848         * tests/test-unlink.c (main): Likewise.
14849         * tests/test-unlinkat.c (main): Likewise.
14850         * tests/test-utimens.c (main): Likewise.
14851         * tests/test-utimensat.c (main): Likewise.
14852         * tests/test-version-etc.c (main): Likewise.
14853         * tests/test-wchar.c (main): Likewise.
14854         * tests/test-wctype.c (main): Likewise.
14855         * tests/test-xprintf-posix.c (main): Likewise.
14856         * tests/test-posixtm.c (main): Likewise.
14857         (STREQ): Delete unused macro.
14858         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
14859         shadowed variables.
14860         * tests/test-memchr.c (main): Likewise.
14861
14862 2009-10-21  Eric Blake  <ebb9@byu.net>
14863
14864         areadlinkat: avoid failure on older glibc
14865         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
14866         rather than mis-comparing 0 against FUNC_RESULT of char*.
14867
14868 2009-10-21  Bruno Haible  <bruno@clisp.org>
14869
14870         * modules/stpncpy (License): Relicense under LGPLv2+.
14871         Reported by David Lutterkort <lutter@redhat.com>.
14872
14873 2009-10-20  Eric Blake  <ebb9@byu.net>
14874
14875         utimensat: work around Solaris 9 bug
14876         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
14877         has trailing slash bugs.
14878         * tests/test-lutimens.h (test_lutimens): Enhance test.
14879         * tests/test-utimens.h (test_utimens): Likewise.
14880         * doc/posix-functions/utime.texi (utime): Enhance documentation.
14881         * doc/posix-functions/utimes.texi (utimes): Likewise.
14882         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
14883         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
14884         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
14885         * doc/posix-functions/futimens.texi (futimens): Likewise.
14886
14887         fdutimensat: new module
14888         * modules/fdutimensat: New file.
14889         * lib/fdutimensat.c (fdutimensat): Likewise.
14890         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
14891         * MODULES.html.sh (File system functions): Mention module.
14892         * modules/fdutimensat-tests: New test.
14893         * tests/test-fdutimensat.c: Likewise.
14894
14895         doc: regenerate INSTALL
14896         * doc/INSTALL: Reflect recent autoconf update.
14897         * doc/INSTALL.ISO: Likewise.
14898         * doc/INSTALL.UTF-8: Likewise.
14899
14900 2009-10-20  Pádraig Brady  <P@draigBrady.com>
14901
14902         acl: warn if ACL support is not detected
14903         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
14904
14905 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
14906
14907         * lib/nproc.h: Add extern "C" block for C++.
14908
14909 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
14910             Bruno Haible  <bruno@clisp.org>
14911
14912         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
14913         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
14914         * doc/posix-functions/isalpha.texi: Likewise.
14915         * doc/posix-functions/isblank.texi: Likewise.
14916         * doc/posix-functions/iscntrl.texi: Likewise.
14917         * doc/posix-functions/isdigit.texi: Likewise.
14918         * doc/posix-functions/isgraph.texi: Likewise.
14919         * doc/posix-functions/islower.texi: Likewise.
14920         * doc/posix-functions/isprint.texi: Likewise.
14921         * doc/posix-functions/ispunct.texi: Likewise.
14922         * doc/posix-functions/isspace.texi: Likewise.
14923         * doc/posix-functions/isupper.texi: Likewise.
14924         * doc/posix-functions/isxdigit.texi: Likewise.
14925
14926 2009-10-18  Bruno Haible  <bruno@clisp.org>
14927
14928         Tests for module 'isblank'.
14929         * modules/isblank-tests: New file.
14930         * tests/test-isblank.c: New file.
14931
14932         New module 'isblank'.
14933         * lib/isblank.c: New file.
14934         * m4/isblank.m4: New file.
14935         * modules/isblank: New file.
14936         * doc/posix-functions/isblank.texi: Mention the new module.
14937
14938 2009-10-18  Bruno Haible  <bruno@clisp.org>
14939
14940         New module 'ctype'.
14941         * lib/ctype.in.h: New file.
14942         * m4/ctype.m4: New file.
14943         * modules/ctype: New file.
14944         * doc/posix-headers/ctype.texi: Mention the new module.
14945
14946 2009-10-18  Jim Meyering  <meyering@redhat.com>
14947
14948         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
14949         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
14950         right after its initialization, rather than farther down.
14951         Keeping these in close proximity makes it easier to ensure
14952         that each such variable is initialized.  E.g.,
14953
14954             LIB_CLOCK_GETTIME=
14955             AC_SUBST([LIB_CLOCK_GETTIME])
14956
14957         This change also increments these serial numbers.
14958         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
14959         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
14960         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14961
14962 2009-10-18  Bruno Haible  <bruno@clisp.org>
14963
14964         Don't let environment variables perturb build.
14965         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
14966         (gl_PREREQ_GETHRXTIME): ... not here.
14967
14968 2009-10-18  Bruno Haible  <bruno@clisp.org>
14969
14970         Avoid symlink attack in localcharset module.
14971         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
14972         (O_NOFOLLOW): Define fallback.
14973         (get_charset_aliases): Don't open the file if it is a symbolic link.
14974         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
14975         gl_FCNTL_H.
14976         (gl_FCNTL_H): Require it.
14977         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
14978         * modules/localcharset (Files): Add m4/fcntl_h.m4.
14979         Reported by Fergal Glynn <fglynn@veracode.com>.
14980
14981 2009-10-18  Bruno Haible  <bruno@clisp.org>
14982
14983         Implement nproc for mingw.
14984         * lib/nproc.c: Include <windows.h>
14985         (num_processors): On native Windows platforms, try GetSystemInfo.
14986
14987 2009-10-18  Bruno Haible  <bruno@clisp.org>
14988
14989         Implement nproc for IRIX.
14990         * lib/nproc.c: Include <sys/sysmp.h>.
14991         (num_processors): On IRIX systems, try sysmp.
14992         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
14993
14994 2009-10-18  Bruno Haible  <bruno@clisp.org>
14995
14996         Implement nproc for HP-UX.
14997         * lib/nproc.c: Include <sys/pstat.h>
14998         (num_processors): On HP-UX systems, try pstat_getdynamic.
14999         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
15000         pstat_getdynamic.
15001
15002 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
15003             Bruno Haible  <bruno@clisp.org>
15004
15005         Implement nproc for NetBSD, OpenBSD.
15006         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
15007         (ARRAY_SIZE): New macro.
15008         (num_processors): On BSD systems, try sysctl of HW_NCPU.
15009         * m4/nproc.m4: New file.
15010         * modules/nproc (Files): Add m4/nproc.m4.
15011         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
15012         (Makefile.am): Instead, augment lib_SOURCES.
15013
15014 2009-10-18  Bruno Haible  <bruno@clisp.org>
15015
15016         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
15017         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
15018         sys/param.h.
15019
15020 2009-10-16  Eric Blake  <ebb9@byu.net>
15021
15022         utimensat: new module
15023         * modules/utimensat: New file.
15024         * lib/utimensat.c (utimensat): Likewise.
15025         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
15026         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
15027         so we can work around Linux bugs.
15028         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15029         * modules/sys_stat (Makefile.am): Substitute them.
15030         * lib/sys_stat.in.h (utimensat): Declare it.
15031         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15032         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15033         * modules/utimensat-tests: New test.
15034         * tests/test-utimensat.c: Likewise.
15035
15036         utimens: let lutimens work on non-symlinks
15037         * lib/utimens.c (lutimens): Fall back to utimens rather than
15038         failing with ENOSYS, when file is not a symlink.
15039         (utimens): Reduce redirection.
15040         * tests/test-lutimens.h (test_lutimens): Update test to cover
15041         non-symlinks.
15042         * tests/test-utimens.h (test_utimens): Update test to cover
15043         symlinks.
15044         * tests/test-utimens.c (main): Update caller.
15045
15046         utimens: cache whether utimensat syscall works
15047         * lib/utimens.c (utimensat_works_really): New cache variable.
15048         (fdutimens, lutimens): Use it to avoid failing syscall.
15049
15050         test-stat-time, test-utimens: improve portability
15051         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
15052         ext4 on alpha, and for cygwin.
15053         * tests/test-utimens-common.h: New file.
15054         (nap): Factor delays into single function.
15055         * tests/test-lutimens.h (test_lutimens): Use new header.
15056         * tests/test-futimens.h (test_futimens): Likewise.
15057         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
15058         timestamps to occur from same machine, as was done previously for
15059         test_utimens.
15060         * modules/utimens-tests (Files): Ship new file.
15061         * modules/futimens-tests (Files): Likewise.
15062         Reported in part by Jim Meyering.
15063
15064         sys_stat: sort replacement declarations
15065         * lib/sys_stat.in.h: Sort declarations.
15066         * lib/futimens.c (futimens): Fix typo.
15067
15068 2009-10-15  Jim Meyering  <meyering@redhat.com>
15069
15070         don't let environment settings perturb build
15071         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
15072         could cause a configure-time and/or build-time malfunction.
15073         Typically, a configure-time function-in-library test is performed
15074         via code like this:
15075
15076           LIB_VAR=
15077           AC_SUBST([LIB_VAR])
15078           prefix_saved_LIBS=$LIBS
15079             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
15080                        [test "$ac_cv_search_FUNC" = "none required" ||
15081                         LIB_VAR=$ac_cv_search_FUNC])
15082           LIBS=$prefix_saved_LIBS
15083
15084         However, in each of the files affected by this change, the LIB_VAR=
15085         initialization was omitted.  Thus, when set in the environment, its
15086         value would propagate into generated Makefiles when FUNC is not found
15087         in LIB_NAME.
15088         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
15089         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
15090         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15091
15092 2009-10-14  Eric Blake  <ebb9@byu.net>
15093
15094         fchdir: avoid infinite recursion in mingw
15095         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
15096         recursing.
15097
15098         test-stat-time: port to mingw
15099         * tests/test-stat-time.c (force_unlink): Return a value.
15100         (test_ctime) [W32]: Fix compilation error.
15101         (nap): Don't call usleep with too large an argument.  Use
15102         force_unlink.
15103         * doc/pastposix-functions/usleep.texi (usleep): Document the
15104         portability issue.
15105
15106 2009-10-13  Jim Meyering  <meyering@redhat.com>
15107
15108         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
15109         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
15110         * modules/pipe-filter-ii: Likewise.
15111         * modules/sys_socket-tests: Likewise.
15112         * modules/tsearch-tests: Likewise.
15113         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
15114         (check): Depend on it.
15115
15116 2009-10-12  Eric Blake  <ebb9@byu.net>
15117
15118         utimens-tests: port to NFS file systems
15119         * tests/test-utimens.h (test_utimens): Refactor utimecmp
15120         comparisons to avoid spurious failures from timestamp drift
15121         between NFS machines.
15122
15123 2009-10-12  Eric Blake  <ebb9@byu.net>
15124
15125         stat-time-tests: minor cleanups
15126         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
15127         * tests/test-stat-time.c (nap): Separate assignment from call.
15128         Suggested by Paolo Bonzini and Bruno Haible.
15129
15130         sys_stat: guarantee struct timespec
15131         * lib/sys_stat.in.h (includes): Always include <time.h>
15132         * modules/sys_stat (Depends-on): Add time.
15133         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
15134         mode_t permission values.
15135         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
15136         get at subsecond timestamps.
15137
15138 2009-10-10  Eric Blake  <ebb9@byu.net>
15139
15140         futimens: new module
15141         * modules/futimens: New file.
15142         * lib/futimens.c (futimens): Likewise.
15143         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
15144         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
15145         we can work around Linux bugs.
15146         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15147         * modules/sys_stat (Makefile.am): Substitute them.
15148         * lib/sys_stat.in.h (futimens): Declare it.
15149         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15150         * doc/posix-functions/futimens.texi (futimens): Likewise.
15151         * modules/futimens-tests: New test.
15152         * tests/test-futimens.c: Likewise.
15153
15154         utimens: introduce fdutimens
15155         * lib/utimens.h (fdutimens): New prototype.
15156         * lib/utimens.c (gl_futimens): Move guts...
15157         (fdutimens): ...to new interface.
15158         * tests/test-utimens.c (do_fdutimens): Use it.
15159
15160         utimens: add UTIME_NOW and UTIME_OMIT support
15161         * lib/utimens.c (validate_timespec, update_timespec): New helper
15162         functions.
15163         (gl_futimens, lutimens): Use them.
15164         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
15165         stdbool, sys_stat.
15166         (Link): Mention resulting library dependency.
15167         * modules/utimecmp (Link): Likewise.
15168         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
15169         (Makefile.am): Pick up library dependency.
15170         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
15171         definition.
15172         * tests/test-sys_stat.c: Test the definitions.
15173         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
15174         * NEWS: Document library dependency.
15175
15176         utimecmp: support symlink timestamps
15177         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
15178         hashing when possible.  Use pathconf when available.
15179         (SYSCALL_RESOLUTION): Recognize tighter resolution.
15180         * modules/utimecmp (Depends-on): Add lstat.
15181
15182         utimens: add lutimens interface
15183         * lib/utimens.c (lutimens): New function.
15184         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
15185         * lib/utimens.h (lutimens): Declare new interface.
15186         * tests/test-utimens.c (main): Enhance test.
15187         * tests/test-lutimens.h (test_lutimens): New file.
15188         * modules/utimens-tests (Files): Distribute it.
15189         (Depends-on): Add symlink.
15190         (configure.ac): Check for usleep.
15191
15192         utimens: validate futimens usage
15193         * lib/utimens.c (gl_futimens): Require valid fd up front, using
15194         fewer syscalls on failure later on.  Avoid compiler warning on
15195         mingw.
15196         * modules/utimens (Depends-on): Add dup2.
15197
15198         utimens: add test
15199         * modules/utimens-tests: New test.
15200         * tests/test-utimens.h: New file.
15201         * tests/test-futimens.h: Likewise.
15202         * tests/test-utimens.c: Likewise.
15203
15204         doc: mention timestamp portability issues
15205         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
15206         instead.
15207         * doc/posix-functions/utime.texi (utime): Likewise.
15208         * doc/posix-functions/utimes.texi (utimes): Likewise.
15209         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
15210         instead.
15211         * doc/posix-functions/futimens.texi (futimens): Mention utimens
15212         module.
15213         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15214         Mention weakness with symlink timestamps.
15215         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
15216         to utimensat/futimens instead.
15217         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
15218
15219         test-dup2: enhance test
15220         * tests/test-dup2.c (main): Also check AT_FDCWD.
15221
15222         test-stat-time: avoid more spurious failures
15223         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
15224         xfs; and avoid race if the two timestamps cross quantization edge.
15225
15226         relocatable: prefer 'file system' over 'filesystem'
15227         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
15228         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
15229         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
15230         * doc/relocatable.texi (Enabling Relocatability): Likewise.
15231         * lib/relocatable.c (compute_curr_prefix): Likewise.
15232
15233 2009-10-10  Jim Meyering  <meyering@redhat.com>
15234
15235         stat-time-tests: check for the usleep function
15236         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
15237
15238 2009-10-10  Bruno Haible  <bruno@clisp.org>
15239
15240         * modules/xnanosleep: Put the Link section after the Include section.
15241
15242 2009-10-09  Eric Blake  <ebb9@byu.net>
15243
15244         dup2: work around FreeBSD 6.1 bug
15245         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
15246         * doc/posix-functions/dup2.texi (dup2): Document it.
15247         Reported by Nelson H. F. Beebe and Jim Meyering.
15248
15249         test-stat-time: port to buggy NFS clients
15250         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
15251         (test_ctime): Also skip test if mtime and ctime are skewed.
15252
15253         maint: prefer 'file system' over 'filesystem'
15254         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
15255         * doc/posix-functions/lstat.texi (lstat): Likewise.
15256         * lib/file-has-acl.c (file_has_acl): Likewise.
15257         * lib/fwriteerror.c [TEST]: Likewise.
15258         * tests/test-areadlink.h (test_areadlink): Likewise.
15259         * tests/test-areadlinkat-with-size.c (main): Likewise.
15260         * tests/test-areadlinkat.c (main): Likewise.
15261         * tests/test-canonicalize-lgpl.c (main): Likewise.
15262         * tests/test-canonicalize.c (main): Likewise.
15263         * tests/test-fstatat.c (main): Likewise.
15264         * tests/test-linkat.c (main): Likewise.
15265         * tests/test-lstat.h (test_lstat_func): Likewise.
15266         * tests/test-mkdir.h (test_mkdir): Likewise.
15267         * tests/test-readlink.h (test_readlink): Likewise.
15268         * tests/test-remove.c (main): Likewise.
15269         * tests/test-rename.h (test_rename): Likewise.
15270         * tests/test-renameat.c (main): Likewise.
15271         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15272         * tests/test-symlink.h (test_symlink): Likewise.
15273         * tests/test-symlinkat.c (main): Likewise.
15274         * tests/test-unlink.h (test_unlink_func): Likewise.
15275         * tests/test-unlinkat.c (main): Likewise.
15276
15277         maint: make realtime library usage explicit
15278         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
15279         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
15280         * modules/settime (Link): Likewise.
15281         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
15282
15283         test-stat-time: speed up execution
15284         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
15285         warning on mingw.
15286         (nap): New helper function.
15287         (prepare_test): Use it to reduce sleep time.
15288         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
15289         execution.
15290         * modules/stat-time-tests (configure.ac): Check for usleep.
15291
15292 2009-10-09  Jim Meyering  <meyering@redhat.com>
15293
15294         selinux-h: always use getfilecon wrappers
15295         * lib/getfilecon.c: New file.
15296         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
15297         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
15298         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
15299         (fgetfilecon): Provide a stub.
15300         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
15301         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
15302         file unconditionally.
15303         When <selinux/selinux.h> is found, arrange to use wrappers.
15304         * modules/selinux-h (Files): Add getfilecon.c.
15305         (Makefile.am): Substitute include-next-related bits
15306         into the now-always-generated selinux/selinux.h file.
15307         * doc/glibc-functions/lgetfilecon.texi: New file.
15308         * doc/glibc-functions/fgetfilecon.texi: New file.
15309         * doc/glibc-functions/getfilecon.texi: New file.
15310         * doc/glibc-functions/getfilecon-desc.texi: New file.
15311         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
15312         which to pull in the new files.
15313         * MODULES.html.sh (Misc): Add selinux-h.
15314
15315 2009-10-08  Jim Meyering  <meyering@redhat.com>
15316
15317         unistd: fix comment typo
15318         * lib/unistd.in.h (euidaccess): Fix a comment typo.
15319
15320 2009-10-08  Eric Blake  <ebb9@byu.net>
15321
15322         areadlink: use SIZE_MAX consistently
15323         * modules/areadlink (Depends-on): Add stdint.
15324         * modules/areadlink-with-size (Depends-on): Likewise.
15325         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
15326         gives NULL; drop sys/types, since unistd gives size_t; and add
15327         stdint for SIZE_MAX.
15328         (SIZE_MAX): Rely on headers.
15329         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
15330         and add stdint.
15331         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
15332         (SIZE_MAX): Likewise.
15333         (INITIAL_BUF_SIZE): Turn into enum.
15334         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
15335
15336 2009-10-08  Jim Meyering  <meyering@redhat.com>
15337
15338         areadlinkat: avoid compilation failure
15339         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
15340         Fix typo in comment.
15341
15342 2009-10-07  Eric Blake  <ebb9@byu.net>
15343
15344         areadlinkat-with-size: new module
15345         * modules/areadlinkat-with-size: New module.
15346         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
15347         * lib/areadlink.h (areadlinkat): Declare it.
15348         * MODULES.html.sh (File system functions): Mention it.
15349         * modules/areadlinkat-with-size-tests: New test.
15350         * tests/test-areadlinkat-with-size.c: New file.
15351
15352         xreadlinkat: new module
15353         * modules/xreadlinkat: New module.
15354         * lib/xreadlinkat.c (xreadlinkat): New file.
15355         * lib/xreadlink.h (xreadlinkat): Declare it.
15356         * MODULES.html.sh (File system functions): Mention it.
15357
15358         areadlinkat: new module
15359         * lib/at-func.c (FUNC_FAIL): New define.
15360         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
15361         * modules/areadlinkat: New module.
15362         * lib/linkat.c (areadlinkat): Move...
15363         * lib/areadlinkat.c (areadlinkat): ...to new file.
15364         * lib/areadlink.h (areadlinkat): Declare it.
15365         * modules/linkat (Depends-on): Add areadlinkat.
15366         * MODULES.html.sh (File system functions): Mention it.
15367         * modules/areadlinkat-tests: New test.
15368         * tests/test-areadlinkat.c: New file.
15369
15370         areadlink, areadlink-with-size: add tests
15371         * modules/areadlink-tests: New test.
15372         * modules/areadlink-with-size-tests: Likewise.
15373         * tests/test-areadlink.h: New file.
15374         * tests/test-areadlink.c: Likewise.
15375         * tests/test-areadlink-with-size.c: Likewise.
15376
15377         maint: minor cleanups
15378         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
15379         _UNUSED_PARAMETER_ instead.
15380         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
15381         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
15382         * modules/linkat-tests (Files): Distribute test-link.h.
15383
15384         openat, utimens: whitespace cleanup
15385         * lib/openat.c: Prefer space throughout, rather than mix of 8
15386         spaces vs. tabs.
15387         * lib/at-func.c: Likewise.
15388         * lib/utimens.c: Likewise.
15389
15390         openat: avoid using wrong fd
15391         * lib/openat.c (openat_permissive): Reject user's fd if saving the
15392         working directory chooses same fd.
15393         * lib/at-func.c (AT_FUNC_NAME): Likewise.
15394
15395         mkdir, mkdirat: fix cygwin 1.5.x bug
15396         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
15397         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
15398         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
15399         bug.
15400         (gl_PREREQ_MKDIR): Delete unused macro.
15401         * modules/mkdir (Files): Track file rename.
15402         (configure.ac): Update macro name.
15403         * modules/openat (Depends-on): Add mkdir.
15404         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
15405
15406         mkdir, mkdirat: add tests
15407         * modules/mkdir-tests: New test.
15408         * tests/test-mkdir.h: New file.
15409         * tests/test-mkdir.c: Likewise.
15410         * tests/test-mkdirat.c: Likewise.
15411         * modules/openat-tests (Files): Add new files.
15412         (Makefile.am): Run new test.
15413
15414 2009-10-06  Eric Blake  <ebb9@byu.net>
15415
15416         doc: tweak *at function documentation
15417         * doc/posix-functions/faccessat.texi (faccessat): Mention
15418         known issue with replacement.
15419         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
15420         * doc/posix-functions/linkat.texi (linkat): Likewise.
15421         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
15422         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
15423         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15424         * doc/posix-functions/renameat.texi (renameat): Likewise.
15425         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
15426
15427         openat: fix GNU/Hurd bug in unlinkat
15428         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
15429         broken.
15430         * doc/posix-functions/unlink.texi (unlink): Document this.
15431         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
15432
15433         fdopendir: fix GNU/Hurd bug
15434         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
15435         allowing non-directory fds.
15436         * lib/fdopendir.c (rpl_fdopendir): Work around it.
15437         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
15438         * modules/dirent (Makefile.am): Substitute it.
15439         * lib/dirent.in.h (fdopendir): Declare replacement.
15440         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
15441         * tests/test-fdopendir.c (main): Test something other than
15442         /dev/null, since on Hurd that behaves like a directory.
15443
15444         test-symlink: port to GNU/Hurd
15445         * tests/test-symlink.h (test_symlink): Relax expected errno.
15446
15447         doc: tweak more cygwin information
15448         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
15449         now compatible with glibc.
15450         * doc/posix-functions/getopt.texi (getopt): Likewise.
15451
15452         getopt-gnu: add another test
15453         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
15454         guarantee behavior relied on by m4.
15455         * tests/test-getopt.c (main): Use it.
15456         * modules/getopt-posix-tests (Depends-on): Add setenv.
15457         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
15458
15459         getopt: fix compilation on darwin
15460         * lib/getopt.in.h (includes): Leave breadcrumbs during system
15461         include.
15462         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
15463         Reported by Ludovic Courtès.
15464
15465 2009-10-06  Bruno Haible  <bruno@clisp.org>
15466
15467         * modules/size_max (Description): Discourage its use.
15468         Reported by Simon Josefsson.
15469
15470 2009-10-06  Jim Meyering  <meyering@redhat.com>
15471
15472         linkat: avoid compilation failure
15473         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
15474
15475 2009-10-05  Eric Blake  <ebb9@byu.net>
15476
15477         linkat: support Linux 2.6.17
15478         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
15479         linkat on Linux, but allow cache variable override.
15480         * lib/linkat.c (rpl_linkat): Define override.
15481         * modules/linkat (Depends-on): Add symlinkat.
15482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
15483         * modules/unistd (Makefile.am): Substitute it.
15484         * lib/unistd.in.h (linkat): Declare replacement.
15485         Reported by Pádraig Brady.
15486
15487         quotearg: port test to systems with C.UTF-8 locale
15488         * tests/test-quotearg.c (struct result_strings): Add another
15489         member, differentiating between C.ASCII and C.UTF-8 handling.
15490         (compare_strings): Add parameter.
15491         (main): Adjust all callers.
15492
15493         getopt: avoid clash with FreeBSD _getopt_internal
15494         * lib/getopt.in.h (_getopt_internal): Override the name.
15495         * lib/getopt_int.h (includes): Pick up any overrides.
15496         Reported by Reuben Thomas.
15497
15498         hash: allow C89 compilation
15499         * lib/hash.c (check_tuning): Move declaration before statement.
15500         Reported by Reuben Thomas.
15501
15502 2009-10-05  Karl Berry  <karl@gnu.org>
15503
15504         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
15505
15506 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
15507             Bruno Haible  <bruno@clisp.org>
15508
15509         * lib/uname.c (uname): Use a table-driven algorithm to compute
15510         Windows NT versions.
15511
15512 2009-10-04  Bruno Haible  <bruno@clisp.org>
15513
15514         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
15515         program_invocation_short_name.
15516         * modules/progname (configure.ac): Test for presence of
15517         program_invocation_short_name.
15518         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
15519
15520 2009-10-04  Bruno Haible  <bruno@clisp.org>
15521
15522         * lib/progname.c (set_program_name): Fix comment.
15523         Reported by Jim Meyering.
15524
15525 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
15526             Bruno Haible  <bruno@clisp.org>
15527
15528         * lib/uname.c: Include <string.h>.
15529         (uname): Do only one call to GetVersionEx in the common case.
15530
15531 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
15532             Bruno Haible  <bruno@clisp.org>
15533
15534         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
15535         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
15536         (uname): Add support for Windows CE and various non-x86 CPU types.
15537
15538 2009-10-03  Bruno Haible  <bruno@clisp.org>
15539
15540         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
15541         invocation to tests/configure.ac.
15542         Reported by Ian Beckwith <ianb@erislabs.net>.
15543
15544 2009-10-02  Eric Blake  <ebb9@byu.net>
15545
15546         fchdir: avoid compiler warning
15547         * lib/fchdir.c (canonicalize_file_name)
15548         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
15549
15550         test-open: support mingw errno values
15551         * tests/test-open.h (test_open): Relax test.
15552         * tests/test-fopen.h (test_fopen): Likewise.
15553         * tests/test-openat-safer.c (main): Likewise.
15554
15555         open: fix opening directory on mingw
15556         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
15557
15558         test-open: on GNU/Hurd, /dev/null is a directory
15559         * tests/test-fopen.h (main): Rename...
15560         (test_fopen): ...to this.  Use a guaranteed non-directory when
15561         confirming open behavior on trailing slash.
15562         * tests/test-openat-safer.c (main): Likewise.
15563         * tests/test-open.h (main): Likewise....
15564         (test_open): ...to this.
15565         * tests/test-fopen.c (main): Adjust caller.
15566         * tests/test-fopen-safer.c (main): Likewise.
15567         * tests/test-open.c (main): Likewise.
15568         * tests/test-fcntl-safer.c (main): Likewise.
15569         Reported by Samuel Thibault.
15570
15571         rename, fchdir: don't ignore chdir failure
15572         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
15573         * lib/rename.c (rpl_rename) [W32]: Likewise.
15574         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
15575         an empty destination directory if source cannot be renamed,
15576         although there is still possibility for failure.
15577         * doc/posix-functions/rename.texi (rename): Document the race.
15578         Reported by Jim Meyering.
15579
15580         maint: cleanup whitespace in recent commits
15581         * lib/rename.c (rpl_rename): Remove tabs.
15582         * tests/test-link.h (test_link): Likewise.
15583         * lib/fchdir.c (get_name): Likewise.
15584         Reported by Jim Meyering.
15585
15586 2009-10-02  Ben Pfaff  <blp@gnu.org>
15587
15588         relocatable-prog-wrapper: Add missing dependency on
15589         double-slash-root.
15590         * modules/relocatable-prog-wrapper: Add dependency.
15591         Reported by Ian Beckwith <ianb@erislabs.net>.
15592
15593 2009-10-02  Eric Blake  <ebb9@byu.net>
15594
15595         renameat: fix Solaris bugs
15596         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
15597         needed fixing.
15598         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
15599         * modules/stdio (Makefile.am): Substitute it.
15600         * lib/stdio.in.h (renameat): Declare replacement.
15601         * lib/renameat.c (rpl_renameat): Implement fix.
15602
15603         renameat: new module
15604         * modules/renameat: New file.
15605         * lib/renameat.c (renameat): Likewise.
15606         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
15607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
15608         * modules/stdio (Makefile.am): Substitute them.
15609         * lib/stdio.in.h (renameat): Declare it.
15610         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15611         * doc/posix-functions/renameat.texi (renameat): Likewise.
15612         * modules/renameat-tests: New test.
15613         * tests/test-renameat.c: Likewise.
15614
15615         rename: fix mingw bugs
15616         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
15617         directory overwrite bugs.
15618
15619         rename: fix another cygwin 1.5 bug
15620         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
15621         checks.
15622         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
15623         unnecessary cygwin workarounds.  Also work around bug with moving
15624         full directory onto an empty one.
15625         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
15626
15627         rename-dest-slash: merge into rename module
15628         * modules/rename-dest-slash (Status): Mark obsolete.
15629         (Depends-on): Add rename.
15630         (Files): Let rename do it all.
15631         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
15632         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
15633         * m4/rename-dest-slash.m4: ...so this file can be deleted.
15634         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
15635         * lib/rename.c (rpl_rename): Update comments.
15636
15637         rename: fix cygwin 1.5.x bugs
15638         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
15639         * lib/rename.c (rpl_rename): Work around them.
15640         * modules/rename (Depends-on): Add same-inode.
15641
15642         rename: fix Solaris 10 bug
15643         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
15644         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
15645         was the only bug.
15646
15647         rename: fix Solaris 9 bug
15648         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
15649         on non-directory.  Avoid calling exit.
15650         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
15651         strdup.
15652         * modules/rename-tests (Depends-on): Drop lstat.
15653         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
15654         (gl_PREREQ_RENAME): Delete unused macro.
15655
15656         rename-dest-slash: fix NetBSD bug
15657         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
15658         links.
15659         * modules/rename-dest-slash (Depends-on): Add same-inode.
15660
15661         rename-tests: new test, exposes several platform bugs
15662         * modules/rename-tests: New file.
15663         * tests/test-rename.h: Likewise.
15664         * tests/test-rename.c: Likewise.
15665         * doc/posix-functions/rename.texi (rename): Improve documentation,
15666         including bugs that will eventually be fixed in gnulib.
15667
15668 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
15669
15670         * lib/uname.c: Include <stdlib.h>
15671         (uname): Assume version info is available.
15672
15673 2009-10-02  Jim Meyering  <meyering@redhat.com>
15674
15675         gnu-web-doc-update: correct --help output
15676         * build-aux/gnu-web-doc-update: Make --help output relevant.
15677
15678         gnu-web-doc-update: add standard options
15679         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
15680
15681         gnu-web-doc-update: New module.
15682         Use this script to automatically update the on-line web documentation
15683         for your GNU project at http://www.gnu.org/software/$pkg/manual/
15684         * modules/gnu-web-doc-update: New file, from coreutils.
15685         * build-aux/gnu-web-doc-update: New script.
15686
15687 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
15688
15689         link: LoadLibrary is not needed.
15690         * lib/link.c: Use GetModuleHandle.
15691
15692 2009-10-01  Eric Blake  <ebb9@byu.net>
15693
15694         getopt: bump serial number
15695         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
15696         change.
15697
15698         tests: tighten link, rmdir, and remove tests
15699         * tests/test-link.h (includes): No need to use <config.h> here.
15700         Clean up if directory hard link was created, otherwise test for
15701         trailing '.'.
15702         * tests/test-linkat.c (main): Simplify.
15703         * tests/test-remove.c (main): Enhance test for trailing '.'.
15704         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15705
15706 2009-10-01  Jim Meyering  <meyering@redhat.com>
15707
15708         maint.mk: requiring "make major" was annoying, for a "minor" release.
15709         What is intended is "stable", to contrast with alpha and beta,
15710         so require "make stable", not "make major".
15711         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
15712         (get_tool_versions): Likewise.
15713         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
15714
15715 2009-09-30  Ben Pfaff  <blp@gnu.org>
15716
15717         Fix broken build of replacement for Windows tmpfile().
15718         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
15719         flags argument added along with the 'mkostemp' module.
15720
15721 2009-09-28  Bruno Haible  <bruno@clisp.org>
15722
15723         Avoid identifier clash with POSIX function 'remove' defined as a macro.
15724         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
15725         to 'remove_elt'.
15726         (gl_list_remove): Update.
15727         * lib/gl_list.c (gl_list_remove): Update.
15728         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
15729         to 'remove_elt'.
15730         (gl_oset_remove): Update.
15731         * lib/gl_list.c (gl_oset_remove): Update.
15732         Reported by Eric Blake.
15733
15734 2009-09-28  Eric Blake  <ebb9@byu.net>
15735
15736         doc: mention yet more cygwin 1.7 status
15737         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
15738         cygwin.
15739         * doc/glibc-functions/execvpe.texi (execvpe): New file.
15740         * doc/gnulib.texi (Glibc unistd.h): Mention it.
15741
15742         argp: fix test failure
15743         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
15744         that are not upper-case.  Pass correct range to tolower.
15745
15746 2009-09-27  Jim Meyering  <meyering@redhat.com>
15747
15748         test-yesno: work around sparc-dash here-document infelicity
15749         Without this change, the literal \177 byte in a here document
15750         would make dash 0.5.5.1-3 access uninitialized memory.
15751         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
15752         Instead, use a marker, "@", and filter through tr to create the desired
15753         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
15754
15755 2009-09-27  Bruno Haible  <bruno@clisp.org>
15756
15757         Disable untested support for new flavours of ACLs on AIX.
15758         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
15759         progress.
15760         * lib/set-mode-acl.c (qset_acl): Likewise.
15761
15762 2008-12-07  Bruno Haible  <bruno@clisp.org>
15763
15764         Add support for new flavours of ACLs on AIX. (Untested.)
15765         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
15766         (file_has_acl): Add support for newer AIX.
15767         * lib/set-mode-acl.c (qset_acl): Likewise.
15768         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
15769         Rainer Tammer <tammer@tammer.net>.
15770
15771 2009-09-26  Eric Blake  <ebb9@byu.net>
15772
15773         argp: fix compilation of getopt
15774         * lib/getopt.in.h (includes): Use different guard than glibc.
15775         Reported by Sergey Poznyakoff.
15776
15777         doc: mention more cygwin 1.7 status
15778         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
15779         bug.
15780         * doc/posix-functions/execl.texi (execl): Likewise.
15781         * doc/posix-functions/execle.texi (execle): Likewise.
15782         * doc/posix-functions/execlp.texi (execlp): Likewise.
15783         * doc/posix-functions/execv.texi (execv): Likewise.
15784         * doc/posix-functions/execve.texi (execve): Likewise.
15785         * doc/posix-functions/execvp.texi (execvp): Likewise.
15786         * doc/glibc-functions/canonicalize_file_name.texi
15787         (canonicalize_file_name): Cygwin 1.7 now provides this.
15788         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
15789         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
15790         on AT_SYMLINK_NOFOLLOW.
15791
15792 2009-09-24  Eric Blake  <ebb9@byu.net>
15793
15794         test-linkat: make test more robust
15795         * tests/test-linkat.c (main): Avoid collision with EEXIST.
15796
15797         getopt: fix inclusion guards for cygwin
15798         * modules/getopt-posix (Depends-on): Add include-next.
15799         (Makefile.am): Substitute more items in replacement header.
15800         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
15801         <getopt.h>.
15802         * lib/getopt.in.h (includes): Use split inclusion guard, and
15803         prefer <getopt.h> over include <unistd.h> when one is present.
15804         (option): Also override name of 'struct option'.
15805
15806         same-inode: revert prior change; it is not yet ready
15807         * NEWS: Undo mention of this change.
15808         * lib/same-inode.h (same-inode.h): Undo tri-state change.
15809         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
15810         * lib/cycle-check.c (cycle_check): Likewise.
15811         * lib/same.c (same_name): Likewise.
15812         * lib/at-func2.c (at_func2): Likewise.
15813
15814 2009-09-23  Eric Blake  <ebb9@byu.net>
15815
15816         linkat: new module
15817         * modules/linkat: New file.
15818         * lib/at-func2.c (at_func2): Likewise.
15819         * lib/linkat.c (linkat): Likewise.
15820         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
15821         * lib/openat-priv.h (at_func2): Add declaration.
15822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
15823         * modules/unistd (Makefile.am): Substitute them.
15824         * lib/unistd.in.h (linkat): Declare it.
15825         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15826         * doc/posix-functions/linkat.texi (linkat): Likewise.
15827         * doc/posix-functions/link.texi (link): Tweak wording.
15828         * tests/test-link.c (main): Move guts...
15829         * tests/test-link.h (test_link): ...into new file.
15830         * modules/linkat-tests: New test.
15831         * tests/test-linkat.c: Likewise.
15832         * modules/link-tests (Files): Ship new file.
15833         (Depends-on): Add stdbool.
15834
15835         dirname: add library-safe mdir_name
15836         * lib/dirname.h (mdir_name): New prototype.
15837         * lib/dirname.c (dir_name): Move guts...
15838         (mdir_name): ...to new function that avoids xalloc_die.
15839
15840         fchdir: another mingw fix
15841         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
15842         * lib/fchdir.c (get_name): New helper method; skips canonicalize
15843         on mingw (where it has not yet been ported), and make it optional
15844         elsewhere.
15845         (_gl_register_fd): Use it.
15846
15847         same-inode: make SAME_INODE tri-state, to port to mingw
15848         * NEWS: Mention this change.
15849         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
15850         st_ino always being 0.
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
15855         lstat: avoid mingw compilation error
15856         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
15857         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
15858         lstat ourselves.
15859         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
15860         was adequate.
15861         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
15862         the checks for lstat.
15863         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
15864
15865         link: fix test failure on Solaris 9
15866         * lib/link.c (rpl_link): Don't assume link will catch bogus
15867         trailing slash on source.
15868
15869         test-symlinkat: enhance test
15870         * tests/test-readlink.c (main): Move guts...
15871         * tests/test-readlink.h (test_readlink): ...into new file.
15872         * tests/test-symlink.c (main): Move guts...
15873         * tests/test-symlink.h (test_symlink): ...into new file.
15874         * tests/test-symlinkat.c (main): Use new files for further
15875         coverage.
15876         (do_symlink, do_readlink): New helper functions.
15877         * modules/symlink-tests (Files): Ship new file.
15878         (Depends-on): Add stdbool.
15879         * modules/readlink-tests (Files): Ship new file.
15880         (Depends-on): Add stdbool.
15881         * modules/symlinkat-tests (Files): Use new files.
15882
15883 2009-09-23  Eric Blake  <ebb9@byu.net>
15884
15885         readlink: document portability issue with symlink length
15886         * doc/posix-functions/lstat.texi (lstat): Mention that some file
15887         systems have bogus st_size on symlinks, and mention the
15888         areadlink-with-size module.
15889         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
15890         * doc/posix-functions/readlink.texi (readlink): Mention the
15891         areadlink module, and ERANGE failure.
15892         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15893         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
15894
15895         readlink: fix Solaris 9 bug with trailing slash
15896         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
15897         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
15898         * doc/posix-functions/readlink.texi (readlink): Document this.
15899         * modules/readlink-tests: New test.
15900         * tests/test-readlink.c: Likewise.
15901
15902         readlink: fix cygwin 1.5.x bug with return type
15903         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
15904         * lib/unistd.in.h (readlink): Use ssize_t.
15905         * lib/readlink.c (readlink): Likewise.
15906         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
15907         * modules/unistd (Makefile.am): Substitute it.
15908         * lib/unistd.in.h (readlink): Declare replacement.
15909         * doc/posix-functions/readlink.texi (readlink): Document this.
15910
15911         symlink: use throughout gnulib
15912         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
15913         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
15914         symlink is not used.
15915         * modules/symlinkat (Depends-on): Add symlink.
15916         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15917         * modules/canonicalize-tests (Depends-on): Likewise.
15918         * modules/lstat-tests (Depends-on): Likewise.
15919         * modules/openat-tests (Depends-on): Likewise.
15920         * modules/remove-tests (Depends-on): Likewise.
15921         * modules/rmdir-tests (Depends-on): Likewise.
15922         * modules/unlink-tests (Depends-on): Likewise.
15923         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
15924         * tests/test-canonicalize.c (symlink): Likewise.
15925         * tests/test-fstatat.c (symlink): Likewise.
15926         * tests/test-lstat.c (symlink): Likewise.
15927         * tests/test-remove.c (symlink): Likewise.
15928         * tests/test-rmdir.c (symlink): Likewise.
15929         * tests/test-unlink.c (symlink): Likewise.
15930         * tests/test-unlinkat.c (symlink): Likewise.
15931
15932         symlink: new module, for Solaris 9 bug
15933         * modules/symlink: New file.
15934         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
15935         * lib/symlink.c: Likewise.
15936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
15937         * modules/unistd (Makefile.am): Substitute them.
15938         * lib/unistd.in.h (symlink): Declare replacement.
15939         * MODULES.html.sh (File system functions): Mention it.
15940         * doc/posix-functions/symlink.texi (symlink): Likewise.
15941         * modules/symlink-tests: New test.
15942         * tests/test-symlink.c: Likewise.
15943
15944 2009-09-23  Bruno Haible  <bruno@clisp.org>
15945
15946         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
15947         when needed.
15948         Test case: gnulib-tool --import --with-tests atexit inttypes.
15949         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
15950
15951 2009-09-23  Bruno Haible  <bruno@clisp.org>
15952
15953         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
15954         subcommand, not in a subshell.
15955
15956 2009-09-22  Eric Blake  <ebb9@byu.net>
15957
15958         unistd: sort replacement declarations
15959         * lib/unistd.in.h: Sort declarations.
15960
15961         open, openat: minor optimization
15962         * lib/open.c (open): If open succeeded, len is non-zero.
15963         * lib/openat.c (rpl_openat): Likewise.
15964
15965         link-follow: ensure correct result
15966         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
15967         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
15968         distinguish between possible failures.
15969
15970 2009-09-21  Eric Blake  <ebb9@byu.net>
15971
15972         fts: avoid compiler warning
15973         * lib/fts.c (dirent_inode_sort_may_be_useful)
15974         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
15975
15976 2009-09-19  Bruno Haible  <bruno@clisp.org>
15977
15978         * lib/progreloc.c (canonicalize_file_name): New declaration.
15979
15980 2009-09-19  Eric Blake  <ebb9@byu.net>
15981
15982         link: fix quoting
15983         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
15984
15985         openat: fix openat bugs on Solaris 9
15986         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
15987         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
15988         * modules/openat (Depends-on): Add open.
15989         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
15990         * modules/fcntl-h (Makefile.am): Substitute it.
15991         * lib/fcntl.in.h (openat): Declare replacement.
15992         * doc/posix-functions/openat.texi (openat): Document this.
15993
15994         openat: move fstatat and unlinkat into correct files
15995         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
15996         compiled.
15997         * lib/openat.c (fstatat, unlinkat): Move...
15998         * lib/fstatat.c (fstatat): ...into correct files.
15999         * lib/unlinkat.c (unlinkat): Likewise.
16000
16001         openat: fix unlinkat bugs on Solaris 9
16002         * lib/unlinkat.c (unlinkat): New file.
16003         * modules/openat (Depends-on): Add unlink.
16004         (Files): Distribute it.
16005         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
16006         trailing slash behavior is broken.
16007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16008         * modules/unistd (Makefile.am): Substitute it.
16009         * lib/unistd.in.h (unlinkat): Declare replacement.
16010         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
16011
16012         openat: fix fstatat bugs on Solaris 9
16013         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
16014         stat.
16015         * doc/posix-functions/fstatat.texi (fstatat): Document this.
16016
16017         test-unlinkat: enhance test, to expose Solaris 9 bug
16018         * tests/test-unlink.c (main): Factor guts...
16019         * tests/test-unlink.h (test_rmdir_func): ...into new file.
16020         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
16021         * tests/test-rmdir.c (main): Adjust caller.
16022         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
16023         (unlinker): New helper function.
16024         (rmdirat): Enhance check.
16025         * modules/rmdir-tests (Depends-on): Add stdbool.
16026         * modules/unlink-tests (Depends-on): Likewise.
16027         (Files): Add test-unlink.h.
16028         * modules/openat-tests (Files): Likewise.
16029         (Depends-on): Add unlinkdir.
16030
16031         test-fstatat: new test, to expose Solaris 9 bugs
16032         * tests/test-stat.c (main): Factor guts...
16033         * tests/test-stat.h (test_stat_func): ...into new file.
16034         * tests/test-lstat.c (main): Factor guts...
16035         * tests/test-lstat.h (test_lstat_func): ...into new file.
16036         * tests/test-fstatat.c: New file.
16037         * modules/stat-tests (Files): Add test-stat.h.
16038         * modules/lstat-tests (Files): Add test-lstat.h.
16039         (Depends-on): Add stdbool.
16040         * modules/openat-tests (Depends-on): Add pathmax.
16041         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
16042         (Makefile.am): Run new test.
16043
16044         remove: new module, for mingw and Solaris 9 bugs
16045         * modules/remove: New file.
16046         * lib/remove.c: Likewise.
16047         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
16048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
16049         * modules/stdio (Makefile.am): Use them.
16050         * lib/stdio.in.h (remove): Declare replacement.
16051         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16052         * doc/posix-functions/remove.texi (remove): Likewise.
16053         * modules/remove-tests: New test.
16054         * tests/test-remove.c: Likewise.
16055
16056         unlink: new module, for Solaris 9 bug
16057         * modules/unlink: New file.
16058         * lib/unlink.c: Likewise.
16059         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16060         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
16061         * modules/unistd (Makefile.am): Use them.
16062         * lib/unistd.in.h (stat): Declare replacement.
16063         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16064         * doc/posix-functions/unlink.texi (unlink): Likewise.
16065         * modules/unlink-tests: New test.
16066         * tests/test-unlink.c: Likewise.
16067
16068         lstat: fix Solaris 9 bug
16069         * lib/lstat.c (lstat): Also check for trailing slash on
16070         non-symlink, non-directories.  Use stat module to simplify logic.
16071         * doc/posix-functions/lstat.texi (lstat): Document it.
16072         * modules/lstat-tests (Depends-on): Add errno, same-inode.
16073         (configure.ac): Check for symlink.
16074         * tests/test-lstat.c (main): Add more tests.
16075
16076         stat: add as dependency to other modules
16077         * modules/chown (Depends-on): Add stat.
16078         * modules/euidaccess (Depends-on): Likewise.
16079         * modules/fchdir (Depends-on): Likewise.
16080         * modules/isdir (Depends-on): Likewise.
16081         * modules/link (Depends-on): Likewise.
16082         * modules/lstat (Depends-on): Likewise.
16083         * modules/mkdir-p (Depends-on): Likewise.
16084         * modules/modechange (Depends-on): Likewise.
16085         * modules/open (Depends-on): Likewise.
16086         * modules/readlink (Depends-on): Likewise.
16087         * modules/same (Depends-on): Likewise.
16088
16089         stat: fix Solaris 9 bug
16090         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
16091         slash.
16092         * lib/stat.c (rpl_stat): Work around it.
16093         * doc/posix-functions/stat.texi (stat): Update documentation.
16094
16095         stat: new module, for mingw bug
16096         * modules/stat: New file.
16097         * lib/stat.c: Likewise.
16098         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16099         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
16100         * modules/sys_stat (Makefile.am): Use them.
16101         * lib/sys_stat.in.h (stat): Declare replacement.
16102         * lib/openat.c (fstatat): Deal with lstat and stat being function
16103         macros.
16104         * modules/openat (Depends-on): Add inline.
16105         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16106         * doc/posix-functions/stat.texi (stat): Likewise.
16107         * modules/stat-tests: New test.
16108         * tests/test-stat.c: Likewise.
16109
16110 2009-09-19  Jim Meyering  <meyering@redhat.com>
16111
16112         syntax-check: detect unnecessary inclusion of canonicalize.h
16113         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
16114
16115 2009-09-19  Eric Blake  <ebb9@byu.net>
16116
16117         canonicalize-lgpl: adjust clients to use correct header
16118         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16119         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
16120         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
16121         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
16122         * lib/progreloc.c (includes): Likewise.
16123
16124 2009-09-19  Jim Meyering  <meyering@redhat.com>
16125
16126         test-posixtm.c: correct a comment
16127         * tests/test-posixtm.c: Correct first-line comment.
16128         Spotted by Eric Blake.
16129
16130 2009-09-16  Jim Meyering  <meyering@redhat.com>
16131
16132         posixtm-tests: make T const-correct; add a test case
16133         * tests/test-posixtm.c (T): Declare const.
16134         Add a test for -(2^31+1).
16135         Remove useless can-succeed-only-in-2002 test.
16136
16137         posixtm-tests: adjust the sole failing test
16138         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
16139         expected output matches what mktime now produces.  Cross-checked via
16140         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
16141
16142         posixtm: move #ifdef'd tests into a new module
16143         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
16144         * tests/test-posixtm.c: ... this new file.
16145         * modules/posixtm-tests: New module.
16146
16147 2009-09-19  Eric Blake  <ebb9@byu.net>
16148
16149         openat: simplify use of at-func.c
16150         * lib/at-func.c (includes): Include prerequisites here, to
16151         simplify requirements on client files.
16152         * lib/openat-priv.h: Add double-inclusion guard.
16153         * lib/faccessat.c (includes): Simplify.
16154         * lib/fchmodat.c (includes): Likewise.
16155         * lib/fchownat.c (includes): Likewise.
16156         * lib/mkdirat.c (includes): Likewise.
16157         * lib/mkfifoat.c (includes): Likewise.
16158         * lib/symlinkat.c (includes): Likewise.
16159
16160         openat: allow return of fd 0
16161         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
16162         * modules/save-cwd (Depends-on): Replace fcntl-safer with
16163         unistd-safer.
16164         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
16165         <fcntl.h>; this module does not leak fds.
16166         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
16167         must be allowed to return 0, leaving openat_safer to add the
16168         safety.
16169         (openat_permissive): Avoid writing to just-opened fd 2 if
16170         restoring the current directory fails.
16171         * lib/openat-die.c (openat_restore_fail): Add comment.
16172         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
16173         (save_cwd): Guarantee safe fd, but without use of open_safer.
16174         * tests/test-openat.c: New test.
16175         * modules/openat-tests (Files, Makefile.am): Distribute and build
16176         new file.
16177
16178         relocatable-prog-wrapper: fix build
16179         * modules/relocatable-prog-wrapper (Files): Update name of
16180         canonicalize m4 file, broken on 2009-09-17.
16181         Reported by emad hajjar <aleppos@hotmail.com>.
16182
16183 2009-09-19  Bruno Haible  <bruno@clisp.org>
16184
16185         * lib/safe-alloc.h: Use the standard header with GPL copyright.
16186         * lib/safe-alloc.c: Likewise.
16187         Reported by Ian Beckwith <ianb@erislabs.net>.
16188
16189 2009-09-18  Bruno Haible  <bruno@clisp.org>
16190
16191         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
16192         Reported by <erobles@sensacd.com.mx>.
16193
16194 2009-09-17  Eric Blake  <ebb9@byu.net>
16195
16196         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
16197         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
16198         slashes when checking if last component is missing.
16199         * tests/test-canonicalize.c (main): Test this.
16200
16201         canonicalize, canonicalize-lgpl: honor // if distinct from /
16202         * modules/canonicalize (Files): Add double-slash-root.m4.
16203         * modules/canonicalize-lgpl (Files): Likewise.
16204         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16205         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
16206         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
16207         fallback definition.
16208         (canonicalize_filename_mode): Use it to protect //.
16209         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
16210         (__realpath): Likewise.
16211         * tests/test-canonicalize.c (main): Test this.
16212         * tests/test-canonicalize-lgpl.c (main): Likewise.
16213         * modules/canonicalize-tests (Depends-on): Add same-inode.
16214         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16215
16216         canonicalize-lgpl: fix glibc bug with trailing slash
16217         * m4/canonicalize-lgpl.m4: Move contents...
16218         * m4/canonicalize.m4: ...here.
16219         (gl_CANONICALIZE_LGPL): Factor realpath check...
16220         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
16221         glibc 2.3.5 bug, fixed 2005-04-27.
16222         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
16223         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
16224         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
16225         * modules/canonicalize-lgpl (Files): Manage file rename.
16226         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
16227         * modules/stdlib (Makefile.am): Substitute witness.
16228         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
16229         is needed.
16230         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
16231         replacement is required.
16232         * lib/canonicalize.c (canonicalize_file_name): Likewise.
16233         * doc/glibc-functions/canonicalize_file_name.texi
16234         (canonicalize_file_name): Document this.
16235         * doc/posix-functions/realpath.texi (realpath): Likewise.
16236
16237         canonicalize-lgpl: reject non-directory with trailing slash
16238         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
16239         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
16240         catches failures in glibc 2.3.5.
16241         * tests/test-canonicalize.c (main): Likewise.
16242
16243         canonicalize-lgpl: use native realpath if it works
16244         * lib/canonicalize-lgpl.c (realpath): Guard with
16245         FUNC_REALPATH_WORKS.
16246         * lib/stdlib.in.h (realpath): Make declaration optional based on
16247         HAVE_REALPATH.
16248         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
16249         native realpath works.
16250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
16251         * modules/stdlib (Makefile.am): Substitute witness.
16252
16253         canonicalize, canonicalize-lgpl: use <stdlib.h>
16254         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
16255         (Include): Mention <stdlib.h>.
16256         (configure.ac): Mention functions we provide.
16257         * modules/canonicalize (configure.ac): Likewise.
16258         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
16259         realpath if canonicalize_file_name is missing.
16260         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
16261         * modules/stdlib (Makefile.am): Substitute witnesses.
16262         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
16263         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
16264         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
16265         * NEWS: Document this.
16266         * doc/glibc-functions/canonicalize_file_name.texi
16267         (canonicalize_file_name): Likewise.
16268         * doc/posix-functions/realpath.texi (realpath): Likewise.
16269         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
16270
16271         test-canonicalize: consolidate into single C program
16272         * tests/test-canonicalize.sh: Delete; move setup into...
16273         * tests/test-canonicalize.c (main): ...the program, making it
16274         easier to run in debugger.  Add some tests.
16275         * modules/canonicalize-tests (Files): Remove unused file.
16276         (Depends-on): Add progname.
16277         (configure.ac, Makefile.am): Simplify.
16278
16279         test-canonicalize-lgpl: consolidate into single C program
16280         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
16281         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
16282         easier to run in debugger.  Add some tests.
16283         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
16284         (configure.ac, Makefile.am): Simplify.
16285
16286         canonicalize: avoid resolvepath
16287         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
16288         unnecessary checks.
16289         * lib/canonicalize.c (includes): Simplify.
16290         (canonicalize_file_name): Drop resolvepath implementation.
16291         * modules/canonicalize (Depends-on): Drop filenamecat.
16292
16293         canonicalize: don't lose errno
16294         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
16295         over calls to free.
16296
16297         canonicalize: simplify errno handling
16298         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
16299         assignment.
16300
16301         canonicalize, canonicalize-lgpl: update module dependencies
16302         * modules/canonicalize (Depends-on): Add extensions, lstat,
16303         pathmax, stdlib.
16304         (Files): Drop pathmax.h.
16305         (configure.ac): Adjust macro name.
16306         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
16307         lstat, stdlib, sys_stat.
16308         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
16309         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
16310         extensions.
16311         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
16312         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
16313         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
16314         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
16315         declaration, if available.
16316         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
16317         we can rely on the readlink module.
16318         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
16319         (includes): Use <unistd.h> unconditionally.
16320
16321 2009-09-17  Eric Blake  <ebb9@byu.net>
16322
16323         maint: make Include sections of modules consistent
16324         * modules/alloca: Use only header name; no need to list #include.
16325         * modules/alloca-opt: Likewise.
16326         * modules/arpa_inet: Likewise.
16327         * modules/canon-host: Likewise.
16328         * modules/configmake: Likewise.
16329         * modules/dirent: Likewise.
16330         * modules/eealloc: Likewise.
16331         * modules/environ: Likewise.
16332         * modules/fchdir: Likewise.
16333         * modules/fcntl: Likewise.
16334         * modules/fcntl-h: Likewise.
16335         * modules/gethrxtime: Likewise.
16336         * modules/gettime: Likewise.
16337         * modules/ignore-value: Likewise.
16338         * modules/inet_ntop: Likewise.
16339         * modules/inet_pton: Likewise.
16340         * modules/inttypes: Likewise.
16341         * modules/isnand-nolibm: Likewise.
16342         * modules/isnanf-nolibm: Likewise.
16343         * modules/mbchar: Likewise.
16344         * modules/mbfile: Likewise.
16345         * modules/mbiter: Likewise.
16346         * modules/mbuiter: Likewise.
16347         * modules/netdb: Likewise.
16348         * modules/netinet_in: Likewise.
16349         * modules/nproc: Likewise.
16350         * modules/pagealign_alloc: Likewise.
16351         * modules/poll: Likewise.
16352         * modules/printf-frexp: Likewise.
16353         * modules/pthread: Likewise.
16354         * modules/putenv: Likewise.
16355         * modules/random_r: Likewise.
16356         * modules/relocatable-prog: Likewise.
16357         * modules/search: Likewise.
16358         * modules/select: Likewise.
16359         * modules/selinux-h: Likewise.
16360         * modules/settime: Likewise.
16361         * modules/signal: Likewise.
16362         * modules/size_max: Likewise.
16363         * modules/socklen: Likewise.
16364         * modules/ssize_t: Likewise.
16365         * modules/stdarg: Likewise.
16366         * modules/stdbool: Likewise.
16367         * modules/stddef: Likewise.
16368         * modules/stdint: Likewise.
16369         * modules/stdio: Likewise.
16370         * modules/stdlib: Likewise.
16371         * modules/string: Likewise.
16372         * modules/strings: Likewise.
16373         * modules/sys_file: Likewise.
16374         * modules/sys_ioctl: Likewise.
16375         * modules/sys_select: Likewise.
16376         * modules/sys_socket: Likewise.
16377         * modules/sys_stat: Likewise.
16378         * modules/sys_time: Likewise.
16379         * modules/sys_times: Likewise.
16380         * modules/sys_utsname: Likewise.
16381         * modules/sys_wait: Likewise.
16382         * modules/sysexits: Likewise.
16383         * modules/time: Likewise.
16384         * modules/times: Likewise.
16385         * modules/tmpfile: Likewise.
16386         * modules/trim: Likewise.
16387         * modules/unistd: Likewise.
16388         * modules/wchar: Likewise.
16389         * modules/wctype: Likewise.
16390
16391 2009-09-17  Bruno Haible  <bruno@clisp.org>
16392
16393         Make getdate.y compile on QNX and NetBSD 5 / i386.
16394         * m4/getdate.m4 (gl_GETDATE): Conditionally define
16395         TIME_T_FITS_IN_LONG_INT.
16396         * lib/getdate.y (long_time_t): New type.
16397         (relative_time): Change type of 'seconds' field to long_time_t.
16398         (get_date): Update types of local variables. Check against overflow
16399         during conversion from long_time_t to time_t.
16400         Reported by Matt Kraai <kraai@ftbfs.org>
16401         and Hasso Tepper <hasso@netbsd.org>.
16402
16403 2009-09-17  Bruno Haible  <bruno@clisp.org>
16404
16405         * modules/COPYING: Update copyright years.
16406         * modules/README: Likeiwse.
16407         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
16408         Reported by Ian Beckwith <ianb@erislabs.net>.
16409
16410 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
16411
16412         * users.txt: Update references for gnuit package.
16413
16414 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
16415
16416         * m4/getdelim.m4: Fix typo in copyright line.
16417
16418 2009-09-17  Bruno Haible  <bruno@clisp.org>
16419
16420         * lib/atoll.c: Use the standard header with GPL copyright.
16421         * lib/argz.in.h: Likewise.
16422         * lib/glob.c: Likewise.
16423         * lib/glob-libc.h: Likewise.
16424         * lib/random_r.c: Likewise.
16425         * lib/siglist.h: Likewise.
16426         * lib/strsignal.c: Likewise.
16427         Reported by Ian Beckwith <ianb@erislabs.net>.
16428
16429 2009-09-17  Eric Blake  <ebb9@byu.net>
16430
16431         rmdir: ensure correct dependency order
16432         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
16433
16434 2009-09-17  Bruno Haible  <bruno@clisp.org>
16435
16436         Disable assertion that fails on NetBSD 5 / i386.
16437         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
16438         Reported by Sam Steingold <sds@gnu.org>
16439         and Hasso Tepper <hasso@netbsd.org>.
16440
16441 2009-09-16  Eric Blake  <ebb9@byu.net>
16442
16443         unlinkdir: port to mingw
16444         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
16445         on which no one can unlink a directory.
16446
16447         stdlib: sort witness names
16448         * modules/stdlib (Makefile.am): Sort replacements.
16449         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
16450         * lib/stdlib.in.h: Likewise.
16451
16452         parse-duration-tests: avoid link failure
16453         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
16454         LIBINTL.
16455         Reported by Tom G. Christensen.
16456
16457         openat-tests: ensure unlinkat behaves like rmdir
16458         * tests/test-rmdir.c (main): Factor guts...
16459         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
16460         * modules/rmdir-tests (Files): Ship new file.
16461         * modules/openat-tests: New test.
16462         * tests/test-unlinkat.c: Likewise.
16463
16464         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
16465         * modules/rmdir-errno (Status, Notice): Now obsolete.
16466
16467         rmdir: work around cygwin 1.5.x and mingw bugs
16468         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
16469         * lib/rmdir.c (rmdir): Work around it.
16470         * modules/rmdir (Status, Notice): No longer obsolete.
16471         (Files): Add dos.m4.
16472         (Depends-on): Add unistd.
16473         (configure.ac): Set witnesses.
16474         (License): Relax to LGPLv2+.
16475         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
16476         * modules/unistd (Makefile.am): Substitute witnesses.
16477         * lib/unistd.in.h (rmdir): Declare replacement.
16478         * doc/posix-functions/rmdir.texi (rmdir): Document this.
16479         * modules/rmdir-tests: New tests.
16480         * tests/test-rmdir.c: Likewise.
16481
16482 2009-09-15  Eric Blake  <ebb9@byu.net>
16483
16484         fchdir: improve use of replacement functions
16485         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
16486         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
16487         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
16488         REPLACE_CLOSEDIR.
16489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
16490         * modules/sys_stat (Makefile.am): Substitute correct witness.
16491         * modules/dirent (Makefile.am): Likewise.
16492         * modules/unistd (Makefile.am): Likewise.
16493         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
16494         * lib/unistd.in.h (dup): Likewise.
16495         * lib/sys_stat.in.h (fstat): Likewise.
16496
16497         maint: ignore gnulib-tool temp files
16498         * .gitignore: Ignore files created during gnulib-tool --test.
16499
16500 2009-09-13  Jim Meyering  <meyering@redhat.com>
16501
16502         posixtm: don't reject a time that specify "60" as the number of seconds
16503         * lib/posixtm.c (posixtime): The code to reject invalid dates
16504         would also reject a time specified with the .60 suffix.
16505         But POSIX allows that, in order to accommodate leap seconds.
16506         So don't reject it.
16507         (main): Adjust tests accordingly.
16508         * modules/posixtm (Depends-on): Add stpcpy.
16509
16510 2009-09-11  Jim Meyering  <meyering@redhat.com>
16511
16512         announce-gen: include [$release_type] in emitted Subject:
16513         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
16514         e.g., [stable] in the emitted Subject: line.
16515
16516 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16517
16518         Remove obsolete macros from several modules.
16519         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
16520         obsolete Autoconf macros with their modern counterparts.
16521         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
16522         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
16523         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
16524         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
16525         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
16526         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
16527         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
16528         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
16529         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
16530         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
16531         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16532         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16533         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
16534         * m4/sockets.m4 (gl_SOCKETS): Likewise.
16535         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
16536         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
16537         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
16538         * m4/time_r.m4 (gl_TIME_R): Likewise.
16539         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
16540         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
16541         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
16542
16543         Fix copyright header in build-aux scripts.
16544         * build-aux/git-version-gen: Fix copyright header to match GPLv3
16545         recommendation.
16546         * build-aux/ncftpput-ftp: Likewise.
16547         * build-aux/update-copyright: Likewise.
16548
16549 2009-09-09  Eric Blake  <ebb9@byu.net>
16550
16551         test-link: allow Linux choice of errno
16552         * tests/test-link.c (main): Relax test for alternate error.
16553
16554         strndup: fix improper m4 caching
16555         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
16556         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
16557         (gl_PREREQ_STRNDUP): Delete.
16558         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
16559         * modules/string (Makefile.am): Substitute it.
16560         * lib/string.in.h (strndup): Modernize prototype.
16561
16562         getcwd: port to mingw
16563         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
16564         different from the POSIX assumptions made throughout the getcwd
16565         module; fortunately, the mingw getcwd does not need replacement.
16566         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
16567         * modules/getcwd-tests: New test.
16568         * tests/test-getcwd.c: Likewise.
16569
16570         link: fix platform bugs
16571         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
16572         * lib/link.c (link): Work around them.  Fix related mingw bug.
16573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
16574         * modules/unistd (Makefile.am): Substitute it.
16575         * lib/unistd.in.h (link): Declare replacement.
16576         * doc/posix-functions/link.texi (link): Document this.
16577         * modules/link (Depends-on): Add strdup-posix, sys_stat.
16578
16579         test-link: consolidate into single C program, test more cases
16580         * tests/test-link.sh: Delete.
16581         * tests/test-link.c: Test more error conditions.  Exposes bugs on
16582         at least Cygwin and Solaris.
16583         * modules/link-tests (Files): Remove unused file.
16584         (Depends-on): Add errno, sys_stat.
16585         (Makefile.am): Simplify.
16586
16587 2009-09-08  Bruno Haible  <bruno@clisp.org>
16588
16589         Work around towlower, towupper bug on mingw.
16590         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
16591         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
16592         * doc/posix-functions/towlower.texi: Mention the mingw bug.
16593         * doc/posix-functions/towupper.texi: Likewise.
16594         Reported by Eric Blake.
16595
16596 2009-09-08  Jim Meyering  <meyering@redhat.com>
16597
16598         build: don't try to run autoheader if we don't use it
16599         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
16600         is not used in configure.ac.
16601
16602 2009-09-08  Eric Blake  <ebb9@byu.net>
16603
16604         euidaccess: fix compilation error
16605         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
16606
16607         rawmemchr: relax license
16608         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
16609         okay.
16610         Reported by Jim Meyering.
16611
16612         mkfifoat: new module
16613         * modules/mkfifoat: New file.
16614         * lib/mkfifoat.c: Likewise.
16615         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
16616         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
16617         * modules/sys_stat (Makefile.am): Use them.
16618         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
16619         * MODULES.html.sh (File system functions): Mention module.
16620         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
16621         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
16622         * modules/mkfifoat-tests: New test.
16623         * tests/test-mkfifoat.c: Likewise.
16624
16625         strchrnul: relax license
16626         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
16627         okay.
16628         Reported by Jim Meyering.
16629
16630 2009-09-08  Eric Blake  <ebb9@byu.net>
16631
16632         fstatat: fix compilation on Solaris
16633         * lib/fstatat.c (includes): Add fcntl.h.
16634         Reported by Pádraig Brady.
16635
16636 2009-09-07  Eric Blake  <ebb9@byu.net>
16637
16638         rename: modernize replacement
16639         * modules/rename (Depends-on): Add stdio.
16640         (configure.ac): Declare witness.
16641         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
16642         stdio take care of replacement.
16643         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
16644         * modules/stdio (Makefile.am): Substitute them.
16645         * lib/stdio.in.h (rename): Declare replacement.
16646         * lib/rename.c (includes): Allow cross-compilation to non-windows
16647         machines.
16648         * doc/posix-functions/rename.texi (rename): Improve
16649         documentation.
16650
16651         stdio: sort witness names
16652         * modules/stdio (Makefile.am): Sort replacements.
16653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16654         * lib/stdio.in.h: Likewise.
16655
16656         getcwd: minor cleanups
16657         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
16658         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
16659
16660         openat: provide more convenience names
16661         * modules/faccessat (configure.ac): Add C witness.
16662         * lib/unistd.in.h (readlinkat): Fix typo.
16663         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
16664         convenience wrappers.
16665         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
16666         wrappers in syntax checks.
16667
16668 2009-09-06  Eric Blake  <ebb9@byu.net>
16669
16670         doc: fix comments in recent patches
16671         * lib/faccessat.c: Mention correct function.
16672         * lib/fchmodat.c: Likewise.
16673         * lib/fchownat.c: Likewise.
16674         * lib/symlinkat.c: Likewise.
16675         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
16676         constants.
16677
16678         faccessat, symlinkat: continue cleanup of previous patch
16679         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
16680         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
16681         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
16682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
16683         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
16684         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
16685         set.
16686
16687 2009-09-06  Bruno Haible  <bruno@clisp.org>
16688
16689         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
16690         (fstatat): Declare if GNULIB_FSTATAT is set.
16691         (mkdirat): Declare if GNULIB_MKDIRAT is set.
16692         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
16693         (unlinkat): Declare if GNULIB_UNLINKAT is set.
16694         * modules/fcntl-h (Files): Remove m4/openat.m4.
16695         * modules/sys_stat (Files): Remove m4/openat.m4.
16696         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
16697         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
16698         * modules/unistd (Files): Remove m4/openat.m4.
16699         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
16700         GNULIB_OPENAT.
16701         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
16702         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
16703         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
16704         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
16705         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
16706         gl_OPENAT_DEFAULTS.
16707         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
16708         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
16709         Don't require gl_OPENAT_DEFAULTS.
16710         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
16711         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
16712         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
16713         (gl_OPENAT_DEFAULTS): Remove macro.
16714
16715 2009-09-06  Bruno Haible  <bruno@clisp.org>
16716
16717         * modules/openat (configure.ac): Remove unneeded witness.
16718
16719 2009-09-06  Bruno Haible  <bruno@clisp.org>
16720
16721         Set errno to ENOSYS when a function is entirely unsupported.
16722         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
16723         EOPNOTSUPP.
16724         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
16725         * modules/chown (Depends-on): Remove errno.
16726
16727 2009-09-06  Bruno Haible  <bruno@clisp.org>
16728
16729         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
16730
16731 2009-09-06  Bruno Haible  <bruno@clisp.org>
16732
16733         * lib/sys_stat.in.h: Fix preprocessor command indentation.
16734
16735 2009-09-06  Ben Pfaff  <blp@gnu.org>
16736             Bruno Haible  <bruno@clisp.org>
16737
16738         Work around a glibc bug in strtok_r.
16739         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
16740         Undefine if UNDEFINE_STRTOK_R is set.
16741         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
16742         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16743         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
16744         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
16745         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
16746         UNDEFINE_STRTOK_R.
16747         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
16748
16749 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
16750
16751         exclude: minor fix
16752         * lib/exclude.c: Include wctype.h
16753
16754 2009-09-06  Akim Demaille  <demaille@gostai.com>
16755
16756         bootstrap: improve error message
16757         * build-aux/bootstrap (find_tool): Upon failure, report the list
16758         of candidates.
16759         Honor the initial value of the envvar.
16760
16761 2009-09-05  Eric Blake  <ebb9@byu.net>
16762
16763         symlinkat: new module
16764         * modules/symlinkat: New file.
16765         * lib/symlinkat.c: Likewise.
16766         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
16767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
16768         * modules/unistd (Makefile.am): Use them.
16769         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
16770         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
16771         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
16772         * MODULES.html.sh (File system functions): Mention module.
16773         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
16774         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
16775         * modules/symlinkat-tests: New test.
16776         * tests/test-symlinkat.c: Likewise.
16777
16778         test-openat-safer: add more checks
16779         * tests/test-openat-safer.c (main): Check more code paths.
16780
16781 2009-09-05  Jim Meyering  <meyering@redhat.com>
16782
16783         syntax-check: detect unnecessary inclusion of openat.h
16784         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
16785
16786 2009-09-05  Bruno Haible  <bruno@clisp.org>
16787
16788         Support towlower, towupper.
16789         * doc/posix-functions/towlower.texi: Mention module wctype.
16790         * doc/posix-functions/towupper.texi: Likewise.
16791         * lib/wctype.in.h (towlower, towupper): New functions.
16792         * tests/test-wctype.c: Include stdio.h, stdlib.h.
16793         (ASSERT): New macro.
16794         (e): New variable.
16795         (main): Test also towlower, towupper. Test WEOF argument.
16796         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16797
16798 2009-09-05  Bruno Haible  <bruno@clisp.org>
16799
16800         Fix conversion behaviour when the input is invalid.
16801         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
16802         mark occurring in first pass of indirect conversion.
16803         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
16804         input.
16805         Found by clang's static analyzer.
16806
16807 2009-09-05  Bruno Haible  <bruno@clisp.org>
16808
16809         * tests/test-striconveh.c (main): Test indirect conversion on platforms
16810         where direct conversion is possible.
16811
16812 2009-09-04  Eric Blake  <ebb9@byu.net>
16813
16814         openat: fail with ENOENT on empty name
16815         * lib/openat-proc.c (openat_proc_name): Special-case the empty
16816         buffer.
16817
16818         link-follow: fix logic bug in prior patch
16819         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
16820         reversed sense of yes and no in prior patch.  Avoid confusing
16821         compilation failure with desired semantics.
16822
16823         link-follow: accomodate mingw and cross-compilation
16824         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
16825         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
16826         cross-compilation results to -1, to make linkat easier to
16827         implement when cross-compiling.  Trivially support mingw.
16828         * modules/link-follow (configure.ac): Call new name.
16829         * NEWS: Mention this.
16830
16831 2009-09-03  Eric Blake  <ebb9@byu.net>
16832
16833         faccessat: compile replacement
16834         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
16835         needed.
16836
16837         fts: fix compilation error
16838         * lib/fts.c (includes): Re-add "openat.h", for
16839         openat_needs_fchdir.
16840
16841         faccessat: new module
16842         * modules/faccessat: New file.
16843         * lib/faccessat.c: Likewise.
16844         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
16845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16846         * modules/unistd (Makefile.am): Use it.
16847         * lib/unistd.in.h (faccessat): Declare it.
16848         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
16849         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
16850         * MODULES.html.sh (File system functions): Mention it.
16851         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
16852         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
16853
16854         euidaccess: prefer POSIX over non-standard implementation
16855         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
16856         * lib/euidaccess.c (euidaccess): Use it if available.
16857
16858         openat: make template easier to use
16859         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
16860         AT_FUNC_F2 to be undefined.
16861         (VALIDATE_FLAG): New macro; use it to reject bad flags.
16862         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
16863         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
16864         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
16865         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
16866         Likewise.
16867         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
16868         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
16869         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
16870         Likewise.
16871
16872         openat: declare in POSIX headers
16873         * NEWS: Mention this.
16874         * modules/openat (configure.ac): Declare witnesses.
16875         (Depends-on): Add fcntl-h, sys_stat, unistd.
16876         (Include): Mention correct headers.
16877         * modules/fcntl-h (Depends-on): Add link-warning.
16878         (Files): Add openat.m4.
16879         (Makefile.am): Substitute witnesses.
16880         * modules/sys_stat (Files, Makefile.am): Likewise.
16881         * modules/unistd (Files, Makefile.am): Likewise.
16882         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
16883         (gl_OPENAT_DEFAULTS): New macro.
16884         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
16885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
16886         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
16887         (SYS_STAT_H): Remove unused variable.
16888         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
16889         * lib/fcntl--.h (includes): Remove unneeded header.
16890         * lib/openat-safer.c (includes): Likewise.
16891         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
16892         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
16893         appropriate headers.
16894         (__OPENAT_PREFIX): Delete.
16895         * lib/fcntl.in.h (openat): Provide declaration.
16896         (AT_FDCWD): Fix Solaris bug.
16897         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
16898         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
16899         * lib/fchmodat.c (includes):  Adjust to find declaration.
16900         * lib/fchownat.c (includes): Likewise.
16901         * lib/mkdirat.c (includes): Likewise.
16902         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
16903         still visible.
16904
16905 2009-09-02  Eric Blake  <ebb9@byu.net>
16906
16907         errno: use consistently
16908         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
16909         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
16910         * lib/canonicalize.c (ELOOP): Likewise.
16911         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
16912         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
16913         * lib/lchown.c (EOPNOTSUPP): Likewise.
16914         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
16915         * lib/savewd.c (ESTALE): Likewise.
16916         * lib/settime.c (ENOSYS): Likewise.
16917         * lib/utimens.c (ENOSYS): Likewise.
16918         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
16919         * lib/chdir-safer.c (ELOOP): Likewise.
16920         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
16921         * modules/c-stack (Depends-on): Add errno.
16922         * modules/canonicalize (Depends-on): Likewise.
16923         * modules/chdir-safer (Depends-on): Likewise.
16924         * modules/fdopendir (Depends-on): Likewise.
16925         * modules/inet_ntop (Depends-on): Likewise.
16926         * modules/inet_pton (Depends-on): Likewise.
16927         * modules/lchown (Depends-on): Likewise.
16928         * modules/openat (Depends-on): Likewise.
16929         * modules/savewd (Depends-on): Likewise.
16930         * modules/settime (Depends-on): Likewise.
16931         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
16932
16933         fts: avoid leaking fds
16934         * modules/fts (Depends-on): Add cloexec.
16935         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
16936         flag.
16937
16938         fts: make directory fds more robust
16939         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
16940         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
16941
16942         backupfile, chdir-long, fts, savedir: make safer
16943         * lib/backupfile.c (includes): Use "dirent--.h", since
16944         numbered_backup can write to stderr during readdir.
16945         * lib/savedir.c (includes): Likewise.
16946         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
16947         emulation can write to stderr on failure.
16948         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
16949         * lib/getcwd.c: Document why opendir_safer is unused.
16950         * lib/glob.c: Likewise.
16951         * lib/scandir.c: Likewise.
16952         * lib/openat-proc.c: Likewise, for open_safer.
16953         * modules/backupfile (Depends-on): Add dirent-safer.
16954         * modules/savedir (Depends-on): Likewise.
16955         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
16956         * modules/chdir-long (Depends-on): Add openat-safer.
16957
16958         openat-safer: new module
16959         * modules/openat-safer: New file.
16960         * lib/openat-safer.c: Likewise.
16961         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
16962         * lib/fcntl-safer.h (openat_safer): Declare.
16963         * lib/fcntl--.h (openat): Override.
16964         * MODULES.html.sh (File descriptor based I/O): Mention it.
16965         * lib/openat.h: Add double-inclusion guards.
16966         * lib/openat.c (includes): Only include "fcntl-safer.h", not
16967         "fcntl--.h", so we can implement openat.
16968         * modules/openat-safer-tests: New test.
16969         * tests/test-openat-safer.c: New file.
16970
16971         dirent-safer: new module
16972         * modules/dirent-safer: New file.
16973         * lib/dirent--.h: Likewise.
16974         * lib/dirent-safer.h: Likewise.
16975         * lib/opendir-safer.c: Likewise.
16976         * m4/dirent-safer.m4: Likewise.
16977         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
16978         * modules/dirent-safer-tests: New test.
16979         * tests/test-dirent-safer.c: New file.
16980         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
16981
16982         fdopendir: optimize on mingw
16983         * lib/unistd.in.h (_gl_directory_name): New prototype.
16984         * lib/fchdir.c (_gl_directory_name): Implement it.
16985         (fchdir): Use it to simplify implementation.
16986         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
16987         fchdir, when available, to avoid calling [f]chdir().
16988
16989         fdopendir: split into its own module
16990         * lib/openat.c (fdopendir): Move...
16991         * lib/fdopendir.c: ...into new file.
16992         * modules/fdopendir: New module.
16993         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
16994         * modules/openat (Depends-on): Add fdopendir.
16995         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
16996         fdopendir here.
16997         * modules/savedir (Depends-on): Only need fdopendir, not full
16998         openat.
16999         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
17000         * lib/openat.h (fdopendir): Drop prototype.
17001         * lib/dirent.in.h (fdopendir): Provide prototype.
17002         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
17003         * modules/dirent (Makefile.am): Substitute them.
17004         * MODULES.html.sh (File system functions): Mention it.
17005         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
17006         * modules/fdopendir-tests: New file.
17007         * tests/test-fdopendir.c: Likewise.
17008
17009         fchdir: use more consistent macro convention
17010         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
17011         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
17012         REPLACE_FCHDIR, rather than relying on config.h macros.
17013         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
17014         inside a single make-time REPLACE_FCHDIR block, rather than using
17015         the config.h FCHDIR_REPLACEMENT.
17016         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
17017         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
17018         Manage fstat replacement.
17019         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
17020         REPLACE_FCHDIR.
17021         * modules/sys_stat (Files): Add m4/unistd_h.m4.
17022         (Makefile.am): Substitute REPLACE_FCHDIR.
17023         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
17024         FCHDIR_REPLACEMENT.
17025         * lib/dup-safer.c (dup_safer): Likewise.
17026         * lib/dup2.c (rpl_dup2): Likewise.
17027         * lib/dup3.c (rpl_dup3): Likewise.
17028         * lib/open.c (rpl_open): Likewise.
17029
17030         fchdir: simplify error handling, and support dup3
17031         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
17032         stdbool, malloc-posix, realloc-posix.
17033         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
17034         (ensure_dirs_slot): Return false on allocation failure.
17035         (rpl_dup2): Delete.
17036         (_gl_register_dup): New function.
17037         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
17038         (_gl_register_fd): Close fd on allocation failure.
17039         * lib/fcntl.in.h (_gl_register_fd): Update signature.
17040         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
17041         prototype.
17042         (rpl_dup2_fchdir): Delete prototype.
17043         * lib/open.c (open): Update caller.
17044         * lib/dup2.c (dup2): Track fchdir metadata.
17045         * lib/dup3.c (dup3): Likewise.
17046         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
17047         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
17048
17049 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17050
17051         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
17052         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
17053         don't pass arguments to AC_OUTPUT.
17054
17055 2009-09-02  Bruno Haible  <bruno@clisp.org>
17056
17057         * modules/mkdtemp (License): Relicense under LGPLv2+.
17058         Reported by Paolo Bonzini.
17059
17060 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17061
17062         Replace uses of obsolete autoconf macros in Jim's modules.
17063         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
17064         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
17065         can evoke a warning from autoconf when run with -Wobsolete
17066         enabled.  They were declared obsolete for good reasons (see
17067         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
17068         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
17069         should not continue using the deprecated macros.
17070         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
17071         obsolete Autoconf macros with modern counterparts.
17072         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17073         * m4/dos.m4 (gl_AC_DOS): Likewise.
17074         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
17075         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17076         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
17077         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
17078         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
17079         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
17080         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
17081         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
17082         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
17083         Likewise.
17084         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17085         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
17086         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
17087         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
17088         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
17089         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
17090
17091 2009-09-01  Eric Blake  <ebb9@byu.net>
17092
17093         fchdir: fix off-by-one bug in previous patch
17094         * lib/fchdir.c (rpl_fstat): Use correct bounds.
17095         (_gl_unregister_fd): Delete useless if.
17096
17097 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
17098
17099         maint.mk: sort the list of syntax-check rules
17100         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
17101         easier to get a sense of progress when the rules are run sequentially
17102         and take a long time.
17103
17104 2009-09-01  Simon Josefsson  <simon@josefsson.org>
17105
17106         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
17107         * modules/netinet_in: Likewise.
17108         * modules/sys_file: Likewise.
17109         * modules/sys_ioctl: Likewise.
17110         * modules/sys_select: Likewise.
17111         * modules/sys_socket: Likewise.
17112         * modules/sys_stat: Likewise.
17113         * modules/sys_time: Likewise.
17114         * modules/sys_times: Likewise.
17115         * modules/sys_utsname: Likewise.
17116         * modules/sys_wait: Likewise.
17117
17118 2009-09-01  Jim Meyering  <meyering@redhat.com>
17119
17120         fts: help ensure that return values are not ignored
17121         * lib/fts_.h (__GNUC_PREREQ): Define.
17122         (__attribute_warn_unused_result__): Define.
17123         (fts_children, fts_close, fts_open, fts_read): Declare with
17124         __attribute_warn_unused_result__.
17125
17126         fts: fts_close now fails also when closing a dir file descriptor fails
17127         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
17128         and propagate to caller, along with errno.
17129
17130         announce-gen: correct formatting in --help output
17131         * build-aux/announce-gen (usage): Move the one-line description in
17132         --help output "up", to where it belongs, just after Usage:.
17133
17134 2009-08-31  Eric Blake  <ebb9@byu.net>
17135
17136         fchdir: port to mingw
17137         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
17138         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
17139         opened, then use a substitute.
17140         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
17141         replacement.
17142         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
17143         (_gl_register_fd): No need to check stat if open already filters
17144         all directories.
17145         (fchdir): Fix error condition to match POSIX.
17146         * modules/fchdir (Depends-on): Add sys_stat.
17147         * doc/posix-functions/open.texi (open): Document the limitation.
17148         * modules/fchdir-tests: New file.
17149         * tests/test-fchdir.c: Likewise.
17150
17151         canonicalize: allow cross-testing from cygwin to mingw
17152         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
17153         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
17154         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
17155         Likewise.
17156         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
17157         target does not support symlinks.
17158         * tests/test-canonicalize-lgpl.sh: Likewise.
17159
17160         chown: avoid compilation warning on mingw
17161         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
17162         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
17163         mingw.
17164         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
17165         * modules/chown (Depends-on): Add errno.
17166
17167 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17168
17169         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
17170         command.
17171
17172 2009-08-31  Jim Meyering  <meyering@redhat.com>
17173
17174         canonicalize: remove useless initialization
17175         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
17176         initialization of local, "end".
17177
17178 2009-08-30  Bruno Haible  <bruno@clisp.org>
17179
17180         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
17181         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
17182         ENOSYS.
17183
17184 2009-08-30  Bruno Haible  <bruno@clisp.org>
17185
17186         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
17187         /usr/xpg4/bin/tr when it exists.
17188         * tests/test-pipe-filter-gi1.sh: Likewise.
17189
17190 2009-08-30  Bruno Haible  <bruno@clisp.org>
17191
17192         Work around deficient /usr/bin/id program on Solaris.
17193         * tests/test-file-has-acl.sh (ID): New variable.
17194         * tests/test-set-mode-acl.sh (ID): Likewise.
17195         * tests/test-copy-acl.sh (ID): Likewise.
17196         * tests/test-copy-file.sh (ID): Likewise.
17197
17198 2009-08-30  Bruno Haible  <bruno@clisp.org>
17199
17200         New module 'xstriconveh'.
17201         * lib/xstriconveh.h: New file.
17202         * lib/xstriconveh.c: New file.
17203         * modules/xstriconveh: New file.
17204
17205 2009-08-30  Bruno Haible  <bruno@clisp.org>
17206
17207         Make it easier to use mem_cd_iconveh.
17208         * lib/striconveh.h (iconveh_t): New type.
17209         (iconveh_open, iconveh_close): New declarations.
17210         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
17211         with a single 'const iconveh_t *' argument.
17212         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
17213         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
17214         with a single 'const iconveh_t *' argument.
17215         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
17216         * tests/test-striconveh.c (main): Update.
17217         * NEWS: Mention the change.
17218
17219 2009-08-30  Bruno Haible  <bruno@clisp.org>
17220
17221         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
17222         problem.
17223
17224 2009-08-30  Bruno Haible  <bruno@clisp.org>
17225
17226         Work around iconv_open problem on Solaris.
17227         * lib/iconv_open-solaris.gperf: New file.
17228         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
17229         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
17230         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
17231         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
17232         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
17233         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
17234
17235 2009-08-29  Jim Meyering  <meyering@redhat.com>
17236
17237         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
17238         * top/maint.mk (cvs-check): Remove target; it was just an alias
17239         to the better-named vc-diff-check.
17240         (maintainer-distcheck): Remove rule.  It was used only from
17241         the (alpha/beta/major) target, and all of its commands but one
17242         were coreutils-specific.
17243         (vc-dist): Remove rule.
17244         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
17245         Run vc-diff-check, not vc-dist.
17246         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
17247
17248 2009-08-27  Bruno Haible  <bruno@clisp.org>
17249
17250         * tests/test-bitrotate.c (main): Remove test that uses a shift count
17251         of 0.
17252
17253 2009-08-27  Bruno Haible  <bruno@clisp.org>
17254
17255         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
17256         compilers.
17257         * doc/func.texi: Document the SunPRO C bug.
17258
17259 2009-08-27  Bruno Haible  <bruno@clisp.org>
17260
17261         Fix link error on Solaris.
17262         * tests/test-parse-duration.c (xstrdup): Remove function.
17263
17264 2009-08-26  Pádraig Brady  <P@draigbrady.com>
17265
17266         ignore-value: handle pointer types, too
17267         * lib/ignore-value.h (__attribute__): Remove definition.
17268         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
17269         of a more concise and more-often effective "(void) i" statement.
17270         (ignore_ptr): New function to suppress warnings from functions that
17271         return pointers, and to make it explicit that one function doesn't
17272         handle all cases.
17273
17274 2009-08-25  Bruno Haible  <bruno@clisp.org>
17275
17276         dup2: work around a Linux bug.
17277         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
17278         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
17279         * doc/posix-functions/dup2.texi: Mention the Linux bug.
17280         Reported by Simon Josefsson.
17281
17282 2009-08-25  Jim Meyering  <meyering@redhat.com>
17283
17284         libguestfs uses gnulib
17285         * users.txt: Add libguestfs.
17286
17287 2009-08-24  Eric Blake  <ebb9@byu.net>
17288
17289         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
17290         * lib/pipe2.c (includes): Add binary-io.h.
17291         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
17292
17293 2009-08-24  Bruno Haible  <bruno@clisp.org>
17294
17295         Tolerate declared but missing accept4 syscall.
17296         * lib/accept4.c (accept4): Invoke original accept4 function first, if
17297         available.
17298         * lib/sys_socket.in.h (accept4): If the function is already present,
17299         override it.
17300         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
17301         * modules/accept4 (Makefile.am): Compile accept4.c always.
17302         Reported by Paolo Bonzini and Eric Blake.
17303
17304 2009-08-23  Bruno Haible  <bruno@clisp.org>
17305
17306         New module 'accept4'.
17307         * lib/sys_socket.in.h (accept4): New declaration.
17308         * lib/accept4.c: New file.
17309         * m4/accept4.m4: New file.
17310         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17311         GNULIB_ACCEPT4, HAVE_ACCEPT4.
17312         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
17313         HAVE_ACCEPT4.
17314         * modules/accept4: New file.
17315         * doc/glibc-functions/accept4.texi: Mention the new module.
17316
17317 2009-08-24  Jim Meyering  <meyering@redhat.com>
17318
17319         progname: also set global program_invocation_name, when possible
17320         Before this change, a libtool-enabled program that calls glibc's
17321         error function would report the program name as
17322         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
17323         * modules/progname (configure.ac): Check for a declaration of
17324         program_invocation_name.
17325         * lib/progname.c:  Include <errno.h>.
17326         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
17327         Set program_invocation_name.
17328
17329 2009-08-23  Bruno Haible  <bruno@clisp.org>
17330
17331         * lib/dup3.c: Include <string.h>.
17332
17333 2009-08-23  Bruno Haible  <bruno@clisp.org>
17334
17335         * lib/dup3.c (dup3): Test only once whether the system actually exists.
17336         * lib/pipe2.c (pipe2): Likewise.
17337         Suggested by Eric Blake.
17338
17339 2009-08-23  Bruno Haible  <bruno@clisp.org>
17340
17341         Tolerate declared but missing dup3 syscall.
17342         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
17343         * lib/unistd.in.h (dup3): If the function is already present,
17344         override it.
17345         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
17346         * modules/dup3 (Makefile.am): Compile dup3.c always.
17347         Reported by Paolo Bonzini.
17348
17349 2009-08-23  Bruno Haible  <bruno@clisp.org>
17350
17351         Tolerate declared but missing pipe2 syscall.
17352         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
17353         available.
17354         * lib/unistd.in.h (pipe2): If the function is already present,
17355         override it.
17356         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
17357         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
17358         Reported by Paolo Bonzini.
17359
17360 2009-08-23  Bruno Haible  <bruno@clisp.org>
17361
17362         * lib/pipe2.c (pipe2): Move #ifs inside function.
17363
17364 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17365
17366         quotearg: document limitations of quote_these_too
17367         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
17368         those limitations are created.
17369         * lib/quotearg.h (set_char_quoting): Document that digits and
17370         letters that are special after backslash are not permitted.
17371         (quotearg_char): Cross-reference set_char_quoting documentation.
17372
17373 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
17374
17375         quotearg: implement custom_quoting_style
17376         * lib/quotearg.c: (struct quoting_options): Add left_quote and
17377         right_quote fields.
17378         (set_custom_quoting): New public function.
17379         (quotearg_buffer_restyled): Add left_quote and right_quote
17380         arguments, handle them very much like locale quoting, and update
17381         all uses.
17382         (quotearg_n_custom): New public function.
17383         (quotearg_n_custom_mem): New public function.
17384         (quotearg_custom): New public function.
17385         (quotearg_custom_mem): New public function.
17386         * lib/quotearg.h: Prototype and document new public functions.
17387         (enum quoting_style): For escape_quoting_style and
17388         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
17389         ignored even though they're otherwise like c_quoting_style.
17390         Add custom_quoting_style member and document with comparison to
17391         clocale_quoting_style.
17392         * tests/test-quotearg.c (custom_quotes): New array.
17393         (custom_results): New array.
17394         (main): Extend to test custom quoting.
17395
17396 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17397
17398         quotearg: fix right quote escaping when it's in quote_these_too
17399         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
17400         quote, be sure to prepend only one backslash.
17401         * tests/test-quotearg.c (use_quote_double_quotes): New function.
17402         (main): Test it.
17403
17404 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17405
17406         quotearg-tests: test escaping of embedded locale quotes
17407         * tests/test-quotearg.c (struct result_strings): Add member for
17408         new input.
17409         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
17410         (inputs): Add new input.
17411         (results_g): Add expected results.
17412         (flag_results): Likewise.
17413         (locale_results): Likewise.
17414         (compare_strings): Check those.
17415
17416 2009-08-23  Bruno Haible  <bruno@clisp.org>
17417
17418         Tests for module 'dup3'.
17419         * modules/dup3-tests: New file.
17420         * tests/test-dup3.c: New file.
17421
17422         New module 'dup3'.
17423         * lib/unistd.in.h (dup3): New declaration.
17424         * lib/dup3.c: New file.
17425         * m4/dup3.m4: New file.
17426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
17427         HAVE_DUP3.
17428         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
17429         * modules/dup3: New file.
17430         * doc/glibc-functions/dup3.texi: Mention the new module.
17431
17432 2009-08-23  Bruno Haible  <bruno@clisp.org>
17433
17434         Tweak the dup2 test.
17435         * tests/test-dup2.c (main): Create the test file empty. Verify that an
17436         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
17437         the test file is still empty. Fix argument order of lseek.
17438
17439 2009-08-23  Bruno Haible  <bruno@clisp.org>
17440
17441         Avoid test link errors when the modules getopt-gnu, gettext are used.
17442         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
17443         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17444
17445 2009-08-23  Bruno Haible  <bruno@clisp.org>
17446
17447         Fix getdtablesize() on mingw.
17448         * lib/getdtablesize.c (getdtablesize): Implement differently.
17449         * lib/unistd.in.h (getdtablesize): Improve comment.
17450
17451 2009-08-23  Bruno Haible  <bruno@clisp.org>
17452
17453         New module 'mkostemp'.
17454         Based on Ulrich Drepper's 2007-08-10 change in glibc.
17455         * lib/stdlib.in.h (mksotemp): New declaration.
17456         * lib/mkostemp.c: New file, from glibc with modifications.
17457         * lib/tempname.h (GT_FILE): Remove outdated comment.
17458         (gen_tempname): Add flags argument.
17459         * lib/tempname.c (__GT_BIGFILE): Remove macro.
17460         (__GT_FILE): Map to 1.
17461         (small_open, large_open): Remove macros.
17462         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
17463         * lib/mkstemp.c (mkstemp): Update.
17464         * lib/mkdtemp.c (mkdtemp): Likewise.
17465         * m4/mkostemp.m4: New file.
17466         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
17467         HAVE_MKOSTEMP.
17468         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
17469         HAVE_MKOSTEMP.
17470         * modules/mkostemp: New file, based on modules/mkstemp.
17471         * doc/glibc-functions/mkostemp.texi: Mention the new module.
17472         * NEWS: Mention the change.
17473
17474 2009-08-23  Bruno Haible  <bruno@clisp.org>
17475
17476         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
17477         Reported by Eric Blake.
17478
17479 2009-08-23  Bruno Haible  <bruno@clisp.org>
17480
17481         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
17482         Reported by Eric Blake.
17483
17484 2009-08-23  Bruno Haible  <bruno@clisp.org>
17485
17486         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
17487         * modules/pipe2 (Depends-on): Likewise.
17488
17489 2009-08-23  Eric Blake  <ebb9@byu.net>
17490
17491         fcntl-h: add O_TTY_INIT support
17492         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
17493         * tests/test-fcntl-h.c (o): Test it.
17494         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
17495
17496         fcntl-h: rename from fcntl, in preparation for fcntl(2)
17497         * modules/fcntl: Move <fcntl.h> header replacement...
17498         * modules/fcntl-h: ...to new name, so as not to collide with
17499         like-named function.
17500         * tests/test-fcntl.c: Rename...
17501         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
17502         * modules/fcntl-tests: Rename...
17503         * modules/fcntl-h-tests: ...to this.  Update test file name.
17504         * modules/chdir-long (Depends-on): Update clients.
17505         * modules/chdir-safer (Depends-on): Likewise.
17506         * modules/fcntl-safer (Depends-on): Likewise.
17507         * modules/fts (Depends-on): Likewise.
17508         * modules/mkancesdirs (Depends-on): Likewise.
17509         * modules/mkdir-p (Depends-on): Likewise.
17510         * modules/open (Depends-on): Likewise.
17511         * modules/savewd (Depends-on): Likewise.
17512         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
17513         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
17514
17515 2009-08-22  Bruno Haible  <bruno@clisp.org>
17516
17517         * modules/binary-io (License): Relicense under LGPL.
17518         * modules/pipe2 (License): Likewise.
17519
17520 2009-08-22  Bruno Haible  <bruno@clisp.org>
17521
17522         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
17523         return value.
17524         * lib/pipe-filter-gi.c (filter_init): Likewise.
17525         Reported by Eric Blake.
17526
17527 2009-08-22  Bruno Haible  <bruno@clisp.org>
17528
17529         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
17530         * modules/pipe (Depends-on): Add pipe2.
17531
17532 2009-08-22  Bruno Haible  <bruno@clisp.org>
17533
17534         Tests for module 'pipe2'.
17535         * modules/pipe2-tests: New file.
17536         * tests/test-pipe2.c: New file.
17537
17538         New module 'pipe2'.
17539         * lib/unistd.in.h (pipe2): New declaration.
17540         * lib/pipe2.c: New file.
17541         * m4/pipe2.m4: New file.
17542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
17543         HAVE_PIPE2.
17544         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
17545         * modules/pipe2: New file.
17546         * doc/glibc-functions/pipe2.texi: Mention the new module.
17547
17548 2009-08-22  Bruno Haible  <bruno@clisp.org>
17549
17550         Reference some new glibc functions.
17551         * doc/glibc-functions/accept4.texi: New file.
17552         * doc/glibc-functions/dup3.texi: New file.
17553         * doc/glibc-functions/mkostemp.texi: New file.
17554         * doc/glibc-functions/pipe2.texi: New file.
17555         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
17556         (Glibc sys/socket.h): Refer to accept4.
17557         (Glibc unistd.h): Refer to dup3, pipe2.
17558         Reported by Eric Blake.
17559
17560 2009-08-22  Jim Meyering  <meyering@redhat.com>
17561             Bruno Haible  <bruno@clisp.org>
17562
17563         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
17564         This makes it so packages using automake-1.11's silent-rules option
17565         can print e.g., a single "GEN    configmake.h" line, rather than
17566         the 30+ statements that perform the job.  If you want to see the
17567         actual commands, you can still run "make V=1".
17568         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
17569         so that make output is abbreviated when those variables are defined
17570         appropriately.
17571         * modules/argz: Likewise.
17572         * modules/arpa_inet: Likewise.
17573         * modules/byteswap: Likewise.
17574         * modules/configmake: Likewise.
17575         * modules/dirent: Likewise.
17576         * modules/errno: Likewise.
17577         * modules/fcntl: Likewise.
17578         * modules/float: Likewise.
17579         * modules/fnmatch: Likewise.
17580         * modules/getopt-posix: Likewise.
17581         * modules/glob: Likewise.
17582         * modules/iconv_open: Likewise.
17583         * modules/inttypes: Likewise.
17584         * modules/localcharset: Likewise.
17585         * modules/locale: Likewise.
17586         * modules/math: Likewise.
17587         * modules/netdb: Likewise.
17588         * modules/netinet_in: Likewise.
17589         * modules/poll: Likewise.
17590         * modules/posix_spawnp-tests: Likewise.
17591         * modules/sched: Likewise.
17592         * modules/search: Likewise.
17593         * modules/selinux-h: Likewise.
17594         * modules/signal: Likewise.
17595         * modules/spawn: Likewise.
17596         * modules/stdarg: Likewise.
17597         * modules/stdbool: Likewise.
17598         * modules/stddef: Likewise.
17599         * modules/stdint: Likewise.
17600         * modules/stdio: Likewise.
17601         * modules/stdlib: Likewise.
17602         * modules/string: Likewise.
17603         * modules/strings: Likewise.
17604         * modules/sys_file: Likewise.
17605         * modules/sys_ioctl: Likewise.
17606         * modules/sys_select: Likewise.
17607         * modules/sys_socket: Likewise.
17608         * modules/sys_stat: Likewise.
17609         * modules/sys_time: Likewise.
17610         * modules/sys_times: Likewise.
17611         * modules/sys_utsname: Likewise.
17612         * modules/sys_wait: Likewise.
17613         * modules/sysexits: Likewise.
17614         * modules/time: Likewise.
17615         * modules/unistd: Likewise.
17616         * modules/wchar: Likewise.
17617         * modules/wctype: Likewise.
17618
17619 2009-08-22  Jim Meyering  <meyering@redhat.com>
17620
17621         announce-gen: detect write failure
17622         * build-aux/announce-gen: Add Coda at end.
17623         Remove equivalent-but-more-verbose block at top.
17624
17625 2009-08-19  Akim Demaille  <demaille@gostai.com>
17626
17627         bootstrap: --help to stdout.
17628         * bootstrap (usage): Don't send --help to stderr.
17629         Use a here doc instead of a long string.
17630
17631 2009-08-21  Eric Blake  <ebb9@byu.net>
17632
17633         test-popen-safer: split from test-popen
17634         * tests/test-popen.c (main): Move...
17635         * tests/test-popen.h: ...into new file.
17636         * tests/test-popen-safer2.c: New file.
17637         * modules/popen-tests (Files): Add test-popen.h.
17638         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
17639         Suggested by Bruno Haible.
17640
17641         test-fcntl-safer: split from test-open
17642         * tests/test-open.c (main): Move...
17643         * tests/test-open.h: ...into new file.
17644         * tests/test-fcntl-safer.c: New file.
17645         * modules/open-tests (Files): Add test-open.h.
17646         * modules/fcntl-safer-tests: New file.
17647         Suggested by Bruno Haible.
17648
17649         test-fopen-safer: split from test-fopen
17650         * tests/test-fopen.c (main): Move...
17651         * tests/test-fopen.h: ...into new file.
17652         * tests/test-fopen-safer.c: New file.
17653         * modules/fopen-tests (Files): Add test-fopen.h.
17654         * modules/fopen-safer-tests: New file.
17655         Suggested by Bruno Haible.
17656
17657 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
17658
17659         popen-safer: test O_CLOEXEC at run-time.
17660         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
17661
17662 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
17663
17664         fcntl: move more flags to the header
17665         * lib/cloexec.c: Do not define FD_CLOEXEC here.
17666         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
17667         * lib/fcntl.in.h: Do both things here.
17668
17669 2009-08-21  Jim Meyering  <meyering@redhat.com>
17670
17671         consistently remove $@-t before redirecting to it
17672         * modules/argz: Remove $@-t and $@ before redirecting to the former.
17673         * modules/alloca-opt: Likewise.
17674         * modules/byteswap: Likewise.
17675         * modules/fnmatch: Likewise.
17676         * modules/getopt-posix: Likewise.
17677         * modules/glob: Likewise.
17678         * modules/poll: Likewise.
17679         * modules/posix_spawnp-tests: Likewise.
17680         * modules/sys_socket: Likewise.
17681         * modules/sysexits: Likewise.
17682
17683 2009-08-21  Eric Blake  <ebb9@byu.net>
17684
17685         popen: simplify access to original popen
17686         * lib/popen.c (rpl_popen): No need to worry about popen being a
17687         macro.
17688         Reported by Bruno Haible.
17689
17690 2009-08-20  Eric Blake  <ebb9@byu.net>
17691
17692         build: avoid some compiler warnings
17693         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
17694         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
17695         type.
17696         (new_exclude_segment, excluded_file_pattern_p)
17697         (excluded_file_name_p): Reduce scope.
17698         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
17699         old-style declaration.
17700
17701 2009-08-20  Simon Josefsson  <simon@josefsson.org>
17702
17703         * tests/test-exclude1.sh: Handle Windows EOL.
17704         * tests/test-exclude2.sh: Likewise.
17705         * tests/test-exclude3.sh: Likewise.
17706         * tests/test-exclude4.sh: Likewise.
17707         * tests/test-exclude5.sh: Likewise.
17708         * tests/test-exclude6.sh: Likewise.
17709         * tests/test-exclude7.sh: Likewise.
17710
17711 2009-08-19  Akim Demaille  <demaille@gostai.com>
17712
17713         bootstrap: find sha1sum when named gsha1sum.
17714         * bootstrap (find_tool): New.
17715         ($SHA1SUM): New.
17716         Use it.
17717
17718 2009-08-20  Jim Meyering  <meyering@redhat.com>
17719
17720         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
17721         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
17722         expression that converts "." in a file name to "\." in the resulting
17723         regexp.  Start with a dummy statement, so that prior shell variable
17724         definitions are expanded portably.  Reported by Simon Josefsson.
17725
17726 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
17727
17728         Fix polling for writeability of a screen buffer.
17729         * lib/poll.c: Distinguish input and screen buffers for the
17730         Win32 implementation.
17731         * lib/select.c: Likewise.
17732
17733 2009-08-19  Eric Blake  <ebb9@byu.net>
17734
17735         popen-safer: prevent popen from clobbering std descriptors
17736         * modules/popen-safer: New file.
17737         * lib/popen-safer.c: Likewise.
17738         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
17739         * lib/stdio--.h (popen): Provide override.
17740         * lib/stdio-safer.h (popen_safer): Provide declaration.
17741         * tests/test-popen.c (includes): Partially test this.
17742         * modules/popen-safer-tests: New file, for more tests.
17743         * tests/test-popen-safer.c: Likewise.
17744         * MODULES.html.sh (file stream based Input/Output): Mention it.
17745
17746         tests: test some of the *-safer modules
17747         * modules/fopen-safer (Depends-on): Add fopen.
17748         * modules/fcntl-safer (Depends-on): Add fcntl.
17749         * modules/stdlib-safer (Depends-on): Add stdlib.
17750         (configure.ac): Set indicator.
17751         * modules/unistd-safer (configure.ac): Likewise.
17752         * modules/tmpfile-safer (configure.ac): Likewise.
17753         (Depends-on): Add tmpfile.
17754         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
17755         active.
17756         * tests/test-fopen.c (includes): Test safer versions when they are
17757         in use.
17758         * tests/test-open.c (includes): Likewise.
17759
17760         popen: fix cygwin 1.5 bug when stdin closed
17761         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
17762         * modules/popen: New file.
17763         * modules/popen-tests: Likewise.
17764         * tests/test-popen.c: Likewise.
17765         * m4/popen.m4: Likewise.
17766         * lib/popen.c: Likewise.
17767         * lib/stdio.in.h (popen): New declaration.
17768         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
17769         * modules/stdio (Makefile.am): Likewise.
17770         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
17771
17772 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
17773
17774         maint.mk: give full control over update-copyright exclusions
17775         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
17776         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
17777         (update-copyright): Don't force inclusion of top-level
17778         ChangeLog.  Don't force exclusion of all COPYING files, but make
17779         them the default exclusion instead.
17780
17781 2009-08-16  Bruno Haible  <bruno@clisp.org>
17782
17783         Fix test failures on Solaris 10.
17784         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
17785         tests when Solaris iconv() is used.
17786         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
17787         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
17788         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
17789         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
17790         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
17791
17792 2009-08-16  Bruno Haible  <bruno@clisp.org>
17793
17794         Fix test failures on Solaris 10.
17795         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
17796         'tr' program and pass it as first argument.
17797         * tests/test-pipe-filter-gi1.sh: Likewise.
17798         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
17799         program as first argument.
17800         * tests/test-pipe-filter-gi1.c (main): Likewise.
17801
17802 2009-08-16  Eric Blake  <ebb9@byu.net>
17803
17804         fpurge: fix previous commits
17805         * modules/fpurge (Makefile.am): Make replacement conditional,
17806         partially reverting 2007-04-29 change; missed in previous
17807         attempt.
17808         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
17809         is missing.
17810
17811 2009-08-16  Bruno Haible  <bruno@clisp.org>
17812
17813         Clarify fpurge's effect on the file position.
17814         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
17815         * tests/test-fpurge.c (main): Make a second pass for checking the file
17816         position.
17817
17818 2009-08-16  Bruno Haible  <bruno@clisp.org>
17819
17820         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
17821         declaration of fpurge is missing.
17822         * tests/test-fpurge.c (main): Check that the file has not more contents
17823         than expected. Close the file before removing it.
17824
17825 2009-08-15  Eric Blake  <ebb9@byu.net>
17826
17827         fpurge: don't wrap working cygwin implementation
17828         * lib/fpurge.c (fpurge): Fix comment typo.
17829         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
17830         1.7 to avoid replacement.
17831         * tests/test-fpurge.c (main): Enhance test.
17832
17833 2009-08-15  Eric Blake  <ebb9@byu.net>
17834         and Jim Meyering  <meyering@redhat.com>
17835
17836         test-update-copyright: skip if perl is insufficient
17837         * tests/test-update-copyright.sh: Failure to run maintainer tool
17838         should not cause testsuite failure on cygwin 1.5.
17839
17840 2009-08-14  Eric Blake  <ebb9@byu.net>
17841
17842         doc: mention more functions added in cygwin 1.7.0
17843         * doc/posix-headers/limits.texi (limits.h): Update for recent
17844         cygwin additions.
17845         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
17846         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
17847         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
17848         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
17849         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
17850
17851 2009-08-14  Eric Blake  <ebb9@byu.net>
17852
17853         maint.mk: simplify update-copyright rule
17854         * top/maint.mk (update-copyright-local): Delete, and document how
17855         to do it in cfg.mk instead.
17856         (update-copyright-exclude-regexp): Delete, and document how to do
17857         it in .x-update-copyright instead.
17858         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
17859         exclude ChangeLog.
17860
17861 2009-08-14  Bruno Haible  <bruno@clisp.org>
17862
17863         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
17864
17865 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17866
17867         maint.mk: support update-copyright-env
17868         * top/maint.mk (update-copyright-env): Define place-holder.
17869         (update-copyright): Expand $(update-copyright-env) before
17870         invoking update-copyright.
17871
17872 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17873
17874         update-copyright: implement forced reformatting
17875         * build-aux/update-copyright: Implement and document
17876         UPDATE_COPYRIGHT_FORCE.
17877         * tests/test-update-copyright.sh: Test it.
17878
17879 2009-08-14  Eric Blake  <ebb9@byu.net>
17880         and Bruno Haible  <bruno@clisp.org>
17881
17882         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
17883         * tests/test-locale.c: Revert previous patch related to NULL.
17884         * tests/test-stdio.c: Likewise.
17885         * tests/test-stdlib.c: Likewise.
17886         * tests/test-string.c: Likewise.
17887         * tests/test-unistd.c: Likewise.
17888         * modules/time-tests (Depends-on): Add verify.
17889         * modules/wchar-tests (Depends-on): Likewise.
17890         * tests/test-time.c: Test for NULL compliance.
17891         * tests/test-wchar.c: Likewise.
17892         * modules/locale (Depends-on): Add stddef.
17893         * modules/stdio (Depends-on): Likewise.
17894         * modules/stdlib (Depends-on): Likewise.
17895         * modules/string (Depends-on): Likewise.
17896         * modules/time (Depends-on): Likewise.
17897         * modules/unistd (Depends-on): Likewise.
17898         * modules/wchar (Depends-on): Likewise.
17899         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
17900         * lib/stdlib.in.h (includes): Likewise.
17901         * lib/string.in.h (includes): Likewise.
17902         * lib/time.in.h (includes): Likewise.
17903         * lib/unistd.in.h (includes): Likewise.
17904         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
17905         replaced.
17906         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17907         * m4/stddef_h.m4: New file.
17908         * modules/stddef: Likewise.
17909         * lib/stddef.in.h: Likewise.
17910         * modules/stddef-tests: Likewise.
17911         * tests/test-stddef.c: Likewise.
17912         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
17913         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
17914         * doc/posix-headers/locale.texi (locale.h): Likewise.
17915         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
17916         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
17917         * doc/posix-headers/string.texi (string.h): Likewise.
17918         * doc/posix-headers/time.texi (time.h): Likewise.
17919         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
17920         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
17921
17922 2009-08-14  Eric Blake  <ebb9@byu.net>
17923
17924         doc: improve git diff of texinfo files
17925         * .gitattributes: Add rule for *.texi files, with hint on how to
17926         use it.
17927         Copied from m4, and based on a report by Bruno Haible.
17928
17929 2009-08-14  Bruno Haible  <bruno@clisp.org>
17930
17931         Disable multithread support by default on Cygwin 1.5.x for real.
17932         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
17933
17934 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17935
17936         update-copyright: much ado about intervals
17937         * build-aux/update-copyright: Implement and document
17938         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
17939         of copyright year intervals.
17940         Also, document UPDATE_COPYRIGHT_YEAR.
17941         * tests/test-update-copyright.sh: Test it.
17942
17943         update-copyright: convert 2-digit to 4-digit years
17944         * build-aux/update-copyright: Implement and document.
17945         * tests/test-update-copyright.sh: Update.
17946
17947 2009-08-14  Jim Meyering  <meyering@redhat.com>
17948
17949         test-exclude: avoid coreutils "make check" failure
17950         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
17951         just as in test-argmatch.c.
17952
17953 2009-08-13  Eric Blake  <ebb9@byu.net>
17954
17955         test-dup2: fix bad assumption
17956         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
17957         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
17958
17959         test-version-etc: fix CRLF portability issue
17960         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
17961         recognize \r.
17962         * tests/test-argp-version-etc-1.sh: Likewise.
17963
17964         getopt: update client modules
17965         * modules/argp (Depends-on): Use getopt-gnu.
17966         * modules/git-merge-changelog (Depends-on): Likewise.
17967         * modules/long-options (Depends-on): Likewise.
17968         * modules/xstrtol (Depends-on): Likewise.
17969
17970 2009-08-13  Simon Josefsson  <simon@josefsson.org>
17971
17972         * tests/test-version-etc.sh: Don't fail on different
17973         project/version.  Don't fail on CRLF differences.  Rewrite to use
17974         multiple -e instead of multiple sed forks, suggested by Eric Blake
17975         <ebb9@byu.net>.
17976         * tests/test-argp-version-etc-1.sh: Likewise.
17977
17978 2009-08-13  Simon Josefsson  <simon@josefsson.org>
17979
17980         * tests/test-version-etc.sh: Don't fail on different
17981         project/version.
17982
17983 2009-08-12  Bruno Haible  <bruno@clisp.org>
17984
17985         Tests for modules 'getopt-posix', 'getopt-gnu'.
17986         * modules/getopt-posix-tests: New file.
17987         * tests/test-getopt.c: New file.
17988         * tests/test-getopt.h: New file.
17989         * tests/test-getopt_long.h: New file.
17990
17991         New modules 'getopt-posix', 'getopt-gnu'.
17992         * modules/getopt-gnu: New file, renamed from modules/getopt.
17993         * modules/getopt-posix: New file.
17994         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
17995         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
17996         (gl_GETOPT): Remove macro.
17997         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
17998         Disable the test against BSD systems that declare optreset. Test
17999         against mingw bug. Test against lack of support of optional arguments
18000         on many platforms.
18001         * doc/glibc-headers/getopt.texi: Update module name and list of
18002         relevant platforms.
18003         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
18004         'getopt-gnu' and more portability problems.
18005         * NEWS: Mention the changes.
18006
18007 2009-08-12  Bruno Haible  <bruno@clisp.org>
18008
18009         Ensure that optarg etc. get declared by <unistd.h>.
18010         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
18011         AC_USE_SYSTEM_EXTENSIONS.
18012         * modules/getopt (Depends-on): Add 'extensions'.
18013
18014 2009-08-12  Bruno Haible  <bruno@clisp.org>
18015
18016         Avoid test link errors.
18017         * modules/pipe-filter-ii-tests (Makefile.am): Define
18018         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
18019         * modules/pipe-filter-gi-tests (Makefile.am): Define
18020         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
18021         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18022
18023 2009-08-12  Bruno Haible  <bruno@clisp.org>
18024
18025         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
18026         gl_GETOPT_SUBSTITUTE before.
18027         (gl_GETOPT): Use it.
18028         * m4/argp.m4 (gl_ARGP): Update.
18029         Reported by Sergey Poznyakoff.
18030
18031         * m4/getopt.m4: Reorder macros.
18032         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
18033         (gl_GETOPT_SUBSTITUTE): Remove macro.
18034
18035 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18036
18037         Minor improvement in gitlog-to-changelog
18038
18039         * build-aux/gitlog-to-changelog: New option `--format' makes
18040         output format string configurable.
18041
18042 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18043
18044         Optimize exclude: use hash tables for non-wildcard patterns.
18045
18046         * lib/exclude.c: Include hash.h and mbuiter.h
18047         (struct exclude_pattern, exclude_segment): New data types.
18048         (struct exclude): Rewrite.
18049         (fnmatch_pattern_has_wildcards): New function.
18050         (new_exclude_segment, free_exclude_segment): New functions.
18051         (excluded_file_pattern_p, excluded_file_name_p): New functions.
18052         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
18053         * lib/exclude.h (is_fnmatch_pattern): New prototype.
18054         * modules/exclude: Depend on hash and mbuiter.
18055
18056         * modules/exclude-tests: New file.
18057         * tests/test-exclude.c: New file.
18058         * tests/test-exclude1.sh: New file.
18059         * tests/test-exclude2.sh: New file.
18060         * tests/test-exclude3.sh: New file.
18061         * tests/test-exclude4.sh: New file.
18062         * tests/test-exclude5.sh: New file.
18063         * tests/test-exclude6.sh: New file.
18064         * tests/test-exclude7.sh: New file.
18065
18066 2009-08-12  Bruno Haible  <bruno@clisp.org>
18067
18068         Ensure that getopt() gets declared by <unistd.h>.
18069         * lib/unistd.in.h: Conditionally include getopt.h.
18070         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
18071         Set GNULIB_UNISTD_H_GETOPT.
18072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18073         GNULIB_UNISTD_H_GETOPT.
18074         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
18075
18076 2009-08-12  Bruno Haible  <bruno@clisp.org>
18077
18078         Clarify logic.
18079         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
18080         gl_replace_getopt instead of GETOPT_H.
18081
18082 2009-08-12  Bruno Haible  <bruno@clisp.org>
18083
18084         * m4/getopt.m4: Add comments.
18085
18086 2009-08-12  Bruno Haible  <bruno@clisp.org>
18087
18088         Disable multithread support by default on Cygwin 1.5.x.
18089         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
18090         set gl_use_threads=no if not specified otherwise.
18091
18092 2009-08-11  Bruno Haible  <bruno@clisp.org>
18093
18094         Avoid compilation error on NetBSD 5.0.
18095         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
18096         * tests/test-stdio.c: Likewise.
18097         * tests/test-stdlib.c: Likewise.
18098         * tests/test-string.c: Likewise.
18099         * tests/test-unistd.c: Likewise.
18100         Reported by Greg Troxel <gdt@ir.bbn.com>
18101         at <https://savannah.gnu.org/support/?106973>.
18102
18103 2009-08-11  Bruno Haible  <bruno@clisp.org>
18104
18105         * modules/dup2-tests (Depends-on): Remove close.
18106
18107         Undo 2009-07-19 commit.
18108         * modules/acl-tests (Depends-on): Remove close.
18109         * modules/binary-io-tests (Depends-on): Likewise.
18110         * modules/closein-tests (Depends-on): Likewise.
18111         * modules/flock-tests (Depends-on): Likewise.
18112         * modules/fsync-tests (Depends-on): Likewise.
18113         * modules/lseek-tests (Depends-on): Likewise.
18114         * modules/pipe-tests (Depends-on): Likewise.
18115         * modules/posix_spawn-tests (Depends-on): Likewise.
18116         * modules/posix_spawnp-tests (Depends-on): Likewise.
18117         * modules/stat-time-tests (Depends-on): Likewise.
18118         * modules/yesno-tests (Depends-on): Likewise.
18119
18120 2009-08-10  Bruno Haible  <bruno@clisp.org>
18121
18122         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
18123
18124 2009-08-10  Bruno Haible  <bruno@clisp.org>
18125
18126         Fix a gcc warning.
18127         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
18128
18129 2009-08-10  Bruno Haible  <bruno@clisp.org>
18130
18131         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
18132         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
18133         not only the first time.
18134         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
18135         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
18136         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
18137         is 1, not only the the first time.
18138
18139 2009-08-10  Bruno Haible  <bruno@clisp.org>
18140
18141         Make it possible to use module 'gethostname' without module 'close'.
18142         * lib/unistd.in.h (close): Evoke a link error only if
18143         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
18144         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18145         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18146         * modules/unistd (Makefile.am): Substitute
18147         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18148         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
18149         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
18150         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
18151         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18152         * modules/sys_ioctl (Makefile.am): Substitute
18153         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18154         * modules/socket (configure.ac): On native Windows, set
18155         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
18156         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18157         Reported by Sam Steingold <sds@gnu.org>.
18158
18159 2009-08-10  Bruno Haible  <bruno@clisp.org>
18160
18161         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
18162         * modules/ioctl (configure.ac): Likewise.
18163
18164 2009-08-10  Bruno Haible  <bruno@clisp.org>
18165
18166         Avoid collision between gnulib wrapper and libintl wrapper.
18167         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
18168         already defined in intl/printf.c.
18169         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
18170         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
18171
18172 2009-08-09  Bruno Haible  <bruno@clisp.org>
18173
18174         Make <sys/select.h> really self-contained, also on Solaris 10.
18175         * lib/sys_select.in.h: Include <string.h>.
18176         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
18177         Solaris 10 problem.
18178         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
18179         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
18180         Reported by Jim Meyering.
18181
18182 2009-08-09  Bruno Haible  <bruno@clisp.org>
18183
18184         Avoid warnings from 'aclocal' that are due to a use of macro name
18185         AM_XGETTEXT_OPTION that is not defined in automake.
18186         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
18187         automake.
18188         * modules/error (configure.ac): Likewise.
18189         * modules/propername (configure.ac): Likewise.
18190         * modules/vasprintf (configure.ac): Likewise.
18191         * modules/verror (configure.ac): Likewise.
18192         * modules/xprintf (configure.ac): Likewise.
18193         * modules/xvasprintf (configure.ac): Likewise.
18194
18195 2009-08-08  Bruno Haible  <bruno@clisp.org>
18196
18197         Avoid compilation error in C++ mode.
18198         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
18199         Reported by Sam Steingold <sds@gnu.org>.
18200
18201 2009-08-08  Bruno Haible  <bruno@clisp.org>
18202
18203         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
18204         for the various Unix platforms.
18205         * doc/posix-headers/limits.texi: Update platforms list regarding
18206         HOST_NAME_MAX.
18207         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18208
18209 2009-08-07  Jim Meyering  <meyering@redhat.com>
18210
18211         selinux-at: fix typo in a comment
18212         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
18213         Spotted by Paolo Bonzini.
18214
18215         selinux-at: remove redundant m4 code, add documentation
18216         * modules/selinux-at (configure.ac): Remove redundant code.
18217         LIB_SELINUX is already set via the dependent module, selinux-h.
18218         (Include): Add quotes around selinux-at.h.
18219         * lib/selinux-at.h: Add documentation.
18220         Reported by Bruno Haible in
18221         http://marc.info/?l=gnulib-bug&m=124958988300749
18222
18223 2009-08-07  Bruno Haible  <bruno@clisp.org>
18224
18225         Avoid link error on MacOS X 10.3 and 10.4.
18226         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
18227         on non-ELF systems.
18228         * lib/argp-pv.c (argp_program_version): Likewise.
18229         Reported by Simon Josefsson.
18230
18231 2009-08-07  Simon Josefsson  <simon@josefsson.org>
18232
18233         * tests/test-version-etc.sh: Use $EXEEXT.
18234
18235 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
18236
18237         update-copyright: update documentation to point to maint.mk
18238         * build-aux/update-copyright: Here.
18239
18240 2009-08-06  Jim Meyering  <meyering@redhat.com>
18241
18242         maint.mk: support update-copyright-local
18243         * top/maint.mk (update-copyright-local): Define place-holder.
18244         (update-copyright): Depend on $(update-copyright-local).
18245
18246 2009-08-06  Jim Meyering  <meyering@redhat.com>
18247
18248         selinux-at: new module
18249         Initially written for coreutils, this module will soon be
18250         used by findutils, too.
18251         * MODULES.html.sh [Misc]: Add selinux-at.
18252         * lib/selinux-at.h: New file, from coreutils.
18253         * lib/selinux-at.c: Likewise.
18254         * modules/selinux-at: Likewise.
18255         (License): Change from LGPL to GPL, since it depends
18256         on the GPL'd openat module.
18257
18258         doc: update README
18259         * README: Remove references to cogito.
18260         Remove cvs-repo-updating instructions from 2007.
18261         Don't imply that CVS is better if you have limited disk space.
18262
18263 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18264
18265         update-copyright: support C-style comments
18266         * build-aux/update-copyright: Implement and document.
18267         * tests/test-update-copyright.sh: Test.
18268
18269 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18270
18271         update-copyright: support omitted "(C)"
18272         * build-aux/update-copyright: Implement and document.  Also,
18273         allow variable whitespace before "(C)".
18274         * tests/test-update-copyright.sh: Test.
18275
18276 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18277
18278         update-copyright: don't trip on non-FSF copyright statements
18279         * build-aux/update-copyright: Fix so that the first correctly
18280         formatted FSF copyright statement is recognized no matter what
18281         appears before it.  Update documentation.
18282         * tests/test-update-copyright.sh: Test that.
18283
18284 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18285
18286         update-copyright: clean up code a little
18287         * build-aux/update-copyright: Append "_re" to the name of any
18288         variable holding a regular expression.
18289         Replace "old" and "new" with "stmt" in variable names.
18290         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
18291         handled correctly.
18292         Format code more consistently.
18293
18294 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18295
18296         update-copyright-tests: improve portability
18297         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
18298         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
18299
18300 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
18301
18302         update-copyright: support @copyright{} and &copy;
18303         * build-aux/update-copyright: Implement and document.
18304         * tests/test-update-copyright.sh: Test.
18305
18306 2009-08-04  Jim Meyering  <meyering@redhat.com>
18307
18308         update-copyright-tests: correctly test EOL=\r\n handling
18309         * tests/test-update-copyright.sh: Put \r at the end of some lines
18310         for the dos-eol tests.  Based on a patch by Joel E. Denny.
18311
18312         maint.mk: make update-copyright exclusion list more configurable
18313         * top/maint.mk (update-copyright): Default to excluding COPYING,
18314         but allow an override, in case someone does want to update that file.
18315
18316         maint.mk: don't update copyright date in COPYING
18317         * top/maint.mk (update-copyright): Exclude COPYING.
18318
18319         maint.mk: add a copyright-updating rule
18320         * top/maint.mk (update-copyright): New rule.
18321         Derived from coreutils/Makefile.am.
18322
18323         update-copyright: rename some variables
18324         * build-aux/update-copyright: Rename a few variables for clarity.
18325         Tweak syntax.  List Joel E. Denny as coauthor.
18326
18327 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
18328
18329         update-copyright: fix bug for 2-digit last year and add tests
18330         * build-aux/update-copyright: Fix bug.
18331         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
18332         specified.
18333         * modules/update-copyright-tests: New
18334         * tests/test-update-copyright.sh: New.
18335
18336 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18337
18338         update-copyright: handle leading tabs in line prefix
18339         * build-aux/update-copyright: Count leading tabs as 8 spaces
18340         when computing margin.  This helps with the formatting of
18341         ChangeLogs, for example.
18342         Fix documentation a little.
18343
18344 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18345
18346         update-copyright: support EOL=\r\n
18347         * build-aux/update-copyright: Implement that.
18348
18349 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18350
18351         update-copyright: automatically format copyright statements
18352         * build-aux/update-copyright: Implement that.
18353         Also, be a little more predictable and safer by always failing
18354         when the full copyright format is not perfectly recognized as an
18355         unbroken whole.  Discussed at
18356         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
18357         Rewrite documentation.
18358
18359 2009-08-03  Bruno Haible  <bruno@clisp.org>
18360
18361         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
18362
18363 2009-08-02  Bruno Haible  <bruno@clisp.org>
18364
18365         Tests for module 'uname'.
18366         * modules/uname-tests: New file.
18367         * tests/test-uname.c: New file.
18368
18369         New module 'uname'.
18370         * lib/uname.c: New file.
18371         * m4/uname.m4: New file.
18372         * modules/uname: New file.
18373         * doc/posix-functions/uname.texi: Mention the new module.
18374
18375 2009-08-02  Bruno Haible  <bruno@clisp.org>
18376
18377         Tests for module 'sys_utsname'.
18378         * modules/sys_utsname-tests: New file.
18379         * tests/test-sys_utsname.c: New file.
18380
18381         New module 'sys_utsname'.
18382         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
18383         * m4/sys_utsname_h.m4: New file.
18384         * modules/sys_utsname: New file.
18385         * doc/posix-headers/sys_utsname.texi: Mention the new module.
18386
18387 2009-08-02  Bruno Haible  <bruno@clisp.org>
18388
18389         Implicitly initialize the sockets library.
18390         * lib/gethostname.c: Include sockets.h.
18391         (rpl_gethostname): Invoke gl_sockets_startup.
18392         * lib/socket.c: Include sockets.h.
18393         (rpl_socket): Invoke gl_sockets_startup.
18394         * modules/gethostname (Depends-on): Add sockets.
18395         * modules/socket (Depends-on): Likewise.
18396         * tests/test-poll.c: Don't include sockets.h.
18397         (main): Don't invoke gl_sockets_startup.
18398         * tests/test-select.c: Don't include sockets.h.
18399         (main): Don't invoke gl_sockets_startup.
18400
18401 2009-08-02  Bruno Haible  <bruno@clisp.org>
18402
18403         Allow multiple calls to gl_sockets_startup.
18404         * lib/sockets.c (initialized_sockets_version): New variable.
18405         (gl_sockets_startup): Do nothing if already called for this or a higher
18406         version.
18407         (gl_sockets_cleanup): Reset initialized_sockets_version.
18408
18409 2009-08-03  Simon Josefsson  <simon@josefsson.org>
18410
18411         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
18412         different project/version.
18413
18414 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
18415             Bruno Haible  <bruno@clisp.org>
18416
18417         Tests for module 'pipe-filter-gi'.
18418         * modules/pipe-filter-gi-tests: New file.
18419         * tests/test-pipe-filter-gi1.sh: New file.
18420         * tests/test-pipe-filter-gi1.c: New file.
18421         * tests/test-pipe-filter-gi2.sh: New file.
18422         * tests/test-pipe-filter-gi2-main.c: New file.
18423         * tests/test-pipe-filter-gi2-child.c: New file.
18424
18425         New module 'pipe-filter-gi'.
18426         * lib/pipe-filter-gi.c: New file.
18427         * modules/pipe-filter-gi: New file.
18428
18429 2009-08-02  Bruno Haible  <bruno@clisp.org>
18430             Paolo Bonzini  <bonzini@gnu.org>
18431
18432         Tests for module 'pipe-filter-ii'.
18433         * modules/pipe-filter-ii-tests: New file.
18434         * tests/test-pipe-filter-ii1.sh: New file.
18435         * tests/test-pipe-filter-ii1.c: New file.
18436         * tests/test-pipe-filter-ii2.sh: New file.
18437         * tests/test-pipe-filter-ii2-main.c: New file.
18438         * tests/test-pipe-filter-ii2-child.c: New file.
18439
18440         New module 'pipe-filter-ii'.
18441         * lib/pipe-filter.h: New file.
18442         * lib/pipe-filter-ii.c: New file.
18443         * lib/pipe-filter-aux.h: New file.
18444         * modules/pipe-filter-ii: New file.
18445
18446 2009-08-02  Simon Josefsson  <simon@josefsson.org>
18447
18448         * lib/gc-libgcrypt.c: Change copyright to FSF.
18449         * lib/gc-gnulib.c: Likewise.
18450
18451 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
18452
18453         * lib/gethostname.c: Include limits.h.
18454
18455 2009-08-02  Simon Josefsson  <simon@josefsson.org>
18456             Bruno Haible  <bruno@clisp.org>
18457
18458         Ensure HOST_NAME_MAX as part of the gethostname module.
18459         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
18460         define also HOST_NAME_MAX.
18461         * tests/test-gethostname.c: Include <limits.h>.
18462         (main): Check also HOST_NAME_MAX.
18463         * doc/posix-headers/limits.texi: Document the mingw problem.
18464
18465 2009-08-02  Bruno Haible  <bruno@clisp.org>
18466
18467         * lib/gethostname.c (gethostname): Fix handling of large len argument.
18468         Add comments.
18469
18470 2009-03-31  Simon Josefsson  <simon@josefsson.org>
18471
18472         * lib/gethostname.c: Add Windows wrapper.
18473         * m4/gethostname.m4: Look for gethostname in -lws2_32.
18474         * modules/gethostname: Depend on sys_socket & errno, for also
18475         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
18476         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
18477
18478 2009-07-31  Jim Meyering  <meyering@redhat.com>
18479
18480         getloadavg: fix symbol name in comment
18481         * lib/getloadavg.c: Correct a typo I introduced when adding
18482         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
18483         Matt Kraai spotted the problem.
18484
18485 2009-07-29  Matt Kraai  <mkraai@beckman.com>
18486
18487         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
18488         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
18489         code also if ! defined N_NAME_POINTER.
18490         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
18491         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
18492         but the n_name member is a 12-byte array.
18493
18494 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
18495
18496         update-copyright: generalize comment handling
18497         * build-aux/update-copyright: Handle copyright statements
18498         within more comment styles.
18499         Document usage.
18500         Report any file with an external copyright holder or parse failure.
18501
18502 2009-07-29  Jim Meyering  <meyering@redhat.com>
18503
18504         mktime: correct setting of REPLACE_MKTIME
18505         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
18506
18507         update-copyright: new module
18508         * modules/update-copyright: New file.
18509         * build-aux/update-copyright: New file.
18510         * MODULES.html.sh (maint+release support): Add update-copyright.
18511
18512 2009-07-27  Bruno Haible  <bruno@clisp.org>
18513
18514         Fix compilation error when <ctime> is used and mktime is replaced.
18515         * lib/time.in.h (mktime): New declaration.
18516         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
18517         REPLACE_MKTIME instead of defining mktime in config.h.
18518         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
18519         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
18520         Reported by Ross McFarland <rwmcfa1@neces.com>.
18521
18522 2009-07-27  Bruno Haible  <bruno@clisp.org>
18523
18524         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
18525         Reported by Matt Kraai <mkraai@beckman.com>.
18526
18527 2009-07-25  Jim Meyering  <meyering@redhat.com>
18528
18529         maint.mk: avoid warnings about missing files
18530         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
18531         diagnostic when .prev-version does not exist.
18532         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
18533         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
18534         nonexistent cfg.mk.
18535         Suggestions from Simon Josefsson.
18536
18537 2009-07-25  Bruno Haible  <bruno@clisp.org>
18538
18539         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
18540         defined as macros. Needed on QNX 6.4.1.
18541         Reported by Matt Kraai <mkraai@beckman.com>.
18542
18543 2009-07-23  Jim Meyering  <meyering@redhat.com>
18544
18545         maint.mk: invoke "make dist" with a working value of XZ_OPT
18546         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
18547
18548 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
18549
18550         Make fseeko.c compile on QNX.
18551         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
18552
18553 2009-07-22  Peter Simons  <simons@cryp.to>
18554
18555         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
18556         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
18557         * lib/md4.h: Likewise.
18558         * lib/md5.h: Likewise.
18559         * lib/sha1.h: Likewise.
18560         * lib/sha256.h: Likewise.
18561         * lib/sha512.h: Likewise.
18562
18563         tests-sha1: don't assign literal string to 'char *' variable
18564         * tests/test-sha1.c (main): Declare locals with "const" to match
18565         attributes of the right hand side.
18566
18567 2009-07-21  Eric Blake  <ebb9@byu.net>
18568
18569         dup2: fix more mingw problems
18570         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
18571         fd to itself.
18572         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18573         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
18574         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
18575         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
18576         care of mingw bugs.
18577
18578 2009-07-21  Jim Meyering  <meyering@redhat.com>
18579
18580         vc-list-files: avoid failure when /bin/sh is dash
18581         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
18582         On some Debian based systems, /bin/sh is a symlink to dash, and running
18583         this command would omit the "/" following each 'tests' prefix:
18584           dash -x build-aux/vc-list-files -C . tests
18585         That is because bash and dash work differently:
18586           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
18587           bash ok
18588           dash odd
18589
18590 2009-07-21  Eric Blake  <ebb9@byu.net>
18591
18592         dup2-tests: test previous patch
18593         * modules/dup2-tests: New file.
18594         * tests/test-dup2.c: Likewise.
18595         * tests/test-open.c (main): Avoid unspecified behavior.
18596         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
18597         test.
18598
18599         dup2: work around mingw and cygwin 1.5 bug
18600         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
18601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18602         * modules/unistd (Makefile.am): Substitute it.
18603         * lib/unistd.in.h (dup2): Declare the replacement.
18604         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
18605         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
18606         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
18607         * modules/execute (Depends-on): Add dup2.
18608         * modules/fseterr (Depends-on): Likewise.
18609         * modules/pipe (Depends-on): Likewise.
18610         * modules/posix_spawn-internal (Depends-on): Likewise.
18611
18612 2009-07-21  Bruno Haible  <bruno@clisp.org>
18613
18614         * modules/.gitattributes: New file.
18615
18616 2009-07-20  Bruno Haible  <bruno@clisp.org>
18617
18618         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
18619         (main): Use it.
18620
18621 2009-07-20  Eric Blake  <ebb9@byu.net>
18622
18623         test-pipe: make a bit more robust.
18624         * tests/test-pipe.c (myerr): Allow error messages regardless of
18625         what we do to stderr.
18626         (test_pipe): Rearrange to avoid deadlock.
18627         (child_main): Try a larger read, to ensure we avoided deadlock.
18628         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
18629         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
18630         if misused.
18631
18632 2009-07-19  Jim Meyering  <meyering@redhat.com>
18633
18634         fts: avoid false-positive cycle-detection
18635         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
18636         for each new command line argument.
18637
18638 2009-07-19  Bruno Haible  <bruno@clisp.org>
18639
18640         Fix build error on mingw with the modules sys_select and unistd.
18641         * modules/acl-tests (Depends-on): Add close.
18642         * modules/binary-io-tests (Depends-on): Likewise.
18643         * modules/closein-tests (Depends-on): Likewise.
18644         * modules/flock-tests (Depends-on): Likewise.
18645         * modules/fsync-tests (Depends-on): Likewise.
18646         * modules/lseek-tests (Depends-on): Likewise.
18647         * modules/pipe-tests (Depends-on): Likewise.
18648         * modules/posix_spawn-tests (Depends-on): Likewise.
18649         * modules/posix_spawnp-tests (Depends-on): Likewise.
18650         * modules/stat-time-tests (Depends-on): Likewise.
18651         * modules/yesno-tests (Depends-on): Likewise.
18652
18653 2009-07-19  Bruno Haible  <bruno@clisp.org>
18654
18655         Unify conditionals.
18656         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
18657         macros, not at the compiler macros.
18658         * lib/pipe.c: Likewise.
18659         * lib/execute.c: Likewise.
18660         * lib/spawni.c: Likewise.
18661
18662 2009-07-19  Bruno Haible  <bruno@clisp.org>
18663
18664         Fix handling of closed stdin/stdout/stderr on mingw.
18665         * lib/w32spawn.h: Include unistd.h.
18666         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
18667         file descriptor with O_NOINHERIT flag.
18668         (fd_safer_noinherit): New function, based on fd-safer.c.
18669         (dup_safer_noinherit): New function, based on dup-safer.c.
18670         (undup_safer_noinherit): New function.
18671         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
18672         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
18673         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
18674         instead of fd_safer.
18675         * tests/test-pipe.c: Include <windows.h>.
18676         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
18677
18678         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
18679         from main.
18680         (test_pipe): Pass an extra argument for disambiguation.
18681         (main): Invoke parent_main or child_main.
18682
18683         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
18684         consistently.
18685
18686 2009-07-18  Eric Blake  <ebb9@byu.net>
18687
18688         test-pipe: fix mingw build
18689         * tests/test-pipe.c (main): Avoid fcntl on mingw.
18690
18691 2009-07-18  Bruno Haible  <bruno@clisp.org>
18692
18693         * modules/pipe-tests (Makefile.am): Fix typo.
18694
18695 2009-07-18  Eric Blake  <ebb9@byu.net>
18696
18697         error: fix mingw build
18698         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
18699         Reported by Bruno Haible.
18700
18701         error: avoid undefined use of stdout
18702         * lib/error.c (error, error_at_line): Check that fd 1 is open
18703         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
18704         is handling faults and the close_stdout module wants to report the
18705         detection of closed stdout as an error.
18706
18707 2009-07-17  Eric Blake  <ebb9@byu.net>
18708
18709         pipe: be robust in face of closed fds
18710         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
18711         should cause child to misbehave.
18712         * modules/pipe-tests: New module.
18713         * tests/test-pipe.c: New file.
18714         * tests/test-pipe.sh: New file.
18715         Reported by Akim Demaille.
18716
18717 2009-07-14  Bruno Haible  <bruno@clisp.org>
18718
18719         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
18720         Reported by anonymous kc.
18721
18722 2009-07-07  Jim Meyering  <meyering@redhat.com>
18723
18724         maint.mk: don't look for translatable strings in *.m4 or *.mk
18725         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
18726         when searching for translatable strings.
18727
18728 2009-07-05  Jim Meyering  <meyering@redhat.com>
18729
18730         remove superfluous parentheses in STREQ definition
18731         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
18732         * lib/getugroups.c (STREQ): Likewise.
18733         * lib/fnmatch.c (STREQ): Likewise.
18734         Spotted by Bruno Haible.
18735
18736 2009-07-04  Jim Meyering  <meyering@redhat.com>
18737
18738         argv-iter: new module
18739         * MODULES.html.sh: Add argv-iter.
18740         * lib/argv-iter.c, lib/argv-iter.h: New files.
18741         * modules/argv-iter: New file.
18742         * modules/argv-iter-tests: New file.
18743         * tests/test-argv-iter.c: Test it.
18744
18745 2009-07-04  Bruno Haible  <bruno@clisp.org>
18746
18747         Fix assertion.
18748         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
18749         contains more exact copies of a given entry than file2, leave the extra
18750         copies unpaired rather than aborting.
18751         Reported by Eric Blake.
18752
18753 2009-07-02  Bruno Haible  <bruno@clisp.org>
18754
18755         Speedup git-merge-changelog for git cherry-pick.
18756         * lib/git-merge-changelog.c (struct entries_mapping): New type.
18757         (entries_mapping_get): New function, extracted from compute_mapping.
18758         (entries_mapping_reverse_get): New function.
18759         (compute_mapping): Add a 'full' argument. Return the result in a
18760         'struct entries_mapping'.
18761         (main): Update. Access the mappings through entries_mapping_get.
18762         Reported by Eric Blake.
18763
18764 2009-07-02  Bruno Haible  <bruno@clisp.org>
18765
18766         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
18767         best_i.
18768
18769 2009-07-02  Bruno Haible  <bruno@clisp.org>
18770
18771         Speed up approximate search for matching ChangeLog entries.
18772         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
18773         argument. Call fstrcmp_bounded instead of fstrcmp.
18774         (compute_mapping, try_split_merged_entry, main): Update callers.
18775
18776 2009-07-02  Bruno Haible  <bruno@clisp.org>
18777
18778         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
18779
18780 2009-06-30  Bruno Haible  <bruno@clisp.org>
18781
18782         Reduce the number of uc_is_cased calls.
18783         * lib/unicase.h (casing_suffix_context_t): Add
18784         'first_char_except_ignorable' field.
18785         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
18786         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
18787         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
18788         Update initializer.
18789         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
18790         case-ignorable characters.
18791         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
18792         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
18793         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
18794         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
18795         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
18796
18797 2009-06-30  Bruno Haible  <bruno@clisp.org>
18798
18799         Tests for module 'unicase/ignorable'.
18800         * modules/unicase/ignorable-tests: New file.
18801         * tests/unicase/test-ignorable.c: New file, generated by
18802         gen-uni-tables.
18803
18804         Tests for module 'unicase/cased'.
18805         * modules/unicase/cased-tests: New file.
18806         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
18807         * tests/unicase/test-predicate-part1.h: New file, derived from
18808         tests/unictype/test-predicate-part1.h.
18809         * tests/unicase/test-predicate-part2.h: New file, same as
18810         tests/unictype/test-predicate-part2.h.
18811
18812         Fix evaluation of "Before C" condition of FINAL_SIGMA.
18813         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
18814         (output_casing_properties): New function.
18815         (main): Call it.
18816         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
18817         * lib/unicase/cased.c: Include unictype/bitmap.h.
18818         (uc_is_cased): Define through a bitmap lookup.
18819         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
18820         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
18821         (uc_is_case_ignorable): Define through a bitmap lookup.
18822         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
18823         lib/unictype/bitmap.h.
18824         (Depends-on): Add inline. Clean up.
18825         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
18826         lib/unictype/bitmap.h.
18827         (Depends-on): Add inline. Clean up.
18828         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
18829         recognition.
18830         * tests/unicase/test-u16-tolower.c (main): Likewise.
18831         * tests/unicase/test-u32-tolower.c (main): Likewise.
18832
18833 2009-06-30  Bruno Haible  <bruno@clisp.org>
18834
18835         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
18836         * lib/unicase/u16-casemap.c: Likewise.
18837         * lib/unicase/u32-casemap.c: Likewise.
18838
18839 2009-06-29  Bruno Haible  <bruno@clisp.org>
18840
18841         Define u32_casefold as a wrapper around u32_ct_casefold.
18842         * lib/unicase/u32-casefold.c: Update.
18843         * modules/unicase/u32-casefold (Depends-on): Add
18844         unicase/u32-ct-casefold, unicase/empty-prefix-context,
18845         unicase/empty-suffix-context. Clean up.
18846
18847         Define u16_casefold as a wrapper around u16_ct_casefold.
18848         * lib/unicase/u16-casefold.c: Update.
18849         * modules/unicase/u16-casefold (Depends-on): Add
18850         unicase/u16-ct-casefold, unicase/empty-prefix-context,
18851         unicase/empty-suffix-context. Clean up.
18852
18853         Define u8_casefold as a wrapper around u8_ct_casefold.
18854         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
18855         * lib/unicase/u8-casefold.c: Update.
18856         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
18857         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18858
18859         Define u32_totitle as a wrapper around u32_ct_totitle.
18860         * lib/unicase/u32-totitle.c: Update.
18861         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
18862         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18863
18864         Define u16_totitle as a wrapper around u16_ct_totitle.
18865         * lib/unicase/u16-totitle.c: Update.
18866         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
18867         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18868
18869         Define u8_totitle as a wrapper around u8_ct_totitle.
18870         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
18871         functions.
18872         (FUNC): Delegate to U_CT_TOTITLE.
18873         * lib/unicase/u8-totitle.c: Update.
18874         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
18875         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18876
18877         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
18878         invocation.
18879         * modules/unicase/u32-tolower (Depends-on): Add
18880         unicase/empty-prefix-context, unicase/empty-suffix-context.
18881
18882         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
18883         invocation.
18884         * modules/unicase/u16-tolower (Depends-on): Add
18885         unicase/empty-prefix-context, unicase/empty-suffix-context.
18886
18887         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
18888         * modules/unicase/u8-tolower (Depends-on): Add
18889         unicase/empty-prefix-context, unicase/empty-suffix-context.
18890
18891         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
18892         invocation.
18893         * modules/unicase/u32-toupper (Depends-on): Add
18894         unicase/empty-prefix-context, unicase/empty-suffix-context.
18895
18896         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
18897         invocation.
18898         * modules/unicase/u16-toupper (Depends-on): Add
18899         unicase/empty-prefix-context, unicase/empty-suffix-context.
18900
18901         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
18902         * modules/unicase/u8-toupper (Depends-on): Add
18903         unicase/empty-prefix-context, unicase/empty-suffix-context.
18904
18905         New module 'unicase/u32-ct-casefold'.
18906         * lib/unicase/u32-ct-casefold.c: New file.
18907         * modules/unicase/u32-ct-casefold: New file.
18908
18909         New module 'unicase/u16-ct-casefold'.
18910         * lib/unicase/u16-ct-casefold.c: New file.
18911         * modules/unicase/u16-ct-casefold: New file.
18912
18913         New module 'unicase/u8-ct-casefold'.
18914         * lib/unicase/u8-ct-casefold.c: New file.
18915         * lib/unicase/u-ct-casefold.h: New file, derived from
18916         lib/unicase/u-casefold.h.
18917         * modules/unicase/u8-ct-casefold: New file.
18918
18919         New module 'unicase/u32-ct-totitle'.
18920         * lib/unicase/u32-ct-totitle.c: New file.
18921         * modules/unicase/u32-ct-totitle: New file.
18922
18923         New module 'unicase/u16-ct-totitle'.
18924         * lib/unicase/u16-ct-totitle.c: New file.
18925         * modules/unicase/u16-ct-totitle: New file.
18926
18927         New module 'unicase/u8-ct-totitle'.
18928         * lib/unicase/u8-ct-totitle.c: New file.
18929         * lib/unicase/u-ct-totitle.h: New file, derived from
18930         lib/unicase/u-totitle.h.
18931         * modules/unicase/u8-ct-totitle: New file.
18932
18933         New module 'unicase/u32-ct-tolower'.
18934         * lib/unicase/u32-ct-tolower.c: New file.
18935         * modules/unicase/u32-ct-tolower: New file.
18936
18937         New module 'unicase/u16-ct-tolower'.
18938         * lib/unicase/u16-ct-tolower.c: New file.
18939         * modules/unicase/u16-ct-tolower: New file.
18940
18941         New module 'unicase/u8-ct-tolower'.
18942         * lib/unicase/u8-ct-tolower.c: New file.
18943         * modules/unicase/u8-ct-tolower: New file.
18944
18945         New module 'unicase/u32-ct-toupper'.
18946         * lib/unicase/u32-ct-toupper.c: New file.
18947         * modules/unicase/u32-ct-toupper: New file.
18948
18949         New module 'unicase/u16-ct-toupper'.
18950         * lib/unicase/u16-ct-toupper.c: New file.
18951         * modules/unicase/u16-ct-toupper: New file.
18952
18953         New module 'unicase/u8-ct-toupper'.
18954         * lib/unicase/u8-ct-toupper.c: New file.
18955         * modules/unicase/u8-ct-toupper: New file.
18956
18957         Add context arguments to u*_casemap functions.
18958         * lib/unicase/unicasemap.h: Include unicase.h.
18959         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
18960         suffix_context arguments.
18961         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
18962         functions.
18963         (FUNC): Add prefix_context and suffix_context arguments. Use
18964         uc_is_cased and uc_is_case_ignorable.
18965         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
18966         * lib/unicase/u16-casemap.c: Likewise.
18967         * lib/unicase/u32-casemap.c: Likewise.
18968         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
18969         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
18970         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
18971         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
18972         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
18973         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
18974
18975         New module 'unicase/u32-suffix-context'.
18976         * lib/unicase/u32-suffix-context.c: New file.
18977         * modules/unicase/u32-suffix-context: New file.
18978
18979         New module 'unicase/u16-suffix-context'.
18980         * lib/unicase/u16-suffix-context.c: New file.
18981         * modules/unicase/u16-suffix-context: New file.
18982
18983         New module 'unicase/u8-suffix-context'.
18984         * lib/unicase/u8-suffix-context.c: New file.
18985         * lib/unicase/u-suffix-context.h: New file.
18986         * modules/unicase/u8-suffix-context: New file.
18987
18988         New module 'unicase/empty-suffix-context'.
18989         * lib/unicase/empty-suffix-context.c: New file.
18990         * modules/unicase/empty-suffix-context: New file.
18991
18992         New module 'unicase/u32-prefix-context'.
18993         * lib/unicase/u32-prefix-context.c: New file.
18994         * modules/unicase/u32-prefix-context: New file.
18995
18996         New module 'unicase/u16-prefix-context'.
18997         * lib/unicase/u16-prefix-context.c: New file.
18998         * modules/unicase/u16-prefix-context: New file.
18999
19000         New module 'unicase/u8-prefix-context'.
19001         * lib/unicase/u8-prefix-context.c: New file.
19002         * lib/unicase/u-prefix-context.h: New file.
19003         * lib/unicase/context.h: New file.
19004         * modules/unicase/u8-prefix-context: New file.
19005
19006         New module 'unicase/empty-prefix-context'.
19007         * lib/unicase/empty-prefix-context.c: New file.
19008         * modules/unicase/empty-prefix-context: New file.
19009
19010         New module 'unicase/ignorable'.
19011         * lib/unicase/ignorable.c: New file.
19012         * modules/unicase/ignorable: New file.
19013
19014         New module 'unicase/cased'.
19015         * lib/unicase/caseprop.h: New file.
19016         * lib/unicase/cased.c: New file.
19017         * modules/unicase/cased: New file.
19018
19019         New functions for case mapping of substrings.
19020         * lib/unicase.h (casing_prefix_context_t): New type.
19021         (unicase_empty_prefix_context): New variable.
19022         (u8_casing_prefix_context, u16_casing_prefix_context,
19023         u32_casing_prefix_context, u8_casing_prefixes_context,
19024         u16_casing_prefixes_context, u32_casing_prefixes_context): New
19025         declarations.
19026         (casing_suffix_context_t): New type.
19027         (unicase_empty_suffix_context): New variable.
19028         (u8_casing_suffix_context, u16_casing_suffix_context,
19029         u32_casing_suffix_context, u8_casing_suffixes_context,
19030         u16_casing_suffixes_context, u32_casing_suffixes_context,
19031         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
19032         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
19033         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
19034         declarations.
19035
19036 2009-06-28  Jim Meyering  <meyering@redhat.com>
19037
19038         boostrap: indent only with spaces
19039         * build-aux/bootstrap: Indent only with spaces, never TABs.
19040
19041         bootstrap: split long lines
19042         * build-aux/bootstrap: Keep line length < 80.
19043
19044         bootstrap: sync from coreutils
19045         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
19046         just as autoreconf does.  Verify a list of prerequisite
19047         package-name,version-number pairs if defined in bootstrap.conf.
19048         Refer to README-prereq, if prerequisites are not satisfied.
19049
19050 2009-06-27  Eric Blake  <ebb9@byu.net>
19051
19052         tests: add test for bogus NULL definition
19053         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
19054         * tests/test-stdlib.c: Likewise.
19055         * tests/test-string.c: Likewise.
19056         * tests/test-locale.c: Likewise.
19057         * tests/test-unistd.c: Likewise.
19058         * modules/stdio-tests (Depends-on): Add verify.
19059         * modules/stdlib-tests (Depends-on): Likewise.
19060         * modules/string-tests (Depends-on): Likewise.
19061         * modules/locale-tests (Depends-on): Likewise.
19062         * modules/unistd-tests (Depends-on): Likewise.
19063
19064 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
19065
19066         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
19067         self-explaining comment.
19068         * m4/selinux-selinux-h: Update serial.
19069         (gl_LIBSELINUX): New macro, adding a warning for missing development
19070         packages to code extracted from...
19071         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
19072         Add warning for missing development packages here, too.
19073
19074 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
19075
19076         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
19077
19078 2009-06-25  Eric Blake  <ebb9@byu.net>
19079
19080         version-etc: fix regression
19081         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
19082         gcc.
19083         (version_etc): Use it, to catch bugs with trailing NULL.
19084         * lib/version-etc.c (version_etc_arn): Delete unused argument.
19085         (version_etc_va): Fix logic bug.
19086         * modules/version-etc-tests: Add test.
19087         * tests/test-version-etc.c: New file.
19088         * tests/test-version-etc.sh: Likewise.
19089
19090 2009-06-25  Sam Steingold  <sds@gnu.org>
19091
19092         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
19093         mbtowc declaration.
19094
19095 2009-06-25  Eric Blake  <ebb9@byu.net>
19096
19097         fpurge: migrate into <stdio.h>
19098         * lib/fpurge.h: Delete...
19099         * lib/stdio.in.h (fpurge): ...and declare here, instead.
19100         * lib/fpurge.c (fpurge): Change declaring header.
19101         * modules/fpurge (Files): Drop deleted file.
19102         (Depends-on): Add stdio.
19103         (configure.ac): Set witness.
19104         * modules/stdio (Makefile.am): Support fpurge macros.
19105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
19106         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
19107         * lib/fflush.c: Update client.
19108         * tests/test-fpurge.c: Likewise.
19109         * NEWS: Mention the change.
19110
19111 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19112
19113         * lib/argp-version-etc.c (program_authors): Add const
19114         qualifier.
19115         * lib/version-etc.c: Fix typos in the comments.
19116         * modules/argp-version-etc: Depends on version-etc.
19117
19118 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19119
19120         argp-version-etc: new module.
19121
19122         * lib/argp-version-etc.c: New file.
19123         * lib/argp-version-etc.h: New file.
19124         * modules/argp-version-etc: New file.
19125         * modules/argp-version-etc-tests: New file.
19126         * tests/test-argp-version-etc.c: New test.
19127         * tests/test-argp-version-etc-1.sh: New test.
19128
19129 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19130
19131         Provide additional interfaces and documentation for version-etc
19132         module.
19133
19134         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
19135         interfaces.
19136         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
19137         prototypes.
19138
19139 2009-06-24  Bruno Haible  <bruno@clisp.org>
19140
19141         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
19142         HAVE_LIB${NAME} macro.
19143         Reported by Sam Steingold <sds@gnu.org>.
19144
19145 2009-06-23  Simon Josefsson  <simon@josefsson.org>
19146
19147         * modules/hash-tests (test_hash_LDADD): Link to libintl when
19148         needed.
19149
19150 2009-06-21  Bruno Haible  <bruno@clisp.org>
19151
19152         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
19153         work.
19154         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
19155         together with LIB${NAME}, LTLIB${NAME}.
19156         Reported by Sam Steingold <sds@gnu.org>.
19157
19158 2009-06-20  Jim Meyering  <meyering@redhat.com>
19159
19160         tests: make sc_require_test_exit_idiom more generic
19161         * top/maint.mk (Exit_witness_file): New overridable variable.
19162         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
19163         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
19164
19165 2009-06-19  Jim Meyering  <meyering@redhat.com>
19166
19167         hash: reverse order of src/dst parameters in an internal interface
19168         * lib/hash.c (transfer_entries): Reverse order of parameters to
19169         put DST before SRC.  Adjust callers.
19170
19171         tests: test-hash: avoid wholesale duplication
19172         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
19173         Instead, use a loop and add a single conditional.
19174
19175         tests: test-hash: allow seed selection via a command line argument
19176         * tests/test-hash.c (get_seed): New function.
19177         (main): Use it.
19178
19179 2009-06-19  Eric Blake  <ebb9@byu.net>
19180
19181         hash: avoid memory leak on allocation failure
19182         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
19183         failure.  Factor repeated algorithm...
19184         (transfer_entries): ...into new helper routine.
19185         (hash_delete): React to hash_rehash return value.
19186
19187         hash: reduce memory pressure in hash_rehash no-op case
19188         * lib/hash.c (next_prime): Avoid overflow.
19189         (hash_initialize): Factor bucket size computation...
19190         (compute_bucket_size): ...into new helper function.
19191         (hash_rehash): Use new function and open coding to reduce memory
19192         pressure, and avoid a memory leak in USE_OBSTACK code.
19193         Reported by Jim Meyering.
19194
19195 2009-06-18  Eric Blake  <ebb9@byu.net>
19196
19197         hash: make rotation more obvious
19198         * modules/hash (Depends-on): Add bitrotate and stdint.
19199         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
19200         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
19201         (SIZE_MAX): Rely on headers for definition.
19202         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
19203         (raw_hasher): Use rotr_sz.
19204         Suggested by Jim Meyering.
19205
19206         hash: fix memory leak in last patch
19207         * lib/hash.c (hash_rehash): Avoid memory leak.
19208
19209         hash: avoid no-op rehashing
19210         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
19211
19212         hash: provide default callback functions
19213         * lib/hash.c (raw_hasher, raw_comparator): New functions.
19214         (hash_initialize): Use them as defaults.
19215         * tests/test-hash.c (main): Test this.
19216
19217         hash: minor optimization
19218         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
19219         when possible.
19220         (hash_initialize): Document this promise.
19221         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
19222         * tests/test-hash.c (hash_compare_strings): Test this.
19223
19224 2009-06-18  Bruno Haible  <bruno@clisp.org>
19225
19226         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
19227         going to be replaced anyway.
19228
19229 2009-06-18  Bruno Haible  <bruno@clisp.org>
19230
19231         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
19232         in one place.
19233         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
19234         be replaced anyway.
19235
19236 2009-06-18  Eric Blake  <ebb9@byu.net>
19237
19238         hash: check for resize before insertion
19239         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
19240         threshold before insertion, so that a pathological hash_rehash
19241         that fills every bucket can still trigger another rehash.
19242
19243 2009-06-18  Jim Meyering  <meyering@redhat.com>
19244
19245         hash-tests: add a loop around the small tests
19246         * tests/test-hash.c (main): Repeat small tests with selected
19247         small initial table sizes.
19248
19249 2009-06-17  Eric Blake  <ebb9@byu.net>
19250
19251         hash: minor cleanups
19252         * lib/hash.h (hash_entry): Make opaque, by moving...
19253         * lib/hash.c (hash_entry): ...here.
19254         (hash_insert): Clarify restrictions on what can be inserted.
19255         (hash_get_next): Clarify when it is safe to remove an element
19256         during traversal.
19257         (check_tuning): Skip verification when tuning is known safe.
19258         (hash_initialize): Clarify restrictions on tuning.
19259
19260 2009-06-17  Jim Meyering  <jim@meyering.net>
19261         and Eric Blake  <ebb9@byu.net>
19262
19263         hash-tests: new module
19264         * modules/hash-tests: New file.
19265         * tests/test-hash.c: New file.
19266
19267 2009-06-17  Eric Blake  <ebb9@byu.net>
19268
19269         strstr-simple: document new module
19270         * MODULES.html.sh: Document new module.
19271
19272         strstr, strcasestr: replace on platforms with broken memchr
19273         * modules/strstr: Split into...
19274         * modules/strstr-simple: ...new module that does not care about
19275         performance, but does care about glibc bug.
19276         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
19277         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
19278         if platform memchr is broken, per Debian bug 521737.
19279         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
19280         memchr.
19281         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
19282         * doc/posix-functions/strstr.texi (strstr): Document the fix.
19283         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19284         * modules/mountlist (Depends-on): Add strstr-simple.
19285         * modules/gen-uni-tables (Depends-on): Likewise.
19286         * modules/argz (Depends-on): Add strstr.
19287
19288 2009-06-17  Bruno Haible  <bruno@clisp.org>
19289
19290         * modules/posix_spawn-internal (Depends-on): Add errno.
19291
19292 2009-06-17  Bruno Haible  <bruno@clisp.org>
19293
19294         Define missing ESTALE on Interix 3.5.
19295         * lib/errno.in.h (ESTALE): Assign a value if missing.
19296         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
19297         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
19298         missing.
19299         * doc/posix-headers/errno.texi: Mention the Interix bug.
19300         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
19301
19302 2009-06-15  Eric Blake  <ebb9@byu.net>
19303
19304         memchr, memchr2: add valgrind exception
19305         * lib/memchr.valgrind: New file.
19306         * lib/memchr2.valgrind: New file.
19307         * modules/memchr (Files): Distribute valgrind file.
19308         * modules/memchr2 (Files): Likewise.
19309
19310         docs: memchr is no longer obsolete
19311         * MODULES.html.sh: Move memchr from obsolete to string.h section.
19312         * lib/string.in.h (memchr): Simplify logic.
19313
19314 2009-06-14  Jim Meyering  <meyering@redhat.com>
19315
19316         link-follow: fix the "checking..." message to not mention trailing slash
19317         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
19318         never considered trailing slashes.
19319
19320 2009-06-14  Bruno Haible  <bruno@clisp.org>
19321
19322         * m4/memchr.m4: Mention also the bug on IA-64.
19323         * doc/posix-functions/memchr.texi: Likewise.
19324
19325 2009-06-12  Eric Blake  <ebb9@byu.net>
19326
19327         memchr: detect broken x86_64 and alpha implementations
19328         * modules/memchr-tests (Depends-on): Move mmap detection...
19329         * modules/memchr (Depends-on): ...here.
19330         (configure.ac): Set indicator.
19331         * lib/string.in.h (memchr): Declare replacement.
19332         * modules/string (Makefile.am): Trigger replacement.
19333         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
19334         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
19335         bugs.
19336         * doc/posix-functions/memchr.texi (memchr): Document the bug.
19337         * modules/getpagesize (License): Relax license.
19338
19339 2009-06-11  Bruno Haible  <bruno@clisp.org>
19340
19341         * lib/idpriv.h: Add more references.
19342
19343 2009-06-08  Bruno Haible  <bruno@clisp.org>
19344
19345         Tests for module 'idpriv-droptemp'.
19346         * modules/idpriv-droptemp-tests: New file.
19347         * tests/test-idpriv-droptemp.sh: New file.
19348         * tests/test-idpriv-droptemp.su.sh: New file.
19349         * tests/test-idpriv-droptemp.c: New file.
19350
19351         New module 'idpriv-droptemp'.
19352         * lib/idpriv-droptemp.c: New file.
19353         * modules/idpriv-droptemp: New file.
19354
19355 2009-06-08  Bruno Haible  <bruno@clisp.org>
19356
19357         Tests for module 'idpriv-drop'.
19358         * modules/idpriv-drop-tests: New file.
19359         * tests/test-idpriv-drop.sh: New file.
19360         * tests/test-idpriv-drop.su.sh: New file.
19361         * tests/test-idpriv-drop.c: New file.
19362
19363         New module 'idpriv-drop'.
19364         * lib/idpriv.h: New file.
19365         * lib-idpriv-drop.c: New file.
19366         * m4/idpriv.m4: New file.
19367         * modules/idpriv-drop: New file.
19368
19369 2009-06-08  Bruno Haible  <bruno@clisp.org>
19370
19371         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
19372         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19373         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19374         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19375         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19376         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19377         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19378
19379 2009-06-08  Eric Blake  <ebb9@byu.net>
19380
19381         test-strstr: use memory fence, when possible
19382         * tests/test-strstr.c (main): Use memory fence, in order to be
19383         more likely to trigger Debian bug 521737.
19384         * modules/strstr-tests (Files): Pull in additional files.
19385
19386         memchr: no longer obsolete, for wider field testing
19387         * modules/memchr (Status, Notice): Delete, this module is no
19388         longer obsolete.
19389         * modules/vasnprintf (Depends-on): Add memchr.
19390
19391 2009-06-07  Jim Meyering  <meyering@redhat.com>
19392
19393         hash: declare some functions with the warn_unused_result attribute
19394         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
19395
19396 2009-06-07  Bruno Haible  <bruno@clisp.org>
19397
19398         * tests/test-alignof.c: Don't test int64_t if it does not exist.
19399         Reported by Eric Blake.
19400
19401 2009-06-06  Eric Blake  <ebb9@byu.net>
19402
19403         test-alignof: fix typo with long double
19404         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
19405         compiler error.
19406
19407 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
19408
19409         Escape non-texinfo { and }s.
19410         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
19411         markup error.
19412
19413 2009-06-04  Jim Meyering  <meyering@redhat.com>
19414
19415         gitlog-to-changelog: don't infloop on an empty commit log
19416         * build-aux/gitlog-to-changelog: Warn about an empty log message.
19417         Reported by Boris Petersen <transacid@centerim.org>.
19418
19419 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
19420
19421         version-etc: extend for packagers
19422         Add three new configure options, intended for packagers:
19423           --with-packager="packager name"
19424           --with-packager-version="packager-specific version"
19425           --with-packager-bug-reports="packager bug reporting"
19426         An example with coreutils:
19427           $ ./configure \
19428             --with-packager=Gentoo \
19429             --with-packager-bug-report=http://bugs.gentoo.org/ \
19430             --with-packager-version="patchset 1.6"
19431           $ ./src/ls --version | head -n2
19432           ls (GNU coreutils) 7.1-dirty
19433           Packaged by Gentoo (patchset 1.6)
19434         Note that the bug reporting info via --help doesn't show up because
19435         coreutils uses its own custom emit_bug_reporting_address() implementation
19436         in src/system.h.  If it didn't, it'd look like:
19437           $ ./src/ls --help | tail -n4
19438           Report bugs to <bug-coreutils@gnu.org>.
19439           Report Gentoo bugs to <http://bugs.gentoo.org/>.
19440           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
19441           General help using GNU software: <http://www.gnu.org/gethelp/>.
19442         * lib/version-etc.c: Print new information, if provided.
19443         * m4/version-etc.m4: New file.
19444         * modules/version-etc (Files): Add m4/version-etc.m4.
19445         (configure.ac): Add gl_VERSION_ETC.
19446
19447 2009-05-31  Bruno Haible  <bruno@clisp.org>
19448
19449         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
19450         and 'int64_t'.
19451         * modules/alignof-tests (Dependencies): Add stdint.
19452         Reported by Eric Blake.
19453
19454 2009-05-31  Bruno Haible  <bruno@clisp.org>
19455
19456         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
19457         restriction due to compiler bugs.
19458         Reported by Eric Blake.
19459
19460 2009-05-31  Simon Josefsson  <simon@josefsson.org>
19461             Bruno Haible  <bruno@clisp.org>
19462
19463         Fix test-alignof failure.
19464         * lib/alignof.h (alignof_slot): New macro.
19465         (alignof_type): New macro, with the same semantics as the previous
19466         'alignof'.
19467         (alignof): Alias to alignof_slot.
19468         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
19469         check that the results are usable as constant expressions.
19470
19471 2009-05-31  Bruno Haible  <bruno@clisp.org>
19472
19473         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
19474         * tests/test-memchr.c (main): Check that memchr does not read past the
19475         first occurrence of the byte.
19476         * tests/test-strstr.c (main): Update comment.
19477         Suggested by Eric Blake.
19478
19479 2009-05-30  Bruno Haible  <bruno@clisp.org>
19480
19481         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
19482         detail how to use dumpbin.
19483         Reported by David Byron <dbyron@dbyron.com>.
19484
19485 2009-06-02  Simon Josefsson  <simon@josefsson.org>
19486
19487         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
19488
19489 2009-06-02  Simon Josefsson  <simon@josefsson.org>
19490
19491         * m4/manywarnings.m4: Add GCC 4.4 warnings.
19492
19493 2009-05-28  Bruno Haible  <bruno@clisp.org>
19494
19495         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
19496         build-aux/ files.
19497
19498 2009-05-28  Simon Josefsson  <simon@josefsson.org>
19499
19500         * gnulib-tool (func_import): Transform license on build-aux/ files too.
19501
19502 2009-05-27  Simon Josefsson  <simon@josefsson.org>
19503
19504         * gnulib-tool (sed_transform_main_lib_file)
19505         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
19506         regexps.
19507
19508 2009-05-26  Simon Josefsson  <simon@josefsson.org>
19509
19510         * tests/test-strstr.c: Add another self-test.
19511         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
19512         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
19513
19514 2009-05-23  Bruno Haible  <bruno@clisp.org>
19515
19516         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
19517         change.
19518
19519 2009-05-21  Bruno Haible  <bruno@clisp.org>
19520
19521         Simplify use of mode_t varargs.
19522         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
19523         uses 'mode_t' or 'int'.
19524         * lib/openat.c (openat): Likewise.
19525         * lib/open-safer.c (open_safer): Likewise.
19526         * m4/mode_t.m4: New file.
19527         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
19528         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
19529         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
19530         * modules/open (Files): Add m4/mode_t.m4.
19531         * modules/openat (Files): Likewise.
19532         * modules/fcntl-safer (Files): Likewise.
19533         Suggested by Eric Blake.
19534
19535 2009-05-21  Pádraig Brady  <P@draigbrady.com>
19536
19537         * doc/glibc-functions/fallocate.texi: New file.
19538         * doc/gnulib.texi: Include it.
19539
19540 2009-05-21  Eric Blake  <ebb9@byu.net>
19541             Bruno Haible  <bruno@clisp.org>
19542
19543         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
19544         invocations.
19545         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
19546
19547 2009-05-21  Eric Blake  <ebb9@byu.net>
19548             Bruno Haible  <bruno@clisp.org>
19549
19550         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
19551         include_next. Fix of 2008-11-20 commit.
19552         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
19553         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
19554         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
19555         NEXT_MATH_H.
19556         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
19557         instead of NEXT_MATH_H.
19558
19559 2009-05-21  Bruno Haible  <bruno@clisp.org>
19560
19561         Avoid redefinition warnings for SIZE_MAX.
19562         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
19563         Reported by Simon Josefsson.
19564
19565 2009-05-21  Bruno Haible  <bruno@clisp.org>
19566
19567         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
19568         AC_CACHE_VAL.
19569
19570 2009-05-20  Bruno Haible  <bruno@clisp.org>
19571
19572         Make zeroptr.h work on mingw.
19573         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
19574         mprotect.
19575         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
19576         * modules/memchr2-tests (configure.ac): Likewise.
19577         * modules/memcmp-tests (configure.ac): Likewise.
19578         * modules/memmem-tests (configure.ac): Likewise.
19579         * modules/memrchr-tests (configure.ac): Likewise.
19580         Reported by Simon Josefsson.
19581
19582 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19583
19584         * tests/test-glob.c: Include string.h for strcmp prototype.
19585
19586 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19587
19588         * modules/getdelim (Depends-on): Add explicit stdint, although it
19589         was implicitly already pulled in via realloc-posix.
19590         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
19591
19592 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19593
19594         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
19595         G. Christensen" <tgc@jupiterrise.com>.
19596         * m4/sys_socket_h.m4: Check for sa_family_t.
19597         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
19598         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
19599         * tests/test-sys_socket.c: Check that sa_family_t works.
19600
19601 2009-05-18  Eric Blake  <ebb9@byu.net>
19602
19603         maint.mk: allow gnulib_dir in VPATH build
19604         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
19605
19606 2009-05-15  Jim Meyering  <meyering@redhat.com>
19607
19608         maint.mk: Give gnulib_dir a default definition.
19609         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
19610         Thus, most packages no longer need to specify this variable in cfg.mk
19611
19612 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
19613
19614         rename.m4: fix typos that would make non-mingw cross-configure fail
19615         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
19616
19617 2009-05-13  Eric Blake  <ebb9@byu.net>
19618
19619         mmap-anon: avoid out-of-order autoconf expansion
19620         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
19621         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
19622         * modules/memchr-tests (Depends-on): Add extensions.
19623         * modules/memchr2-tests (Depends-on): Add extensions.
19624         * modules/memcmp-tests (Depends-on): Add extensions.
19625         * modules/memmem-tests (Depends-on): Add extensions.
19626         * modules/memrchr-tests (Depends-on): Add extensions.
19627
19628 2009-05-13  Bruno Haible  <bruno@clisp.org>
19629
19630         Make some tests ISO C 99 compliant.
19631         * tests/zerosize-ptr.h: New file.
19632         * tests/test-memchr.c: Include zerosize-ptr.h.
19633         (main): Use a zero-size object pointer instead of NULL.
19634         * tests/test-memchr2.c: Include zerosize-ptr.h.
19635         (main): Use a zero-size object pointer instead of NULL.
19636         * tests/test-memcmp.c: Include zerosize-ptr.h.
19637         (main): Use a zero-size object pointer instead of NULL.
19638         * tests/test-memmem.c: Include zerosize-ptr.h.
19639         (main): Use a zero-size object pointer instead of NULL.
19640         * tests/test-memrchr.c: Include zerosize-ptr.h.
19641         (main): Use a zero-size object pointer instead of NULL.
19642         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
19643         m4/mmap-anon.m4.
19644         (Depends-on): Add getpagesize.
19645         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19646         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
19647         m4/mmap-anon.m4.
19648         (Depends-on): Add getpagesize.
19649         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19650         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
19651         m4/mmap-anon.m4.
19652         (Depends-on): Add getpagesize.
19653         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19654         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
19655         m4/mmap-anon.m4.
19656         (Depends-on): Add getpagesize.
19657         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19658         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
19659         m4/mmap-anon.m4.
19660         (Depends-on): Add getpagesize.
19661         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19662
19663 2009-05-12  Bruno Haible  <bruno@clisp.org>
19664
19665         Tests for module 'alignof'.
19666         * modules/alignof-tests: New file.
19667         * tests/test-alignof.c: New file.
19668
19669 2009-05-12  Bruno Haible  <bruno@clisp.org>
19670
19671         Fix alignof macro.
19672         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
19673         vendor compilers that are always correct.
19674
19675 2009-05-12  Bruno Haible  <bruno@clisp.org>
19676
19677         Make the MAP_ANONYMOUS detection work on HP-UX 11.
19678         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
19679         not whether its fully works.
19680
19681 2009-05-12  Bruno Haible  <bruno@clisp.org>
19682
19683         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
19684
19685 2009-05-12  Jim Meyering  <meyering@redhat.com>
19686
19687         * top/maint.mk: Adjust backslash alignment.
19688
19689 2009-05-11  Simon Josefsson  <simon@josefsson.org>
19690
19691         * top/maint.mk: Make $(srcdir)/build-aux configurable.
19692
19693 2009-05-11  Eric Blake  <ebb9@byu.net>
19694
19695         argp: avoid undefined behavior
19696         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
19697         macros.
19698
19699 2009-05-08  Simon Josefsson  <simon@josefsson.org>
19700
19701         * tests/test-vc-list-files-git.sh: Do git config of user.email and
19702         user.name to prevent git commit from complaining.
19703
19704 2009-05-10  Bruno Haible  <bruno@clisp.org>
19705
19706         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
19707         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
19708         it rewrites every file name only once.
19709         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
19710
19711 2009-05-08  Bruno Haible  <bruno@clisp.org>
19712
19713         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
19714         instead of 'max'.
19715
19716 2009-05-08  Simon Josefsson  <simon@josefsson.org>
19717
19718         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
19719         sockaddr_storage test.
19720
19721 2009-05-07  Simon Josefsson  <simon@josefsson.org>
19722
19723         * modules/sys_socket (Makefile.am): Substitute
19724         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
19725         * m4/sys_socket_h.m4: Check for sockaddr_storage.
19726         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
19727         * tests/test-sys_socket.c: Check sockaddr_storage.
19728
19729 2009-05-08  Bruno Haible  <bruno@clisp.org>
19730
19731         New module 'alignof'.
19732         * lib/alignof.h: New file.
19733         * modules/alignof: New file.
19734
19735 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19736             Bruno Haible  <bruno@clisp.org>
19737
19738         Fix test-file-has-acl on FreeBSD.
19739         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
19740         mask is implicitly added.
19741         * tests/test-file-has-acl.c: Include <signal.h>.
19742         (main): Terminate the test after 5 seconds.
19743         * modules/acl-tests (configure.ac): Check for alarm function.
19744
19745 2009-05-04  Bruno Haible  <bruno@clisp.org>
19746
19747         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
19748         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
19749         * modules/errno (configure.ac): Drop AC_REQUIRE.
19750         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
19751         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
19752
19753 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19754
19755         * modules/glob-tests: New module.
19756         * tests/test-glob.c: Add.
19757
19758 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19759
19760         * modules/fnmatch-tests: New module.
19761         * tests/test-fnmatch.c: Add.
19762
19763 2009-05-04  Eric Blake  <ebb9@byu.net>
19764
19765         maint: make the new no-submodule-changes rule VPATH-safe
19766         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
19767
19768 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19769             Bruno Haible  <bruno@clisp.org>
19770
19771         acl: Fix infinite loop on FreeBSD.
19772         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
19773         of return value from acl_get_entry.
19774         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
19775         Likewise.
19776
19777 2009-05-03  Bruno Haible  <bruno@clisp.org>
19778
19779         * lib/acl-internal.h (acl_entries): Clarify return value.
19780         * lib/acl_entries.c (acl_entries): Likewise.
19781
19782 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19783
19784         Bug fix in acl module.
19785         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
19786
19787 2009-05-03  Bruno Haible  <bruno@clisp.org>
19788
19789         Create gperf-generated file in the source dir, not in the build dir.
19790         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
19791         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
19792         * modules/unicase/locale-language (unicase/locale-languages.h):
19793         Likewise.
19794         * modules/unicase/special-casing (unicase/special-casing-table.h):
19795         Likewise.
19796         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
19797         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
19798         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
19799         Reported by Ralf Wildenhues.
19800
19801 2009-05-03  Bruno Haible  <bruno@clisp.org>
19802
19803         * modules/fnmatch (Description, configure.ac): Taken from
19804         fnmatch-posix.
19805         * modules/fnmatch-posix: Turn into a symbolic reference to the
19806         'fnmatch' module, and deprecate.
19807         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
19808
19809 2009-05-03  Bruno Haible  <bruno@clisp.org>
19810
19811         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
19812         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
19813         Reported by Ralf Wildenhues.
19814
19815 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19816
19817         * m4/fnmatch.m4: Fix fnmatch re-define.
19818
19819 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19820
19821         priv-set: new module and tests; adapt write-any-file
19822         * lib/priv-set.c: New file.
19823         * lib/priv-set.h: New file.
19824         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
19825         * lib/write-any-file.c: Simplify by using priv-set module.
19826         * m4/priv-set.m4: New file.
19827         * modules/priv-set: New file.
19828         * modules/unlinkdir: Add dependency on priv-set module.
19829         * modules/write-any-file: Likewise.
19830
19831         Tests for module 'priv-set'.
19832         * modules/priv-set-tests: New file.
19833         * tests/test-priv-set.c: New file.
19834
19835 2009-05-03  Jim Meyering  <meyering@redhat.com>
19836             Bruno Haible  <bruno@clisp.org>
19837
19838         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
19839         use the converted UTF-8 variant of the name instead.
19840
19841 2009-05-03  Jim Meyering  <meyering@redhat.com>
19842
19843         tests: tighten some getdate tests
19844         * tests/test-getdate.c (main): Tighten tests: require equality,
19845         not just greater than.  Set TZ envvar to UTC0.
19846
19847 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
19848
19849         getdate: correctly interpret "next monday" when run on a Monday
19850         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
19851         that e.g., "next tues" (when run on a tuesday) results in a date
19852         that is one week in the future, and not today's date.
19853         I.e., add a week when the wday is the same as the current one.
19854         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
19855         and earlier by Martin Bernreuther and Jan Minář.
19856         * tests/test-getdate.c (main): Check that "next DAY" is always in
19857         the future and that "last DAY" is always in the past.
19858
19859 2009-05-02  Jim Meyering  <meyering@redhat.com>
19860
19861         build: ensure that a release build fails when a submodule is unclean
19862         * top/maint.mk (no-submodule-changes): New rule.
19863         (alpha beta major): Depend on it.
19864
19865 2009-05-02  Bruno Haible  <bruno@clisp.org>
19866
19867         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
19868         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
19869         shell variable gl_fnmatch_required to detect which variant is
19870         requested.
19871         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
19872         gl_FUNC_FNMATCH_POSIX.
19873         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
19874         exclude fnmatch-posix.
19875
19876 2009-05-02  Bruno Haible  <bruno@clisp.org>
19877
19878         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
19879         * modules/mbsrtowcs (License): Change to LGPLv2+.
19880         * modules/strnlen1 (License): Likewise.
19881         Reported by Simon Josefsson.
19882
19883 2009-05-02  Bruno Haible  <bruno@clisp.org>
19884
19885         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
19886         "cross".
19887         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
19888         gnulib-tool was called with option --source-base=lib.
19889
19890 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19891
19892         Use automake *-local hooks without commands, for extensibility.
19893         * modules/localcharset (Makefile.am): Rename install-exec-local
19894         rule to install-exec-localcharset, and make it a prerequisite of
19895         install-exec-local.  Likewise, rename the uninstall-local rule to
19896         uninstall-localcharset, and make it a prerequisite of the former.
19897
19898 2009-05-01  Bruno Haible  <bruno@clisp.org>
19899
19900         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
19901         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
19902         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
19903         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
19904         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
19905         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
19906         m4/locale-zh.m4, m4/codeset.m4.
19907
19908         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
19909         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
19910         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
19911         m4/locale-zh.m4.
19912
19913         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
19914         REPLACE_WCRTOMB if mbstate_t must be replaced.
19915         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
19916         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
19917
19918 2009-05-01  Bruno Haible  <bruno@clisp.org>
19919
19920         Avoid compiler warnings when redefining macros defined by <libintl.h>.
19921         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
19922         dngettext, dcngettext, textdomain, bindtextdomain,
19923         bind_textdomain_codeset): Undefine before redefining.
19924
19925 2009-04-30  Bruno Haible  <bruno@clisp.org>
19926
19927         Fix bug introduced on 2009-04-25.
19928         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
19929         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
19930         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
19931         is defined.
19932         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
19933         is defined.
19934         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
19935         is defined.
19936         Reported by Elbert_Pol <elbert.pol@gmail.com>.
19937
19938 2009-04-28  Bruno Haible  <bruno@clisp.org>
19939
19940         Comment tweaks.
19941         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
19942         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
19943         * lib/unicase.h (u*_casexfrm): Likewise.
19944         Reported by Paolo Bonzini.
19945
19946 2009-04-28  Bruno Haible  <bruno@clisp.org>
19947
19948         Fix a compilation error.
19949         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
19950         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
19951         Reported by Jim Meyering.
19952
19953 2009-04-27  Bruno Haible  <bruno@clisp.org>
19954
19955         New module 'libunistring'.
19956         * modules/libunistring: New file.
19957         * m4/libunistring.m4: New file.
19958         * MODULES.html.sh (Unicode string functions): Add it.
19959
19960 2009-04-27  Eric Blake  <ebb9@byu.net>
19961
19962         maint.mk: allow package-specific header to provide <config.h>
19963         * top/maint.mk (sc_require_config_h): New variable.
19964         (sc_require_config_h, sc_require_config_h_first): Use it.
19965
19966 2009-04-27  Simon Josefsson  <simon@josefsson.org>
19967
19968         * top/maint.mk (sc_avoid_if_before_free): Except
19969         useless-if-before-free script.
19970
19971 2009-04-27  Eric Blake  <ebb9@byu.net>
19972
19973         maintainer-makefile: depend on all required helper scripts
19974         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
19975         useless-if-before-free.
19976         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
19977         version, rather than assuming gnulib checkout is available.
19978         Reported by Simen Josefsson.
19979
19980 2009-04-26  Bruno Haible  <bruno@clisp.org>
19981
19982         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
19983         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
19984         "../" or "..".
19985
19986 2009-04-26  Bruno Haible  <bruno@clisp.org>
19987
19988         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
19989         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
19990         AC_LIB_HAVE_LINKFLAGS.
19991
19992 2009-04-26  Bruno Haible  <bruno@clisp.org>
19993
19994         Simplify calling convention of u*_conv_from_encoding.
19995         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
19996         u32_conv_from_encoding): Expect a resultbuf argument and return the
19997         result directly as a pointer.
19998         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
19999         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
20000         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
20001         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
20002         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
20003         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
20004         Update.
20005         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
20006         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
20007         * lib/vasnprintf.c (VASNPRINTF): Update.
20008         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
20009         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
20010         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
20011         * NEWS: Mention the change.
20012
20013 2009-04-26  Bruno Haible  <bruno@clisp.org>
20014
20015         Simplify calling convention of u*_conv_to_encoding.
20016         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
20017         u32_conv_to_encoding): Expect a resultbuf argument and return the
20018         result directly as a pointer.
20019         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20020         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
20021         freeing scaled_offsets if mem_iconveha failed.
20022         * lib/unicase/u-casexfrm.h (FUNC): Update.
20023         * lib/uninorm/u-normxfrm.h (FUNC): Update.
20024         * lib/vasnprintf.c (VASNPRINTF): Update.
20025         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
20026         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
20027         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
20028         * NEWS: Mention the change.
20029
20030 2009-04-26  Bruno Haible  <bruno@clisp.org>
20031
20032         Avoid test failures on AIX and OSF/1.
20033         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
20034         malloc(0).
20035         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20036         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
20037         Likewise.
20038         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
20039         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
20040         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
20041         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
20042         * doc/posix-functions/malloc.texi: Document the portability problem
20043         related to malloc(0).
20044
20045 2009-04-26  Bruno Haible  <bruno@clisp.org>
20046
20047         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
20048         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
20049         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
20050
20051 2009-04-25  Bruno Haible  <bruno@clisp.org>
20052
20053         Avoid link error when creating a namespace clean library.
20054         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
20055         as macro with arguments if already defined as an alias.
20056         * lib/signbitf.c (gl_signbitf): Don't undefine.
20057         * lib/signbitd.c (gl_signbitd): Don't undefine.
20058         * lib/signbitl.c (gl_signbitl): Don't undefine.
20059
20060 2009-04-25  Jim Meyering  <meyering@redhat.com>
20061
20062         vc-list-files: fix another quoting bug
20063         * build-aux/vc-list-files: Avoid sed backslash expansion
20064         of pathological directory names.
20065
20066 2009-04-25  Eric Blake  <ebb9@byu.net>
20067
20068         vc-list-files: fix shell quoting error
20069         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
20070         timestamp.
20071
20072 2009-04-25  Jim Meyering  <meyering@redhat.com>
20073
20074         vc-list-files: restore lost functionality with subdir argument
20075         * build-aux/vc-list-files: When given a non-"." sub-directory
20076         argument, substitute the $dir/ prefix back onto each resulting name.
20077         Otherwise, coreutils' root_tests check would fail.
20078
20079 2009-04-24  Eric Blake  <ebb9@byu.net>
20080
20081         vc-list-files: ignore git symlinks
20082         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
20083         than ls-files, to ignore git symlinks.
20084
20085         maint.mk: import improvements from m4
20086         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
20087         (move_if_change): Delete unused macro.
20088         (news-date-check, vc-diff-check): Support VPATH builds.
20089         (announcement): Likewise.  Split --bootstrap-tools list...
20090         (boostrap-tools): ...into separate list, which can be overridden
20091         in cfg.mk.
20092         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
20093         requiring dependency on useless-if-before-free module.
20094         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
20095         Support VPATH builds.
20096
20097 2009-04-24  Jim Meyering  <meyering@redhat.com>
20098
20099         maint.mk: remove coreutils-specific rules and variables
20100         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
20101         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
20102         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
20103
20104         maint.mk: remove obsolete rule
20105         * top/maint.mk (rel-check): Remove rule.
20106         (WGET, WGETFLAGS): Remove now-unused variables.
20107
20108 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20109
20110         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
20111         consistency.
20112
20113         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
20114         '$(PATH_SEPARATOR)' instead of ':'.
20115
20116 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20117
20118         * lib/getopt1.c (main): Use 'const' for static array.
20119
20120 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20121
20122         * top/maint.mk: Sync with coreutils.
20123         * NEWS: Explain incompatibilities.
20124
20125 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20126             Bruno Haible  <bruno@clisp.org>
20127
20128         Fix cross-compilation results.
20129         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
20130         statement, as third argument of AC_TRY_RUN.
20131         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20132         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20133         Likewise.
20134         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20135         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
20136         Likewise.
20137         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20138         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
20139         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
20140
20141 2009-04-20  Bruno Haible  <bruno@clisp.org>
20142
20143         Avoid test failure on mingw.
20144         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
20145
20146 2009-04-20  Bruno Haible  <bruno@clisp.org>
20147
20148         Avoid compilation error on mingw.
20149         * modules/localename-tests (Depends-on): Add locale.
20150
20151 2009-04-19  Bruno Haible  <bruno@clisp.org>
20152
20153         Support for building a shared library on Windows platforms.
20154         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
20155         (main): Test the presence of UNINORM_NFC here.
20156         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
20157         (main): Test the presence of UNINORM_NFD here.
20158         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
20159         (main): Test the presence of UNINORM_NFKC here.
20160         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
20161         (main): Test the presence of UNINORM_NFKD here.
20162
20163 2009-04-19  Bruno Haible  <bruno@clisp.org>
20164
20165         Avoid a compiler warning.
20166         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
20167         Change type of variable 'sequence'.
20168
20169 2009-04-19  Bruno Haible  <bruno@clisp.org>
20170
20171         * modules/configmake (Makefile.am): When the contents of configmake.h
20172         does not change, arrange to preserve its modification time.
20173
20174 2009-04-17  Simon Josefsson  <simon@josefsson.org>
20175
20176         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
20177         gettext domain.
20178
20179 2009-04-16  Jim Meyering  <meyering@redhat.com>
20180
20181         useless-if-before-free: improve conversion code
20182         * build-aux/useless-if-before-free: Adjust code-in-comment to match
20183         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
20184
20185 2009-04-14  Bruno Haible  <bruno@clisp.org>
20186
20187         * modules/fcntl (Depends-on): Add extensions.
20188         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
20189
20190 2009-04-12  Ben Pfaff  <blp@gnu.org>
20191
20192         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
20193         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
20194
20195 2009-03-20  Ben Pfaff  <blp@gnu.org>
20196
20197         Make rename replace existing destinations on Windows.
20198         * m4/rename.m4: Add test for Mingw.
20199         * lib/rename.c: Add rename replacement that uses MoveFileEx with
20200         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
20201         * doc/posix-functions/rename.texi: Document.
20202
20203 2009-04-10  Bruno Haible  <bruno@clisp.org>
20204
20205         New include file "iconveh.h".
20206         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
20207         * lib/striconveh.h: Include it.
20208         (enum iconv_ilseq_handler): Remove definition.
20209         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
20210         striconveh.h.
20211         * lib/striconveha.c: Include striconveh.h.
20212         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
20213         * modules/striconveh (Files): Add lib/iconveh.h.
20214         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
20215         lib/striconveh.h.
20216
20217 2009-04-10  Bruno Haible  <bruno@clisp.org>
20218
20219         * lib/uniconv.h: Update comment.
20220
20221 2009-04-10  Bruno Haible  <bruno@clisp.org>
20222
20223         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
20224         always.
20225         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
20226         * lib/unistr/u16-mbtouc-aux.c: Likewise.
20227         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
20228         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
20229         "unistring-notinline.h", so that the function gets defined always.
20230         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
20231         * lib/unistr/u8-uctomb.c: Likewise.
20232         * lib/unistr/u16-mbtouc.c: Likewise.
20233         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
20234         * lib/unistr/u16-uctomb.c: Likewise.
20235         * lib/unistr/u32-mbtouc.c: Likewise.
20236         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
20237         * lib/unistr/u32-uctomb.c: Likewise.
20238
20239 2009-04-10  Bruno Haible  <bruno@clisp.org>
20240
20241         Mark 'utime' obsolete.
20242         * modules/utime (Status, Notice): New sections.
20243         Suggested by Jim Meyering.
20244
20245         Fix cross-compile guess for utime test.
20246         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
20247         autoconf.
20248         * doc/posix-functions/utime.texi: Give more precisions.
20249         Reported by Jan <ipif@ymail.com>.
20250
20251 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
20252
20253         filevercmp: correct today's change
20254         * lib/filevercmp.c: Also handle coreutils' test inputs.
20255         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
20256
20257         Fix regression in 'filevercmp' module. Thanks Sven Joachim
20258         for reporting it.
20259         * lib/filevercmp.c: Special handle for "", "." and "..".
20260         * tests/test-filevercmp.c: Enlarge the set suite.
20261
20262 2009-04-07  Jim Meyering  <meyering@redhat.com>
20263
20264         useless-if-before-free: show how to remove braced useless free, too
20265         * build-aux/useless-if-before-free: still only in a comment, though.
20266
20267 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
20268
20269         maint.mk: import changes to syntax-check macros from coreutils
20270         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
20271         Use them in the relevant macros.
20272
20273 2009-04-06  Bruno Haible  <bruno@clisp.org>
20274
20275         Fix unportable use of bit-fields.
20276         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
20277         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
20278         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
20279
20280 2009-04-06  Bruno Haible  <bruno@clisp.org>
20281
20282         Avoid test failures on AIX and OSF/1.
20283         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
20284         that malloc(0) = NULL.
20285         * tests/unicase/test-u8-tolower.c (check): Likewise.
20286         * tests/unicase/test-u8-totitle.c (check): Likewise.
20287         * tests/unicase/test-u8-toupper.c (check): Likewise.
20288         * tests/unicase/test-u16-casefold.c (check): Likewise.
20289         * tests/unicase/test-u16-tolower.c (check): Likewise.
20290         * tests/unicase/test-u16-totitle.c (check): Likewise.
20291         * tests/unicase/test-u16-toupper.c (check): Likewise.
20292         * tests/unicase/test-u32-casefold.c (check): Likewise.
20293         * tests/unicase/test-u32-tolower.c (check): Likewise.
20294         * tests/unicase/test-u32-totitle.c (check): Likewise.
20295         * tests/unicase/test-u32-toupper.c (check): Likewise.
20296         * tests/uninorm/test-u8-nfc.c (check): Likewise.
20297         * tests/uninorm/test-u8-nfd.c (check): Likewise.
20298         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
20299         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
20300         * tests/uninorm/test-u16-nfc.c (check): Likewise.
20301         * tests/uninorm/test-u16-nfd.c (check): Likewise.
20302         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
20303         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
20304         * tests/uninorm/test-u32-nfc.c (check): Likewise.
20305         * tests/uninorm/test-u32-nfd.c (check): Likewise.
20306         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
20307         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
20308
20309 2009-04-05  Bruno Haible  <bruno@clisp.org>
20310
20311         Work around an autoconf limitation.
20312         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
20313         comment line if it would be longer than 3 KB.
20314
20315 2009-04-05  Bruno Haible  <bruno@clisp.org>
20316
20317         Avoid test failure with libiconv-1.13.
20318         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
20319         of the expected test results.
20320
20321 2009-04-05  Bruno Haible  <bruno@clisp.org>
20322
20323         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
20324         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
20325         that it should be installed.
20326
20327 2009-04-05  Bruno Haible  <bruno@clisp.org>
20328
20329         * gnulib-tool: New option --copy-file.
20330         (func_usage): Document it.
20331         (func_dest_tmpfilename): Moved out of func_import.
20332         (func_add_file, func_update_file): New functions, extracted from
20333         func_import.
20334         (func_import): Update.
20335
20336 2009-04-05  Karl Berry  <karl@gnu.org>
20337
20338         * README: prominently mention gnulib-tool.
20339         Rearrange sections so getting the code is near the top.
20340
20341 2009-04-05  Bruno Haible  <bruno@clisp.org>
20342
20343         * lib/unicase.h: Mention u*_cmp2.
20344         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
20345         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
20346         * lib/unicase/ulc-casecmp.c: Likewise.
20347         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
20348         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
20349         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
20350         unistr/u8-cmp.
20351         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
20352         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
20353         unistr/u16-cmp.
20354         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
20355         unistr/u32-cmp.
20356
20357         * lib/uninorm.h: Mention u*_cmp2.
20358         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
20359         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
20360         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
20361         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
20362         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
20363         unistr/u8-cmp.
20364         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
20365         unistr/u16-cmp.
20366         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
20367         unistr/u32-cmp.
20368
20369         New module 'unistr/u32-cmp2'.
20370         * lib/unistr/u32-cmp2.c: New file.
20371         * modules/unistr/u32-cmp2: New file.
20372
20373         New module 'unistr/u16-cmp2'.
20374         * lib/unistr/u16-cmp2.c: New file.
20375         * modules/unistr/u16-cmp2: New file.
20376
20377         New module 'unistr/u8-cmp2'.
20378         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
20379         * lib/unistr/u8-cmp2.c: New file.
20380         * lib/unistr/u-cmp2.h: New file.
20381         * modules/unistr/u8-cmp2: New file.
20382
20383 2009-04-05  Bruno Haible  <bruno@clisp.org>
20384
20385         * lib/unictype.h (uc_property_is_valid): New macro.
20386         * tests/unictype/test-pr_byname.c (main): Use it.
20387
20388         * lib/unistr.h: Doc fixes.
20389         * lib/uniconv.h: Doc fixes.
20390         * lib/unictype.h: Doc fixes.
20391
20392 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
20393
20394         Port coreutils 7.2 to Solaris 8.
20395
20396         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
20397         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
20398         for Solaris 8.  This is a bit of a hack, as it means it's the
20399         caller's responsibility to add -lnsl if needed, but most likely it
20400         won't be needed since only getaddrinfo uses this and getaddrinfo
20401         isn't needed on Solaris 8.
20402
20403         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
20404         problem to Solaris 8 encountered with coreutils 7.2, which
20405         resulted in a message "fnmatch.c:292: warning: passing argument 4
20406         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
20407         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
20408
20409 2009-04-03  Simon Josefsson  <simon@josefsson.org>
20410
20411         * m4/ld-version-script.m4: Add FIXME comment.
20412
20413 2009-04-02  Simon Josefsson  <simon@josefsson.org>
20414
20415         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
20416         SOVERSION variable.
20417
20418 2009-04-02  Bruno Haible  <bruno@clisp.org>
20419
20420         * Makefile (info, html, dvi, pdf): Combine the rules.
20421         Suggested by Jim Meyering.
20422
20423 2009-04-01  Bruno Haible  <bruno@clisp.org>
20424
20425         * Makefile (info, html, dvi, pdf): New targets.
20426         Reported by Reuben Thomas <rrt@sc3d.org>.
20427
20428 2009-04-01  Bruno Haible  <bruno@clisp.org>
20429
20430         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
20431         can be put into PATH.
20432         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
20433
20434 2009-04-01  Bruno Haible  <bruno@clisp.org>
20435
20436         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
20437
20438 2009-04-01  Bruno Haible  <bruno@clisp.org>
20439
20440         Rename module 'visibility'.
20441         * modules/lib-symbol-visibility: Renamed from modules/visibility.
20442         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
20443         * doc/gnulib.texi: Update.
20444         * MODULES.html.sh (Misc): Update.
20445         * NEWS: Mention the change.
20446
20447 2009-04-01  Simon Josefsson  <simon@josefsson.org>
20448
20449         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
20450         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
20451         Eric Blake <ebb9@byu.net> for review.
20452         * MODULES.html.sh: Add lib-msvc-compat.
20453         * doc/gnulib.texi: Link to new section.
20454         * m4/ld-output-def.m4: New file.
20455         * doc/ld-output-def.texi: New file.
20456
20457 2009-04-01  Simon Josefsson  <simon@josefsson.org>
20458
20459         Rename ld-version-script to lib-symbol-versions.  Suggested by
20460         Bruno Haible <bruno@clisp.org>.
20461         * modules/ld-version-script: Renamed to lib-symbol-versions.
20462         * doc/ld-version-script.texi: Fix module name.
20463         * MODULES.html.sh: Add lib-symbol-versions.
20464
20465 2009-03-31  Simon Josefsson  <simon@josefsson.org>
20466
20467         * modules/u64-tests: New file.
20468         * tests/test-u64.c: New file.
20469
20470 2009-03-04  Simon Josefsson  <simon@josefsson.org>
20471
20472         * MODULES.html.sh: Mention u64.
20473         * modules/u64: New module.
20474         * modules/crypto/sha512: Depend on u64 module instead of providing
20475         u64.h.
20476
20477 2009-03-27  Eric Blake  <ebb9@byu.net>
20478
20479         test-strerror: make debugging EAI_SYSTEM easier
20480         * modules/getaddrinfo-tests (Depends-on): Add strerror.
20481         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
20482         failure was EAI_SYSTEM.
20483
20484 2009-03-25  Bruno Haible  <bruno@clisp.org>
20485
20486         Fix a problem with --enable-relocatable on Solaris 7.
20487         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
20488         since 2008-02-24.
20489
20490 2009-03-25  Eric Blake  <ebb9@byu.net>
20491
20492         test-sockets: avoid gcc warning
20493         * tests/test-sockets.c (main): Silence compiler warning.
20494
20495 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
20496
20497         New modules nproc, pthread, contributed by Glen Lenker.
20498
20499         * MODULES.html.sh: Add pthread, nproc.
20500         * lib/nproc.c: New file.
20501         * lib/nproc.h: New file.
20502         * lib/pthread.in.h: New file.
20503         * m4/pthread.m4: New file.
20504         * modules/nproc: New file.
20505         * modules/pthread: New file.
20506
20507 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20508
20509         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
20510         New variable.
20511
20512 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
20513
20514         filevercmp: handle simple~ and numbered.~3~ backup suffixes
20515         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
20516         * tests/test-filevercmp.c: Add tests for backup suffixes.
20517
20518 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20519
20520         * modules/stdlib (Depends-on): Add stdint, needed when defining
20521         struct random_data on, for example, HP-UX 10.20.  Reported by
20522         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20523
20524 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20525
20526         * lib/readline.c (readline): Call fflush on stdout after printing
20527         prompt.
20528
20529 2009-03-20  Bruno Haible  <bruno@clisp.org>
20530
20531         Remove dependency from 'close' module to -lws2_32 on native Windows.
20532         * lib/close-hook.h: New file.
20533         * lib/close-hook.c: New file.
20534         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
20535         w32sock.h.
20536         (_gl_close_fd_maybe_socket): Remove function.
20537         (rpl_close): Invoke execute_all_close_hooks instead of
20538         _gl_close_fd_maybe_socket.
20539         * lib/sockets.c: Include close-hook.h, w32sock.h.
20540         (close_fd_maybe_socket): New function, essentially from lib/close.c.
20541         (close_sockets_hook): New variable.
20542         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
20543         (gl_sockets_cleanup): Unregister it.
20544         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
20545         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
20546         * modules/close-hook: New file.
20547         * modules/close (Files): Remove lib/w32sock.h.
20548         (Depends-on): Add close-hook.
20549         (Link): Remove section.
20550         * modules/sockets (Files): Add lib/w32sock.h.
20551         (Depends-on): Add close-hook.
20552         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
20553         invocation.
20554         * NEWS: Mention that LIB_CLOSE is gone.
20555
20556 2009-03-23  Eric Blake  <ebb9@byu.net>
20557
20558         signal-tests: test previous patch
20559         * tests/test-signal.c: New file.
20560         * modules/signal-tests: Likewise.
20561
20562         signal.h: always support 'volatile sig_atomic_t'
20563         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
20564         (gl_SIGNAL_H_DEFAULTS): Add a default.
20565         * modules/signal (Makefile.am): Substitute if needed.
20566         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
20567         users can blindly add volatile.
20568         * doc/posix-headers/signal.texi (signal.h): Document it.
20569         Reported by Matthew Woehlke.
20570
20571 2009-03-23  Jim Meyering  <meyering@redhat.com>
20572
20573         pathmax: PATH_MAX: use pathconf only when available
20574         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
20575         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
20576         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
20577         This avoids a link failure in a PSP cross-compilation environment
20578         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
20579
20580         * lib/vasnprintf.c (divide): Fix typo in comment.
20581
20582 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20583
20584         * gnulib-tool (func_filter_filelist): Fix comment.
20585
20586 2009-03-20  Bruno Haible  <bruno@clisp.org>
20587
20588         Make sockets.h self-contained.
20589         * lib/sockets.c: Include sockets.h first.
20590         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
20591
20592 2009-03-19  Eric Blake  <ebb9@byu.net>
20593
20594         doc: mention more functions added in cygwin 1.7.0
20595         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
20596         addition.
20597         * doc/posix-functions/log2f.texi: Likewise.
20598
20599 2009-03-19  Jim Meyering  <meyering@redhat.com>
20600
20601         fsusage: avoid syntax error due to statement-before-declaration
20602         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
20603         after all declarations.  Reported by Matthew Woehlke in
20604         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
20605
20606 2009-03-18  Eric Blake  <ebb9@byu.net>
20607
20608         build-aux/compile: sync from automake
20609         * build-aux/compile: New file, from automake.
20610         * config/srclist.txt: Mention build-aux/compile.
20611
20612 2009-03-17  Bruno Haible  <bruno@clisp.org>
20613
20614         * lib/git-merge-changelog.c: Fix typo in comment.
20615         Reported by Reuben Thomas <rrt@sc3d.org>.
20616
20617 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
20618
20619         * m4/regex.m4: update and improve help for
20620         --without-included-regex.
20621
20622 2009-03-17  Simon Josefsson  <simon@josefsson.org>
20623
20624         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
20625         failure on missing include files.
20626
20627 2009-03-17  Eric Blake  <ebb9@byu.net>
20628
20629         doc: mention more functions added in cygwin 1.7.0
20630         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
20631         addition.
20632         * doc/posix-functions/fwscanf.texi: Likewise.
20633         * doc/posix-functions/swprintf.texi: Likewise.
20634         * doc/posix-functions/swscanf.texi: Likewise.
20635         * doc/posix-functions/vfwprintf.texi: Likewise.
20636         * doc/posix-functions/vfwscanf.texi: Likewise.
20637         * doc/posix-functions/vswprintf.texi: Likewise.
20638         * doc/posix-functions/vswscanf.texi: Likewise.
20639         * doc/posix-functions/vwprintf.texi: Likewise.
20640         * doc/posix-functions/vwscanf.texi: Likewise.
20641         * doc/posix-functions/wcscasecmp.texi: Likewise.
20642         * doc/posix-functions/wcsdup.texi: Likewise.
20643         * doc/posix-functions/wcsftime.texi: Likewise.
20644         * doc/posix-functions/wcsncasecmp.texi: Likewise.
20645         * doc/posix-functions/wprintf.texi: Likewise.
20646         * doc/posix-functions/wscanf.texi: Likewise.
20647         * doc/glibc-functions/gethostbyname2.texi: Likewise.
20648
20649 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20650
20651         maint.mk: really add $(AM_MAKEFLAGS)
20652         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
20653         was inadvertently omitted in the last commit.
20654         Spotted by Bruno Haible.
20655
20656         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
20657         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
20658         $(AM_MAKEFLAGS)' rather than plain `make'.
20659
20660         gnulib-tool: execute $MAKE not make
20661         * gnulib-tool: Default $MAKE to 'make'.
20662         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
20663         than make.  Initialize $MAKE in the do-autobuild script.
20664
20665         gnulib-tool: use $MAKE not make in generated files
20666         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
20667         make, in generated files.  Initialize $MAKE in the do-autobuild
20668         script.
20669
20670         * top/GNUmakefile (_have-git-version-gen): Fix typo.
20671
20672         GNUmakefile: disable parallelism only for multiple, recursive targets
20673         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
20674         additions in the Makefile.
20675         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
20676         by Automake.
20677         (.NOTPARALLEL): Only disable parallel builds if multiple targets
20678         are listed on the command line and at least one of them is
20679         listed in $(ALL_RECURSIVE_TARGETS).
20680
20681 2009-03-14  Bruno Haible  <bruno@clisp.org>
20682
20683         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
20684         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
20685         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
20686         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
20687         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
20688         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
20689         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
20690         unistr/u8-uctomb.
20691         * modules/unistr/u8-strchr (Depends-on): Likewise.
20692         * modules/unistr/u8-strrchr (Depends-on): Likewise.
20693         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
20694         unistr/u16-uctomb.
20695         * modules/unistr/u16-strchr (Depends-on): Likewise.
20696         * modules/unistr/u16-strrchr (Depends-on): Likewise.
20697
20698 2009-03-12  Bruno Haible  <bruno@clisp.org>
20699
20700         Work around select() bug on Interix 3.5.
20701         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
20702         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
20703         * m4/select.m4: New file.
20704         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
20705         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
20706         * modules/select (Files): Add m4/select.m4.
20707         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
20708         * modules/nanosleep (Depends-on): Add select.
20709         * modules/poll (Depends-on): Likewise.
20710         * doc/posix-functions/select.texi: Mention the Interix bug.
20711         Reported by Markus Duft <mduft@gentoo.org>.
20712
20713         * lib/select.c: Renamed from lib/winsock-select.c.
20714         * modules/select (Files): Add lib/select.c, remove
20715         lib/winsock-select.c.
20716         (configure.ac): Update.
20717
20718 2009-03-12  Jim Meyering  <meyering@redhat.com>
20719
20720         avoid gcc warnings about unused macro definitions
20721         * lib/readtokens.c (STREQ): Remove unused definition.
20722         * lib/xmalloc.c (SIZE_MAX): Likewise.
20723         * lib/openat-die.c (N_): Likewise.
20724         * lib/mountlist.c (SIZE_MAX): Remove definition.
20725         Instead, include <stdint.h>.
20726         * lib/readutmp.c: Likewise.
20727         * modules/readutmp (Depends-on): Add stdint.
20728         * modules/mountlist (Depends-on): Add stdint.
20729         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
20730
20731 2009-03-10  Bruno Haible  <bruno@clisp.org>
20732
20733         Tests for module 'mbmemcasecoll'.
20734         * modules/mbmemcasecoll-tests: New file.
20735         * tests/test-mbmemcasecoll1.sh: New file.
20736         * tests/test-mbmemcasecoll2.sh: New file.
20737         * tests/test-mbmemcasecoll3.sh: New file.
20738         * tests/test-mbmemcasecoll.c: New file.
20739
20740         New module 'mbmemcasecoll'.
20741         * lib/mbmemcasecoll.h: New file.
20742         * lib/mbmemcasecoll.c: New file.
20743         * modules/mbmemcasecoll: New file.
20744
20745         * tests/test-mbmemcasecmp.h: New file, extracted from
20746         tests/test-mbmemcasecmp.c.
20747         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
20748         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
20749         (main): Update.
20750         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
20751
20752 2009-03-09  Bruno Haible  <bruno@clisp.org>
20753
20754         Tests for module 'mbmemcasecmp'.
20755         * modules/mbmemcasecmp-tests: New file.
20756         * tests/test-mbmemcasecmp1.sh: New file.
20757         * tests/test-mbmemcasecmp2.sh: New file.
20758         * tests/test-mbmemcasecmp3.sh: New file.
20759         * tests/test-mbmemcasecmp.c: New file.
20760
20761         New module 'mbmemcasecmp'.
20762         * lib/mbmemcasecmp.h: New file.
20763         * lib/mbmemcasecmp.c: New file.
20764         * modules/mbmemcasecmp: New file.
20765
20766 2009-03-09  Bruno Haible  <bruno@clisp.org>
20767
20768         Tests for module 'unicase/ulc-casecoll'.
20769         * modules/unicase/ulc-casecoll-tests: New file.
20770         * tests/unicase/test-ulc-casecoll1.sh: New file.
20771         * tests/unicase/test-ulc-casecoll2.sh: New file.
20772         * tests/unicase/test-ulc-casecoll.c: New file.
20773
20774         New module 'unicase/ulc-casecoll'.
20775         * lib/unicase.h (ulc_casecoll): New declaration.
20776         * lib/unicase/ulc-casecoll.c: New file.
20777         * modules/unicase/ulc-casecoll: New file.
20778
20779         New module 'unicase/ulc-casexfrm'.
20780         * lib/unicase.h (ulc_casexfrm): New declaration.
20781         * lib/unicase/ulc-casexfrm.c: New file.
20782         * modules/unicase/ulc-casexfrm: New file.
20783
20784 2009-03-09  Bruno Haible  <bruno@clisp.org>
20785
20786         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
20787         invocations.
20788
20789         * m4/mbscasecmp.m4: Remove file.
20790         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
20791         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
20792
20793         * m4/mbscasestr.m4: Remove file.
20794         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
20795         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
20796
20797         * m4/mbschr.m4: Remove file.
20798         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
20799         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
20800
20801         * m4/mbscspn.m4: Remove file.
20802         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
20803         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
20804
20805         * m4/mbslen.m4: Remove file.
20806         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
20807         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
20808
20809         * m4/mbsncasecmp.m4: Remove file.
20810         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
20811         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
20812
20813         * m4/mbsnlen.m4: Remove file.
20814         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
20815         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
20816
20817         * m4/mbspbrk.m4: Remove file.
20818         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
20819         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
20820
20821         * m4/mbspcasecmp.m4: Remove file.
20822         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
20823         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
20824
20825         * m4/mbsrchr.m4: Remove file.
20826         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
20827         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
20828
20829         * m4/mbssep.m4: Remove file.
20830         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
20831         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
20832
20833         * m4/mbsspn.m4: Remove file.
20834         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
20835         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
20836
20837         * m4/mbsstr.m4: Remove file.
20838         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
20839         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
20840
20841         * m4/mbstok_r.m4: Remove file.
20842         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
20843         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
20844
20845         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
20846
20847         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
20848         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
20849
20850         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
20851
20852 2009-03-08  Bruno Haible  <bruno@clisp.org>
20853
20854         Tests for module 'unicase/ulc-casecmp'.
20855         * modules/unicase/ulc-casecmp-tests: New file.
20856         * tests/unicase/test-ulc-casecmp1.sh: New file.
20857         * tests/unicase/test-ulc-casecmp2.sh: New file.
20858         * tests/unicase/test-ulc-casecmp.c: New file.
20859
20860         New module 'unicase/ulc-casecmp'.
20861         * lib/unicase.h (ulc_casecmp): New declaration.
20862         * lib/unicase/ulc-casecmp.c: New file.
20863         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
20864         'const SRC_UNIT *'.
20865         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
20866         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
20867         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
20868         * modules/unicase/ulc-casecmp: New file.
20869
20870         Tests for module 'unicase/u32-is-cased'.
20871         * modules/unicase/u32-is-cased-tests: New file.
20872         * tests/unicase/test-u32-is-cased.c: New file.
20873
20874         Tests for module 'unicase/u16-is-cased'.
20875         * modules/unicase/u16-is-cased-tests: New file.
20876         * tests/unicase/test-u16-is-cased.c: New file.
20877
20878         Tests for module 'unicase/u8-is-cased'.
20879         * modules/unicase/u8-is-cased-tests: New file.
20880         * tests/unicase/test-u8-is-cased.c: New file.
20881         * tests/unicase/test-is-cased.h: New file.
20882
20883         New module 'unicase/u32-is-cased'.
20884         * lib/unicase/u32-is-cased.c: New file.
20885         * modules/unicase/u32-is-cased: New file.
20886
20887         New module 'unicase/u16-is-cased'.
20888         * lib/unicase/u16-is-cased.c: New file.
20889         * modules/unicase/u16-is-cased: New file.
20890
20891         New module 'unicase/u8-is-cased'.
20892         * lib/unicase/u8-is-cased.c: New file.
20893         * lib/unicase/u-is-cased.h: New file.
20894         * modules/unicase/u8-is-cased: New file.
20895
20896         Tests for module 'unicase/u32-is-casefolded'.
20897         * modules/unicase/u32-is-casefolded-tests: New file.
20898         * tests/unicase/test-u32-is-casefolded.c: New file.
20899
20900         Tests for module 'unicase/u16-is-casefolded'.
20901         * modules/unicase/u16-is-casefolded-tests: New file.
20902         * tests/unicase/test-u16-is-casefolded.c: New file.
20903
20904         Tests for module 'unicase/u8-is-casefolded'.
20905         * modules/unicase/u8-is-casefolded-tests: New file.
20906         * tests/unicase/test-u8-is-casefolded.c: New file.
20907         * tests/unicase/test-is-casefolded.h: New file.
20908
20909         New module 'unicase/u32-is-casefolded'.
20910         * lib/unicase/u32-is-casefolded.c: New file.
20911         * modules/unicase/u32-is-casefolded: New file.
20912
20913         New module 'unicase/u16-is-casefolded'.
20914         * lib/unicase/u16-is-casefolded.c: New file.
20915         * modules/unicase/u16-is-casefolded: New file.
20916
20917         New module 'unicase/u8-is-casefolded'.
20918         * lib/unicase/u8-is-casefolded.c: New file.
20919         * modules/unicase/u8-is-casefolded: New file.
20920
20921         Tests for module 'unicase/u32-is-titlecase'.
20922         * modules/unicase/u32-is-titlecase-tests: New file.
20923         * tests/unicase/test-u32-is-titlecase.c: New file.
20924
20925         Tests for module 'unicase/u16-is-titlecase'.
20926         * modules/unicase/u16-is-titlecase-tests: New file.
20927         * tests/unicase/test-u16-is-titlecase.c: New file.
20928
20929         Tests for module 'unicase/u8-is-titlecase'.
20930         * modules/unicase/u8-is-titlecase-tests: New file.
20931         * tests/unicase/test-u8-is-titlecase.c: New file.
20932         * tests/unicase/test-is-titlecase.h: New file.
20933
20934         New module 'unicase/u32-is-titlecase'.
20935         * lib/unicase/u32-is-titlecase.c: New file.
20936         * modules/unicase/u32-is-titlecase: New file.
20937
20938         New module 'unicase/u16-is-titlecase'.
20939         * lib/unicase/u16-is-titlecase.c: New file.
20940         * modules/unicase/u16-is-titlecase: New file.
20941
20942         New module 'unicase/u8-is-titlecase'.
20943         * lib/unicase/u8-is-titlecase.c: New file.
20944         * modules/unicase/u8-is-titlecase: New file.
20945
20946         Tests for module 'unicase/u32-is-lowercase'.
20947         * modules/unicase/u32-is-lowercase-tests: New file.
20948         * tests/unicase/test-u32-is-lowercase.c: New file.
20949
20950         Tests for module 'unicase/u16-is-lowercase'.
20951         * modules/unicase/u16-is-lowercase-tests: New file.
20952         * tests/unicase/test-u16-is-lowercase.c: New file.
20953
20954         Tests for module 'unicase/u8-is-lowercase'.
20955         * modules/unicase/u8-is-lowercase-tests: New file.
20956         * tests/unicase/test-u8-is-lowercase.c: New file.
20957         * tests/unicase/test-is-lowercase.h: New file.
20958
20959         New module 'unicase/u32-is-lowercase'.
20960         * lib/unicase/u32-is-lowercase.c: New file.
20961         * modules/unicase/u32-is-lowercase: New file.
20962
20963         New module 'unicase/u16-is-lowercase'.
20964         * lib/unicase/u16-is-lowercase.c: New file.
20965         * modules/unicase/u16-is-lowercase: New file.
20966
20967         New module 'unicase/u8-is-lowercase'.
20968         * lib/unicase/u8-is-lowercase.c: New file.
20969         * modules/unicase/u8-is-lowercase: New file.
20970
20971         Tests for module 'unicase/u32-is-uppercase'.
20972         * modules/unicase/u32-is-uppercase-tests: New file.
20973         * tests/unicase/test-u32-is-uppercase.c: New file.
20974
20975         Tests for module 'unicase/u16-is-uppercase'.
20976         * modules/unicase/u16-is-uppercase-tests: New file.
20977         * tests/unicase/test-u16-is-uppercase.c: New file.
20978
20979         Tests for module 'unicase/u8-is-uppercase'.
20980         * modules/unicase/u8-is-uppercase-tests: New file.
20981         * tests/unicase/test-u8-is-uppercase.c: New file.
20982         * tests/unicase/test-is-uppercase.h: New file.
20983
20984         New module 'unicase/u32-is-uppercase'.
20985         * lib/unicase/u32-is-uppercase.c: New file.
20986         * modules/unicase/u32-is-uppercase: New file.
20987
20988         New module 'unicase/u16-is-uppercase'.
20989         * lib/unicase/u16-is-uppercase.c: New file.
20990         * modules/unicase/u16-is-uppercase: New file.
20991
20992         New module 'unicase/u8-is-uppercase'.
20993         * lib/unicase/u8-is-uppercase.c: New file.
20994         * modules/unicase/u8-is-uppercase: New file.
20995
20996         New module 'unicase/u32-is-invariant'.
20997         * lib/unicase/u32-is-invariant.c: New file.
20998         * modules/unicase/u32-is-invariant: New file.
20999
21000         New module 'unicase/u16-is-invariant'.
21001         * lib/unicase/u16-is-invariant.c: New file.
21002         * modules/unicase/u16-is-invariant: New file.
21003
21004         New module 'unicase/u8-is-invariant'.
21005         * lib/unicase/u8-is-invariant.c: New file.
21006         * lib/unicase/invariant.h: New file.
21007         * lib/unicase/u-is-invariant.h: New file.
21008         * modules/unicase/u8-is-invariant: New file.
21009
21010         Tests for module 'unicase/u32-casecoll'.
21011         * modules/unicase/u32-casecoll-tests: New file.
21012         * tests/unicase/test-u32-casecoll.c: New file.
21013
21014         Tests for module 'unicase/u16-casecoll'.
21015         * modules/unicase/u16-casecoll-tests: New file.
21016         * tests/unicase/test-u16-casecoll.c: New file.
21017
21018         Tests for module 'unicase/u8-casecoll'.
21019         * modules/unicase/u8-casecoll-tests: New file.
21020         * tests/unicase/test-u8-casecoll.c: New file.
21021
21022         New module 'unicase/u32-casecoll'.
21023         * lib/unicase/u32-casecoll.c: New file.
21024         * modules/unicase/u32-casecoll: New file.
21025
21026         New module 'unicase/u16-casecoll'.
21027         * lib/unicase/u16-casecoll.c: New file.
21028         * modules/unicase/u16-casecoll: New file.
21029
21030         New module 'unicase/u8-casecoll'.
21031         * lib/unicase/u8-casecoll.c: New file.
21032         * lib/unicase/u-casecoll.h: New file.
21033         * modules/unicase/u8-casecoll: New file.
21034
21035         New module 'unicase/u32-casexfrm'.
21036         * lib/unicase/u32-casexfrm.c: New file.
21037         * modules/unicase/u32-casexfrm: New file.
21038
21039         New module 'unicase/u16-casexfrm'.
21040         * lib/unicase/u16-casexfrm.c: New file.
21041         * modules/unicase/u16-casexfrm: New file.
21042
21043         New module 'unicase/u8-casexfrm'.
21044         * lib/unicase/u8-casexfrm.c: New file.
21045         * lib/unicase/u-casexfrm.h: New file.
21046         * modules/unicase/u8-casexfrm: New file.
21047
21048         Tests for module 'unicase/u32-casecmp'.
21049         * modules/unicase/u32-casecmp-tests: New file.
21050         * tests/unicase/test-u32-casecmp.c: New file.
21051
21052         Tests for module 'unicase/u16-casecmp'.
21053         * modules/unicase/u16-casecmp-tests: New file.
21054         * tests/unicase/test-u16-casecmp.c: New file.
21055
21056         Tests for module 'unicase/u8-casecmp'.
21057         * modules/unicase/u8-casecmp-tests: New file.
21058         * tests/unicase/test-u8-casecmp.c: New file.
21059         * tests/unicase/test-casecmp.h: New file.
21060
21061         New module 'unicase/u32-casecmp'.
21062         * lib/unicase/u32-casecmp.c: New file.
21063         * modules/unicase/u32-casecmp: New file.
21064
21065         New module 'unicase/u16-casecmp'.
21066         * lib/unicase/u16-casecmp.c: New file.
21067         * modules/unicase/u16-casecmp: New file.
21068
21069         New module 'unicase/u8-casecmp'.
21070         * lib/unicase/u8-casecmp.c: New file.
21071         * lib/unicase/u-casecmp.h: New file.
21072         * modules/unicase/u8-casecmp: New file.
21073
21074         Tests for module 'unicase/u32-casefold'.
21075         * modules/unicase/u32-casefold-tests: New file.
21076         * tests/unicase/test-u32-casefold.c: New file.
21077
21078         Tests for module 'unicase/u16-casefold'.
21079         * modules/unicase/u16-casefold-tests: New file.
21080         * tests/unicase/test-u16-casefold.c: New file.
21081
21082         Tests for module 'unicase/u8-casefold'.
21083         * modules/unicase/u8-casefold-tests: New file.
21084         * tests/unicase/test-u8-casefold.c: New file.
21085
21086         New module 'unicase/u32-casefold'.
21087         * lib/unicase/u32-casefold.c: New file.
21088         * modules/unicase/u32-casefold: New file.
21089
21090         New module 'unicase/u16-casefold'.
21091         * lib/unicase/u16-casefold.c: New file.
21092         * modules/unicase/u16-casefold: New file.
21093
21094         New module 'unicase/u8-casefold'.
21095         * lib/unicase/u8-casefold.c: New file.
21096         * lib/unicase/u-casefold.h: New file.
21097         * modules/unicase/u8-casefold: New file.
21098
21099         New module 'unicase/tocasefold'.
21100         * lib/unicase/casefold.h: New file.
21101         * lib/unicase/tocasefold.c: New file.
21102         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
21103         * modules/unicase/tocasefold: New file.
21104
21105         Tests for module 'unicase/u32-totitle'.
21106         * modules/unicase/u32-totitle-tests: New file.
21107         * tests/unicase/test-u32-totitle.c: New file.
21108
21109         Tests for module 'unicase/u16-totitle'.
21110         * modules/unicase/u16-totitle-tests: New file.
21111         * tests/unicase/test-u16-totitle.c: New file.
21112
21113         Tests for module 'unicase/u8-totitle'.
21114         * modules/unicase/u8-totitle-tests: New file.
21115         * tests/unicase/test-u8-totitle.c: New file.
21116
21117         New module 'unicase/u32-totitle'.
21118         * lib/unicase/u32-totitle.c: New file.
21119         * modules/unicase/u32-totitle: New file.
21120
21121         New module 'unicase/u16-totitle'.
21122         * lib/unicase/u16-totitle.c: New file.
21123         * modules/unicase/u16-totitle: New file.
21124
21125         New module 'unicase/u8-totitle'.
21126         * lib/unicase/u8-totitle.c: New file.
21127         * lib/unicase/u-totitle.h: New file.
21128         * modules/unicase/u8-totitle: New file.
21129
21130         Tests for module 'unicase/u32-tolower'.
21131         * modules/unicase/u32-tolower-tests: New file.
21132         * tests/unicase/test-u32-tolower.c: New file.
21133
21134         Tests for module 'unicase/u16-tolower'.
21135         * modules/unicase/u16-tolower-tests: New file.
21136         * tests/unicase/test-u16-tolower.c: New file.
21137
21138         Tests for module 'unicase/u8-tolower'.
21139         * modules/unicase/u8-tolower-tests: New file.
21140         * tests/unicase/test-u8-tolower.c: New file.
21141
21142         New module 'unicase/u32-tolower'.
21143         * lib/unicase/u32-tolower.c: New file.
21144         * modules/unicase/u32-tolower: New file.
21145
21146         New module 'unicase/u16-tolower'.
21147         * lib/unicase/u16-tolower.c: New file.
21148         * modules/unicase/u16-tolower: New file.
21149
21150         New module 'unicase/u8-tolower'.
21151         * lib/unicase/u8-tolower.c: New file.
21152         * modules/unicase/u8-tolower: New file.
21153
21154         Tests for module 'unicase/u32-toupper'.
21155         * modules/unicase/u32-toupper-tests: New file.
21156         * tests/unicase/test-u32-toupper.c: New file.
21157
21158         Tests for module 'unicase/u16-toupper'.
21159         * modules/unicase/u16-toupper-tests: New file.
21160         * tests/unicase/test-u16-toupper.c: New file.
21161
21162         Tests for module 'unicase/u8-toupper'.
21163         * modules/unicase/u8-toupper-tests: New file.
21164         * tests/unicase/test-u8-toupper.c: New file.
21165
21166         New module 'unicase/u32-toupper'.
21167         * lib/unicase/u32-toupper.c: New file.
21168         * modules/unicase/u32-toupper: New file.
21169
21170         New module 'unicase/u16-toupper'.
21171         * lib/unicase/u16-toupper.c: New file.
21172         * modules/unicase/u16-toupper: New file.
21173
21174         New module 'unicase/u8-toupper'.
21175         * lib/unicase/u8-toupper.c: New file.
21176         * modules/unicase/u8-toupper: New file.
21177
21178         New module 'unicase/u32-casemap'.
21179         * lib/unicase/u32-casemap.c: New file.
21180         * modules/unicase/u32-casemap: New file.
21181
21182         New module 'unicase/u16-casemap'.
21183         * lib/unicase/u16-casemap.c: New file.
21184         * modules/unicase/u16-casemap: New file.
21185
21186         New module 'unicase/u8-casemap'.
21187         * lib/unicase/unicasemap.h: New file.
21188         * lib/unicase/u8-casemap.c: New file.
21189         * lib/unicase/u-casemap.h: New file.
21190         * modules/unicase/u8-casemap: New file.
21191
21192         New module 'unicase/special-casing'.
21193         * lib/unicase/special-casing.h: New file.
21194         * lib/unicase/special-casing.c: New file.
21195         * lib/unicase/special-casing-table.gperf: New file, generated by
21196         gen-uni-tables.c.
21197         * modules/unicase/special-casing: New file.
21198
21199         Tests for module 'unicase/locale-language'.
21200         * modules/unicase/locale-language-tests: New file.
21201         * tests/unicase/test-locale-language.sh: New file.
21202         * tests/unicase/test-locale-language.c: New file.
21203
21204         New module 'unicase/locale-language'.
21205         * lib/unicase/locale-language.c: New file.
21206         * lib/unicase/locale-languages.gperf: New file.
21207         * modules/unicase/locale-language: New file.
21208
21209         Generate more tables for case conversion and case folding.
21210         * lib/gen-uni-tables.c (SCC_*): New enum items.
21211         (struct special_casing_rule): New type.
21212         (casing_rules, num_casing_rules, allocated_casing_rules): New
21213         variables.
21214         (add_casing_rule, fill_casing_rules): New functions.
21215         (struct casefold_rule): New type.
21216         (casefolding_rules, num_casefolding_rules,
21217         allocated_casefolding_rules): New variables.
21218         (fill_casefolding_rules): New function.
21219         (unicode_casefold): New variable.
21220         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
21221         sort_casing_rules, output_casing_rules): New functions.
21222         (main): Accept to more arguments: SpecialCasing.txt and
21223         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
21224         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
21225         Output mapping for casefolding.
21226
21227         * lib/unicase.h: Include stdbool.h, uninorm.h.
21228         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
21229         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
21230         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
21231         arguments.
21232         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
21233         resultp arguments.
21234         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
21235         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
21236         resultp arguments.
21237         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
21238         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
21239         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
21240         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
21241         declarations.
21242         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
21243
21244 2009-03-08  Bruno Haible  <bruno@clisp.org>
21245
21246         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
21247         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
21248         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
21249         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
21250
21251 2009-03-07  Bruno Haible  <bruno@clisp.org>
21252
21253         Adjust u*_normcmp, u*_normcoll API.
21254         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
21255         u16_normcoll, u32_normcoll): Change failure conventions.
21256         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
21257         errno and return -1.
21258         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
21259
21260 2009-03-07  Bruno Haible  <bruno@clisp.org>
21261
21262         Tests for module 'uninorm/u32-normcoll'.
21263         * modules/uninorm/u32-normcoll-tests: New file.
21264         * tests/uninorm/test-u32-normcoll.c: New file.
21265
21266         Tests for module 'uninorm/u16-normcoll'.
21267         * modules/uninorm/u16-normcoll-tests: New file.
21268         * tests/uninorm/test-u16-normcoll.c: New file.
21269
21270         Tests for module 'uninorm/u8-normcoll'.
21271         * modules/uninorm/u8-normcoll-tests: New file.
21272         * tests/uninorm/test-u8-normcoll.c: New file.
21273
21274 2009-03-07  Bruno Haible  <bruno@clisp.org>
21275
21276         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
21277         tests/uninorm/test-u32-normcmp.c.
21278         * tests/uninorm/test-u32-normcmp.c: Include it.
21279         (test_nonascii): New function, extracted from main. Add some more
21280         tests.
21281         (main): Invoke test_ascii and test_nonascii.
21282         * modules/uninorm/u32-normcmp-tests (Files): Add
21283         tests/uninorm/test-u32-normcmp.h.
21284         (Depends-on): Remove uninorm/u32-normcmp.
21285
21286         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
21287         tests/uninorm/test-u16-normcmp.c.
21288         * tests/uninorm/test-u16-normcmp.c: Include it.
21289         (test_nonascii): New function, extracted from main. Add some more
21290         tests.
21291         (main): Invoke test_ascii and test_nonascii.
21292         * modules/uninorm/u16-normcmp-tests (Files): Add
21293         tests/uninorm/test-u16-normcmp.h.
21294         (Depends-on): Remove uninorm/u16-normcmp.
21295
21296         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
21297         tests/uninorm/test-u8-normcmp.c.
21298         * tests/uninorm/test-u8-normcmp.c: Include it.
21299         (test_nonascii): New function, extracted from main. Add some more
21300         tests.
21301         (main): Invoke test_ascii and test_nonascii.
21302         * modules/uninorm/u8-normcmp-tests (Files): Add
21303         tests/uninorm/test-u8-normcmp.h.
21304         (Depends-on): Remove uninorm/u8-normcmp.
21305
21306 2009-03-07  Bruno Haible  <bruno@clisp.org>
21307
21308         New module 'uninorm/u32-normcoll'.
21309         * lib/uninorm/u32-normcoll.c: New file.
21310         * modules/uninorm/u32-normcoll: New file.
21311
21312         New module 'uninorm/u16-normcoll'.
21313         * lib/uninorm/u16-normcoll.c: New file.
21314         * modules/uninorm/u16-normcoll: New file.
21315
21316         New module 'uninorm/u8-normcoll'.
21317         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
21318         declarations.
21319         * lib/uninorm/u8-normcoll.c: New file.
21320         * lib/uninorm/u-normcoll.h: New file.
21321         * modules/uninorm/u8-normcoll: New file.
21322
21323         New module 'uninorm/u32-normxfrm'.
21324         * lib/uninorm/u32-normxfrm.c: New file.
21325         * modules/uninorm/u32-normxfrm: New file.
21326
21327         New module 'uninorm/u16-normxfrm'.
21328         * lib/uninorm/u16-normxfrm.c: New file.
21329         * modules/uninorm/u16-normxfrm: New file.
21330
21331         New module 'uninorm/u8-normxfrm'.
21332         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
21333         declarations.
21334         * lib/uninorm/u8-normxfrm.c: New file.
21335         * lib/uninorm/u-normxfrm.h: New file.
21336         * modules/uninorm/u8-normxfrm: New file.
21337
21338 2009-03-07  Bruno Haible  <bruno@clisp.org>
21339
21340         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
21341         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
21342         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
21343
21344 2009-03-07  Bruno Haible  <bruno@clisp.org>
21345
21346         New module 'memxfrm'.
21347         * lib/memxfrm.h: New file.
21348         * lib/memxfrm.c: New file.
21349         * modules/memxfrm: New file.
21350
21351 2009-03-07  Bruno Haible  <bruno@clisp.org>
21352
21353         New module 'memcmp2'.
21354         * lib/memcmp2.h: New file.
21355         * lib/memcmp2.c: New file.
21356         * modules/memcmp2: New file.
21357
21358 2009-03-07  Bruno Haible  <bruno@clisp.org>
21359
21360         Tests for module 'uninorm/decomposing-form'.
21361         * modules/uninorm/decomposing-form-tests: New file.
21362         * tests/uninorm/test-decomposing-form.c: New file.
21363
21364         New module 'uninorm/decomposing-form'.
21365         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
21366         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
21367         Add 'decomposing_variant' field.
21368         * lib/uninorm/decomposing-form.c: New file.
21369         * lib/uninorm/nfc.c (uninorm_nfc): Update.
21370         * lib/uninorm/nfd.c (uninorm_nfd): Update.
21371         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
21372         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
21373         * modules/uninorm/decomposing-form: New file.
21374         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
21375         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
21376
21377 2009-03-07  Bruno Haible  <bruno@clisp.org>
21378
21379         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
21380         strings.
21381
21382 2009-03-06  Bruno Haible  <bruno@clisp.org>
21383
21384         Tests for module 'uninorm/u32-normcmp'.
21385         * tests/uninorm/test-u32-normcmp.c: New file.
21386         * modules/uninorm/u32-normcmp-tests: New file.
21387
21388         Tests for module 'uninorm/u16-normcmp'.
21389         * tests/uninorm/test-u16-normcmp.c: New file.
21390         * modules/uninorm/u16-normcmp-tests: New file.
21391
21392         Tests for module 'uninorm/u8-normcmp'.
21393         * tests/uninorm/test-u8-normcmp.c: New file.
21394         * modules/uninorm/u8-normcmp-tests: New file.
21395
21396         New module 'uninorm/u32-normcmp'.
21397         * lib/uninorm/u32-normcmp.c: New file.
21398         * modules/uninorm/u32-normcmp: New file.
21399
21400         New module 'uninorm/u16-normcmp'.
21401         * lib/uninorm/u16-normcmp.c: New file.
21402         * modules/uninorm/u16-normcmp: New file.
21403
21404         New module 'uninorm/u8-normcmp'.
21405         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
21406         declarations.
21407         * lib/uninorm/u8-normcmp.c: New file.
21408         * lib/uninorm/u-normcmp.h: New file.
21409         * modules/uninorm/u8-normcmp: New file.
21410
21411 2009-03-06  Bruno Haible  <bruno@clisp.org>
21412
21413         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
21414         Reported by Eric Blake.
21415
21416 2009-03-06  Eric Blake  <ebb9@byu.net>
21417             Bruno Haible  <bruno@clisp.org>
21418
21419         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
21420         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
21421         condition.
21422         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
21423         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
21424         condition.
21425         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
21426
21427 2009-03-06  Eric Blake  <ebb9@byu.net>
21428
21429         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
21430         to avoid compiler warnings.
21431         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
21432
21433 2009-03-05  Bruno Haible  <bruno@clisp.org>
21434
21435         * tests/test-ftell.c (main): Disable test beyond end of file on
21436         FreeMiNT.
21437         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
21438
21439 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
21440
21441         * lib/filevercmp.c: Move hidden files up in ordering.
21442         * tests/test-filevercmp.c: Add tests for hidden files.
21443
21444 2009-03-04  Bruno Haible  <bruno@clisp.org>
21445
21446         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
21447         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
21448         AM_CFLAGS.
21449         Reported by Simon Josefsson.
21450
21451 2009-03-03  Bruno Haible  <bruno@clisp.org>
21452
21453         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
21454         Reported by Simon Josefsson.
21455
21456         * doc/ld-version-script.texi: Update node reference.
21457
21458 2009-03-03  Bruno Haible  <bruno@clisp.org>
21459
21460         * modules/visibility (License): Change to 'unlimited'.
21461         Suggested by Simon Josefsson.
21462
21463 2009-03-03  Jim Meyering  <meyering@redhat.com>
21464
21465         unlinkdir: cannot_unlink_dir may modify process state
21466         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
21467         it's neither thread-safe nor appropriate for use in a library.
21468
21469 2009-03-03  Eric Blake  <ebb9@byu.net>
21470
21471         test-closein: silence test under Darwin
21472         * tests/test-closein.sh: Ignore stderr from cat, since we don't
21473         care if it dies from EPIPE or EBADF.
21474
21475 2009-03-03  Bruno Haible  <bruno@clisp.org>
21476
21477         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
21478         earlier.
21479         * doc/visibility.texi: Fix @node and @section.
21480
21481 2009-03-03  Simon Josefsson  <simon@josefsson.org>
21482
21483         * doc/gnulib.texi: Link to sections for ld version script and
21484         visibility.
21485         * doc/visibility.texi: Add @node and @section.
21486         * modules/ld-version-script: New module.
21487         * m4/ld-version-script.m4: New file.
21488         * doc/ld-version-script.texi: New file.
21489
21490 2009-03-02  David Lutterkort  <lutter@redhat.com>
21491
21492         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
21493         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21494
21495 2009-03-02  Bruno Haible  <bruno@clisp.org>
21496
21497         * doc/visibility.texi: Mention libtool's -export-symbols option.
21498
21499 2009-03-02  Jim Meyering  <meyering@redhat.com>
21500
21501         announce-gen: new option: --no-print-checksums
21502         * build-aux/announce-gen (usage): Describe it.
21503         (print_checksums): Print a newline here, not in the [*] footnote.
21504         (main): Honor it.
21505
21506 2009-03-01  Bruno Haible  <bruno@clisp.org>
21507
21508         Use socklen_t in the native Windows replacements prototypes.
21509         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
21510         instead of 'int'.
21511         * lib/getsockopt.c (rpl_getsockopt): Likewise.
21512         * lib/setsockopt.c (rpl_setsockopt): Likewise.
21513         * modules/getsockopt (Depends-on): Add socklen.
21514         * modules/setsockopt (Depends-on): Add socklen.
21515
21516 2009-03-01  Bruno Haible  <bruno@clisp.org>
21517
21518         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
21519         least 4.2.
21520
21521 2009-03-01  Eric Blake  <ebb9@byu.net>
21522             Bruno Haible  <bruno@clisp.org>
21523
21524         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
21525         error messages.
21526         * lib/wait-process.c (wait_subprocess): Omit error message about
21527         deadly signal sent to the child of termsigp != NULL.
21528
21529 2009-03-01  Eric Blake  <ebb9@byu.net>
21530
21531         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
21532
21533 2009-03-01  Bruno Haible  <bruno@clisp.org>
21534
21535         Avoid a gcc warning.
21536         * tests/test-sched.c (b): Make global.
21537         Reported by Eric Blake.
21538
21539 2009-01-19  Martin Lambers  <marlam@marlam.de>
21540
21541         Provide POSIX semantics for socket timeout options on W32.
21542         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
21543         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
21544         * modules/setsockopt: Depend on sys_time module for struct timeval.
21545         * modules/getsockopt: Depend on sys_time module for struct timeval.
21546
21547 2009-03-01  Simon Josefsson  <simon@josefsson.org>
21548
21549         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
21550         __USE_GNU, for consistency with netdb.in.h.
21551         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21552
21553 2009-03-01  Bruno Haible  <bruno@clisp.org>
21554
21555         More support for FreeMiNT.
21556         * lib/fseeko.c (rpl_fseeko): Complete last commit.
21557         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21558
21559 2009-03-01  Bruno Haible  <bruno@clisp.org>
21560
21561         More support for FreeMiNT.
21562         * lib/fpurge.c (fpurge): Correct last commit.
21563         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21564
21565 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21566
21567         Fix unportable awk script in vc-list-files.
21568         * build-aux/vc-list-files: In the replacement awk script, use
21569         substr with a second argument of 1, not zero.
21570         Report by Simon Josefsson.
21571
21572 2009-02-28  Bruno Haible  <bruno@clisp.org>
21573
21574         More support for FreeMiNT.
21575         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
21576         to FreeMiNT today.
21577         * lib/fwriting.c (fwriting): Likewise.
21578         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
21579
21580 2009-02-28  Bruno Haible  <bruno@clisp.org>
21581
21582         * tests/test-freadseek.c (main): Disable test beyond end of file on
21583         FreeMiNT.
21584         * tests/test-ftello.c (main): Likewise.
21585         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
21586
21587 2009-02-28  Bruno Haible  <bruno@clisp.org>
21588
21589         Add tentative support for FreeMiNT.
21590         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
21591         * lib/fpurge.c (fpurge): Likewise.
21592         * lib/freadable.c (freadable): Likewise.
21593         * lib/freading.c (freading): Likewise.
21594         * lib/freadptr.c (freadptr): Likewise.
21595         * lib/freadseek.c (freadptrinc): Likewise.
21596         * lib/fseeko.c (rpl_fseeko): Likewise.
21597         * lib/fseterr.c (fseterr): Likewise.
21598         * lib/fwritable.c (fwritable): Likewise.
21599         * lib/fwriting.c (fwriting): Likewise.
21600         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
21601         Hourihane.
21602         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21603
21604 2009-02-28  Bruno Haible  <bruno@clisp.org>
21605
21606         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
21607         SIGCHLD.
21608         Reported by Jim Meyering.
21609
21610 2009-02-28  Bruno Haible  <bruno@clisp.org>
21611
21612         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
21613         Mention the results of these tests on various platforms.
21614         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
21615         order.
21616         * doc/posix-functions/printf.texi: Likewise.
21617         * doc/posix-functions/snprintf.texi: Likewise.
21618         * doc/posix-functions/sprintf.texi: Likewise.
21619         * doc/posix-functions/vfprintf.texi: Likewise.
21620         * doc/posix-functions/vprintf.texi: Likewise.
21621         * doc/posix-functions/vsnprintf.texi: Likewise.
21622         * doc/posix-functions/vsprintf.texi: Likewise.
21623         * doc/glibc-functions/obstack_printf.texi: Likewise.
21624         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
21625
21626 2009-02-28  Bruno Haible  <bruno@clisp.org>
21627
21628         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
21629         Reported by Loïc Minier <lool@dooz.org>.
21630
21631 2009-02-27  Bruno Haible  <bruno@clisp.org>
21632
21633         * gnulib-tool (func_import): Make the sed expression used to create the
21634         sed script for updating the .gitignore file POSIX compliant.
21635         Reported by Eric Blake.
21636
21637 2009-02-27  Bruno Haible  <bruno@clisp.org>
21638
21639         * gnulib-tool (sed): Don't alias as "sed --posix".
21640         Reported by Eric Blake.
21641
21642 2009-02-27  Bruno Haible  <bruno@clisp.org>
21643
21644         Avoid test link errors.
21645         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
21646         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
21647         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
21648         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
21649         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21650
21651 2009-02-27  Bruno Haible  <bruno@clisp.org>
21652
21653         Avoid spurious "(cached)" in configure output.
21654         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
21655         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
21656         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
21657         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
21658         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
21659         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
21660         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
21661         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
21662         Reported by Eric Blake.
21663
21664 2009-02-27  Eric Blake  <ebb9@byu.net>
21665
21666         printf: fix regression in previous patch
21667         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
21668
21669 2009-02-27  Bruno Haible  <bruno@clisp.org>
21670
21671         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
21672         value.
21673         * lib/stdint.in.h: Likewise.
21674         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
21675
21676 2009-02-27  Eric Blake  <ebb9@byu.net>
21677
21678         doc: mention more functions added in cygwin 1.7.0
21679         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
21680         addition.
21681         * doc/posix-functions/open_wmemstream.texi: Likewise.
21682         * doc/posix-functions/wcsnlen.texi: Likewise.
21683         * doc/posix-functions/wcsnrtombs.texi: Likewise.
21684         * doc/posix-functions/wcstod.texi: Likewise.
21685         * doc/posix-functions/wcstof.texi: Likewise.
21686         * doc/posix-functions/wcstoimax.texi: Likewise.
21687         * doc/posix-functions/wcstok.texi: Likewise.
21688         * doc/posix-functions/wcstoumax.texi: Likewise.
21689
21690         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
21691         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
21692         * doc/posix-functions/fprintf.texi: Update.
21693         * doc/posix-functions/printf.texi: Update.
21694         * doc/posix-functions/snprintf.texi: Update.
21695         * doc/posix-functions/sprintf.texi: Update.
21696         * doc/posix-functions/vfprintf.texi: Update.
21697         * doc/posix-functions/vprintf.texi: Update.
21698         * doc/posix-functions/vsnprintf.texi: Update.
21699         * doc/posix-functions/vsprintf.texi: Update.
21700         * doc/glibc-functions/obstack_printf.texi: Update.
21701         * doc/glibc-functions/obstack_vprintf.texi: Update.
21702
21703 2009-02-26  Eric Blake  <ebb9@byu.net>
21704
21705         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
21706         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
21707         compilation bug by using runtime conversion.
21708         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
21709         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
21710         * modules/ceill-tests (Files): Use nan.h.
21711         * modules/floorl-tests (Files): Likewise.
21712         * modules/frexpl-tests (Files): Likewise.
21713         * modules/isnanl-tests (Files): Likewise.
21714         * modules/ldexpl-tests (Files): Likewise.
21715         * modules/roundl-tests (Files): Likewise.
21716         * modules/truncl-tests (Files): Likewise.
21717         * tests/test-ceill.c (main): Use a working NaN.
21718         * tests/test-floorl.c (main): Likewise.
21719         * tests/test-frexpl.c (main): Likewise.
21720         * tests/test-isnan.c (test_long_double): Likewise.
21721         * tests/test-isnanl.h (main): Likewise.
21722         * tests/test-ldexpl.h (main): Likewise.
21723         * tests/test-roundl.h (main): Likewise.
21724         * tests/test-truncl.h (main): Likewise.
21725         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
21726
21727 2009-02-26  Eric Blake  <ebb9@byu.net>
21728             Bruno Haible  <bruno@clisp.org>
21729
21730         Work around a *printf bug with %ls on Solaris.
21731         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
21732         precision is specified, sprintf stops converting the wide string
21733         argument when the number of bytes that have been produced by this
21734         conversion equals or exceeds the precision.
21735         * doc/posix-functions/fprintf.texi: Update.
21736         * doc/posix-functions/printf.texi: Update.
21737         * doc/posix-functions/snprintf.texi: Update.
21738         * doc/posix-functions/sprintf.texi: Update.
21739         * doc/posix-functions/vfprintf.texi: Update.
21740         * doc/posix-functions/vprintf.texi: Update.
21741         * doc/posix-functions/vsnprintf.texi: Update.
21742         * doc/posix-functions/vsprintf.texi: Update.
21743         * doc/glibc-functions/obstack_printf.texi: Update.
21744         * doc/glibc-functions/obstack_vprintf.texi: Update.
21745
21746 2009-02-26  Eric Blake  <ebb9@byu.net>
21747
21748         stdlib: favor compiler check of random.h
21749         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
21750         to avoid an ObjC random.h installed by Swarm.
21751
21752 2009-02-26  Bruno Haible  <bruno@clisp.org>
21753
21754         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
21755         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
21756         Reported by Gary V. Vaughan <gary@gnu.org>.
21757
21758 2009-02-26  Bruno Haible  <bruno@clisp.org>
21759
21760         Fix *printf behaviour regarding the %ls directive.
21761         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
21762         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
21763         NEED_PRINTF_DIRECTIVE_LS.
21764         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
21765         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21766         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21767         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
21768         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
21769         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
21770         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
21771         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21772         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21773         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21774         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21775         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
21776         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21777         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21778         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21779         * doc/posix-functions/fprintf.texi: Update.
21780         * doc/posix-functions/printf.texi: Update.
21781         * doc/posix-functions/snprintf.texi: Update.
21782         * doc/posix-functions/sprintf.texi: Update.
21783         * doc/posix-functions/vfprintf.texi: Update.
21784         * doc/posix-functions/vprintf.texi: Update.
21785         * doc/posix-functions/vsnprintf.texi: Update.
21786         * doc/posix-functions/vsprintf.texi: Update.
21787         * doc/glibc-functions/obstack_printf.texi: Update.
21788         * doc/glibc-functions/obstack_vprintf.texi: Update.
21789         Reported by Eric Blake.
21790
21791 2009-02-25  Bruno Haible  <bruno@clisp.org>
21792
21793         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
21794         with known value.
21795         Reported by Gary V. Vaughan <gary@gnu.org>.
21796
21797 2009-02-25  Bruno Haible  <bruno@clisp.org>
21798
21799         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
21800         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
21801         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
21802         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
21803         Reported by Gary V. Vaughan <gary@gnu.org>.
21804
21805 2009-02-25  Bruno Haible  <bruno@clisp.org>
21806
21807         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
21808         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
21809         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
21810         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
21811         Reported by Gary V. Vaughan <gary@gnu.org>.
21812
21813 2009-02-25  Eric Blake  <ebb9@byu.net>
21814
21815         tests: skip fseek/ftell tests if ungetc is broken
21816         * m4/ungetc.m4: New file.
21817         * modules/fseek-tests: Split test, so ungetc dependency is
21818         separate from rest of test.
21819         * modules/fseeko-tests: Likewise.
21820         * modules/ftell-tests: Likewise.
21821         * modules/ftello-tests: Likewise.
21822         * tests/test-fseek.c (main): Isolate ungetc dependency.
21823         * tests/test-fseeko.c (main): Likewise.
21824         * tests/test-ftell.c (main): Likewise.
21825         * tests/test-ftello.c (main): Likewise.
21826         * tests/test-fseek2.sh: New file.
21827         * tests/test-fseeko2.sh: Likewise.
21828         * tests/test-ftell2.sh: Likewise.
21829         * tests/test-ftello2.sh: Likewise.
21830
21831 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
21832
21833         test-getaddrinfo: fix usage of skip return code 77
21834         * tests/test-gettaddrinfo.c: Return skip code 77 only
21835         for first occurance of skip (4x77 is not 77)
21836
21837 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
21838
21839         strtod: avoid C99 decl-after-statement
21840         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
21841
21842 2009-02-24  Eric Blake  <ebb9@byu.net>
21843
21844         strtod: detect HP-UX 11.31 bug
21845         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
21846         Reported by Gary V. Vaughan.
21847
21848 2009-02-23  Bruno Haible  <bruno@clisp.org>
21849
21850         Fix invalid read past end of memory block.
21851         * lib/vasnprintf.c (DCHAR_SET): Define.
21852         (local_wcslen): Define only when needed.
21853         (local_strnlen, local_wcsnlen): New functions.
21854         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
21855         directives that involve a conversion ourselves.
21856         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
21857         wcsnlen, mbrtowc, wcrtomb.
21858         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
21859         * tests/test-vasprintf-posix.c (test_function): Likewise.
21860         * tests/test-snprintf-posix.h (test_function): Likewise.
21861         * tests/test-sprintf-posix.h (test_function): Likewise.
21862         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21863
21864 2009-02-22  Bruno Haible  <bruno@clisp.org>
21865
21866         Implement new clarified decomposition of Hangul syllables.
21867         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
21868         of type LTV, return only a pairwise decomposition.
21869         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
21870         Likewise.
21871         * tests/uninorm/test-decomposition.c (main): Updated expected result.
21872         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
21873         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
21874
21875 2009-02-22  Bruno Haible  <bruno@clisp.org>
21876
21877         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
21878         zero-length results and shrink excess allocated memory.
21879         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
21880         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
21881         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
21882         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
21883         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
21884         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
21885         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
21886         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
21887         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
21888         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
21889         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
21890         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
21891
21892 2009-02-21  Bruno Haible  <bruno@clisp.org>
21893
21894         * doc/gnulib.texi: Include safe-alloc.texi earlier.
21895         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
21896         spaces after a period. Put a space between a macro name and its
21897         argument list. Trivial rewordings.
21898         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
21899         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
21900         (main): Return 0 explicitly.
21901
21902 2009-02-21  Bruno Haible  <bruno@clisp.org>
21903
21904         Tests for module 'uninorm/filter'.
21905         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
21906         * modules/uninorm/filter-tests: New file.
21907
21908         New module 'uninorm/filter'.
21909         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
21910         uninorm_filter_flush, uninorm_filter_free): New declarations.
21911         * lib/uninorm/uninorm-filter.c: New file.
21912         * modules/uninorm/filter: New file.
21913
21914 2009-02-21  Bruno Haible  <bruno@clisp.org>
21915
21916         Tests for module 'uninorm/nfkc'.
21917         * tests/uninorm/test-nfkc.c: New file.
21918         * tests/uninorm/test-u8-nfkc.c: New file.
21919         * tests/uninorm/test-u16-nfkc.c: New file.
21920         * tests/uninorm/test-u32-nfkc.c: New file.
21921         * tests/uninorm/test-u32-nfkc-big.sh: New file.
21922         * tests/uninorm/test-u32-nfkc-big.c: New file.
21923         * modules/uninorm/nfkc-tests: New file.
21924
21925         New module 'uninorm/nfkc'.
21926         * lib/uninorm/nfkc.c: New file.
21927         * modules/uninorm/nfkc: New file.
21928
21929         Tests for module 'uninorm/nfkd'.
21930         * tests/uninorm/test-nfkd.c: New file.
21931         * tests/uninorm/test-u8-nfkd.c: New file.
21932         * tests/uninorm/test-u16-nfkd.c: New file.
21933         * tests/uninorm/test-u32-nfkd.c: New file.
21934         * tests/uninorm/test-u32-nfkd-big.sh: New file.
21935         * tests/uninorm/test-u32-nfkd-big.c: New file.
21936         * modules/uninorm/nfkd-tests: New file.
21937
21938         New module 'uninorm/nfkd'.
21939         * lib/uninorm/nfkd.c: New file.
21940         * modules/uninorm/nfkd: New file.
21941
21942         Tests for module 'uninorm/nfc'.
21943         * tests/uninorm/test-nfc.c: New file.
21944         * tests/uninorm/test-u8-nfc.c: New file.
21945         * tests/uninorm/test-u16-nfc.c: New file.
21946         * tests/uninorm/test-u32-nfc.c: New file.
21947         * tests/uninorm/test-u32-nfc-big.sh: New file.
21948         * tests/uninorm/test-u32-nfc-big.c: New file.
21949         * modules/uninorm/nfc-tests: New file.
21950
21951         New module 'uninorm/nfc'.
21952         * lib/uninorm/nfc.c: New file.
21953         * modules/uninorm/nfc: New file.
21954
21955         Tests for module 'uninorm/nfd'.
21956         * tests/uninorm/test-nfd.c: New file.
21957         * tests/uninorm/test-u8-nfd.c: New file.
21958         * tests/uninorm/test-u16-nfd.c: New file.
21959         * tests/uninorm/test-u32-nfd.c: New file.
21960         * tests/uninorm/test-u32-nfd-big.sh: New file.
21961         * tests/uninorm/test-u32-nfd-big.c: New file.
21962         * tests/uninorm/test-u32-normalize-big.h: New file.
21963         * tests/uninorm/test-u32-normalize-big.c: New file.
21964         * tests/uninorm/NormalizationTest.txt: New file, created from
21965         Unicode 5.1.0 NormalizationTest.txt.
21966         * modules/uninorm/nfd-tests: New file.
21967
21968         New module 'uninorm/nfd'.
21969         * lib/uninorm/nfd.c: New file.
21970         * modules/uninorm/nfd: New file.
21971
21972         New module 'uninorm/u32-normalize'.
21973         * lib/uninorm/u32-normalize.c: New file.
21974         * modules/uninorm/u32-normalize: New file.
21975
21976         New module 'uninorm/u16-normalize'.
21977         * lib/uninorm/u16-normalize.c: New file.
21978         * modules/uninorm/u16-normalize: New file.
21979
21980         New module 'uninorm/u8-normalize'.
21981         * lib/uninorm/u8-normalize.c: New file.
21982         * lib/uninorm/normalize-internal.h: New file.
21983         * lib/uninorm/u-normalize-internal.h: New file.
21984         * modules/uninorm/u8-normalize: New file.
21985
21986         New module 'uninorm/decompose-internal'.
21987         * lib/uninorm/decompose-internal.c: New file.
21988         * modules/uninorm/decompose-internal: New file.
21989
21990         Tests for module 'uninorm/composition'.
21991         * tests/uninorm/test-composition.c: New file.
21992         * modules/uninorm/composition-tests: New file.
21993
21994         New module 'uninorm/composition'.
21995         * lib/uninorm/composition.c: New file.
21996         * lib/uninorm/composition-table.gperf: New file, generated by
21997         gen-uni-tables.
21998         * modules/uninorm/composition: New file.
21999
22000         Tests for module 'uninorm/compat-decomposition'.
22001         * tests/uninorm/test-compat-decomposition.c: New file.
22002         * modules/uninorm/compat-decomposition-tests: New file.
22003
22004         New module 'uninorm/compat-decomposition'.
22005         * lib/uninorm/decompose-internal.h: New file.
22006         * lib/uninorm/compat-decomposition.c: New file.
22007         * modules/uninorm/compat-decomposition: New file.
22008
22009         Tests for module 'uninorm/canonical-decomposition'.
22010         * tests/uninorm/test-canonical-decomposition.c: New file.
22011         * modules/uninorm/canonical-decomposition-tests: New file.
22012
22013         New module 'uninorm/canonical-decomposition'.
22014         * lib/uninorm/canonical-decomposition.c: New file.
22015         * modules/uninorm/canonical-decomposition: New file.
22016
22017         Tests for module 'uninorm/decomposition'.
22018         * tests/uninorm/test-decomposition.c: New file.
22019         * modules/uninorm/decomposition-tests: New file.
22020
22021         New module 'uninorm/decomposition'.
22022         * lib/uninorm/decomposition.c: New file.
22023         * modules/uninorm/decomposition: New file.
22024
22025         New module 'uninorm/decomposition-table'.
22026         * lib/uninorm/decomposition-table.h: New file.
22027         * lib/uninorm/decomposition-table.c: New file.
22028         * lib/uninorm/decomposition-table1.h: New file, generated by
22029         gen-uni-tables.
22030         * lib/uninorm/decomposition-table2.h: New file, generated by
22031         gen-uni-tables.
22032         * modules/uninorm/decomposition-table: New file.
22033
22034         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
22035         (UC_DECOMP_*): New enumeration items.
22036         (get_decomposition): New function.
22037         (struct decomp_table): New type.
22038         (output_decomposition, output_decomposition_tables): New functions.
22039         (unicode_composition_exclusions): New variable.
22040         (fill_composition_exclusions, debug_output_composition_tables): New
22041         functions.
22042         (main): Accept one more argument. Invoke fill_composition_exclusions.
22043         Output decomposition and composition tables.
22044
22045         New module 'uninorm/base'.
22046         * lib/uninorm.h: New file.
22047         * lib/unictype.h: Update comment.
22048         * modules/uninorm/base: New file.
22049
22050 2009-02-21  David Lutterkort  <lutter@redhat.com>
22051
22052         Tests for module 'safe-alloc'.
22053         * tests/test-safe-alloc.c: New file.
22054         * modules/safe-alloc-tests: New file.
22055
22056         New module 'safe-alloc'.
22057         * lib/safe-alloc.h: New file.
22058         * lib/safe-alloc.c: New file.
22059         * m4/safe-alloc.m4: New file.
22060         * modules/safe-alloc: New file.
22061         * doc/safe-alloc.texi: New file.
22062         * doc/gnulib.texi: Include it.
22063         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
22064         safe-alloc.
22065
22066 2009-02-18  Bruno Haible  <bruno@clisp.org>
22067
22068         Fix link error on non-glibc systems.
22069         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
22070         variable.
22071         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22072
22073 2009-02-18  Jim Meyering  <meyering@redhat.com>
22074
22075         fts: avoid used-uninitialized error due to recent change
22076         * lib/fts.c (fts_read): Guard uses of the new member,
22077         parent->fts_n_dirs_remaining, since it's not relevant for
22078         the parent of a directory specified on the command-line.
22079
22080 2009-02-17  James Youngman  <jay@gnu.org>
22081             Bruno Haible  <bruno@clisp.org>
22082
22083         * m4/include_next.m4: Reformulate comment.
22084
22085 2009-02-16  Jim Meyering  <meyering@redhat.com>
22086
22087         fts: add #if guards so that the fts_lgpl module still builds
22088         * lib/fts.c: Guard just-added hash-table-using parts with
22089         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
22090         Reported by Simon Josefsson.
22091
22092 2009-02-15  Bruno Haible  <bruno@clisp.org>
22093
22094         * modules/array-mergesort-tests: New file.
22095         * tests/test-array-mergesort.c: New file.
22096
22097         New module 'array-mergesort'.
22098         * modules/array-mergesort: New file.
22099         * lib/array-mergesort.h: New file.
22100
22101 2009-02-15  Bruno Haible  <bruno@clisp.org>
22102
22103         Fix 2009-02-07 commit.
22104         * lib/gen-uni-tables.c (output_predicate, output_category,
22105         output_combclass, output_bidi_category, output_decimal_digit,
22106         output_digit, output_numeric, output_mirror, output_scripts,
22107         output_ident_category, output_simple_mapping): Fix format directives.
22108         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
22109
22110 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
22111
22112         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
22113         fixes are available from IBM.
22114
22115 2009-02-13  Jim Meyering  <meyering@redhat.com>
22116
22117         fts: arrange not to stat non-directories in more cases
22118         This makes GNU find (when it doesn't need to stat each file)
22119         *much* more efficient at traversing reiserfs file systems.
22120         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
22121         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
22122         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
22123         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
22124         (leaf_optimization_applies): New function.
22125         (LCO_hash, LCO_compare): New helper functions.
22126         (link_count_optimize_ok): New function.
22127         (fts_stat): Initialize new member (if dir).
22128         (fts_read): Decrement parent's fts_n_dirs_remaining count if
22129         we've just stat'ed a directory.  Skip the stat call when possible.
22130         ---
22131         Note this AFS-related exchange:
22132         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
22133         and note find's pioctl call in find/fstype.c.
22134         But that is necessary only if you want to enable the
22135         optimization for AFS, and for now, I don't.
22136
22137         fts: move a function definition "up" (no semantic change)
22138         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
22139         "up" to precede upcoming use of a related function.
22140
22141 2009-02-11  Jim Meyering  <meyering@redhat.com>
22142
22143         fts: correct internal computation of nlinks (optimization-related)
22144         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
22145         whether the current entry is a directory, so don't test it.
22146
22147 2009-02-10  Bruno Haible  <bruno@clisp.org>
22148
22149         Tests for module 'uniwbrk/ulc-wordbreaks'.
22150         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
22151         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
22152         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
22153
22154         Tests for module 'uniwbrk/u32-wordbreaks'.
22155         * modules/uniwbrk/u32-wordbreaks-tests: New file.
22156         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
22157
22158         Tests for module 'uniwbrk/u16-wordbreaks'.
22159         * modules/uniwbrk/u16-wordbreaks-tests: New file.
22160         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
22161
22162         Tests for module 'uniwbrk/u8-wordbreaks'.
22163         * modules/uniwbrk/u8-wordbreaks-tests: New file.
22164         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
22165
22166 2009-02-10  Bruno Haible  <bruno@clisp.org>
22167
22168         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
22169         property.
22170         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
22171         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
22172         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
22173
22174 2009-02-10  Simon Josefsson  <simon@josefsson.org>
22175
22176         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
22177         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
22178
22179 2009-02-10  Bruno Haible  <bruno@clisp.org>
22180
22181         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
22182         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
22183         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
22184         * lib/unilbrk/u8-possible-linebreaks.c: Update.
22185         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
22186         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
22187
22188 2009-02-09  Simon Josefsson  <simon@josefsson.org>
22189
22190         * lib/sockets.h (gl_fd_to_handle): New function.
22191
22192         * tests/test-sockets.c: Call gl_fd_to_handle.
22193
22194 2009-02-09  Bruno Haible  <bruno@clisp.org>
22195
22196         * doc/havelib.texi: Document the conventions on bi-arch systems.
22197
22198 2009-02-08  Bruno Haible  <bruno@clisp.org>
22199
22200         Document the AC_LIB_LINKFLAGS macro.
22201         * doc/havelib.texi: New file, mostly written on 2005-05-24.
22202         * doc/gnulib.texi: Include it.
22203
22204 2009-02-08  Bruno Haible  <bruno@clisp.org>
22205
22206         Fix wrong order of sections, compared to TOC.
22207         * doc/gnulib.texi: Include relocatable-maint.texi after the
22208         "Regular expressions" node, not before.
22209
22210 2009-02-08  Bruno Haible  <bruno@clisp.org>
22211
22212         Tests for module 'unicase/totitle'.
22213         * modules/unicase/totitle-tests: New file.
22214
22215         Tests for module 'unicase/tolower'.
22216         * modules/unicase/tolower-tests: New file.
22217
22218         Tests for module 'unicase/toupper'.
22219         * modules/unicase/toupper-tests: New file.
22220         * tests/unicase/test-mapping-part1.h: New file.
22221         * tests/unicase/test-mapping-part2.h: New file.
22222
22223         New module 'unicase/totitle'.
22224         * modules/unicase/totitle: New file.
22225         * lib/unicase/totitle.c: New file.
22226
22227         New module 'unicase/tolower'.
22228         * modules/unicase/tolower: New file.
22229         * lib/unicase/tolower.c: New file.
22230
22231         New module 'unicase/toupper'.
22232         * modules/unicase/toupper: New file.
22233         * lib/unicase/toupper.c: New file.
22234         * lib/unicase/simple-mapping.h: New file.
22235
22236         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
22237         (mapping_table): New structure.
22238         (output_simple_mapping): New function.
22239         (main): Invoke output_simple_mapping_test and output_simple_mapping.
22240         * modules/gen-uni-tables (Description): Update.
22241         * lib/unicase/toupper.h: New file, automatically generated by
22242         gen-uni-tables.
22243         * lib/unicase/tolower.h: New file, automatically generated by
22244         gen-uni-tables.
22245         * lib/unicase/totitle.h: New file, automatically generated by
22246         gen-uni-tables.
22247         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
22248         gen-uni-tables.
22249         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
22250         gen-uni-tables.
22251         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
22252         gen-uni-tables.
22253
22254         New module 'unicase/base'.
22255         * modules/unicase/base: New file.
22256         * lib/unicase.h: New file.
22257
22258 2009-02-08  Bruno Haible  <bruno@clisp.org>
22259
22260         New module 'uniwbrk/ulc-wordbreaks'.
22261         * modules/uniwbrk/ulc-wordbreaks: New file.
22262         * lib/uniwbrk/ulc-wordbreaks.c: New file.
22263
22264         New module 'uniwbrk/u32-wordbreaks'.
22265         * modules/uniwbrk/u32-wordbreaks: New file.
22266         * lib/uniwbrk/u32-wordbreaks.c: New file.
22267
22268         New module 'uniwbrk/u16-wordbreaks'.
22269         * modules/uniwbrk/u16-wordbreaks: New file.
22270         * lib/uniwbrk/u16-wordbreaks.c: New file.
22271
22272         New module 'uniwbrk/u8-wordbreaks'.
22273         * modules/uniwbrk/u8-wordbreaks: New file.
22274         * lib/uniwbrk/u8-wordbreaks.c: New file.
22275         * lib/uniwbrk/u-wordbreaks.h: New file.
22276
22277         New module 'uniwbrk/table'.
22278         * modules/uniwbrk/table: New file.
22279         * lib/uniwbrk/wbrktable.h: New file.
22280         * lib/uniwbrk/wbrktable.c: New file.
22281
22282         New module 'uniwbrk/wordbreak-property'.
22283         * modules/uniwbrk/wordbreak-property: New file.
22284         * lib/uniwbrk/wordbreak-property.c: New file.
22285
22286         * lib/gen-uni-tables.c (WBP_*): New enum items.
22287         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
22288         (unicode_org_wbp): New variable.
22289         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
22290         New functions.
22291         (wbp_table): New structure.
22292         (output_wbp, output_wbrk_tables): New functions.
22293         (main): Accept additional argument. Invoke fill_org_wbp,
22294         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
22295         output_wbrk_tables.
22296         * modules/gen-uni-tables (Description): Update.
22297         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
22298         gen-uni-tables.
22299
22300         New module 'uniwbrk/base'.
22301         * modules/uniwbrk/base: New file.
22302         * lib/uniwbrk.h: New file.
22303
22304 2009-02-08  Bruno Haible  <bruno@clisp.org>
22305
22306         Update to Unicode 5.1.0.
22307         * lib/gen-uni-tables.c (is_property_alphabetic): Include
22308         U+2185..U+2188.
22309         (is_property_default_ignorable_code_point): Don't include characters
22310         of category Cc or Cs and not-a-characters.
22311         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
22312         U+0D79, U+109E, U+109F, U+A60C.
22313         * lib/unictype/bidi_of.h: Regenerated.
22314         * lib/unictype/blocks.h: Regenerated.
22315         * lib/unictype/categ_C.h: Regenerated.
22316         * lib/unictype/categ_Cf.h: Regenerated.
22317         * lib/unictype/categ_Cn.h: Regenerated.
22318         * lib/unictype/categ_L.h: Regenerated.
22319         * lib/unictype/categ_Ll.h: Regenerated.
22320         * lib/unictype/categ_Lm.h: Regenerated.
22321         * lib/unictype/categ_Lo.h: Regenerated.
22322         * lib/unictype/categ_Lu.h: Regenerated.
22323         * lib/unictype/categ_M.h: Regenerated.
22324         * lib/unictype/categ_Mc.h: Regenerated.
22325         * lib/unictype/categ_Me.h: Regenerated.
22326         * lib/unictype/categ_Mn.h: Regenerated.
22327         * lib/unictype/categ_N.h: Regenerated.
22328         * lib/unictype/categ_Nd.h: Regenerated.
22329         * lib/unictype/categ_Nl.h: Regenerated.
22330         * lib/unictype/categ_No.h: Regenerated.
22331         * lib/unictype/categ_P.h: Regenerated.
22332         * lib/unictype/categ_Pd.h: Regenerated.
22333         * lib/unictype/categ_Pe.h: Regenerated.
22334         * lib/unictype/categ_Pf.h: Regenerated.
22335         * lib/unictype/categ_Pi.h: Regenerated.
22336         * lib/unictype/categ_Po.h: Regenerated.
22337         * lib/unictype/categ_Ps.h: Regenerated.
22338         * lib/unictype/categ_S.h: Regenerated.
22339         * lib/unictype/categ_Sk.h: Regenerated.
22340         * lib/unictype/categ_Sm.h: Regenerated.
22341         * lib/unictype/categ_So.h: Regenerated.
22342         * lib/unictype/categ_of.h: Regenerated.
22343         * lib/unictype/combining.h: Regenerated.
22344         * lib/unictype/ctype_alnum.h: Regenerated.
22345         * lib/unictype/ctype_alpha.h: Regenerated.
22346         * lib/unictype/ctype_graph.h: Regenerated.
22347         * lib/unictype/ctype_lower.h: Regenerated.
22348         * lib/unictype/ctype_print.h: Regenerated.
22349         * lib/unictype/ctype_punct.h: Regenerated.
22350         * lib/unictype/ctype_upper.h: Regenerated.
22351         * lib/unictype/decdigit.h: Regenerated.
22352         * lib/unictype/digit.h: Regenerated.
22353         * lib/unictype/mirror.h: Regenerated.
22354         * lib/unictype/numeric.h: Regenerated.
22355         * lib/unictype/pr_alphabetic.h: Regenerated.
22356         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
22357         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
22358         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
22359         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
22360         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
22361         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
22362         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
22363         * lib/unictype/pr_combining.h: Regenerated.
22364         * lib/unictype/pr_dash.h: Regenerated.
22365         * lib/unictype/pr_decimal_digit.h: Regenerated.
22366         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
22367         * lib/unictype/pr_deprecated.h: Regenerated.
22368         * lib/unictype/pr_diacritic.h: Regenerated.
22369         * lib/unictype/pr_extender.h: Regenerated.
22370         * lib/unictype/pr_format_control.h: Regenerated.
22371         * lib/unictype/pr_grapheme_base.h: Regenerated.
22372         * lib/unictype/pr_grapheme_extend.h: Regenerated.
22373         * lib/unictype/pr_grapheme_link.h: Regenerated.
22374         * lib/unictype/pr_id_continue.h: Regenerated.
22375         * lib/unictype/pr_id_start.h: Regenerated.
22376         * lib/unictype/pr_ideographic.h: Regenerated.
22377         * lib/unictype/pr_ignorable_control.h: Regenerated.
22378         * lib/unictype/pr_lowercase.h: Regenerated.
22379         * lib/unictype/pr_math.h: Regenerated.
22380         * lib/unictype/pr_numeric.h: Regenerated.
22381         * lib/unictype/pr_other_alphabetic.h: Regenerated.
22382         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
22383         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
22384         * lib/unictype/pr_other_id_continue.h: Regenerated.
22385         * lib/unictype/pr_other_lowercase.h: Regenerated.
22386         * lib/unictype/pr_other_math.h: Regenerated.
22387         * lib/unictype/pr_punctuation.h: Regenerated.
22388         * lib/unictype/pr_sentence_terminal.h: Regenerated.
22389         * lib/unictype/pr_soft_dotted.h: Regenerated.
22390         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
22391         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
22392         * lib/unictype/pr_unified_ideograph.h: Regenerated.
22393         * lib/unictype/pr_uppercase.h: Regenerated.
22394         * lib/unictype/pr_xid_continue.h: Regenerated.
22395         * lib/unictype/pr_xid_start.h: Regenerated.
22396         * lib/unictype/pr_zero_width.h: Regenerated.
22397         * lib/unictype/scripts.h: Regenerated.
22398         * lib/unictype/scripts_byname.gperf: Regenerated.
22399         * lib/unictype/sy_java_ident.h: Regenerated.
22400         * lib/unilbrk/lbrkprop1.h: Regenerated.
22401         * lib/unilbrk/lbrkprop2.h: Regenerated.
22402         * tests/unictype/test-categ_C.c: Regenerated.
22403         * tests/unictype/test-categ_Cf.c: Regenerated.
22404         * tests/unictype/test-categ_Cn.c: Regenerated.
22405         * tests/unictype/test-categ_L.c: Regenerated.
22406         * tests/unictype/test-categ_Ll.c: Regenerated.
22407         * tests/unictype/test-categ_Lm.c: Regenerated.
22408         * tests/unictype/test-categ_Lo.c: Regenerated.
22409         * tests/unictype/test-categ_Lu.c: Regenerated.
22410         * tests/unictype/test-categ_M.c: Regenerated.
22411         * tests/unictype/test-categ_Mc.c: Regenerated.
22412         * tests/unictype/test-categ_Me.c: Regenerated.
22413         * tests/unictype/test-categ_Mn.c: Regenerated.
22414         * tests/unictype/test-categ_N.c: Regenerated.
22415         * tests/unictype/test-categ_Nd.c: Regenerated.
22416         * tests/unictype/test-categ_Nl.c: Regenerated.
22417         * tests/unictype/test-categ_No.c: Regenerated.
22418         * tests/unictype/test-categ_P.c: Regenerated.
22419         * tests/unictype/test-categ_Pd.c: Regenerated.
22420         * tests/unictype/test-categ_Pe.c: Regenerated.
22421         * tests/unictype/test-categ_Pf.c: Regenerated.
22422         * tests/unictype/test-categ_Pi.c: Regenerated.
22423         * tests/unictype/test-categ_Po.c: Regenerated.
22424         * tests/unictype/test-categ_Ps.c: Regenerated.
22425         * tests/unictype/test-categ_S.c: Regenerated.
22426         * tests/unictype/test-categ_Sk.c: Regenerated.
22427         * tests/unictype/test-categ_Sm.c: Regenerated.
22428         * tests/unictype/test-categ_So.c: Regenerated.
22429         * tests/unictype/test-ctype_alnum.c: Regenerated.
22430         * tests/unictype/test-ctype_alpha.c: Regenerated.
22431         * tests/unictype/test-ctype_graph.c: Regenerated.
22432         * tests/unictype/test-ctype_lower.c: Regenerated.
22433         * tests/unictype/test-ctype_print.c: Regenerated.
22434         * tests/unictype/test-ctype_punct.c: Regenerated.
22435         * tests/unictype/test-ctype_upper.c: Regenerated.
22436         * tests/unictype/test-decdigit.h: Regenerated.
22437         * tests/unictype/test-digit.h: Regenerated.
22438         * tests/unictype/test-numeric.h: Regenerated.
22439         * tests/unictype/test-pr_alphabetic.c: Regenerated.
22440         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
22441         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
22442         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
22443         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
22444         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
22445         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
22446         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
22447         * tests/unictype/test-pr_combining.c: Regenerated.
22448         * tests/unictype/test-pr_dash.c: Regenerated.
22449         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
22450         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
22451         * tests/unictype/test-pr_deprecated.c: Regenerated.
22452         * tests/unictype/test-pr_diacritic.c: Regenerated.
22453         * tests/unictype/test-pr_extender.c: Regenerated.
22454         * tests/unictype/test-pr_format_control.c: Regenerated.
22455         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
22456         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
22457         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
22458         * tests/unictype/test-pr_id_continue.c: Regenerated.
22459         * tests/unictype/test-pr_id_start.c: Regenerated.
22460         * tests/unictype/test-pr_ideographic.c: Regenerated.
22461         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
22462         * tests/unictype/test-pr_lowercase.c: Regenerated.
22463         * tests/unictype/test-pr_math.c: Regenerated.
22464         * tests/unictype/test-pr_numeric.c: Regenerated.
22465         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
22466         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
22467         Regenerated.
22468         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
22469         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
22470         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
22471         * tests/unictype/test-pr_other_math.c: Regenerated.
22472         * tests/unictype/test-pr_punctuation.c: Regenerated.
22473         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
22474         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
22475         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
22476         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
22477         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
22478         * tests/unictype/test-pr_uppercase.c: Regenerated.
22479         * tests/unictype/test-pr_xid_continue.c: Regenerated.
22480         * tests/unictype/test-pr_xid_start.c: Regenerated.
22481         * tests/unictype/test-pr_zero_width.c: Regenerated.
22482
22483         Update to Unicode 5.1.0.
22484         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
22485         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
22486         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
22487         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
22488         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
22489         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
22490         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
22491         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
22492         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
22493         (nonspacing_table_ind): Update.
22494         * tests/uniwidth/test-uc_width2.sh: Update expected result.
22495
22496         Update to Unicode 5.1.0.
22497         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
22498         code transform.
22499         * lib/uniname/uniname.c (unicode_character_name,
22500         unicode_name_character): Add the range 0x1Fxxx to the code transform.
22501         * lib/uniname/uninames.h: Regenerated.
22502         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
22503
22504 2009-02-07  Bruno Haible  <bruno@clisp.org>
22505
22506         Merge gen-ctype and gen-lbrk into a single program.
22507         * lib/gen-uni-tables.c: New file, incorporating
22508         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
22509         Add directory prefixes to the names of the generated files.
22510         * lib/unictype/gen-ctype.c: Remove file.
22511         * lib/unilbrk/gen-lbrk.c: Remove file.
22512         * modules/gen-uni-tables: New file.
22513         * modules/unictype/gen-ctype: Remove file.
22514         * modules/unilbrk/gen-lbrk: Remove file.
22515
22516 2009-02-07  Bruno Haible  <bruno@clisp.org>
22517
22518         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
22519
22520         New module 'unistr/u32-strcoll'.
22521         * modules/unistr/u32-strcoll: New file.
22522         * lib/unistr/u32-strcoll.c: New file.
22523
22524         New module 'unistr/u16-strcoll'.
22525         * modules/unistr/u16-strcoll: New file.
22526         * lib/unistr/u16-strcoll.c: New file.
22527
22528         New module 'unistr/u8-strcoll'.
22529         * modules/unistr/u8-strcoll: New file.
22530         * lib/unistr/u8-strcoll.c: New file.
22531         * lib/unistr/u-strcoll.h: New file.
22532
22533 2009-02-07  Bruno Haible  <bruno@clisp.org>
22534
22535         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
22536         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
22537         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
22538         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
22539         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
22540         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
22541
22542 2009-02-07  Bruno Haible  <bruno@clisp.org>
22543
22544         Make 64-bit clean.
22545         * lib/unictype/gen-ctype.c (output_predicate, output_category,
22546         output_combclass, output_bidi_category, output_decimal_digit,
22547         output_digit, output_numeric, output_mirror, output_scripts,
22548         output_ident_category): Use proper width specifier in format strings.
22549
22550 2009-02-07  Bruno Haible  <bruno@clisp.org>
22551
22552         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
22553         failure behaviour.
22554
22555 2009-02-07  Jim Meyering  <meyering@redhat.com>
22556
22557         regex: avoid compilation failure with upcoming gcc-4.4
22558         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
22559         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
22560         "... error: integer overflow in preprocessor expression".
22561
22562 2009-02-05  Ben Pfaff  <blp@gnu.org>
22563
22564         Fix link errors on Windows when close module is used.
22565         * modules/close: Add $(LIB_CLOSE) to Link section.
22566         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
22567         $(LIB_CLOSE) on Windows.
22568
22569 2009-02-05  Jim Meyering  <meyering@redhat.com>
22570
22571         still avoid unused-parameter warnings, but do it cleanly
22572         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
22573         (get_fs_usage): Cast to void instead.
22574         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
22575         (dev_from_mount_options, read_file_system_list): Cast to void.
22576         Prompted by Bruno Haible.
22577
22578 2009-02-04  Jim Meyering  <meyering@redhat.com>
22579
22580         fsusage.c: correct copyright year
22581         * lib/fsusage.c: Reflect year in which the change is pushed into
22582
22583         avoid misc. warnings
22584         * lib/fsusage.c (UNUSED_PARAM): Define.
22585         (get_fs_usage): Mark parameter "disk" as unused.
22586         * lib/getugroups.c (getgrent): Use "void" in prototype.
22587         * lib/mountlist.c: Mark unused parameters.
22588         (read_file_system_list): Declare a local with "const".
22589         * lib/nanosleep.c (getnow): Declare static.
22590         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
22591
22592         dirfd: set errno upon failure
22593         * lib/dirfd.c: Include <errno.h>.
22594         Set errno to ENOTSUP when returning -1.
22595         * modules/dirfd (Depends-on): Add errno.
22596         Suggested by John Kodis <kodis@comcast.net>.
22597
22598 2009-02-01  Bruno Haible  <bruno@clisp.org>
22599
22600         Don't assume sizeof (long) >= sizeof (void *).
22601         * lib/memcmp.c: Include stdint.h.
22602         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
22603         srcp2 to 'const byte *'.
22604         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
22605         types to uintptr_t.
22606         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
22607         * modules/memcmp (Depends-on): Add stdint.
22608         Reported by Ozkan Sezer <sezeroz@gmail.com>.
22609
22610 2009-01-30  Eric Blake  <ebb9@byu.net>
22611
22612         fix more require-before-expand issues
22613         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
22614         expand, AC_PROG_AWK.
22615         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
22616
22617 2009-01-28  Eric Blake  <ebb9@byu.net>
22618
22619         version-etc: use consistent URL formatting
22620         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
22621         Improve formatting.  Use fputs for string without %.
22622
22623 2009-01-28  Jim Meyering  <meyering@redhat.com>
22624
22625         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
22626         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
22627         "underquoted definition of NAME" from autoconf-2.59.
22628
22629 2009-01-28  Bruno Haible  <bruno@clisp.org>
22630
22631         * doc/gnulib.texi: Add "Obsolete modules" to index.
22632
22633 2009-01-28  Jim Meyering  <meyering@redhat.com>
22634
22635         useless-if-before-free: recognize more variants
22636         * build-aux/useless-if-before-free: Also recognize e.g.,
22637         if (NULL != p) free (p);
22638
22639 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
22640
22641         test-getaddrinfo: skip (don't fail) this test when there's no network
22642         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
22643         on the presumption that it means you lack network access.
22644
22645 2009-01-26  Jim Meyering  <meyering@redhat.com>
22646
22647         fflush: avoid warnings on modern systems
22648         * lib/fflush.c (rpl_fflush): Move declarations of locals,
22649         pos and result, into scopes where they're used.
22650
22651 2009-01-26  Eric Blake  <ebb9@byu.net>
22652
22653         Silence warning reintroduced by recent extensions patch.
22654         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
22655         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
22656         autoconf.
22657
22658         Backport improved autoconf semantics of AC_DEFUN_ONCE.
22659         * m4/00gnulib.m4: New file.
22660         * gnulib-tool (func_get_filelist): Always use it.
22661         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
22662         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
22663
22664 2009-01-25  Bruno Haible  <bruno@clisp.org>
22665
22666         Make test-quotearg work on MacOS X and AIX.
22667         * tests/test-quotearg.sh: New file.
22668         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
22669         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
22670         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
22671         include <libintl.h>.
22672         (fake_locale): Remove variable.
22673         (gettext, dgettext, dcgettext): Remove functions.
22674         (main): Instead of setting a fake locale, set a real locale. Call
22675         textdomain and bindtextdomain.
22676         * modules/quotearg-tests (Files): Add the new files.
22677         (Depends-on): Add gettext, setenv, unsetenv.
22678         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
22679         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
22680         Augment TESTS_ENVIRONMENT.
22681
22682 2009-01-25  Bruno Haible  <bruno@clisp.org>
22683
22684         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
22685         fr_FR.ISO8859-1 locale on MacOS X.
22686         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
22687         ja_JP.eucJP locale on MacOS X.
22688         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
22689         zh_CN.GB18030 locale on MacOS X.
22690
22691 2009-01-25  Bruno Haible  <bruno@clisp.org>
22692
22693         Avoid link errors on MacOS X 10.3.
22694         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
22695         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
22696
22697 2009-01-25  Bruno Haible  <bruno@clisp.org>
22698
22699         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
22700         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
22701         * modules/pipe (Files): Remove m4/posix_spawn.m4.
22702         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
22703         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
22704         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
22705         posix_spawnattr_init, posix_spawnattr_setsigmask,
22706         posix_spawnattr_setflags, posix_spawnattr_destroy.
22707
22708         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
22709         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
22710         * modules/execute (Files): Remove m4/posix_spawn.m4.
22711         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
22712         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
22713         posix_spawnattr_init, posix_spawnattr_setsigmask,
22714         posix_spawnattr_setflags, posix_spawnattr_destroy.
22715
22716 2009-01-25  Bruno Haible  <bruno@clisp.org>
22717
22718         * lib/glthread/threadlib.c: Include <stdlib.h>.
22719
22720 2009-01-25  Bruno Haible  <bruno@clisp.org>
22721
22722         * lib/glthread/threadlib.c (dummy): New declaration.
22723
22724 2009-01-25  Bruno Haible  <bruno@clisp.org>
22725
22726         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
22727         multibyte characters also for the GB18030 encoding. Don't crash when
22728         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
22729
22730 2009-01-25  Bruno Haible  <bruno@clisp.org>
22731
22732         Avoid redefining 'struct random_data' on OSF/1 5.1.
22733         * lib/stdlib.in.h: Include <random.h> if it exists.
22734         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
22735         HAVE_RANDOM_H. Include <random.h> when testing whether
22736         'struct random_data' exists.
22737         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
22738
22739 2009-01-25  Bruno Haible  <bruno@clisp.org>
22740
22741         Don't install charset.alias on MacOS X >= 10.3.
22742         * lib/localcharset.c (DARWIN7): New macro.
22743         (get_charset_aliases): Hardcode the result for Darwin7.
22744         * modules/localcharset (install-exec-local): Don't install
22745         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
22746
22747 2009-01-25  Bruno Haible  <bruno@clisp.org>
22748
22749         Don't install charset.alias on mingw and Cygwin.
22750         * modules/localcharset (install-exec-local): Don't install
22751         charset.alias on mingw and Cygwin, if the file does not yet exist.
22752         The result for these platforms is hardcoded in localcharset.c.
22753
22754 2009-01-25  Bruno Haible  <bruno@clisp.org>
22755
22756         Make it possible again to use AC_GNU_SOURCE together with gnulib.
22757         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
22758         before requiring AC_USE_SYSTEM_EXTENSIONS.
22759
22760 2009-01-25  Jim Meyering  <meyering@redhat.com>
22761
22762         c-strtod: avoid warnings
22763         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
22764         "assignment discards qualifiers from pointer target type" warnings.
22765
22766 2009-01-24  Bruno Haible  <bruno@clisp.org>
22767
22768         Add support for non-UTF-8 locales on MacOS X.
22769         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
22770         canonical encodings. For Darwin 7 and newer, don't map traditional
22771         encodings to UTF-8.
22772         Reported by Vincent Lefevre <vincent@vinc17.org>
22773         at <http://savannah.gnu.org/bugs/?25235>.
22774
22775 2009-01-24  Bruno Haible  <bruno@clisp.org>
22776
22777         * doc/gnulib.texi (Obsolete modules): New section.
22778         Reported by Mike Frysinger <vapier@gentoo.org>.
22779
22780 2009-01-24  Bruno Haible  <bruno@clisp.org>
22781
22782         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
22783         (%.dvi): New rule.
22784
22785 2009-01-24  Bruno Haible  <bruno@clisp.org>
22786
22787         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
22788         Reported by Eric Blake.
22789
22790 2009-01-24  Bruno Haible  <bruno@clisp.org>
22791
22792         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
22793         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
22794         Reported by Gary V. Vaughan <gary@gnu.org>.
22795
22796 2009-01-24  Bruno Haible  <bruno@clisp.org>
22797
22798         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
22799
22800 2009-01-23  Bruno Haible  <bruno@clisp.org>
22801
22802         Make c-strtod, c-strtold usable in libraries.
22803         * lib/c-strtod.c: Include string.h instead of xalloc.h.
22804         (C_STRTOD): Call strdup instead of xstrdup.
22805         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
22806         * modules/c-strtold (Depends-on): Likewise.
22807         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
22808         * NEWS: Mention the change.
22809         Reported by Michael Gold <mgold@ncf.ca>.
22810
22811 2009-01-23  Jim Meyering  <meyering@redhat.com>
22812
22813         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
22814         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
22815         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
22816
22817 2009-01-23  Simon Josefsson  <simon@josefsson.org>
22818
22819         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
22820         GNU CoreUtils.
22821         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
22822         * modules/version-etc (Description): Update.
22823
22824 2009-01-22  Bruno Haible  <bruno@clisp.org>
22825
22826         Cache the C locale object.
22827         * lib/c-strtod.c (c_locale_cache): New variable.
22828         (c_locale): New function.
22829         (C_STRTOD): Use it, and don't call freelocale.
22830         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
22831         Suggested by Paolo Bonzini.
22832
22833 2009-01-21  Bruno Haible  <bruno@clisp.org>
22834
22835         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
22836         conditions other than overflow.
22837
22838 2009-01-21  Bruno Haible  <bruno@clisp.org>
22839
22840         * lib/c-strtod.c: Include errno.h.
22841         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
22842         value from STRTOD_L and STRTOD.
22843
22844 2009-01-21  Bruno Haible  <bruno@clisp.org>
22845         and Jim Meyering  <meyering@redhat.com>
22846
22847         nanosleep: skip configure test (fail it) for apple universal builds
22848         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
22849         universal builds, assume that nanosleep does not work.
22850         * modules/nanosleep (Depends-on): Add multiarch.
22851
22852         mktime: skip configure test (fail it) for apple universal builds
22853         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
22854         universal builds, assume that mktime does not work.
22855         * modules/mktime (Depends-on): Add multiarch.
22856
22857 2009-01-21  Eric Blake  <ebb9@byu.net>
22858
22859         multiarch: avoid expand-before-require warning
22860         * modules/multiarch (configure.ac): Require, rather than expand,
22861         gl_MULTIARCH.
22862         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
22863         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
22864         enforce that all clients require it.  Partial reversion of
22865         2008-12-29 patch.
22866
22867         error: avoid expand-before-require warning
22868         * modules/errno (configure.ac): Require, rather than expand,
22869         gl_HEADER_ERRNO_H.
22870         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
22871         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
22872         enforce that all clients require it.
22873
22874         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
22875         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
22876         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
22877         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
22878
22879 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
22880
22881         Revert:
22882         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
22883
22884         regex: do not depend on obsolete modules.
22885         * modules/regex: Remove memcmp and memmove.
22886
22887 2009-01-20  Bruno Haible  <bruno@clisp.org>
22888
22889         Make the 'link' module link on Windows NT 4.
22890         * lib/link.c (_WIN32_WINNT): Don't define.
22891         (CreateHardLinkFuncType): New type.
22892         (CreateHardLinkFunc, initialized): New variables.
22893         (initialize): New function.
22894         (link): Invoke CreateHardLink indirectly through the function pointer.
22895
22896 2009-01-20  Bruno Haible  <bruno@clisp.org>
22897
22898         Fix compilation failure on mingw.
22899         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
22900
22901 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
22902
22903         * doc/c-strtod.texi: Mention a couple of restrictions.
22904
22905 2009-01-20  Jim Meyering  <meyering@redhat.com>
22906
22907         gettimeofday: move more declarations out of functions
22908         * lib/gettimeofday.c: Move extern declarations of tzset and
22909         gmtime out of containing functions.  Prompted by Bruno Haible.
22910
22911 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
22912
22913         regex: do not depend on obsolete modules.
22914         * modules/regex: Remove memcmp and memmove.
22915
22916 2009-01-19  Bruno Haible  <bruno@clisp.org>
22917
22918         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
22919         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
22920         gl_BIGENDIAN, not AC_C_BIGENDIAN.
22921         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
22922         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
22923
22924 2009-01-19  Bruno Haible  <bruno@clisp.org>
22925
22926         * tests/test-link.c: Include <errno.h>.
22927         (main): Exit with code 77 when a hard link cannot be created due to
22928         the file system.
22929         * tests/test-link.sh: Skip test when a hard link cannot be created due
22930         to the file system.
22931         Suggested by Eric Blake.
22932
22933 2009-01-19  Martin Lambers  <marlam@marlam.de>
22934
22935         * modules/link-tests: New file.
22936         * tests/test-link.sh: New file.
22937         * tests/test-link.c: New file.
22938
22939 2009-01-19  Eric Blake  <ebb9@byu.net>
22940
22941         doc: mention another function added in cygwin 1.7.0
22942         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
22943         Another new function in cygwin 1.7.
22944
22945 2009-01-19  Bruno Haible  <bruno@clisp.org>
22946
22947         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
22948         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
22949         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
22950         gl_BIGENDIAN, not AC_C_BIGENDIAN.
22951         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22952         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22953         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22954         * m4/md4.m4 (gl_MD4): Likewise.
22955         * m4/md5.m4 (gl_MD5): Likewise.
22956         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
22957         * m4/sha1.m4 (gl_SHA1): Likewise.
22958         * m4/sha256.m4 (gl_SHA256): Likewise.
22959         * m4/sha512.m4 (gl_SHA512): Likewise.
22960
22961 2009-01-19  Bruno Haible  <bruno@clisp.org>
22962
22963         * modules/uniname/uniname-tests (Depends-on): Add progname.
22964         * tests/uniname/test-uninames.c: Include progname.h.
22965         (main): Call set_program_name.
22966
22967         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
22968         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
22969         (main): Call set_program_name.
22970
22971         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
22972         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
22973         (main): Call set_program_name.
22974
22975         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
22976         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
22977         (main): Call set_program_name.
22978
22979         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
22980         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
22981         (main): Call set_program_name.
22982
22983         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
22984         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
22985         (main): Call set_program_name.
22986
22987         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
22988         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
22989         (main): Call set_program_name.
22990
22991         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
22992         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
22993         (main): Call set_program_name.
22994
22995         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
22996         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
22997         (main): Call set_program_name.
22998
22999 2009-01-19  Eric Blake  <ebb9@byu.net>
23000
23001         test-unistd: test previous patch
23002         * tests/test-unistd.c: Test *_FILENO macros.
23003
23004         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
23005         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23006         Guarantee a definition.
23007         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
23008         * modules/unistd-safer (Depends-on): Add dependency on unistd.
23009         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
23010         * lib/dup-safer.c (STDERR_FILENO): Likewise.
23011         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23012         Likewise.
23013         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
23014         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
23015         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23016         Likewise.
23017         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
23018         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
23019         (STDERR_FILENO): Likewise.
23020         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
23021         (STDERR_FILENO): Likewise.
23022         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
23023         (STDERR_FILENO): Likewise.
23024         Reported by Elbert Pol.
23025
23026 2009-01-19  Eric Blake  <ebb9@byu.net>
23027
23028         doc: mention more functions added in cygwin 1.7.0
23029         * doc/posix-functions/abort.texi (abort): Update wording related
23030         to cygwin.
23031         * doc/posix-functions/daylight.texi (daylight): Likewise.
23032         * doc/posix-functions/optarg.texi (optarg): Likewise.
23033         * doc/posix-functions/optarg.texi (opterr): Likewise.
23034         * doc/posix-functions/optarg.texi (optind): Likewise.
23035         * doc/posix-functions/optarg.texi (optopt): Likewise.
23036         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
23037         worked in 1.5.x, and was withdrawn in 1.7.
23038         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
23039         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
23040         cygwin versions.
23041         * doc/posix-functions/perror.texi (perror): Likewise.
23042         * doc/posix-functions/printf.texi (printf): Likewise.
23043         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
23044         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
23045         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
23046         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
23047         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23048         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
23049         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
23050         Likewise.
23051         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
23052         Likewise.
23053         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
23054         this function.
23055         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
23056         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
23057         Likewise.
23058         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
23059         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
23060         * doc/posix-functions/confstr.texi (confstr): Likewise.
23061         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
23062         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
23063         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
23064         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
23065         * doc/posix-functions/fputws.texi (fputws): Likewise.
23066         * doc/posix-functions/fwide.texi (fwide): Likewise.
23067         * doc/posix-functions/getwc.texi (getwc): Likewise.
23068         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
23069         * doc/posix-functions/putwc.texi (putwc): Likewise.
23070         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
23071         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
23072         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
23073         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
23074         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
23075         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
23076         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
23077         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
23078         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
23079         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
23080         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
23081
23082 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
23083
23084         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
23085         * lib/ioctl.c: Include <sys/ioctl.h>.
23086
23087 2009-01-19  Simon Josefsson  <simon@josefsson.org>
23088
23089         * modules/getdate-tests (Depends-on): Add progname.
23090         * tests/test-getdate.c: Use progname module, to avoid link errors
23091         on non-glibc systems.
23092
23093 2009-01-18  Simon Josefsson  <simon@josefsson.org>
23094
23095         * modules/filenamecat-tests (Depends-on): Add progname.
23096         * modules/fstrcmp-tests (Depends-on): Likewise.
23097
23098         * tests/test-filenamecat.c: Use progname module, to avoid link
23099         errors on non-glibc systems.
23100         * tests/test-fstrcmp.c: Likewise.
23101
23102 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
23103
23104         gettimeofday: avoid warning: nested extern declaration of 'localtime'
23105         * lib/gettimeofday.c: Move extern declaration out of function.
23106
23107 2009-01-18  Bruno Haible  <bruno@clisp.org>
23108
23109         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
23110         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
23111         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
23112
23113 2009-01-18  Bruno Haible  <bruno@clisp.org>
23114
23115         * lib/strftime.c (MEMPCPY): Remove unused macro.
23116         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
23117
23118 2009-01-18  Martin Lambers  <marlam@marlam.de>
23119
23120         New module 'link'.
23121         * lib/unistd.in.h (link): New declaration.
23122         * lib/link.c: New file.
23123         * m4/link.m4: New file.
23124         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
23125         HAVE_LINK.
23126         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
23127         * modules/link: New file.
23128         * doc/posix-functions/link.texi: Mention the new module.
23129
23130 2009-01-18  Bruno Haible  <bruno@clisp.org>
23131
23132         * tests/test-avltree_list.c (main): Call set_program_name.
23133         * tests/test-avltree_oset.c (main): Likewise.
23134         * tests/test-obstack-printf.c: Include progname.h.
23135         (main): Call set_program_name.
23136         * tests/test-quotearg.c: Include progname.h.
23137         (main): Call set_program_name.
23138         * tests/test-xmemdup0.c: Include progname.h.
23139         (main): Call set_program_name.
23140
23141 2009-01-18  Bruno Haible  <bruno@clisp.org>
23142
23143         New module 'alphasort'.
23144         * lib/dirent.in.h (alphasort): New declaration.
23145         * lib/alphasort.c: New file, from glibc with modifications.
23146         * m4/alphasort.m4: New file.
23147         * modules/alphasort: New file.
23148         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
23149         HAVE_ALPHASORT.
23150         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
23151         HAVE_ALPHASORT.
23152         * doc/posix-functions/alphasort.texi: Mention the new module and the
23153         portability problems.
23154
23155 2009-01-18  Bruno Haible  <bruno@clisp.org>
23156
23157         New module 'scandir'.
23158         * lib/dirent.in.h (scandir): New declaration.
23159         * lib/scandir.c: New file, from glibc with modifications.
23160         * m4/scandir.m4: New file.
23161         * modules/scandir: New file.
23162         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
23163         HAVE_SCANDIR.
23164         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
23165         HAVE_SCANDIR.
23166         * doc/posix-functions/scandir.texi: Mention the new module and the
23167         portability problems.
23168
23169 2009-01-17  Bruno Haible  <bruno@clisp.org>
23170
23171         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
23172         Update documentation.
23173         (func_remove_suffix): Escape all dots in the suffix. Update
23174         documentation.
23175         (func_filter_filelist): Update documentation.
23176         Reported by Ralf Wildenhues.
23177
23178 2009-01-17  Bruno Haible  <bruno@clisp.org>
23179
23180         * modules/dprintf-posix-tests: New file.
23181         * tests/test-dprintf-posix.sh: New file.
23182         * tests/test-dprintf-posix.c: New file.
23183
23184         New modules 'dprintf', 'dprintf-posix'.
23185         * lib/stdio.in.h (dprintf): New declaration.
23186         * lib/dprintf.c: New file.
23187         * m4/dprintf.m4: New file.
23188         * m4/dprintf-posix.m4: New file.
23189         * modules/dprintf: New file.
23190         * modules/dprintf-posix: New file.
23191         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
23192         HAVE_DPRINTF, REPLACE_DPRINTF.
23193         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
23194         HAVE_DPRINTF, REPLACE_DPRINTF.
23195         * doc/posix-functions/dprintf.texi: Mention the new modules.
23196
23197 2009-01-17  Bruno Haible  <bruno@clisp.org>
23198
23199         * modules/vdprintf-posix-tests: New file.
23200         * tests/test-vdprintf-posix.sh: New file.
23201         * tests/test-vdprintf-posix.c: New file.
23202
23203         New modules 'vdprintf', 'vdprintf-posix'.
23204         * lib/stdio.in.h (vdprintf): New declaration.
23205         * lib/vdprintf.c: New file.
23206         * m4/vdprintf.m4: New file.
23207         * m4/vdprintf-posix.m4: New file.
23208         * modules/vdprintf: New file.
23209         * modules/vdprintf-posix: New file.
23210         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
23211         HAVE_VDPRINTF, REPLACE_VDPRINTF.
23212         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
23213         HAVE_VDPRINTF, REPLACE_VDPRINTF.
23214         * doc/posix-functions/vdprintf.texi: Mention the new modules.
23215
23216 2009-01-17  Bruno Haible  <bruno@clisp.org>
23217
23218         Fix replacement of fopen on mingw.
23219         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
23220         mingw.
23221
23222 2009-01-17  Bruno Haible  <bruno@clisp.org>
23223
23224         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
23225         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
23226
23227 2009-01-17  Bruno Haible  <bruno@clisp.org>
23228
23229         Avoid test-fflush2.sh failure on mingw.
23230         * tests/test-fflush2.c: Include binary-io.h.
23231         (main): Put standard input into binary mode.
23232         * modules/fflush-tests (Depends-on): Add binary-io.
23233
23234 2009-01-17  Bruno Haible  <bruno@clisp.org>
23235
23236         * lib/wchar.in.h: In another particular situation, include only the
23237         system's <wchar.h> file.
23238         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
23239         Reported by Albert Chin-A-Young <china@thewrittenword.com>
23240         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
23241
23242 2009-01-17  Bruno Haible  <bruno@clisp.org>
23243
23244         Support for stripping executables in --enable-relocatable.
23245         * build-aux/install-reloc: Expect one more argument, or an environment
23246         variable RELOC_STRIP_PROG. If set, strip the destination program and
23247         its wrapper.
23248         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
23249         RELOC_STRIP_PROG.
23250         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
23251         to set RELOCATABLE_STRIP.
23252         * NEWS: Mention the new Makefile requirement.
23253
23254 2009-01-17  Bruno Haible  <bruno@clisp.org>
23255
23256         * build-aux/install-reloc: Remove debugging information left over by
23257         C compiler on MacOS X.
23258
23259 2009-01-17  Bruno Haible  <bruno@clisp.org>
23260
23261         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
23262         * lib/progreloc.c (find_executable): Fix type of pointer passed to
23263         _NSGetExecutablePath.
23264
23265 2009-01-16  Jim Meyering  <meyering@redhat.com>
23266
23267         strerror: avoid warnings about discarding "const"
23268         * lib/strerror.c (rpl_strerror): Instead of returning a const
23269         string from each and every "case", use a variable, and add a single
23270         cast after the switch.
23271
23272 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
23273
23274         * lib/arpa_inet.in.h: Add extern "C" block for C++.
23275
23276 2009-01-16  Bruno Haible  <bruno@clisp.org>
23277
23278         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
23279         array initializer syntax that also works in C++ mode.
23280         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23281
23282 2009-01-16  Jim Meyering  <meyering@redhat.com>
23283
23284         poll: suppress a warning
23285         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
23286         to ignore "...unsigned expression < 0 is always false" warnings.
23287
23288 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
23289
23290         poll: remove declarations of unused variables
23291         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
23292         sockbuf and optlen.
23293
23294 2009-01-15  Bruno Haible  <bruno@clisp.org>
23295
23296         Make fflush-after-ungetc POSIX compliant on BSD systems.
23297         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
23298         (clear_ungetc_buffer): Implement also for other systems.
23299         (rpl_fflush): On glibc systems, invoke
23300         clear_ungetc_buffer_preserving_position. Otherwise, invoke
23301         clear_ungetc_buffer after fetching the stream's position, not before.
23302
23303 2009-01-15  Bruno Haible  <bruno@clisp.org>
23304
23305         Make fflush-after-ungetc POSIX compliant on glibc systems.
23306         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
23307         after ungetc.
23308         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
23309         (rpl_fflush): On glibc systems, simply call the system's fflush
23310         function after clearing the ungetc buffer.
23311         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
23312         Instead, lseek only to the end of file, then use the system's fseeko
23313         for the rest. On glibc systems, reset the EOF indicator bit.
23314
23315 2009-01-15  Jim Meyering  <meyering@redhat.com>
23316
23317         openmp.m4: revert quote-adding change, for portability to older autoconf
23318         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
23319         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
23320         Simon Josefsson noticed the problem when using autoconf-2.61.
23321
23322 2009-01-15  Bruno Haible  <bruno@clisp.org>
23323
23324         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
23325         * tests/test-fflush2.c (ASSERT): Always fail.
23326         (main): Add two tests for fflush() after ungetc(), taking into account
23327         the Austin Group's clarification.
23328         Suggested by Eric Blake.
23329
23330 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
23331
23332         mktime.m4: remove K&R-style function prototypes
23333         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
23334         for the Sun C++ compiler.
23335
23336 2009-01-14  Bruno Haible  <bruno@clisp.org>
23337
23338         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
23339         while including <wchar.h>.
23340         * lib/wchar.in.h: In two particular situations on HP-UX, include only
23341         the system's <wchar.h> file.
23342         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23343
23344 2009-01-14  Bruno Haible  <bruno@clisp.org>
23345
23346         * m4/csharp.m4: Don't mention gettext on the serial number line.
23347         * m4/csharpexec.m4: Likewise.
23348         * m4/eaccess.m4: Likewise.
23349         * m4/javaexec.m4: Likewise.
23350         * m4/sig_atomic_t.m4: Likewise.
23351         * m4/tmpdir.m4: Likewise.
23352         * m4/intldir.m4: Bump gettext version.
23353         * m4/lib-ld.m4: Likewise.
23354
23355 2009-01-14  Bruno Haible  <bruno@clisp.org>
23356
23357         * lib/progname.c (set_program_name): Add more comments.
23358         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
23359
23360 2009-01-14  Simon Josefsson  <simon@josefsson.org>
23361
23362         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
23363         were sys/stat.h does not define it.
23364
23365 2009-01-14  Jim Meyering  <meyering@redhat.com>
23366
23367         many *.m4 files: improve m4 quoting
23368         99% of this change was performed by running the following commands:
23369         git ls-files | grep '\.m4$' | xargs perl -pi \
23370           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
23371           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
23372           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
23373           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
23374         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
23375         The remainder were to add Copyright dates, increment serial numbers,
23376         undo some changes in comments, exclude m4/intl.m4, and add quotes
23377         around the "1" in ",1" where the unusual spacing prohibited the
23378         above regexps from doing the job.  For more details, see
23379         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
23380         * m4/acl.m4: Modified.
23381         * m4/afs.m4: Likewise.
23382         * m4/alloca.m4: Likewise.
23383         * m4/argp.m4: Likewise.
23384         * m4/argz.m4: Likewise.
23385         * m4/atexit.m4: Likewise.
23386         * m4/bison-i18n.m4: Likewise.
23387         * m4/bison.m4: Likewise.
23388         * m4/byteswap.m4: Likewise.
23389         * m4/c-stack.m4: Likewise.
23390         * m4/c-strtod.m4: Likewise.
23391         * m4/calloc.m4: Likewise.
23392         * m4/canonicalize-lgpl.m4: Likewise.
23393         * m4/chown.m4: Likewise.
23394         * m4/clock_time.m4: Likewise.
23395         * m4/codeset.m4: Likewise.
23396         * m4/copy-file.m4: Likewise.
23397         * m4/csharp.m4: Likewise.
23398         * m4/csharpcomp.m4: Likewise.
23399         * m4/csharpexec.m4: Likewise.
23400         * m4/d-ino.m4: Likewise.
23401         * m4/d-type.m4: Likewise.
23402         * m4/dirfd.m4: Likewise.
23403         * m4/double-slash-root.m4: Likewise.
23404         * m4/eaccess.m4: Likewise.
23405         * m4/eealloc.m4: Likewise.
23406         * m4/environ.m4: Likewise.
23407         * m4/errno_h.m4: Likewise.
23408         * m4/euidaccess.m4: Likewise.
23409         * m4/execute.m4: Likewise.
23410         * m4/fatal-signal.m4: Likewise.
23411         * m4/fchdir.m4: Likewise.
23412         * m4/fcntl_h.m4: Likewise.
23413         * m4/fileblocks.m4: Likewise.
23414         * m4/filenamecat.m4: Likewise.
23415         * m4/findprog.m4: Likewise.
23416         * m4/flexmember.m4: Likewise.
23417         * m4/fnmatch.m4: Likewise.
23418         * m4/fopen.m4: Likewise.
23419         * m4/fpending.m4: Likewise.
23420         * m4/fprintf-posix.m4: Likewise.
23421         * m4/free.m4: Likewise.
23422         * m4/frexp.m4: Likewise.
23423         * m4/frexpl.m4: Likewise.
23424         * m4/fsusage.m4: Likewise.
23425         * m4/ftruncate.m4: Likewise.
23426         * m4/gc-camellia.m4: Likewise.
23427         * m4/gc-random.m4: Likewise.
23428         * m4/gc.m4: Likewise.
23429         * m4/getaddrinfo.m4: Likewise.
23430         * m4/getcwd-abort-bug.m4: Likewise.
23431         * m4/getcwd-path-max.m4: Likewise.
23432         * m4/getdate.m4: Likewise.
23433         * m4/getdomainname.m4: Likewise.
23434         * m4/getgroups.m4: Likewise.
23435         * m4/gethostname.m4: Likewise.
23436         * m4/gethrxtime.m4: Likewise.
23437         * m4/getline.m4: Likewise.
23438         * m4/getloadavg.m4: Likewise.
23439         * m4/getndelim2.m4: Likewise.
23440         * m4/getpass.m4: Likewise.
23441         * m4/gettext.m4: Likewise.
23442         * m4/gettime.m4: Likewise.
23443         * m4/gettimeofday.m4: Likewise.
23444         * m4/gnulib-common.m4: Likewise.
23445         * m4/group-member.m4: Likewise.
23446         * m4/host-os.m4: Likewise.
23447         * m4/iconv.m4: Likewise.
23448         * m4/iconv_open.m4: Likewise.
23449         * m4/inet_ntop.m4: Likewise.
23450         * m4/inet_pton.m4: Likewise.
23451         * m4/inline.m4: Likewise.
23452         * m4/intldir.m4: Likewise.
23453         * m4/intlmacosx.m4: Likewise.
23454         * m4/intmax.m4: Likewise.
23455         * m4/intmax_t.m4: Likewise.
23456         * m4/inttypes.m4: Likewise.
23457         * m4/inttypes_h.m4: Likewise.
23458         * m4/inttypes-pri.m4: Likewise.
23459         * m4/isapipe.m4: Likewise.
23460         * m4/isnand.m4: Likewise.
23461         * m4/isnanf.m4: Likewise.
23462         * m4/isnanl.m4: Likewise.
23463         * m4/javacomp.m4: Likewise.
23464         * m4/javaexec.m4: Likewise.
23465         * m4/jm-winsz1.m4: Likewise.
23466         * m4/jm-winsz2.m4: Likewise.
23467         * m4/lchown.m4: Likewise.
23468         * m4/lcmessage.m4: Likewise.
23469         * m4/ldexpl.m4: Likewise.
23470         * m4/lib-ld.m4: Likewise.
23471         * m4/lib-link.m4: Likewise.
23472         * m4/libsigsegv.m4: Likewise.
23473         * m4/link-follow.m4: Likewise.
23474         * m4/localcharset.m4: Likewise.
23475         * m4/locale-fr.m4: Likewise.
23476         * m4/locale-ja.m4: Likewise.
23477         * m4/locale-tr.m4: Likewise.
23478         * m4/locale-zh.m4: Likewise.
23479         * m4/lock.m4: Likewise.
23480         * m4/longlong.m4: Likewise.
23481         * m4/ls-mntd-fs.m4: Likewise.
23482         * m4/lstat.m4: Likewise.
23483         * m4/malloc.m4: Likewise.
23484         * m4/mathl.m4: Likewise.
23485         * m4/mbrtowc.m4: Likewise.
23486         * m4/mbstate_t.m4: Likewise.
23487         * m4/mbswidth.m4: Likewise.
23488         * m4/memchr.m4: Likewise.
23489         * m4/memcmp.m4: Likewise.
23490         * m4/memcpy.m4: Likewise.
23491         * m4/memmem.m4: Likewise.
23492         * m4/memmove.m4: Likewise.
23493         * m4/mempcpy.m4: Likewise.
23494         * m4/memrchr.m4: Likewise.
23495         * m4/memset.m4: Likewise.
23496         * m4/minmax.m4: Likewise.
23497         * m4/mkdir-slash.m4: Likewise.
23498         * m4/mkdtemp.m4: Likewise.
23499         * m4/mktime.m4: Likewise.
23500         * m4/mmap-anon.m4: Likewise.
23501         * m4/mountlist.m4: Likewise.
23502         * m4/nanosleep.m4: Likewise.
23503         * m4/nls.m4: Likewise.
23504         * m4/nocrash.m4: Likewise.
23505         * m4/open.m4: Likewise.
23506         * m4/openat.m4: Likewise.
23507         * m4/openmp.m4: Likewise.
23508         * m4/pathmax.m4: Likewise.
23509         * m4/perl.m4: Likewise.
23510         * m4/physmem.m4: Likewise.
23511         * m4/pipe.m4: Likewise.
23512         * m4/po.m4: Likewise.
23513         * m4/poll.m4: Likewise.
23514         * m4/posixtm.m4: Likewise.
23515         * m4/posixver.m4: Likewise.
23516         * m4/printf-frexp.m4: Likewise.
23517         * m4/printf-frexpl.m4: Likewise.
23518         * m4/printf-posix.m4: Likewise.
23519         * m4/printf-posix-rpl.m4: Likewise.
23520         * m4/printf.m4: Likewise.
23521         * m4/progtest.m4: Likewise.
23522         * m4/putenv.m4: Likewise.
23523         * m4/readline.m4: Likewise.
23524         * m4/readlink.m4: Likewise.
23525         * m4/readutmp.m4: Likewise.
23526         * m4/realloc.m4: Likewise.
23527         * m4/regex.m4: Likewise.
23528         * m4/relocatable.m4: Likewise.
23529         * m4/relocatable-lib.m4: Likewise.
23530         * m4/rename-dest-slash.m4: Likewise.
23531         * m4/rename.m4: Likewise.
23532         * m4/rmdir-errno.m4: Likewise.
23533         * m4/rmdir.m4: Likewise.
23534         * m4/roundf.m4: Likewise.
23535         * m4/roundl.m4: Likewise.
23536         * m4/rpmatch.m4: Likewise.
23537         * m4/save-cwd.m4: Likewise.
23538         * m4/selinux-selinux-h.m4: Likewise.
23539         * m4/setenv.m4: Likewise.
23540         * m4/settime.m4: Likewise.
23541         * m4/sig2str.m4: Likewise.
23542         * m4/sig_atomic_t.m4: Likewise.
23543         * m4/signalblocking.m4: Likewise.
23544         * m4/signbit.m4: Likewise.
23545         * m4/sigpipe.m4: Likewise.
23546         * m4/sockets.m4: Likewise.
23547         * m4/sockpfaf.m4: Likewise.
23548         * m4/st_dm_mode.m4: Likewise.
23549         * m4/stat-time.m4: Likewise.
23550         * m4/stdbool.m4: Likewise.
23551         * m4/stdint.m4: Likewise.
23552         * m4/stdint_h.m4: Likewise.
23553         * m4/stpcpy.m4: Likewise.
23554         * m4/stpncpy.m4: Likewise.
23555         * m4/strcase.m4: Likewise.
23556         * m4/strchrnul.m4: Likewise.
23557         * m4/strcspn.m4: Likewise.
23558         * m4/strdup.m4: Likewise.
23559         * m4/strftime.m4: Likewise.
23560         * m4/strndup.m4: Likewise.
23561         * m4/strnlen.m4: Likewise.
23562         * m4/strpbrk.m4: Likewise.
23563         * m4/strptime.m4: Likewise.
23564         * m4/strsep.m4: Likewise.
23565         * m4/strtod.m4: Likewise.
23566         * m4/strtoimax.m4: Likewise.
23567         * m4/strtok_r.m4: Likewise.
23568         * m4/strtol.m4: Likewise.
23569         * m4/strtoll.m4: Likewise.
23570         * m4/strtoul.m4: Likewise.
23571         * m4/strtoull.m4: Likewise.
23572         * m4/strtoumax.m4: Likewise.
23573         * m4/strverscmp.m4: Likewise.
23574         * m4/threadlib.m4: Likewise.
23575         * m4/timegm.m4: Likewise.
23576         * m4/tm_gmtoff.m4: Likewise.
23577         * m4/tmpdir.m4: Likewise.
23578         * m4/tmpfile.m4: Likewise.
23579         * m4/tzset.m4: Likewise.
23580         * m4/uintmax_t.m4: Likewise.
23581         * m4/unlinkdir.m4: Likewise.
23582         * m4/unlocked-io.m4: Likewise.
23583         * m4/uptime.m4: Likewise.
23584         * m4/userspec.m4: Likewise.
23585         * m4/utimbuf.m4: Likewise.
23586         * m4/utime.m4: Likewise.
23587         * m4/utimes-null.m4: Likewise.
23588         * m4/utimes.m4: Likewise.
23589         * m4/vararrays.m4: Likewise.
23590         * m4/vasnprintf.m4: Likewise.
23591         * m4/vfprintf-posix.m4: Likewise.
23592         * m4/vprintf-posix.m4: Likewise.
23593         * m4/wait-process.m4: Likewise.
23594         * m4/wchar_t.m4: Likewise.
23595         * m4/wint_t.m4: Likewise.
23596         * m4/write-any-file.m4: Likewise.
23597         * m4/yield.m4: Likewise.
23598
23599 2009-01-13  Bruno Haible  <bruno@clisp.org>
23600
23601         Avoid test-copy-file.sh failures when ACL support insufficient.
23602         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
23603         TESTS_ENVIRONMENT.
23604         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
23605         Reported by Jim Meyering.
23606
23607 2009-01-13  Bruno Haible  <bruno@clisp.org>
23608
23609         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
23610         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
23611         * modules/unistdio/u8-printf-parse (Files): Likewise.
23612         * modules/unistdio/u32-printf-parse (Files): Likewise.
23613         * modules/unistdio/ulc-printf-parse (Files): Likewise.
23614
23615 2009-01-13  Simon Josefsson  <simon@josefsson.org>
23616
23617         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
23618         and m4/inttypes_h.m4 too.
23619
23620 2009-01-12  Eric Blake  <ebb9@byu.net>
23621
23622         tests: IRIX 6.2 cc can't compile -0.0 into .data
23623         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
23624         rather than at compile-time.
23625         * tests/test-floorl.c (minus_zero): Likewise.
23626         * tests/test-frexpl.c (minus_zero): Likewise.
23627         * tests/test-isnan.c (minus_zerol): Likewise.
23628         * tests/test-isnanl.h (minus_zero): Likewise.
23629         * tests/test-ldexpl.c (minus_zero): Likewise.
23630         * tests/test-roundl.c (minus_zero): Likewise.
23631         * tests/test-signbit.c (minus_zerol): Likewise.
23632         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
23633         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
23634         * tests/test-truncl.c (minus_zero): Likewise.
23635         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
23636         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
23637         Reported by Tom G. Christensen and Nelson H. F. Beebe.
23638
23639 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23640
23641         regex: fix glibc bug 9697
23642         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
23643         handling.
23644
23645 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23646
23647         regex: fix glibc bug 697
23648         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
23649         being NULL also if there are no backreferences.
23650
23651 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23652
23653         regex: merge glibc changes
23654         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
23655         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
23656         re_string_skip_chars, re_string_reconstruct): Likewise.
23657         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
23658
23659 2009-01-07  Jim Meyering  <meyering@redhat.com>
23660
23661         poll: filter through cppi
23662         * lib/poll.c: Indent cpp directives to reflect nesting.
23663
23664 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
23665
23666         poll: don't return uninitialized
23667         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
23668
23669 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
23670
23671         avoid compile failure on AIX 6.1
23672         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
23673         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
23674
23675 2009-01-04  Jim Meyering  <meyering@redhat.com>
23676
23677         remove duplicate inclusion of <stdio.h>
23678         * tests/test-fprintf-posix.c: Likewise.
23679         * tests/test-printf-posix.c: Likewise.
23680         * tests/test-snprintf-posix.c: Likewise.
23681         * tests/test-sprintf-posix.c: Likewise.
23682         * tests/test-vasprintf-posix.c: Likewise.
23683         * tests/test-vfprintf-posix.c: Likewise.
23684         * tests/test-vprintf-posix.c: Likewise.
23685         * tests/test-vsnprintf-posix.c: Likewise.
23686         * tests/test-vsprintf-posix.c: Likewise.
23687
23688 2009-01-03  Jim Meyering  <meyering@redhat.com>
23689
23690         gnulib-tool: fix sed-based filtering
23691         * gnulib-tool (func_filter_filelist): Remove extra backslash
23692         in sed_fff_filter definition.
23693
23694 2009-01-02  Jim Meyering  <meyering@redhat.com>
23695
23696         strftime: avoid compilation failure on Solaris 2.6
23697         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
23698         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
23699         Don't #define mbrlen or mbsinit, since now they're guaranteed to
23700         be available.  Reported by Tom G. Christensen.  Details in
23701         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
23702
23703 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23704             Bruno Haible  <bruno@clisp.org>
23705
23706         Speed up gnulib-tool by doing more string processing through shell
23707         built-ins.
23708         * gnulib-tool (fast_func_append): New variable.
23709         (func_remove_prefix, func_remove_suffix): New functions.
23710         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
23711         (func_filter_filelist): New function.
23712         (func_get_dependencies): Use func_remove_suffix instead of sed.
23713         (func_get_automake_snippet): Use func_filter_filelist instead of a
23714         subshell and sed invocation.
23715
23716 2009-01-01  Bruno Haible  <bruno@clisp.org>
23717
23718         Fix a security bug.
23719         * gnulib-tool (func_import, import, update): Don't allow the characters
23720         '"', '$', '`', '\' in macro arguments that become part of commands that
23721         are evaluated.
23722
23723 2009-01-01  Bruno Haible  <bruno@clisp.org>
23724
23725         * gnulib-tool (func_reset_sigpipe): Add more comments.
23726
23727 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23728
23729         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
23730         func_emit_tests_Makefile_am, func_import): Abort loops early if we
23731         already know the answer.
23732
23733 2009-01-01  Jim Meyering  <meyering@redhat.com>
23734
23735         * lib/version-etc.c (version_etc_va): Update copyright year.
23736
23737 2008-12-30  Bruno Haible  <bruno@clisp.org>
23738
23739         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
23740         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
23741         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
23742
23743 2008-12-29  Eric Blake  <ebb9@byu.net>
23744
23745         multiarch: avoid autoconf AC_REQUIRE bug
23746         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
23747         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
23748         2.63 and older.
23749         Reported by Bruno Haible, and analyzed in
23750         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
23751
23752 2008-12-29  Bruno Haible  <bruno@clisp.org>
23753
23754         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
23755         files in subdirectories correctly.
23756         Reported by Ralf Wildenhues.
23757
23758 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23759
23760         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
23761         rather than 'join FILE -', for Solaris join.
23762
23763 2008-12-29  Bruno Haible  <bruno@clisp.org>
23764
23765         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
23766         quoting.
23767         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23768         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
23769         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
23770         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
23771         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23772         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23773         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23774         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23775         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23776         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23777         * m4/nls.m4 (AM_NLS): Likewise.
23778         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
23779         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23780         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23781         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23782         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23783         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23784         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
23785         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23786         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23787         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23788         * m4/xsize.m4 (gl_XSIZE): Likewise.
23789         Suggested by Jim Meyering.
23790
23791 2008-11-17  Bruce Korb  <bkorb@gnu.org>
23792
23793         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
23794         * lib/parse-duration.c: use a switch instead of cascading if's.
23795
23796 2008-12-29  Eric Blake  <ebb9@byu.net>
23797
23798         wchar.h: supply WEOF on Irix 5.3
23799         * lib/wchar.in.h (wint_t): Also supply WEOF.
23800         * lib/wctype.in.h (wint_t): Likewise.
23801         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
23802         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
23803         Reported by Tom G. Christensen.
23804
23805 2008-12-26  Bruno Haible  <bruno@clisp.org>
23806
23807         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
23808         i486, i586, i686.
23809
23810 2008-12-26  Bruno Haible  <bruno@clisp.org>
23811
23812         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
23813
23814 2008-12-26  Bruno Haible  <bruno@clisp.org>
23815
23816         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
23817         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
23818         not __STDC_CONSTANT_MACROS.
23819         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
23820
23821 2008-12-25  Bruno Haible  <bruno@clisp.org>
23822
23823         Add support for universal builds to vasnprintf.
23824         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
23825         universal builds, guess no.
23826         * modules/vasnprintf-posix (Depends-on): Add multiarch.
23827         * modules/vasprintf-posix (Depends-on): Likewise.
23828         * modules/fprintf-posix (Depends-on): Likewise.
23829         * modules/vfprintf-posix (Depends-on): Likewise.
23830         * modules/snprintf-posix (Depends-on): Likewise.
23831         * modules/vsnprintf-posix (Depends-on): Likewise.
23832         * modules/sprintf-posix (Depends-on): Likewise.
23833         * modules/vsprintf-posix (Depends-on): Likewise.
23834         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23835         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23836         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23837         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23838         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23839         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23840         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23841
23842         Add support for universal builds to <inttypes.h>.
23843         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
23844         _SCNu64_PREFIX): In Apple
23845         universal builds, define directly, using _LP64.
23846         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
23847         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
23848         * modules/inttypes (Depends-on): Add multiarch.
23849         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
23850
23851         Add support for universal builds to <stdint.h>.
23852         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
23853         universal builds, define directly, using _LP64.
23854         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
23855         Apple universal builds, don't test for the size and suffix of ptrdiff_t
23856         and size_t.
23857         * modules/stdint (Depends-on): Add multiarch.
23858         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
23859
23860         New module 'multiarch'.
23861         * modules/multiarch: New file.
23862         * m4/multiarch.m4: New file.
23863
23864 2008-12-25  Bruno Haible  <bruno@clisp.org>
23865
23866         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
23867
23868 2008-12-25  Bruno Haible  <bruno@clisp.org>
23869
23870         * modules/btowc (License): Relicense under LGPLv2+.
23871         * modules/mbsinit (License): Likewise.
23872         * modules/mbrtowc (License): Likewise.
23873         * modules/wcrtomb (License): Likewise.
23874         * modules/streq (License): Likewise.
23875         Reported by David Lutterkort <lutter@redhat.com>.
23876
23877 2008-12-23  Bruno Haible  <bruno@clisp.org>
23878
23879         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
23880
23881 2008-12-23  Bruno Haible  <bruno@clisp.org>
23882
23883         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
23884         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
23885         GETADDRINFO_LIB, not in LIBS.
23886         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
23887         * modules/canon-host (Link): Likewise.
23888         * NEWS: Mention the change.
23889         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
23890         GETADDRINFO_LIB.
23891
23892 2008-12-22  Bruno Haible  <bruno@clisp.org>
23893
23894         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
23895         * doc/posix-functions/iswalpha_l.texi: Likewise.
23896         * doc/posix-functions/iswblank_l.texi: Likewise.
23897         * doc/posix-functions/iswcntrl_l.texi: Likewise.
23898         * doc/posix-functions/iswctype_l.texi: Likewise.
23899         * doc/posix-functions/iswdigit_l.texi: Likewise.
23900         * doc/posix-functions/iswgraph_l.texi: Likewise.
23901         * doc/posix-functions/iswlower_l.texi: Likewise.
23902         * doc/posix-functions/iswprint_l.texi: Likewise.
23903         * doc/posix-functions/iswpunct_l.texi: Likewise.
23904         * doc/posix-functions/iswspace_l.texi: Likewise.
23905         * doc/posix-functions/iswupper_l.texi: Likewise.
23906         * doc/posix-functions/iswxdigit_l.texi: Likewise.
23907         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
23908         * doc/posix-functions/open_wmemstream.texi: Likewise.
23909         * doc/posix-functions/swscanf.texi: Likewise.
23910         * doc/posix-functions/towctrans_l.texi: Likewise.
23911         * doc/posix-functions/towlower.texi: Likewise.
23912         * doc/posix-functions/towlower_l.texi: Likewise.
23913         * doc/posix-functions/towupper.texi: Likewise.
23914         * doc/posix-functions/towupper_l.texi: Likewise.
23915         * doc/posix-functions/vfwprintf.texi: Likewise.
23916         * doc/posix-functions/vfwscanf.texi: Likewise.
23917         * doc/posix-functions/vswscanf.texi: Likewise.
23918         * doc/posix-functions/vwprintf.texi: Likewise.
23919         * doc/posix-functions/vwscanf.texi: Likewise.
23920         * doc/posix-functions/wcpcpy.texi: Likewise.
23921         * doc/posix-functions/wcpncpy.texi: Likewise.
23922         * doc/posix-functions/wcscasecmp.texi: Likewise.
23923         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
23924         * doc/posix-functions/wcscoll_l.texi: Likewise.
23925         * doc/posix-functions/wcsdup.texi: Likewise.
23926         * doc/posix-functions/wcsncasecmp.texi: Likewise.
23927         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
23928         * doc/posix-functions/wcsnlen.texi: Likewise.
23929         * doc/posix-functions/wcsnrtombs.texi: Likewise.
23930         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
23931         * doc/posix-functions/wctrans_l.texi: Likewise.
23932         * doc/posix-functions/wctype_l.texi: Likewise.
23933         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
23934         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
23935         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
23936         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
23937         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
23938         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
23939         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
23940         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
23941         * doc/glibc-functions/wcschrnul.texi: Likewise.
23942         * doc/glibc-functions/wcsftime_l.texi: Likewise.
23943         * doc/glibc-functions/wcstod_l.texi: Likewise.
23944         * doc/glibc-functions/wcstof_l.texi: Likewise.
23945         * doc/glibc-functions/wcstol_l.texi: Likewise.
23946         * doc/glibc-functions/wcstold_l.texi: Likewise.
23947         * doc/glibc-functions/wcstoll_l.texi: Likewise.
23948         * doc/glibc-functions/wcstoq.texi: Likewise.
23949         * doc/glibc-functions/wcstoul_l.texi: Likewise.
23950         * doc/glibc-functions/wcstoull_l.texi: Likewise.
23951         * doc/glibc-functions/wcstouq.texi: Likewise.
23952         * doc/glibc-functions/wmempcpy.texi: Likewise.
23953
23954 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
23955             Eric Blake  <ebb9@byu.net>
23956             Paolo Bonzini  <bonzini@gnu.org>
23957             Bruno Haible  <bruno@clisp.org>
23958
23959         Make c-stack work on Haiku.
23960         * lib/c-stack.c (SA_ONSTACK): Define fallback.
23961         (c_stack_action): Use SA_ONSTACK flag.
23962
23963 2008-12-22  Bruno Haible  <bruno@clisp.org>
23964
23965         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
23966
23967 2008-12-22  Bruno Haible  <bruno@clisp.org>
23968
23969         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
23970         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
23971         being overridden.
23972         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
23973         New macros.
23974         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
23975         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
23976         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
23977         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
23978
23979 2008-12-22  Bruno Haible  <bruno@clisp.org>
23980
23981         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
23982         from test code.
23983
23984 2008-12-22  Eric Blake  <ebb9@byu.net>
23985
23986         Avoid gcc warnings on cygwin.
23987         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
23988         Avoid unused variable.
23989         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
23990         Likewise.
23991
23992 2008-12-22  Bruno Haible  <bruno@clisp.org>
23993
23994         Remove HAVE_MBRTOWC conditionals.
23995         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
23996         (mbscasecmp): Assume mbrtowc function.
23997         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
23998         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
23999         * lib/mbschr.c: Include mbuiter.h unconditionally.
24000         (mbschr): Assume mbrtowc function.
24001         * lib/mbscspn.c: Include mbuiter.h unconditionally.
24002         (mbscspn): Assume mbrtowc function.
24003         * lib/mbslen.c: Include mbuiter.h unconditionally.
24004         (mbslen): Assume mbrtowc function.
24005         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
24006         (mbsncasecmp): Assume mbrtowc function.
24007         * lib/mbsnlen.c: Include mbiter.h unconditionally.
24008         (mbsnlen): Assume mbrtowc function.
24009         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
24010         (mbspbrk): Assume mbrtowc function.
24011         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
24012         (mbspcasecmp): Assume mbrtowc function.
24013         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
24014         (mbsrchr): Assume mbrtowc function.
24015         * lib/mbssep.c: Include mbuiter.h unconditionally.
24016         (mbssep): Assume mbrtowc function.
24017         * lib/mbsspn.c: Include mbuiter.h unconditionally.
24018         (mbsspn): Assume mbrtowc function.
24019         * lib/mbsstr.c: Include mbuiter.h unconditionally.
24020         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
24021         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
24022         (mbstok_r): Assume mbrtowc function.
24023         * lib/propername.c: Include mbuiter.h unconditionally.
24024         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
24025         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
24026         (trim2): Assume mbrtowc function.
24027         * lib/mbswidth.c (mbsinit): Remove fallback definition.
24028         (mbsnwidth): Assume mbrtowc function.
24029         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
24030         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
24031         fallback definitions.
24032         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
24033
24034 2008-12-22  Bruno Haible  <bruno@clisp.org>
24035
24036         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
24037
24038 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
24039
24040         * modules/regex: Request emulations for the mb*/wc* functions we need.
24041         * m4/regex.m4: Don't look for those functions here.
24042         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
24043
24044 2008-12-22  Bruno Haible  <bruno@clisp.org>
24045
24046         * modules/fnmatch (Depends-on): Remove duplicated dependency.
24047
24048 2008-12-21  Bruno Haible  <bruno@clisp.org>
24049
24050         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
24051         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
24052         (Include): Remove conditionalization.
24053         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
24054         (Include): Remove conditionalization.
24055         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
24056         (Include): Remove conditionalization.
24057         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
24058         * m4/mbfile.m4 (gl_MBFILE): Likewise.
24059         * NEWS: Mention the change.
24060         Reported by Alan Hourihane <alanh@fairlite.co.uk>
24061         via Sergey Poznyakoff <gray@gnu.org.ua>.
24062
24063 2008-12-21  Bruno Haible  <bruno@clisp.org>
24064
24065         * MODULES.html.sh (Extended multibyte and wide character utilities
24066         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
24067         wcrtomb, wcsrtombs.
24068         (Support for systems lacking POSIX:2008): Add accept, bind, close,
24069         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
24070         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
24071         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
24072
24073 2008-12-21  Bruno Haible  <bruno@clisp.org>
24074
24075         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
24076
24077 2008-12-21  Bruno Haible  <bruno@clisp.org>
24078
24079         * modules/wcsnrtombs-tests: New file.
24080         * tests/test-wcsnrtombs1.sh: New file.
24081         * tests/test-wcsnrtombs2.sh: New file.
24082         * tests/test-wcsnrtombs3.sh: New file.
24083         * tests/test-wcsnrtombs4.sh: New file.
24084         * tests/test-wcsnrtombs.c: New file.
24085
24086         New module 'wcsnrtombs'.
24087         * lib/wchar.in.h (wcsnrtombs): New declaration.
24088         * lib/wcsnrtombs.c: New file.
24089         * lib/wcsrtombs-state.c: New file.
24090         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
24091         (internal_state): Remove variable.
24092         * m4/wcsnrtombs.m4: New file.
24093         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
24094         compilation units.
24095         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
24096         HAVE_WCSNRTOMBS.
24097         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
24098         HAVE_WCSNRTOMBS.
24099         * modules/wcsnrtombs: New file.
24100         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
24101         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
24102
24103 2008-12-21  Bruno Haible  <bruno@clisp.org>
24104
24105         * modules/wcsrtombs-tests: New file.
24106         * tests/test-wcsrtombs1.sh: New file.
24107         * tests/test-wcsrtombs2.sh: New file.
24108         * tests/test-wcsrtombs3.sh: New file.
24109         * tests/test-wcsrtombs4.sh: New file.
24110         * tests/test-wcsrtombs.c: New file.
24111
24112         New module 'wcsrtombs'.
24113         * lib/wchar.in.h (wcsrtombs): New declaration.
24114         * lib/wcsrtombs.c: New file.
24115         * m4/wcsrtombs.m4: New file.
24116         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
24117         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
24118         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
24119         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
24120         * modules/wcsrtombs: New file.
24121         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
24122         bugs.
24123
24124 2008-12-21  Bruno Haible  <bruno@clisp.org>
24125
24126         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
24127         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
24128         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
24129         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
24130         if not correct.
24131         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
24132         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
24133         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24134         m4/locale-zh.m4, m4/codeset.m4.
24135         * doc/posix-functions/wcrtomb.texi: Document the bug.
24136
24137 2008-12-21  Bruno Haible  <bruno@clisp.org>
24138
24139         Work around a btowc() bug on IRIX 6.5.
24140         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
24141         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
24142         REPLACE_WTOBC if not.
24143         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
24144         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
24145         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
24146
24147 2008-12-21  Bruno Haible  <bruno@clisp.org>
24148
24149         * modules/wcrtomb-tests: New file.
24150         * tests/test-wcrtomb.sh: New file.
24151         * tests/test-wcrtomb.c: New file.
24152
24153         New module 'wcrtomb'.
24154         * lib/wchar.in.h (wcrtomb): New declaration.
24155         * lib/wcrtomb.c: New file.
24156         * m4/wcrtomb.m4: New file.
24157         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
24158         HAVE_WCRTOMB.
24159         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
24160         HAVE_WCRTOMB.
24161         * modules/wcrtomb: New file.
24162         * doc/posix-functions/wcrtomb.texi: Mention the new module.
24163
24164 2008-12-21  Bruno Haible  <bruno@clisp.org>
24165
24166         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
24167         * modules/mbsrtowcs (Files): Likewise.
24168         * modules/wctob (Files): Likewise.
24169         * modules/c-strcase-tests (Files): Likewise.
24170         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
24171         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
24172         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
24173         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
24174         * modules/vasnprintf-posix-tests (Files): Likewise.
24175
24176 2008-12-21  William Pursell  <bill.pursell@gmail.com>
24177
24178         gitlog-to-changelog: pass all command-line arguments to git-log
24179         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
24180         it is sometimes convenient to filter the commits in various ways.
24181         gitlog-to-changelog only allows --since to specify a start date,
24182         but git-log itself supports many other filtering mechanisms.
24183         At the moment, I want to filter by branch name.  Rather than
24184         adding a --branch option to gitlog-to-changelog, it seems more
24185         flexible to simply pass all options directly to git-log and let
24186         git do the work.  Notice that this effectively makes --since a
24187         redundant option for gitlog-to-changelog, but removing it would
24188         require current usage to change since calls would then require
24189         an additional '--'.
24190
24191 2008-12-21  Bruno Haible  <bruno@clisp.org>
24192
24193         * modules/mbsnrtowcs-tests: New file.
24194         * tests/test-mbsnrtowcs1.sh: New file.
24195         * tests/test-mbsnrtowcs2.sh: New file.
24196         * tests/test-mbsnrtowcs3.sh: New file.
24197         * tests/test-mbsnrtowcs4.sh: New file.
24198         * tests/test-mbsnrtowcs.c: New file.
24199
24200         New module 'mbsnrtowcs'.
24201         * lib/wchar.in.h (mbsnrtowcs): New declaration.
24202         * lib/mbsnrtowcs.c: New file.
24203         * lib/mbsrtowcs-state.c: New file.
24204         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
24205         (internal_state): Remove variable.
24206         * m4/mbsnrtowcs.m4: New file.
24207         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
24208         compilation units.
24209         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
24210         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
24211         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
24212         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
24213         * modules/mbsnrtowcs: New file.
24214         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
24215         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
24216         portability problem.
24217
24218 2008-12-21  Bruno Haible  <bruno@clisp.org>
24219
24220         Work around mbsrtowcs bug.
24221         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
24222         (gl_FUNC_MBSRTOWCS): Invoke it.
24223         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24224         m4/locale-zh.m4.
24225         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
24226
24227 2008-12-21  Bruno Haible  <bruno@clisp.org>
24228
24229         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
24230
24231 2008-12-21  Bruno Haible  <bruno@clisp.org>
24232
24233         Update doc for AIX.
24234         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
24235         16-bit wchar_t type.
24236         * doc/posix-functions/btowc.texi: Likewise.
24237         * doc/posix-functions/fgetwc.texi: Likewise.
24238         * doc/posix-functions/fgetws.texi: Likewise.
24239         * doc/posix-functions/fputwc.texi: Likewise.
24240         * doc/posix-functions/fputws.texi: Likewise.
24241         * doc/posix-functions/fwide.texi: Likewise.
24242         * doc/posix-functions/fwprintf.texi: Likewise.
24243         * doc/posix-functions/fwscanf.texi: Likewise.
24244         * doc/posix-functions/getwchar.texi: Likewise.
24245         * doc/posix-functions/getwc.texi: Likewise.
24246         * doc/posix-functions/iswalnum.texi: Likewise.
24247         * doc/posix-functions/iswalpha.texi: Likewise.
24248         * doc/posix-functions/iswblank.texi: Likewise.
24249         * doc/posix-functions/iswcntrl.texi: Likewise.
24250         * doc/posix-functions/iswctype.texi: Likewise.
24251         * doc/posix-functions/iswdigit.texi: Likewise.
24252         * doc/posix-functions/iswgraph.texi: Likewise.
24253         * doc/posix-functions/iswlower.texi: Likewise.
24254         * doc/posix-functions/iswprint.texi: Likewise.
24255         * doc/posix-functions/iswpunct.texi: Likewise.
24256         * doc/posix-functions/iswspace.texi: Likewise.
24257         * doc/posix-functions/iswupper.texi: Likewise.
24258         * doc/posix-functions/iswxdigit.texi: Likewise.
24259         * doc/posix-functions/mbrtowc.texi: Likewise.
24260         * doc/posix-functions/mbsrtowcs.texi: Likewise.
24261         * doc/posix-functions/mbstowcs.texi: Likewise.
24262         * doc/posix-functions/mbtowc.texi: Likewise.
24263         * doc/posix-functions/putwchar.texi: Likewise.
24264         * doc/posix-functions/putwc.texi: Likewise.
24265         * doc/posix-functions/swprintf.texi: Likewise.
24266         * doc/posix-functions/tolower.texi: Likewise.
24267         * doc/posix-functions/toupper.texi: Likewise.
24268         * doc/posix-functions/towctrans.texi: Likewise.
24269         * doc/posix-functions/ungetwc.texi: Likewise.
24270         * doc/posix-functions/vswprintf.texi: Likewise.
24271         * doc/posix-functions/wcrtomb.texi: Likewise.
24272         * doc/posix-functions/wcscat.texi: Likewise.
24273         * doc/posix-functions/wcschr.texi: Likewise.
24274         * doc/posix-functions/wcscmp.texi: Likewise.
24275         * doc/posix-functions/wcscoll.texi: Likewise.
24276         * doc/posix-functions/wcscpy.texi: Likewise.
24277         * doc/posix-functions/wcscspn.texi: Likewise.
24278         * doc/posix-functions/wcsftime.texi: Likewise.
24279         * doc/posix-functions/wcslen.texi: Likewise.
24280         * doc/posix-functions/wcsncat.texi: Likewise.
24281         * doc/posix-functions/wcsncmp.texi: Likewise.
24282         * doc/posix-functions/wcsncpy.texi: Likewise.
24283         * doc/posix-functions/wcspbrk.texi: Likewise.
24284         * doc/posix-functions/wcsrchr.texi: Likewise.
24285         * doc/posix-functions/wcsrtombs.texi: Likewise.
24286         * doc/posix-functions/wcsspn.texi: Likewise.
24287         * doc/posix-functions/wcsstr.texi: Likewise.
24288         * doc/posix-functions/wcstod.texi: Likewise.
24289         * doc/posix-functions/wcstof.texi: Likewise.
24290         * doc/posix-functions/wcstoimax.texi: Likewise.
24291         * doc/posix-functions/wcstok.texi: Likewise.
24292         * doc/posix-functions/wcstold.texi: Likewise.
24293         * doc/posix-functions/wcstoll.texi: Likewise.
24294         * doc/posix-functions/wcstol.texi: Likewise.
24295         * doc/posix-functions/wcstombs.texi: Likewise.
24296         * doc/posix-functions/wcstoull.texi: Likewise.
24297         * doc/posix-functions/wcstoul.texi: Likewise.
24298         * doc/posix-functions/wcstoumax.texi: Likewise.
24299         * doc/posix-functions/wcswidth.texi: Likewise.
24300         * doc/posix-functions/wcsxfrm.texi: Likewise.
24301         * doc/posix-functions/wctob.texi: Likewise.
24302         * doc/posix-functions/wctomb.texi: Likewise.
24303         * doc/posix-functions/wctrans.texi: Likewise.
24304         * doc/posix-functions/wctype.texi: Likewise.
24305         * doc/posix-functions/wcwidth.texi: Likewise.
24306         * doc/posix-functions/wmemchr.texi: Likewise.
24307         * doc/posix-functions/wmemcmp.texi: Likewise.
24308         * doc/posix-functions/wmemcpy.texi: Likewise.
24309         * doc/posix-functions/wmemmove.texi: Likewise.
24310         * doc/posix-functions/wmemset.texi: Likewise.
24311         * doc/posix-functions/wprintf.texi: Likewise.
24312         * doc/posix-functions/wscanf.texi: Likewise.
24313
24314 2008-12-21  Bruno Haible  <bruno@clisp.org>
24315
24316         Update doc for HP-UX 11.11.
24317         * doc/posix-functions/btowc.texi: Clarify that the function is missing
24318         in HP-UX version 11.00, not in all versions of HP-UX 11.
24319         * doc/posix-functions/fwide.texi: Likewise.
24320         * doc/posix-functions/fwprintf.texi: Likewise.
24321         * doc/posix-functions/fwscanf.texi: Likewise.
24322         * doc/posix-functions/inet_ntop.texi: Likewise.
24323         * doc/posix-functions/inet_pton.texi: Likewise.
24324         * doc/posix-functions/mbrlen.texi: Likewise.
24325         * doc/posix-functions/mbrtowc.texi: Likewise.
24326         * doc/posix-functions/mbsinit.texi: Likewise.
24327         * doc/posix-functions/mbsrtowcs.texi: Likewise.
24328         * doc/posix-functions/swprintf.texi: Likewise.
24329         * doc/posix-functions/swscanf.texi: Likewise.
24330         * doc/posix-functions/towctrans.texi: Likewise.
24331         * doc/posix-functions/vfwprintf.texi: Likewise.
24332         * doc/posix-functions/vswprintf.texi: Likewise.
24333         * doc/posix-functions/vwprintf.texi: Likewise.
24334         * doc/posix-functions/wcrtomb.texi: Likewise.
24335         * doc/posix-functions/wcsrtombs.texi: Likewise.
24336         * doc/posix-functions/wcsstr.texi: Likewise.
24337         * doc/posix-functions/wctob.texi: Likewise.
24338         * doc/posix-functions/wctrans.texi: Likewise.
24339         * doc/posix-functions/wmemchr.texi: Likewise.
24340         * doc/posix-functions/wmemcmp.texi: Likewise.
24341         * doc/posix-functions/wmemcpy.texi: Likewise.
24342         * doc/posix-functions/wmemmove.texi: Likewise.
24343         * doc/posix-functions/wmemset.texi: Likewise.
24344         * doc/posix-functions/wprintf.texi: Likewise.
24345         * doc/posix-functions/wscanf.texi: Likewise.
24346
24347 2008-12-21  Bruno Haible  <bruno@clisp.org>
24348
24349         Work around a portability problem.
24350         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
24351         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
24352
24353 2008-12-20  Bruno Haible  <bruno@clisp.org>
24354
24355         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
24356         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
24357         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
24358         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
24359         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
24360
24361         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
24362         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
24363         set.
24364         (GNULIB_defined_mbstate_t): New macro.
24365         (mbsinit): Redefine if REPLACE_MBSINIT is set.
24366         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
24367         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
24368         reuses the system's mbrtowc function but works around the bugs.
24369         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
24370         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
24371         macros.
24372         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
24373         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
24374         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
24375         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
24376         REPLACE_MBSINIT if mbsinit needs to be overridden.
24377         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
24378         REPLACE_MBSINIT, REPLACE_MBRTOWC.
24379         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
24380         REPLACE_MBSINIT, REPLACE_MBRTOWC.
24381         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24382         m4/locale-zh.m4.
24383         (Depends): Add mbsinit.
24384         * modules/mbsinit (Depends): Add mbrtowc.
24385         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
24386
24387 2008-12-20  Bruno Haible  <bruno@clisp.org>
24388
24389         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
24390         so that there are no conversion errors on AIX.
24391         * tests/test-mbsrtowcs.c (main): LIkewise.
24392
24393 2008-12-20  Bruno Haible  <bruno@clisp.org>
24394
24395         Work around wctob bug on Solaris <= 9.
24396         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
24397         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
24398         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
24399         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
24400         * modules/wctob (Files): Add m4/locale-fr.m4.
24401         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
24402
24403 2008-12-20  Bruno Haible  <bruno@clisp.org>
24404
24405         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
24406         /dev/null.
24407         * tests/test-select-in.sh: Likewise.
24408         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24409
24410 2008-12-20  Bruno Haible  <bruno@clisp.org>
24411
24412         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
24413         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
24414         Cygwin 1.5.x.
24415
24416 2008-12-20  Bruno Haible  <bruno@clisp.org>
24417
24418         Ensure mbstate_t is defined on HP-UX 11.11.
24419         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
24420         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
24421         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
24422         AC_USE_SYSTEM_EXTENSIONS.
24423         * modules/fnmatch (Depends-on): Add extensions.
24424         * modules/mbrlen (Depends-on): Likewise.
24425         * modules/mbrtowc (Depends-on): Likewise.
24426         * modules/mbsinit (Depends-on): Likewise.
24427         * modules/mbsrtowcs (Depends-on): Likewise.
24428         * modules/mbswidth (Depends-on): Likewise.
24429         * modules/quotearg (Depends-on): Likewise.
24430         * modules/strftime (Depends-on): Likewise.
24431
24432 2008-12-20  Bruno Haible  <bruno@clisp.org>
24433
24434         Ensure wctob is declared on IRIX 6.5.
24435         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
24436         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
24437         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
24438         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
24439         of HAVE_WCTOB.
24440         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
24441         HAVE_WCTOB.
24442         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
24443
24444 2008-12-19  Bruno Haible  <bruno@clisp.org>
24445
24446         * modules/mbsrtowcs-tests: New file.
24447         * tests/test-mbsrtowcs1.sh: New file.
24448         * tests/test-mbsrtowcs2.sh: New file.
24449         * tests/test-mbsrtowcs3.sh: New file.
24450         * tests/test-mbsrtowcs4.sh: New file.
24451         * tests/test-mbsrtowcs.c: New file.
24452
24453         New module 'mbsrtowcs'.
24454         * lib/wchar.in.h (mbsrtowcs): New declaration.
24455         * lib/mbsrtowcs.c: New file.
24456         * m4/mbsrtowcs.m4: New file.
24457         * modules/mbsrtowcs: New file.
24458         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
24459         HAVE_MBSRTOWCS.
24460         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
24461         HAVE_MBSRTOWCS.
24462         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
24463
24464 2008-12-19  Bruno Haible  <bruno@clisp.org>
24465
24466         New module 'mbrlen'.
24467         * lib/wchar.in.h (mbrlen): New declaration.
24468         * lib/mbrlen.c: New file.
24469         * m4/mbrlen.m4: New file.
24470         * modules/mbrlen: New file.
24471         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
24472         HAVE_MBRLEN.
24473         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
24474         HAVE_MBRLEN.
24475         * doc/posix-functions/mbrlen.texi: Document the new module.
24476
24477 2008-12-19  Bruno Haible  <bruno@clisp.org>
24478
24479         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
24480         * modules/mbrtowc (Depends-on): Add verify.
24481         Suggested by Paul Eggert.
24482
24483 2008-12-18  Bruno Haible  <bruno@clisp.org>
24484
24485         * modules/mbsinit-tests: New file.
24486         * tests/test-mbsinit.sh: New file.
24487         * tests/test-mbsinit.c: New file.
24488
24489 2008-12-18  Bruno Haible  <bruno@clisp.org>
24490
24491         * modules/mbrtowc-tests: New file.
24492         * tests/test-mbrtowc1.sh: New file.
24493         * tests/test-mbrtowc2.sh: New file.
24494         * tests/test-mbrtowc3.sh: New file.
24495         * tests/test-mbrtowc4.sh: New file.
24496         * tests/test-mbrtowc.c: New file.
24497
24498         New module 'mbrtowc'.
24499         * lib/wchar.in.h (mbstate_t): Override when the system does not have
24500         mbsinit and mbrtowc.
24501         (mbrtowc): New declaration.
24502         * lib/mbrtowc.c: New file.
24503         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
24504         * modules/mbrtowc: New file.
24505         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
24506         HAVE_MBRTOWC.
24507         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
24508         HAVE_MBRTOWC.
24509         * doc/posix-functions/mbrtowc.texi: Document the new module.
24510
24511 2008-12-18  Bruno Haible  <bruno@clisp.org>
24512
24513         New module 'wctob'.
24514         * lib/wchar.in.h (wctob): New declaration.
24515         * lib/wctob.c: New file.
24516         * m4/wctob.m4: New file.
24517         * modules/wctob: New file.
24518         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
24519         HAVE_WCTOB.
24520         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
24521         * doc/posix-functions/wctob.texi: Document the new module.
24522
24523 2008-12-18  Bruno Haible  <bruno@clisp.org>
24524
24525         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
24526         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
24527
24528 2008-12-18  Simon Josefsson  <simon@josefsson.org>
24529
24530         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
24531         G. Christensen" <tgc@jupiterrise.com>.
24532
24533         * lib/flock.c: Need to include errno.h.  Reported by "Tom
24534         G. Christensen" <tgc@jupiterrise.com>.
24535
24536         * lib/flock.c: Need to include string.h.  Reported by "Tom
24537         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
24538         <ebb9@byu.net>.
24539
24540 2008-12-18  Bruno Haible  <bruno@clisp.org>
24541
24542         * m4/locale-ja.m4: New file, from GNU gettext.
24543
24544 2008-12-17  Bruno Haible  <bruno@clisp.org>
24545
24546         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
24547         Suggested by Eric Blake.
24548
24549 2008-12-17  Bruno Haible  <bruno@clisp.org>
24550
24551         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
24552
24553 2008-12-17  Bruno Haible  <bruno@clisp.org>
24554
24555         * lib/mbsinit.c: Include verify.h. Verify an assumption.
24556         * modules/mbsinit (Depends-on): Add verify.
24557         Suggested by Paul Eggert.
24558
24559 2008-12-17  Bruno Haible  <bruno@clisp.org>
24560
24561         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
24562         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
24563         gl_FUNC_MBRTOWC.
24564         * m4/mbiter.m4 (gl_MBITER): LIkewise.
24565         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
24566         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
24567         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
24568         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
24569         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
24570         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
24571         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
24572         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
24573         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
24574         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
24575         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
24576         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
24577         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
24578         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
24579         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24580         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
24581         * modules/trim (configure.ac): Likewise.
24582
24583 2008-12-17  Bruno Haible  <bruno@clisp.org>
24584
24585         * modules/btowc-tests: New file.
24586         * tests/test-btowc1.sh: New file.
24587         * tests/test-btowc2.sh: New file.
24588         * tests/test-btowc.c: New file.
24589
24590         New module 'btowc'.
24591         * lib/wchar.in.h (btowc): New declaration.
24592         * lib/btowc.c: New file.
24593         * m4/btowc.m4: New file.
24594         * modules/btowc: New file.
24595         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
24596         HAVE_BTOWC.
24597         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
24598         * doc/posix-functions/btowc.texi: Document the new module.
24599
24600 2008-12-17  Bruno Haible  <bruno@clisp.org>
24601
24602         New module 'mbsinit'.
24603         * lib/wchar.in.h (mbsinit): New declaration.
24604         * lib/mbsinit.c: New file.
24605         * m4/mbsinit.m4: New file.
24606         * modules/mbsinit: New file.
24607         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
24608         HAVE_MBSINIT.
24609         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
24610         HAVE_MBSINIT.
24611         * doc/posix-functions/mbsinit.texi: Document the new module.
24612
24613 2008-12-16  Bruno Haible  <bruno@clisp.org>
24614
24615         * lib/unistd.in.h: Add comment.
24616         * tests/test-environ.c: Don't include <stdlib.h>.
24617
24618 2008-12-16  Bruno Haible  <bruno@clisp.org>
24619
24620         * lib/parse-duration.h (parse_duration): Document return value
24621         convention.
24622         * lib/parse-duration.c: Include specification header first. Add
24623         comments.
24624         (_): Remove macro.
24625         (parse_year_month_day, parse_hour_minute_second): Move side effects
24626         outside of strchr call.
24627         (parse_non_iso8601): Move side effects outside of isspace call.
24628         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
24629         call.
24630
24631 2008-12-16  Bruno Haible  <bruno@clisp.org>
24632
24633         * tests/test-parse-duration.sh: Produce no output when the test
24634         succeeds.
24635
24636 2008-12-16  Bruno Haible  <bruno@clisp.org>
24637
24638         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
24639         expressions.
24640
24641 2008-12-15  Bruno Haible  <bruno@clisp.org>
24642
24643         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
24644         * doc/glibc-functions/flistxattr.texi: Likewise.
24645         * doc/glibc-functions/fopencookie.texi: Likewise.
24646         * doc/glibc-functions/fremovexattr.texi: Likewise.
24647         * doc/glibc-functions/fsetxattr.texi: Likewise.
24648         * doc/glibc-functions/getxattr.texi: Likewise.
24649         * doc/glibc-functions/lgetxattr.texi: Likewise.
24650         * doc/glibc-functions/listxattr.texi: Likewise.
24651         * doc/glibc-functions/llistxattr.texi: Likewise.
24652         * doc/glibc-functions/lremovexattr.texi: Likewise.
24653         * doc/glibc-functions/lsetxattr.texi: Likewise.
24654         * doc/glibc-functions/removexattr.texi: Likewise.
24655         * doc/glibc-functions/setxattr.texi: Likewise.
24656         * doc/posix-functions/open_memstream.texi: Likewise.
24657
24658 2008-12-15  Eric Blake  <ebb9@byu.net>
24659
24660         Update doc for cygwin 1.7.
24661         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
24662         functions.
24663         * doc/posix-functions/fchmodat.texi: Likewise.
24664         * doc/posix-functions/fchownat.texi: Likewise.
24665         * doc/posix-functions/fdopendir.texi: Likewise.
24666         * doc/posix-functions/fmemopen.texi: Likewise.
24667         * doc/posix-functions/freeaddrinfo.texi: Likewise.
24668         * doc/posix-functions/fstatat.texi: Likewise.
24669         * doc/posix-functions/futimens.texi: Likewise.
24670         * doc/posix-functions/gai_strerror.texi: Likewise.
24671         * doc/posix-functions/getaddrinfo.texi: Likewise.
24672         * doc/posix-functions/getnameinfo.texi: Likewise.
24673         * doc/posix-functions/if_freenameindex.texi: Likewise.
24674         * doc/posix-functions/if_indextoname.texi: Likewise.
24675         * doc/posix-functions/if_nameindex.texi: Likewise.
24676         * doc/posix-functions/if_nametoindex.texi: Likewise.
24677         * doc/posix-functions/insque.texi: Likewise.
24678         * doc/posix-functions/linkat.texi: Likewise.
24679         * doc/posix-functions/llrint.texi: Likewise.
24680         * doc/posix-functions/llrintf.texi: Likewise.
24681         * doc/posix-functions/llrintl.texi: Likewise.
24682         * doc/posix-functions/lockf.texi: Likewise.
24683         * doc/posix-functions/lrintl.texi: Likewise.
24684         * doc/posix-functions/mkdirat.texi: Likewise.
24685         * doc/posix-functions/mkfifoat.texi: Likewise.
24686         * doc/posix-functions/mknodat.texi: Likewise.
24687         * doc/posix-functions/mq_close.texi: Likewise.
24688         * doc/posix-functions/mq_getattr.texi: Likewise.
24689         * doc/posix-functions/mq_notify.texi: Likewise.
24690         * doc/posix-functions/mq_open.texi: Likewise.
24691         * doc/posix-functions/mq_receive.texi: Likewise.
24692         * doc/posix-functions/mq_send.texi: Likewise.
24693         * doc/posix-functions/mq_setattr.texi: Likewise.
24694         * doc/posix-functions/mq_timedreceive.texi: Likewise.
24695         * doc/posix-functions/mq_timedsend.texi: Likewise.
24696         * doc/posix-functions/mq_unlink.texi: Likewise.
24697         * doc/posix-functions/open_memstream.texi: Likewise.
24698         * doc/posix-functions/openat.texi: Likewise.
24699         * doc/posix-functions/posix_fadvise.texi: Likewise.
24700         * doc/posix-functions/posix_fallocate.texi: Likewise.
24701         * doc/posix-functions/posix_madvise.texi: Likewise.
24702         * doc/posix-functions/posix_memalign.texi: Likewise.
24703         * doc/posix-functions/posix_openpt.texi: Likewise.
24704         * doc/posix-functions/readlinkat.texi: Likewise.
24705         * doc/posix-functions/remque.texi: Likewise.
24706         * doc/posix-functions/renameat.texi: Likewise.
24707         * doc/posix-functions/rintl.texi: Likewise.
24708         * doc/posix-functions/sem_unlink.texi: Likewise.
24709         * doc/posix-functions/shm_open.texi: Likewise.
24710         * doc/posix-functions/shm_unlink.texi: Likewise.
24711         * doc/posix-functions/signgam.texi: Likewise.
24712         * doc/posix-functions/sigset.texi: Likewise.
24713         * doc/posix-functions/stpcpy.texi: Likewise.
24714         * doc/posix-functions/stpncpy.texi: Likewise.
24715         * doc/posix-functions/strerror.texi: Likewise.
24716         * doc/posix-functions/strtod.texi: Likewise.
24717         * doc/posix-functions/symlinkat.texi: Likewise.
24718         * doc/posix-functions/unlinkat.texi: Likewise.
24719         * doc/posix-functions/utimensat.texi: Likewise.
24720         * doc/glibc-functions/bindresvport.texi: Likewise.
24721         * doc/glibc-functions/dn_expand.texi: Likewise.
24722         * doc/glibc-functions/exp10.texi: Likewise.
24723         * doc/glibc-functions/exp10f.texi: Likewise.
24724         * doc/glibc-functions/fgetxattr.texi: Likewise.
24725         * doc/glibc-functions/flistxattr.texi: Likewise.
24726         * doc/glibc-functions/fopencookie.texi: Likewise.
24727         * doc/glibc-functions/freeifaddrs.texi: Likewise.
24728         * doc/glibc-functions/fremovexattr.texi: Likewise.
24729         * doc/glibc-functions/fsetxattr.texi: Likewise.
24730         * doc/glibc-functions/getifaddrs.texi: Likewise.
24731         * doc/glibc-functions/getxattr.texi: Likewise.
24732         * doc/glibc-functions/lgetxattr.texi: Likewise.
24733         * doc/glibc-functions/listxattr.texi: Likewise.
24734         * doc/glibc-functions/llistxattr.texi: Likewise.
24735         * doc/glibc-functions/lremovexattr.texi: Likewise.
24736         * doc/glibc-functions/lsetxattr.texi: Likewise.
24737         * doc/glibc-functions/pow10.texi: Likewise.
24738         * doc/glibc-functions/pow10f.texi: Likewise.
24739         * doc/glibc-functions/rcmd_af.texi: Likewise.
24740         * doc/glibc-functions/removexattr.texi: Likewise.
24741         * doc/glibc-functions/res_init.texi: Likewise.
24742         * doc/glibc-functions/res_mkquery.texi: Likewise.
24743         * doc/glibc-functions/res_query.texi: Likewise.
24744         * doc/glibc-functions/res_querydomain.texi: Likewise.
24745         * doc/glibc-functions/res_send.texi: Likewise.
24746         * doc/glibc-functions/rresvport_af.texi: Likewise.
24747         * doc/glibc-functions/setxattr.texi: Likewise.
24748         * doc/glibc-functions/strcasestr.texi: Likewise.
24749
24750 2008-12-15  Bruno Haible  <bruno@clisp.org>
24751
24752         Fix compilation error on OSF/1 4.0.
24753         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
24754         <sys/time.h>, simply delegate to the system header.
24755         Reported by Daniel Richard G. <oss@teragram.com>.
24756
24757 2008-12-15  Bruno Haible  <bruno@clisp.org>
24758
24759         * doc/posix-functions/openat.texi: Mention the 'openat' module.
24760         * doc/posix-functions/fchmodat.texi: Likewise.
24761         * doc/posix-functions/fchownat.texi: Likewise.
24762         * doc/posix-functions/fdopendir.texi: Likewise.
24763         * doc/posix-functions/fstatat.texi: Likewise.
24764         * doc/posix-functions/mkdirat.texi: Likewise.
24765         * doc/posix-functions/unlinkat.texi: Likewise.
24766
24767 2008-12-14  Bruno Haible  <bruno@clisp.org>
24768
24769         Update doc for POSIX:2008.
24770         * doc/posix-functions/faccessat.texi: New file.
24771         * doc/posix-functions/fchmodat.texi: New file.
24772         * doc/posix-functions/fchownat.texi: New file.
24773         * doc/posix-functions/fdopendir.texi: New file.
24774         * doc/posix-functions/fstatat.texi: New file.
24775         * doc/posix-functions/futimens.texi: New file.
24776         * doc/posix-functions/linkat.texi: New file.
24777         * doc/posix-functions/mkdirat.texi: New file.
24778         * doc/posix-functions/mkfifoat.texi: New file.
24779         * doc/posix-functions/mknodat.texi: New file.
24780         * doc/posix-functions/open_wmemstream.texi: New file.
24781         * doc/posix-functions/openat.texi: New file.
24782         * doc/posix-functions/psiginfo.texi: New file.
24783         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
24784         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
24785         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
24786         * doc/posix-functions/readlinkat.texi: New file.
24787         * doc/posix-functions/renameat.texi: New file.
24788         * doc/posix-functions/strerror_l.texi: New file.
24789         * doc/posix-functions/symlinkat.texi: New file.
24790         * doc/posix-functions/unlinkat.texi: New file.
24791         * doc/posix-functions/utimensat.texi: New file.
24792         * doc/gnulib.texi (Function Substitutes): Add these subsections.
24793
24794 2008-12-14  Bruno Haible  <bruno@clisp.org>
24795
24796         Update doc for POSIX:2008.
24797         * doc/posix-functions/alphasort.texi: Renamed from
24798         doc/glibc-functions/alphasort.texi.
24799         * doc/posix-functions/dirfd.texi: Renamed from
24800         doc/glibc-functions/dirfd.texi.
24801         * doc/posix-functions/dprintf.texi: Renamed from
24802         doc/glibc-functions/dprintf.texi.
24803         * doc/posix-functions/duplocale.texi: Renamed from
24804         doc/glibc-functions/duplocale.texi.
24805         * doc/posix-functions/fexecve.texi: Renamed from
24806         doc/glibc-functions/fexecve.texi.
24807         * doc/posix-functions/fmemopen.texi: Renamed from
24808         doc/glibc-functions/fmemopen.texi.
24809         * doc/posix-functions/freelocale.texi: Renamed from
24810         doc/glibc-functions/freelocale.texi.
24811         * doc/posix-functions/getdate_err.texi: Renamed from
24812         doc/glibc-functions/getdate_err.texi.
24813         * doc/posix-functions/isalnum_l.texi: Renamed from
24814         doc/glibc-functions/isalnum_l.texi.
24815         * doc/posix-functions/isalpha_l.texi: Renamed from
24816         doc/glibc-functions/isalpha_l.texi.
24817         * doc/posix-functions/isblank_l.texi: Renamed from
24818         doc/glibc-functions/isblank_l.texi.
24819         * doc/posix-functions/iscntrl_l.texi: Renamed from
24820         doc/glibc-functions/iscntrl_l.texi.
24821         * doc/posix-functions/isdigit_l.texi: Renamed from
24822         doc/glibc-functions/isdigit_l.texi.
24823         * doc/posix-functions/isgraph_l.texi: Renamed from
24824         doc/glibc-functions/isgraph_l.texi.
24825         * doc/posix-functions/islower_l.texi: Renamed from
24826         doc/glibc-functions/islower_l.texi.
24827         * doc/posix-functions/isprint_l.texi: Renamed from
24828         doc/glibc-functions/isprint_l.texi.
24829         * doc/posix-functions/ispunct_l.texi: Renamed from
24830         doc/glibc-functions/ispunct_l.texi.
24831         * doc/posix-functions/isspace_l.texi: Renamed from
24832         doc/glibc-functions/isspace_l.texi.
24833         * doc/posix-functions/isupper_l.texi: Renamed from
24834         doc/glibc-functions/isupper_l.texi.
24835         * doc/posix-functions/iswalnum_l.texi: Renamed from
24836         doc/glibc-functions/iswalnum_l.texi.
24837         * doc/posix-functions/iswalpha_l.texi: Renamed from
24838         doc/glibc-functions/iswalpha_l.texi.
24839         * doc/posix-functions/iswblank_l.texi: Renamed from
24840         doc/glibc-functions/iswblank_l.texi.
24841         * doc/posix-functions/iswcntrl_l.texi: Renamed from
24842         doc/glibc-functions/iswcntrl_l.texi.
24843         * doc/posix-functions/iswctype_l.texi: Renamed from
24844         doc/glibc-functions/iswctype_l.texi.
24845         * doc/posix-functions/iswdigit_l.texi: Renamed from
24846         doc/glibc-functions/iswdigit_l.texi.
24847         * doc/posix-functions/iswgraph_l.texi: Renamed from
24848         doc/glibc-functions/iswgraph_l.texi.
24849         * doc/posix-functions/iswlower_l.texi: Renamed from
24850         doc/glibc-functions/iswlower_l.texi.
24851         * doc/posix-functions/iswprint_l.texi: Renamed from
24852         doc/glibc-functions/iswprint_l.texi.
24853         * doc/posix-functions/iswpunct_l.texi: Renamed from
24854         doc/glibc-functions/iswpunct_l.texi.
24855         * doc/posix-functions/iswspace_l.texi: Renamed from
24856         doc/glibc-functions/iswspace_l.texi.
24857         * doc/posix-functions/iswupper_l.texi: Renamed from
24858         doc/glibc-functions/iswupper_l.texi.
24859         * doc/posix-functions/iswxdigit_l.texi: Renamed from
24860         doc/glibc-functions/iswxdigit_l.texi.
24861         * doc/posix-functions/isxdigit_l.texi: Renamed from
24862         doc/glibc-functions/isxdigit_l.texi.
24863         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
24864         doc/glibc-functions/mbsnrtowcs.texi.
24865         * doc/posix-functions/mkdtemp.texi: Renamed from
24866         doc/glibc-functions/mkdtemp.texi.
24867         * doc/posix-functions/newlocale.texi: Renamed from
24868         doc/glibc-functions/newlocale.texi.
24869         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
24870         doc/glibc-functions/nl_langinfo_l.texi.
24871         * doc/posix-functions/open_memstream.texi: Renamed from
24872         doc/glibc-functions/open_memstream.texi.
24873         * doc/posix-functions/opterr.texi: Renamed from
24874         doc/glibc-functions/opterr.texi.
24875         * doc/posix-functions/optind.texi: Renamed from
24876         doc/glibc-functions/optind.texi.
24877         * doc/posix-functions/optopt.texi: Renamed from
24878         doc/glibc-functions/optopt.texi.
24879         * doc/posix-functions/psignal.texi: Renamed from
24880         doc/glibc-functions/psignal.texi.
24881         * doc/posix-functions/scandir.texi: Renamed from
24882         doc/glibc-functions/scandir.texi.
24883         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
24884         doc/glibc-functions/sched_get_priority_min.texi.
24885         * doc/posix-functions/signgam.texi: Renamed from
24886         doc/glibc-functions/signgam.texi.
24887         * doc/posix-functions/stpcpy.texi: Renamed from
24888         doc/glibc-functions/stpcpy.texi.
24889         * doc/posix-functions/stpncpy.texi: Renamed from
24890         doc/glibc-functions/stpncpy.texi.
24891         * doc/posix-functions/strcasecmp_l.texi: Renamed from
24892         doc/glibc-functions/strcasecmp_l.texi.
24893         * doc/posix-functions/strcoll_l.texi: Renamed from
24894         doc/glibc-functions/strcoll_l.texi.
24895         * doc/posix-functions/strfmon_l.texi: Renamed from
24896         doc/glibc-functions/strfmon_l.texi.
24897         * doc/posix-functions/strftime_l.texi: Renamed from
24898         doc/glibc-functions/strftime_l.texi.
24899         * doc/posix-functions/strncasecmp_l.texi: Renamed from
24900         doc/glibc-functions/strncasecmp_l.texi.
24901         * doc/posix-functions/strndup.texi: Renamed from
24902         doc/glibc-functions/strndup.texi.
24903         * doc/posix-functions/strnlen.texi: Renamed from
24904         doc/glibc-functions/strnlen.texi.
24905         * doc/posix-functions/strsignal.texi: Renamed from
24906         doc/glibc-functions/strsignal.texi.
24907         * doc/posix-functions/strxfrm_l.texi: Renamed from
24908         doc/glibc-functions/strxfrm_l.texi.
24909         * doc/posix-functions/timer_gettime.texi: Renamed from
24910         doc/glibc-functions/timer_gettime.texi.
24911         * doc/posix-functions/tolower_l.texi: Renamed from
24912         doc/glibc-functions/tolower_l.texi.
24913         * doc/posix-functions/toupper_l.texi: Renamed from
24914         doc/glibc-functions/toupper_l.texi.
24915         * doc/posix-functions/towctrans_l.texi: Renamed from
24916         doc/glibc-functions/towctrans_l.texi.
24917         * doc/posix-functions/towlower_l.texi: Renamed from
24918         doc/glibc-functions/towlower_l.texi.
24919         * doc/posix-functions/towupper_l.texi: Renamed from
24920         doc/glibc-functions/towupper_l.texi.
24921         * doc/posix-functions/uselocale.texi: Renamed from
24922         doc/glibc-functions/uselocale.texi.
24923         * doc/posix-functions/vdprintf.texi: Renamed from
24924         doc/glibc-functions/vdprintf.texi.
24925         * doc/posix-functions/wcpcpy.texi:
24926         Renamed from doc/glibc-functions/wcpcpy.texi.
24927         * doc/posix-functions/wcpncpy.texi: Renamed from
24928         doc/glibc-functions/wcpncpy.texi.
24929         * doc/posix-functions/wcscasecmp.texi: Renamed from
24930         doc/glibc-functions/wcscasecmp.texi.
24931         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
24932         doc/glibc-functions/wcscasecmp_l.texi.
24933         * doc/posix-functions/wcscoll_l.texi: Renamed from
24934         doc/glibc-functions/wcscoll_l.texi.
24935         * doc/posix-functions/wcsdup.texi: Renamed from
24936         doc/glibc-functions/wcsdup.texi.
24937         * doc/posix-functions/wcsncasecmp.texi: Renamed from
24938         doc/glibc-functions/wcsncasecmp.texi.
24939         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
24940         doc/glibc-functions/wcsncasecmp_l.texi.
24941         * doc/posix-functions/wcsnlen.texi: Renamed from
24942         doc/glibc-functions/wcsnlen.texi.
24943         * doc/posix-functions/wcsnrtombs.texi: Renamed from
24944         doc/glibc-functions/wcsnrtombs.texi.
24945         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
24946         doc/glibc-functions/wcsxfrm_l.texi.
24947         * doc/posix-functions/wctrans_l.texi: Renamed from
24948         doc/glibc-functions/wctrans_l.texi.
24949         * doc/posix-functions/wctype_l.texi: Renamed from
24950         doc/glibc-functions/wctype_l.texi.
24951         * doc/gnulib.texi (Function Substitutes): Add these subsections.
24952         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
24953         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
24954         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
24955         these subsections.
24956         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
24957         Remove sections.
24958
24959 2008-12-14  Bruno Haible  <bruno@clisp.org>
24960
24961         Update doc for POSIX:2008.
24962         * doc/posix-functions/*.texi: Update URL of POSIX specification.
24963
24964 2008-12-14  Bruno Haible  <bruno@clisp.org>
24965
24966         Update doc for POSIX:2008.
24967         * doc/pastposix-functions/bcmp.texi: Renamed from
24968         doc/posix-functions/bcmp.texi.
24969         * doc/pastposix-functions/bcopy.texi: Renamed from
24970         doc/posix-functions/bcopy.texi.
24971         * doc/pastposix-functions/bsd_signal.texi: Renamed from
24972         doc/posix-functions/bsd_signal.texi.
24973         * doc/pastposix-functions/bzero.texi: Renamed from
24974         doc/posix-functions/bzero.texi.
24975         * doc/pastposix-functions/ecvt.texi: Renamed from
24976         doc/posix-functions/ecvt.texi.
24977         * doc/pastposix-functions/fcvt.texi: Renamed from
24978         doc/posix-functions/fcvt.texi.
24979         * doc/pastposix-functions/ftime.texi: Renamed from
24980         doc/posix-functions/ftime.texi.
24981         * doc/pastposix-functions/gcvt.texi: Renamed from
24982         doc/posix-functions/gcvt.texi.
24983         * doc/pastposix-functions/getcontext.texi: Renamed from
24984         doc/posix-functions/getcontext.texi.
24985         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
24986         doc/posix-functions/gethostbyaddr.texi.
24987         * doc/pastposix-functions/gethostbyname.texi: Renamed from
24988         doc/posix-functions/gethostbyname.texi.
24989         * doc/pastposix-functions/getwd.texi: Renamed from
24990         doc/posix-functions/getwd.texi.
24991         * doc/pastposix-functions/h_errno.texi: Renamed from
24992         doc/posix-functions/h_errno.texi.
24993         * doc/pastposix-functions/index.texi: Renamed from
24994         doc/posix-functions/index.texi.
24995         * doc/pastposix-functions/makecontext.texi: Renamed from
24996         doc/posix-functions/makecontext.texi.
24997         * doc/pastposix-functions/mktemp.texi: Renamed from
24998         doc/posix-functions/mktemp.texi.
24999         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
25000         doc/posix-functions/pthread_attr_getstackaddr.texi.
25001         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
25002         doc/posix-functions/pthread_attr_setstackaddr.texi.
25003         * doc/pastposix-functions/rindex.texi: Renamed from
25004         doc/posix-functions/rindex.texi.
25005         * doc/pastposix-functions/scalb.texi: Renamed from
25006         doc/posix-functions/scalb.texi.
25007         * doc/pastposix-functions/setcontext.texi: Renamed from
25008         doc/posix-functions/setcontext.texi.
25009         * doc/pastposix-functions/swapcontext.texi: Renamed from
25010         doc/posix-functions/swapcontext.texi.
25011         * doc/pastposix-functions/ualarm.texi: Renamed from
25012         doc/posix-functions/ualarm.texi.
25013         * doc/pastposix-functions/usleep.texi: Renamed from
25014         doc/posix-functions/usleep.texi.
25015         * doc/pastposix-functions/vfork.texi: Renamed from
25016         doc/posix-functions/vfork.texi.
25017         * doc/pastposix-functions/wcswcs.texi: Renamed from
25018         doc/posix-functions/wcswcs.texi.
25019         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
25020         (Function Substitutes): Update.
25021
25022 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25023
25024         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
25025         m4/strerror.m4.
25026
25027 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25028             Bruno Haible  <bruno@clisp.org>
25029
25030         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
25031
25032 2008-12-13  Bruno Haible  <bruno@clisp.org>
25033
25034         * modules/strtoull (Depends-on): Remove unistd.
25035
25036 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25037
25038         * modules/strtoull (Depends-on): Add stdlib.
25039
25040 2008-12-11  Simon Josefsson  <simon@josefsson.org>
25041
25042         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
25043
25044 2008-12-10  Jim Meyering  <meyering@redhat.com>
25045
25046         gl_ASSERT: don't say assertions are disabled when they're not
25047         * m4/assert.m4 (gl_ASSERT): Do not make configure report
25048         "checking whether to enable assertions... no", when they are in
25049         fact enabled.  This is solely a bug in the output of configure.
25050         In spite of saying "no", NDEBUG was not defined in that case.
25051         Also, as noted by Eric Blake, leave assertions enabled upon
25052         --enable-assert=INVALID.
25053
25054 2008-12-10  Bruno Haible  <bruno@clisp.org>
25055
25056         Change MODULES.html to refer to POSIX:2008 where possible.
25057         * MODULES.html.sh (POSIX2008_URL): New variable.
25058         (posix_headers): Remove sys/timeb, ucontext.
25059         (posix2001_headers): New variable.
25060         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
25061         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
25062         index, makecontext, mktemp, pthread_attr_getstackaddr,
25063         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
25064         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
25065         (posix2001_functions): New variable.
25066         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
25067         otherwise.
25068
25069 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25070
25071         add missing include to parse-duration.c
25072         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
25073         * modules/parse-duration (Depends-on): Add xalloc.
25074
25075         fix sed script reading maint.mk
25076         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
25077         (syntax-check-rules): Use it.
25078
25079 2008-12-09  Bruno Haible  <bruno@clisp.org>
25080
25081         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
25082         MacOS X 10.4/PowerPC.
25083         Reported by Simon Josefsson.
25084
25085 2008-12-08  Jim Meyering  <meyering@redhat.com>
25086
25087         work around mingw's lack of some S_IF definitions
25088         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
25089         Reported by Simon Josefsson.
25090
25091 2008-12-08  Bruno Haible  <bruno@clisp.org>
25092
25093         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
25094         applied to variables. Needed on MacOS X 10.4/PowerPC.
25095         Reported by Simon Josefsson.
25096
25097 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
25098         and Eric Blake  <ebb9@byu.net>
25099
25100         assert: honor --enable-assert
25101         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
25102         order to honor --enable-assert, rather than treating it as a
25103         synonym for --disable-assert.
25104
25105 2008-12-08  Jim Meyering  <meyering@redhat.com>
25106
25107         * lib/posixtm.c: Remove now-useless declaration of mktime.
25108
25109         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
25110
25111 2008-12-07  Bruno Haible  <bruno@clisp.org>
25112
25113         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
25114         test_once): Mark functions as static.
25115         * tests/test-tls.c (test_tls): Likewise.
25116
25117 2008-12-07  Bruno Haible  <bruno@clisp.org>
25118
25119         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
25120         iconv_register_autodetect.
25121
25122 2008-12-07  Jim Meyering  <meyering@redhat.com>
25123
25124         posixtm.c: avoid a warning
25125         * lib/posixtm.c (posixtime): Don't initialize tm0.
25126         It's no longer needed to placate gcc4's -Wuninitialized,
25127         and the attempt to placate would elicit a new warning.
25128
25129         unicodeio.c: mark unused parameters
25130         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
25131         (fallback_failure_callback): Likewise.
25132
25133 2008-12-07  Bruno Haible  <bruno@clisp.org>
25134
25135         * gnulib-tool (func_create_testdir): When building the tests
25136         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
25137         Reported by Simon Josefsson.
25138
25139 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25140
25141         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
25142
25143 2008-12-06  Bruno Haible  <bruno@clisp.org>
25144
25145         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
25146         Suggested by Eric Blake.
25147
25148 2008-12-06  Bruno Haible  <bruno@clisp.org>
25149
25150         Fix a c-stack test failure on MacOS X.
25151         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
25152         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
25153         handler for SIGBUS as well.
25154         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
25155         install a signal handler for SIGBUS as well.
25156         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
25157
25158 2008-12-06  Bruno Haible  <bruno@clisp.org>
25159
25160         Advocacy documentation.
25161         * doc/gnulib-intro.texi (Benefits): New section.
25162         * doc/gnulib.texi: Update.
25163
25164 2008-12-06  Bruno Haible  <bruno@clisp.org>
25165
25166         Document the 'manywarnings' module.
25167         * doc/manywarnings.texi: New file.
25168         * doc/gnulib.texi: Include it.
25169
25170 2008-12-05  Eric Blake  <ebb9@byu.net>
25171
25172         tests: silence some gcc warnings
25173         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
25174         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
25175         type mismatches.
25176
25177 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25178             Bruno Haible  <bruno@clisp.org>
25179
25180         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
25181
25182 2008-11-29  Jim Meyering  <meyering@redhat.com>
25183
25184         unicodeio.c: mark unused parameters
25185         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
25186         (fallback_failure_callback): Likewise.
25187
25188         fts: fix a thinko
25189         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
25190         (set_stat_type): Return S_IF*-valued "type" directly.
25191         Prompted by James Youngman's spotting a related bug.
25192         Confirmed by further testing through find.
25193
25194         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
25195         * lib/fts.c (D_TYPE): Define.
25196         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
25197         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
25198         (s_ifmt_shift_bits): New function.
25199         (set_stat_type): New function.
25200         (fts_build): When not calling fts_stat, call set_stat_type
25201         to propagate dirent.d_type info to fts_read caller.
25202         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
25203         fts_statp->st_mode type information may be valid.
25204
25205 2008-11-28  Simon Josefsson  <simon@josefsson.org>
25206
25207         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
25208         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
25209         <sds@gnu.org>.
25210
25211 2008-11-20  Bruno Haible  <bruno@clisp.org>
25212
25213         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
25214         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
25215         INCLUDE_NEXT.
25216         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
25217         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
25218         * modules/math (Makefile.am): Substitute
25219         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
25220         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25221
25222 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
25223             Bruno Haible  <bruno@clisp.org>
25224
25225         * lib/stdint.in.h: Define all type macros so that their expansion is
25226         a single typedef'ed token. Fixes a compilation failure in Boost which
25227         does "using ::int8_t;".
25228
25229 2008-11-18  Simon Josefsson  <simon@josefsson.org>
25230
25231         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
25232         gl_MANYWARN_ALL_GCC.
25233         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
25234         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
25235         * modules/manywarnings: New file.
25236         * MODULES.html.sh: Mention manywarnings module.
25237
25238 2008-11-18  Bruno Haible  <bruno@clisp.org>
25239
25240         * doc/gnulib-tool.texi (Unit tests): New section.
25241
25242 2008-11-18  Simon Josefsson  <simon@josefsson.org>
25243
25244         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
25245         paths like 'lib/po/foo.po'.
25246
25247 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25248
25249         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
25250         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
25251
25252 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25253
25254         * m4/warnings.m4: Use CPPFLAGS to really check whether the
25255         parameter works.
25256
25257 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25258
25259         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
25260
25261 2008-11-17  Bruce Korb  <bkorb@gnu.org>
25262
25263         * modules/parse-duration-tests: New file.
25264         * tests/test-parse-duration.sh: New file.
25265         * tests/test-parse-duration.c: New file.
25266
25267         New module 'parse-duration'.
25268         * lib/parse-duration.h: New file.
25269         * lib/parse-duration.c: New file.
25270         * modules/parse-duration: New file.
25271
25272 2008-11-17  Bruno Haible  <bruno@clisp.org>
25273
25274         * tests/test-select-out.sh: Comment out the first pipe test.
25275         Reported by Simon Josefsson.
25276
25277 2008-11-17  Bruno Haible  <bruno@clisp.org>
25278
25279         * modules/getaddrinfo (Depends-on): Add servent, hostent.
25280         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
25281         gl_HOSTENT.
25282
25283 2008-11-17  Bruno Haible  <bruno@clisp.org>
25284
25285         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
25286         -lnetwork and -lnet. Needed for Haiku and BeOS.
25287
25288 2008-11-16  Bruno Haible  <bruno@clisp.org>
25289
25290         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
25291
25292 2008-11-16  Bruno Haible  <bruno@clisp.org>
25293
25294         Avoid test failure on Haiku.
25295         * tests/test-fsync.c: Include <errno.h>.
25296         (main): Don't require that fsync (0) fails.
25297
25298 2008-11-15  Bruno Haible  <bruno@clisp.org>
25299
25300         New module 'hostent'.
25301         * modules/hostent: New file.
25302         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
25303
25304 2008-11-15  Bruno Haible  <bruno@clisp.org>
25305
25306         New module 'servent'.
25307         * modules/servent: New file.
25308         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
25309
25310 2008-11-15  Bruno Haible  <bruno@clisp.org>
25311
25312         Avoid generating same test program with two different rules.
25313         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
25314         test-frexp to test-frexp-nolibm.
25315         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
25316         test-frexpl to test-frexpl-nolibm.
25317
25318 2008-11-15  Bruno Haible  <bruno@clisp.org>
25319
25320         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
25321         $(FREXPL_LIBM).
25322
25323 2008-11-15  Bruno Haible  <bruno@clisp.org>
25324
25325         * lib/netdb.in.h: Activate the definitions also when the system's
25326         <netdb.h> has 'struct addrinfo'.
25327         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
25328         EAI_OVERFLOW or AI_NUMERICSERV.
25329         * doc/posix-headers/netdb.texi: Document the problem.
25330
25331 2008-11-15  Bruno Haible  <bruno@clisp.org>
25332
25333         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
25334
25335         Make the 'sched' module work on platforms where <sched.h> exists but
25336         is incomplete (such as Haiku).
25337         * lib/sched.in.h; Include the system's <sched.h> if it exists.
25338         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
25339         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
25340         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
25341         HAVE_STRUCT_SCHED_PARAM.
25342         * modules/sched (Depends-on): Add include_next.
25343         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
25344         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
25345         * doc/posix-headers/sched.texi: Document the issue.
25346
25347 2008-11-13  Jim Meyering  <meyering@redhat.com>
25348
25349         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
25350         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
25351         test would fail due to the difference in the Report bugs to ...
25352         line.  The expected address is empty, "<>", while the actual
25353         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
25354
25355 2008-11-12  Bruno Haible  <bruno@clisp.org>
25356
25357         lstat: don't compile lstat.c on systems lacking lstat
25358         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
25359         which don't have lstat; this is handled by lib/sys_stat.in.h already.
25360         Reported by Daniel P. Berrange via Jim Meyering.
25361
25362 2008-11-12  Jim Meyering  <meyering@redhat.com>
25363
25364         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
25365
25366 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25367
25368         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
25369         instead.
25370
25371 2008-11-12  Bruno Haible  <bruno@clisp.org>
25372
25373         * lib/unicodeio.c: Include unistr.h.
25374         (utf8_wctomb): Remove function.
25375         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
25376
25377 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25378
25379         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
25380         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
25381         <bruno@clisp.org>.
25382         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
25383
25384 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25385
25386         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
25387         * doc/gnulib.texi: Add section for warnings.
25388
25389 2008-11-11  Bruno Haible  <bruno@clisp.org>
25390
25391         * lib/sockets.h: Add a comment.
25392
25393 2008-11-11  Karl Berry  <karl@gnu.org>
25394
25395         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
25396
25397 2008-11-11  Eric Blake  <ebb9@byu.net>
25398
25399         fdl.texi: avoid git symlinks
25400         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
25401
25402 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25403
25404         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
25405
25406 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25407
25408         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
25409         (gl_WARN_ADD): Substitute $2 if literal.
25410
25411 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25412
25413         * m4/warning.m4: Remove.
25414
25415 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25416
25417         * m4/warnings.m4: Almost complete rewrite. :-)
25418
25419 2008-11-10  Simon Josefsson  <simon@josefsson.org>
25420
25421         * modules/warnings: New module.
25422         * m4/warnings.m4: New file.
25423         * MODULES.html.sh: Mention warnings module.
25424         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
25425         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25426
25427 2008-11-10  Eric Blake  <ebb9@byu.net>
25428
25429         fdl.texi: make a symlink to the latest version
25430         * doc/standards.texi: Revert today's earlier change.
25431         * doc/fdl-1.2.texi: Rename from old fdl.texi...
25432         * doc/fdl.texi: ...and replace this with a symlink to the newer
25433         fdl-1.3.texi.
25434
25435 2008-11-10  Bruno Haible  <bruno@clisp.org>
25436
25437         * tests/test-select-fd.c (main): Accept the result file name as fourth
25438         argument.
25439         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
25440         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
25441
25442 2008-11-10  Bruno Haible  <bruno@clisp.org>
25443
25444         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
25445         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
25446         as autoconf-substituted macros.
25447         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
25448         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
25449         gl_NETDB_H_DEFAULTS. Set these variables.
25450         * modules/netdb (Makefile.am): Substitute these variables.
25451
25452 2008-11-10  Eric Blake  <ebb9@byu.net>
25453
25454         standards.texi: include correct file for FDL 1.3
25455         * doc/standards.texi (GNU Free Documentation License): Change
25456         include file to pull in FDL 1.3, not 1.2.
25457
25458         fdl.texi: revert accidental change to license
25459         * doc/fdl.texi: This is FDL 1.2, not 1.3.
25460
25461 2008-11-10  Bruno Haible  <bruno@clisp.org>
25462
25463         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
25464         cross-compiling guesses also when the native compile gives no result.
25465
25466 2008-11-10  Bruno Haible  <bruno@clisp.org>
25467
25468         * lib/spawni.c (__spawni): Force variable into the stack.
25469
25470 2008-11-10  Bruno Haible  <bruno@clisp.org>
25471
25472         Add support for Haiku.
25473         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
25474         glibc and BeOS, but also on Haiku.
25475         * lib/fpurge.c (fpurge): Likewise.
25476         * lib/freadable.c (freadable): Likewise.
25477         * lib/freadahead.c (freadahead): Likewise.
25478         * lib/freading.c (freading): Likewise.
25479         * lib/freadptr.c (freadptr): Likewise.
25480         * lib/freadseek.c (freadptrinc): Likewise.
25481         * lib/fseeko.c (rpl_fseeko): Likewise.
25482         * lib/fseterr.c (fseterr): Likewise.
25483         * lib/fwritable.c (fwritable): Likewise.
25484         * lib/fwriting.c (fwriting): Likewise.
25485         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
25486
25487 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
25488
25489         * lib/config.charset: Treat Haiku like BeOS.
25490
25491 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
25492
25493         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
25494         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
25495
25496 2008-11-08  Bruno Haible  <bruno@clisp.org>
25497
25498         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
25499         AC_CACHE_CHECK.
25500
25501 2008-11-08  Bruno Haible  <bruno@clisp.org>
25502
25503         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
25504
25505 2008-11-08  Bruno Haible  <bruno@clisp.org>
25506
25507         * tests/test-select-fd.c: New file.
25508         * tests/test-select-in.sh: New file.
25509         * tests/test-select-out.sh: New file.
25510         * tests/test-select-stdin.c: New file.
25511         * modules/select-tests (Files): Add the new files.
25512         (Depends-on): Add gettimeofday.
25513         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
25514         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
25515         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
25516
25517 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
25518             Bruno Haible  <bruno@clisp.org>
25519
25520         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
25521
25522 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
25523
25524         * build-aux/pmccabe2html: Added support for C++ source files.
25525
25526 2008-11-05  Ben Pfaff  <blp@gnu.org>
25527
25528         Fix lib/close.c build on Windows.
25529         * modules/close (Files): Add lib/w32sock.h.
25530
25531 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
25532
25533         Accept Bison's NEWS format.
25534         * build-aux/announce-gen (print_news_deltas): Tweak
25535         $re_prefix.
25536
25537 2008-11-04  Bruno Haible  <bruno@clisp.org>
25538
25539         * modules/random_r (Maintainer): Add glibc.
25540
25541 2008-11-04  Simon Josefsson  <simon@josefsson.org>
25542
25543         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
25544         by karl@freefriends.org (Karl Berry).
25545         * doc/alloca.texi: Likewise.
25546         * doc/c-ctype.texi: Likewise.
25547         * doc/c-strcase.texi: Likewise.
25548         * doc/c-strcaseeq.texi: Likewise.
25549         * doc/c-strcasestr.texi: Likewise.
25550         * doc/c-strstr.texi: Likewise.
25551         * doc/c-strtod.texi: Likewise.
25552         * doc/c-strtold.texi: Likewise.
25553         * doc/ctime.texi: Likewise.
25554         * doc/error.texi: Likewise.
25555         * doc/fdl.texi: Likewise.
25556         * doc/gcd.texi: Likewise.
25557         * doc/getdate.texi: Likewise.
25558         * doc/gnulib-intro.texi: Likewise.
25559         * doc/gnulib-tool.texi: Likewise.
25560         * doc/gnulib.texi: Likewise.
25561         * doc/inet_ntoa.texi: Likewise.
25562         * doc/maintain.texi: Likewise.
25563         * doc/make-stds.texi: Likewise.
25564         * doc/quote.texi: Likewise.
25565         * doc/regexprops-generic.texi: Likewise.
25566         * doc/standards.texi: Likewise.
25567         * doc/verify.texi: Likewise.
25568         * doc/visibility.texi: Likewise.
25569         * doc/gnulib.texi (GNU Free Documentation License): Include
25570         fdl-1.3.texi instead of fdl.texi.
25571
25572 2008-11-04  Simon Josefsson  <simon@josefsson.org>
25573
25574         * doc/fdl-1.3.texi: New file, from
25575         <http://www.gnu.org/licenses/fdl-1.3.texi>.
25576         * modules/fdl-1.3: Add.
25577         * MODULES.html.sh: Add fdl-1.3.
25578
25579 2008-11-03  Bruno Haible  <bruno@clisp.org>
25580
25581         Make determination of absolute name of header file work with AIX xlc.
25582         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
25583         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
25584         preprocessing.
25585         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
25586         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
25587
25588 2008-11-03  Simon Josefsson  <simon@josefsson.org>
25589
25590         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
25591         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
25592         <ludo@gnu.org>.
25593
25594 2008-11-02  Bruno Haible  <bruno@clisp.org>
25595
25596         Mark 'strpbrk' obsolete.
25597         * modules/strpbrk (Status, Notice): New sections.
25598         * modules/strtok_r (Depends-on): Add strpbrk.
25599
25600 2008-11-02  Bruno Haible  <bruno@clisp.org>
25601
25602         Mark 'strdup' obsolete.
25603         * modules/strdup (Status, Notice): New sections.
25604         * modules/findprog (Depends-on): Add strdup.
25605         * modules/getaddrinfo (Depends-on): Likewise.
25606         * modules/localename (Depends-on): Likewise.
25607         * modules/relocatable-lib (Depends-on): Likewise.
25608         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
25609         * modules/relocatable-prog (Depends-on): Likewise.
25610         * modules/trim (Depends-on): Likewise.
25611         * modules/unictype/gen-ctype (Depends-on): Likewise.
25612         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
25613
25614 2008-11-02  Bruno Haible  <bruno@clisp.org>
25615
25616         Mark 'strcspn' obsolete.
25617         * modules/strcspn (Status, Notice): New sections.
25618
25619 2008-11-02  Bruno Haible  <bruno@clisp.org>
25620
25621         Mark 'rmdir' obsolete.
25622         * modules/rmdir (Status, Notice): New sections.
25623         * modules/clean-temp (Depends-on): Add rmdir.
25624         * modules/openat (Depends-on): Likewise.
25625
25626 2008-11-02  Bruno Haible  <bruno@clisp.org>
25627
25628         Mark 'raise' obsolete.
25629         * modules/raise (Status, Notice): New sections.
25630         (Include): Specify <signal.h>.
25631         * modules/stdio (Depends-on): Add raise.
25632         * modules/write (Depends-on): Likewise.
25633
25634 2008-11-02  Bruno Haible  <bruno@clisp.org>
25635
25636         Mark 'memset' obsolete.
25637         * modules/memset (Status, Notice): New sections.
25638
25639 2008-11-02  Bruno Haible  <bruno@clisp.org>
25640
25641         Mark 'memmove' obsolete.
25642         * modules/memmove (Status, Notice): New sections.
25643         * modules/argp (Depends-on): Add memmove.
25644         * modules/argz (Depends-on): Likewise.
25645         * modules/canonicalize (Depends-on): Likewise.
25646         * modules/canonicalize-lgpl (Depends-on): Likewise.
25647         * modules/fts (Depends-on): Likewise.
25648         * modules/getcwd (Depends-on): Likewise.
25649         * modules/human (Depends-on): Likewise.
25650         * modules/regex (Depends-on): Likewise.
25651         * modules/striconveh (Depends-on): Likewise.
25652         * modules/trim (Depends-on): Likewise.
25653         * modules/unistr/u8-move (Depends-on): Likewise.
25654         * modules/unistr/u16-move (Depends-on): Likewise.
25655         * modules/unistr/u32-move (Depends-on): Likewise.
25656
25657 2008-11-02  Bruno Haible  <bruno@clisp.org>
25658
25659         Mark 'memcpy' obsolete.
25660         * modules/memcpy (Status, Notice): New sections.
25661
25662 2008-11-02  Bruno Haible  <bruno@clisp.org>
25663
25664         Mark 'memcmp' obsolete.
25665         * modules/memcmp (Status, Notice): New sections.
25666         * modules/argmatch (Depends-on): Add memchr.
25667         * modules/backupfile (Depends-on): Likewise.
25668         * modules/c-strcasestr (Depends-on): Likewise.
25669         * modules/crypto/des (Depends-on): Likewise.
25670         * modules/csharpcomp (Depends-on): Likewise.
25671         * modules/fnmatch (Depends-on): Likewise.
25672         * modules/git-merge-changelog (Depends-on): Likewise.
25673         * modules/isnand (Depends-on): Likewise.
25674         * modules/isnand-nolibm (Depends-on): Likewise.
25675         * modules/isnanf (Depends-on): Likewise.
25676         * modules/isnanf-nolibm (Depends-on): Likewise.
25677         * modules/isnanl (Depends-on): Likewise.
25678         * modules/isnanl-nolibm (Depends-on): Likewise.
25679         * modules/mbchar (Depends-on): Likewise.
25680         * modules/memcoll (Depends-on): Likewise.
25681         * modules/quotearg (Depends-on): Likewise.
25682         * modules/regex (Depends-on): Likewise.
25683         * modules/relocatable-prog (Depends-on): Likewise.
25684         * modules/same (Depends-on): Likewise.
25685         * modules/signbit (Depends-on): Likewise.
25686         * modules/strcasestr-simple (Depends-on): Likewise.
25687         * modules/unictype/gen-ctype (Depends-on): Likewise.
25688         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
25689         * modules/uniname/uniname (Depends-on): Likewise.
25690         * modules/unistr/u8-cmp (Depends-on): Likewise.
25691
25692 2008-11-02  Bruno Haible  <bruno@clisp.org>
25693
25694         Mark 'memchr' obsolete.
25695         * modules/memchr (Status, Notice): New sections.
25696         * modules/argp (Depends-on): Add memchr.
25697         * modules/base64 (Depends-on): Likewise.
25698         * modules/c-strcasestr (Depends-on): Likewise.
25699         * modules/chdir-long (Depends-on): Likewise.
25700         * modules/fnmatch (Depends-on): Likewise.
25701         * modules/getsubopt (Depends-on): Likewise.
25702         * modules/git-merge-changelog (Depends-on): Likewise.
25703         * modules/glob (Depends-on): Likewise.
25704         * modules/strcasestr-simple (Depends-on): Likewise.
25705         * modules/strnlen (Depends-on): Likewise.
25706
25707 2008-11-02  Bruno Haible  <bruno@clisp.org>
25708
25709         Mark 'atexit' obsolete.
25710         * modules/atexit (Status, Notice): New sections.
25711         * modules/chdir-long (Depends-on): Add atexit.
25712         * modules/wait-process (Depends-on): Likewise.
25713
25714 2008-11-02  Bruno Haible  <bruno@clisp.org>
25715
25716         * gnulib-tool: New option --with-obsolete.
25717         (func_usage): Document it.
25718         (func_modules_transitive_closure): Drop obsolete dependencies if
25719         incobsolete is not true.
25720         (func_import): Read and save the incobsolete variable to the cache.
25721
25722 2008-11-02  Bruno Haible  <bruno@clisp.org>
25723
25724         * modules/TEMPLATE-EXTENDED: New field 'Status'.
25725         * gnulib-tool: New option --extract-status.
25726         (func_usage): Document it.
25727         (sed_extract_prog): Recognize it.
25728         (func_get_status): New function.
25729
25730 2008-10-30  Simon Josefsson  <simon@josefsson.org>
25731
25732         * modules/sockets (License): Change from LGPL to LGPLv2+.
25733
25734 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25735
25736         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
25737
25738 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25739
25740         * MODULES.html.sh (Support for systems lacking POSIX:2001):
25741         Mention times and sys_times.
25742         * modules/sys_times, modules/sys_times-tests: New modules.
25743         * modules/times, modules/times-tests: Likewise
25744         * m4/sys_times_h.m4: New file.
25745         * lib/sys_times.in.h: Likewise
25746         * lib/times.c: Likewise.
25747         * tests/test-sys_times.c: Likewise.
25748         * tests/test-times.c: Likewise.
25749         * doc/posix-headers/sys_times.texi: Update.
25750         * doc/posix-functions/times.texi: Update.
25751
25752 2008-10-28  Jim Meyering  <meyering@redhat.com>
25753
25754         * modules/tempname (Depends-on): Add lstat.
25755
25756         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
25757
25758 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25759
25760         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
25761         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
25762         using idiom used elsewhere in gnulib.
25763
25764 2008-10-27  Jim Meyering  <meyering@redhat.com>
25765
25766         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
25767
25768 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25769
25770         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
25771         TESTS_ENVIRONMENT, for shell scripts that needs to call built
25772         programs.
25773         * tests/test-argp-2.sh: Use $EXEEXT when needed.
25774
25775 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25776
25777         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
25778
25779 2008-10-27  Bruno Haible  <bruno@clisp.org>
25780
25781         * tests/test-lstat.c: Include <stdio.h>.
25782
25783 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25784
25785         * modules/lstat-tests: New module.
25786         * tests/test-lstat.c: New file.
25787
25788 2008-10-26  Jim Meyering  <meyering@redhat.com>
25789
25790         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
25791
25792 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25793             Bruno Haible  <bruno@clisp.org>
25794
25795         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
25796         * modules/configmake (Include): Add a note that the include must come
25797         after all system headers.
25798         * lib/javaversion.c: Include configmake.h after all other includes.
25799
25800 2008-10-26  Bruno Haible  <bruno@clisp.org>
25801
25802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
25803         HAVE_STRUCT_RANDOM_DATA to 1.
25804         (gl_STDLIB_H): Simplify.
25805
25806 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25807
25808         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
25809         substitute HAVE_STRUCT_RANDOM_DATA.
25810         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
25811         random_data.
25812         * modules/stdlib (Makefile.am): Substitute
25813         HAVE_STRUCT_RANDOM_DATA.
25814
25815 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25816
25817         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
25818         * doc/gnulib-intro.texi (Copyright): Likewise.
25819
25820 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25821
25822         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
25823         findings.
25824
25825 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
25826             Bruno Haible  <bruno@clisp.org>
25827
25828         * lib/unistd.in.h: Include <winsock2.h>.
25829         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
25830         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
25831         Provide dummy declarations.
25832         (gethostname): Override.
25833         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
25834         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
25835         gl_PREREQ_SYS_H_WINSOCK2.
25836         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
25837         * doc/posix-functions/gethostname.texi: More details.
25838
25839 2008-10-25  Bruno Haible  <bruno@clisp.org>
25840
25841         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
25842         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
25843         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
25844
25845         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
25846         here ...
25847         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
25848         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
25849         gl_UNISTD_H_DEFAULTS.
25850
25851 2008-10-25  Eric Blake  <ebb9@byu.net>
25852
25853         signbit: avoid spurious compiler failure
25854         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
25855         declarations inside function.
25856
25857 2008-10-24  Simon Josefsson  <simon@josefsson.org>
25858             Bruno Haible  <bruno@clisp.org>
25859
25860         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
25861         * modules/random_r (Depends-on): Add stdint.
25862
25863 2008-10-24  Bruno Haible  <bruno@clisp.org>
25864
25865         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
25866         Eggert.
25867         * modules/strerror (License): Likewise.
25868
25869 2008-10-24  Jim Meyering  <meyering@redhat.com>
25870
25871         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
25872         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
25873
25874 2008-10-24  Eric Blake  <ebb9@byu.net>
25875
25876         getgroups: fix compilation when getgroups is available
25877         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
25878         but with <config.h> override of getgroups disabled.
25879
25880 2008-10-24  Simon Josefsson  <simon@josefsson.org>
25881
25882         * doc/gnulib.texi (Header files): Add note about C++ problems.
25883         Explained by Bruno Haible <bruno@clisp.org>.
25884
25885 2008-10-23  Bruno Haible  <bruno@clisp.org>
25886
25887         Define a dummy SA_NODEFER macro on Interix.
25888         * lib/signal.in.h (SA_NODEFER): Define fallback.
25889         Reported by Aleksey Cheusov <cheusov@tut.by> via
25890         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
25891
25892 2008-10-23  Bruno Haible  <bruno@clisp.org>
25893
25894         * modules/freadahead (License): Change to LGPLv2+.
25895         Suggested by Simon Josefsson.
25896
25897 2008-10-23  Jim Meyering  <meyering@redhat.com>
25898
25899         random_r: new module
25900         * modules/random_r: New file.
25901         * m4/random_r.m4: New file.
25902         * lib/random_r.c: New file, from glibc.
25903         * modules/random_r-tests: New file.
25904         * tests/test-random_r.c: New file.
25905         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
25906          Declare.
25907         (RAND_MAX): Define.
25908         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
25909         * modules/stdlib: Substitute them, too.
25910         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
25911         * doc/glibc-functions/initstate_r.texi: Mention the new module.
25912         * doc/glibc-functions/random_r.texi: Likewise.
25913         * doc/glibc-functions/setstate_r.texi: Likewise.
25914         * doc/glibc-functions/srandom_r.texi: Likewise.
25915         * config/srclist.txt: Mention it.
25916
25917 2008-10-23  David Lutterkort  <lutter@redhat.com>
25918
25919         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
25920         link requirement
25921
25922 2008-10-23  Jim Meyering  <meyering@redhat.com>
25923
25924         selinux-h: mark parameters of stub functions as intentionally unused
25925         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
25926         * lib/se-context.in.h: Likewise.
25927
25928 2008-10-22  Simon Josefsson  <simon@josefsson.org>
25929
25930         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
25931
25932 2008-10-22  Simon Josefsson  <simon@josefsson.org>
25933
25934         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
25935
25936 2008-10-22  Eric Blake  <ebb9@byu.net>
25937
25938         glthread/thread: avoid compiler warning
25939         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
25940         Add unreachable abort to silence compiler.
25941
25942 2008-10-22  Eric Blake  <ebb9@byu.net>
25943
25944         netdb: also supply struct addrinfo for cygwin 1.5.x
25945         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
25946         older cygwin.
25947         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
25948         cygwin.
25949         * doc/posix-headers/netdb.texi (netdb.h): Document this.
25950
25951 2008-10-22  Bruno Haible  <bruno@clisp.org>
25952
25953         * users.txt: Update entry about pspp.
25954
25955 2008-10-21  Bruno Haible  <bruno@clisp.org>
25956
25957         Simplification.
25958         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
25959         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
25960
25961         Simplification.
25962         * lib/ioctl.c (ioctl): Don't undefine.
25963         * lib/socket.c (socket): Don't undefine.
25964
25965         Remove unused module indicator macros.
25966         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
25967         GNULIB_$1 as a C macro.
25968
25969         * doc/posix-functions/close.texi: Undo last change.
25970         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
25971         Windows platforms.
25972
25973 2008-10-21  Bruno Haible  <bruno@clisp.org>
25974
25975         Add gethostname() declaration to <unistd.h>.
25976         * lib/unistd.in.h (gethostname): New declaration.
25977         * lib/gethostname.c: Include <unistd.h>.
25978         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
25979         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
25980         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
25981         and HAVE_GETHOSTNAME.
25982         * modules/gethostname (Depends-on): Add unistd.
25983         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25984         (Include): Specify <unistd.h>.
25985         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
25986         HAVE_GETHOSTNAME.
25987         * tests/test-gethostname.c: Include <unistd.h> first.
25988
25989 2008-10-21  Bruno Haible  <bruno@clisp.org>
25990
25991         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
25992         * modules/select-tests (Depends-on): Likewise.
25993         Reported by Simon Josefsson.
25994
25995 2008-10-21  Simon Josefsson  <simon@josefsson.org>
25996
25997         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
25998         * lib/accept.c: New file, based on winsock.c.
25999         * lib/bind.c: New file, based on winsock.c.
26000         * lib/connect.c: New file, based on winsock.c.
26001         * lib/getpeername.c: New file, based on winsock.c.
26002         * lib/getsockname.c: New file, based on winsock.c.
26003         * lib/getsockopt.c: New file, based on winsock.c.
26004         * lib/ioctl.c: New file, based on winsock.c.
26005         * lib/listen.c: New file, based on winsock.c.
26006         * lib/recv.c: New file, based on winsock.c.
26007         * lib/recvfrom.c: New file, based on winsock.c.
26008         * lib/send.c: New file, based on winsock.c.
26009         * lib/sendto.c: New file, based on winsock.c.
26010         * lib/setsockopt.c: New file, based on winsock.c.
26011         * lib/shutdown.c: New file, based on winsock.c.
26012         * lib/socket.c: New file, based on winsock.c.
26013         * lib/w32sock.h: New file, based on winsock.c.
26014         * lib/winsock.c: Remove file.
26015         * modules/accept: Likewise.
26016         * modules/bind: Likewise.
26017         * modules/connect: Likewise.
26018         * modules/getpeername: Likewise.
26019         * modules/getsockname: Likewise.
26020         * modules/getsockopt: Likewise.
26021         * modules/ioctl: Likewise.
26022         * modules/listen: Likewise.
26023         * modules/recv: Likewise.
26024         * modules/recvfrom: Likewise.
26025         * modules/send: Likewise.
26026         * modules/sendto: Likewise.
26027         * modules/setsockopt: Likewise.
26028         * modules/shutdown: Likewise.
26029         * modules/socket: Use socket.c instead of winsock.c.
26030         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
26031         * doc/posix-functions/accept.texi: Doc fix.
26032         * doc/posix-functions/bind.texi: Doc fix.
26033         * doc/posix-functions/close.texi: Doc fix.
26034         * doc/posix-functions/connect.texi: Doc fix.
26035         * doc/posix-functions/getpeername.texi: Doc fix.
26036         * doc/posix-functions/getsockname.texi: Doc fix.
26037         * doc/posix-functions/getsockopt.texi: Doc fix.
26038         * doc/posix-functions/ioctl.texi: Doc fix.
26039         * doc/posix-functions/listen.texi: Doc fix.
26040         * doc/posix-functions/recv.texi: Doc fix.
26041         * doc/posix-functions/recvfrom.texi: Doc fix.
26042         * doc/posix-functions/send.texi: Doc fix.
26043         * doc/posix-functions/sendto.texi: Doc fix.
26044         * doc/posix-functions/setsockopt.texi: Doc fix.
26045         * doc/posix-functions/shutdown.texi: Doc fix.
26046         * doc/posix-functions/socket.texi: Doc fix.
26047
26048 2008-10-20  Bruno Haible  <bruno@clisp.org>
26049
26050         Take into account the role of SIGABRT_COMPAT on Windows 2008.
26051         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
26052         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
26053         as an alias for SIGABRT.
26054         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
26055         (sigaction): Map it to SIGABRT.
26056         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
26057
26058 2008-10-20  Bruno Haible  <bruno@clisp.org>
26059
26060         * lib/fts.c: Don't include lstat.h.
26061         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
26062
26063         Move the lstat() declaration to <sys/stat.h>.
26064         * lib/lstat.h: Remove file.
26065         * lib/sys_stat.in.h: Add special invocation convention.
26066         (lstat): New declaration.
26067         * lib/lstat.c (orig_lstat): New function.
26068         (rpl_lstat): Use orig_lstat instead of lstat.
26069         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
26070         AC_C_INLINE. Set REPLACE_LSTAT.
26071         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
26072         and REPLACE_LSTAT.
26073         * modules/lstat (Files): Remove lib/lstat.h.
26074         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
26075         (Include): Specify <sys/stat.h> instead of lstat.h.
26076         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
26077         REPLACE_LSTAT.
26078         * NEWS: Mention the change.
26079
26080 2008-10-20  Bruno Haible  <bruno@clisp.org>
26081
26082         * modules/posix_spawn-tests: New file.
26083         * tests/test-posix_spawn3.c: New file.
26084
26085 2008-10-20  Bruno Haible  <bruno@clisp.org>
26086
26087         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
26088         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
26089         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
26090         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
26091         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
26092
26093 2008-10-20  Bruno Haible  <bruno@clisp.org>
26094
26095         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
26096         of posix_spawn on AIX 5.3.
26097
26098 2008-10-20  Bruno Haible  <bruno@clisp.org>
26099
26100         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
26101
26102 2008-10-20  Bruno Haible  <bruno@clisp.org>
26103
26104         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
26105         of AC_LANG_PROGRAM.
26106
26107 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26108
26109         * lib/netdb.in.h: Don't define GNU specific constants until they
26110         are supported or needed.  Reported by Bruno Haible
26111         <bruno@clisp.org>.
26112
26113 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26114
26115         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
26116
26117 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26118
26119         * lib/getaddrinfo.h: Remove file.
26120         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
26121         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
26122         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
26123         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
26124         * modules/netdb: Substitute GNULIB_GETADDRINFO.
26125         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
26126         * tests/test-getaddrinfo.c: Likewise.
26127         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
26128         * NEWS: Mention change.
26129
26130 2008-10-19  Bruno Haible  <bruno@clisp.org>
26131
26132         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
26133
26134 2008-10-19  Bruno Haible  <bruno@clisp.org>
26135
26136         * lib/wait-process.c: Include simply <sys/wait.h>.
26137         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
26138         WIFSTOPPED): Remove fallback definitions.
26139         * modules/wait-process (Depends-on): Add sys_wait.
26140
26141         New module 'sys_wait'.
26142         * modules/sys_wait: New file.
26143         * lib/sys_wait.in.h: New file, partially copied from
26144         lib/wait-process.c.
26145         * m4/sys_wait_h.m4: New file.
26146         * doc/posix-headers/sys_wait.texi: Mention the new module.
26147
26148 2008-10-19  Bruno Haible  <bruno@clisp.org>
26149
26150         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
26151
26152 2008-10-19  Bruno Haible  <bruno@clisp.org>
26153
26154         Assume that waitpid() fills an 'int' status, not a 'union wait'.
26155         * lib/wait-process.c (WAIT_T): Remove type.
26156         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
26157         (wait_subprocess): Update.
26158
26159 2008-10-19  Bruno Haible  <bruno@clisp.org>
26160
26161         New module 'atoll'.
26162         * modules/atoll: New file.
26163         * lib/stdlib.in.h (atoll): New declaration.
26164         * lib/atoll.c: New file, from glibc with modifications.
26165         * m4/atoll.m4: New file.
26166         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
26167         HAVE_ATOLL.
26168         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
26169         * doc/posix-functions/atoll.texi: Mention the new module.
26170
26171 2008-10-19  Bruno Haible  <bruno@clisp.org>
26172
26173         Add strtoull() declaration to <stdlib.h>.
26174         * lib/stdlib.in.h (strtoull): New declaration.
26175         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
26176         Set HAVE_STRTOULL.
26177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
26178         HAVE_STRTOULL.
26179         * modules/strtoull (Depends-on): Add stdlib.
26180         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26181         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
26182         HAVE_STRTOULL.
26183
26184 2008-10-19  Bruno Haible  <bruno@clisp.org>
26185
26186         Add strtoll() declaration to <stdlib.h>.
26187         * lib/stdlib.in.h (strtoll): New declaration.
26188         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
26189         Set HAVE_STRTOLL.
26190         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
26191         HAVE_STRTOLL.
26192         * modules/strtoll (Depends-on): Add stdlib.
26193         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26194         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
26195
26196 2008-10-19  Bruno Haible  <bruno@clisp.org>
26197
26198         * modules/bcopy (Depends-on): Add strings.
26199         (Include): Specify <strings.h>.
26200
26201 2008-10-19  Bruno Haible  <bruno@clisp.org>
26202
26203         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
26204
26205 2008-10-19  Bruno Haible  <bruno@clisp.org>
26206
26207         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
26208         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
26209         mingw.
26210
26211 2008-10-19  Bruno Haible  <bruno@clisp.org>
26212
26213         * lib/atanl.c: Don't include isnanl.h.
26214         * lib/cosl.c: Likewise.
26215         * lib/ldexpl.c: Likewise.
26216         * lib/logl.c: Likewise.
26217         * lib/sinl.c: Likewise.
26218         * lib/sqrtl.c: Likewise.
26219         * lib/tanl.c: Likewise.
26220
26221         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
26222         * lib/isnanf.h: Remove file.
26223         * lib/isnand.h: Remove file.
26224         * lib/isnanl.h: Remove file.
26225         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
26226         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
26227         macros.
26228         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
26229         HAVE_ISNANF, don't define it as a C macro.
26230         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
26231         HAVE_ISNAND, don't define it as a C macro.
26232         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
26233         HAVE_ISNANL, don't define it as a C macro.
26234         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
26235         HAVE_ISNAN[FDL].
26236         * modules/isnanf (Files): Remove lib/isnanf.h.
26237         (Depends-on): Add math.
26238         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26239         (Include): Specify <math.h> instead of isnanf.h.
26240         * modules/isnand (Files): Remove lib/isnand.h.
26241         (Depends-on): Add math.
26242         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26243         (Include): Specify <math.h> instead of isnand.h.
26244         * modules/isnanl (Files): Remove lib/isnanl.h.
26245         (Depends-on): Add math.
26246         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26247         (Include): Specify <math.h> instead of isnanl.h.
26248         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
26249         HAVE_ISNAN[FDL].
26250         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
26251         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
26252         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
26253         * NEWS: Mention the change.
26254
26255 2008-10-18  Bruno Haible  <bruno@clisp.org>
26256
26257         Add getusershell(), setusershell(), endusershell() declarations to
26258         <unistd.h>.
26259         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
26260         declarations.
26261         * lib/getusershell.c: Include unistd.h.
26262         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
26263         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
26264         HAVE_GETUSERSHELL.
26265         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
26266         and HAVE_GETUSERSHELL.
26267         * modules/getusershell (Depends-on): Add unistd, extensions.
26268         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26269         (Include): Specify <unistd.h>.
26270         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
26271         HAVE_GETUSERSHELL.
26272
26273 2008-10-18  Bruno Haible  <bruno@clisp.org>
26274
26275         Add a getloadavg() declaration to <stdlib.h>.
26276         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
26277         getloadavg declaration.
26278         (getloadavg): New declaration.
26279         * lib/getloadavg.c: Include <stdlib.h> first.
26280         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
26281         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
26282         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
26283         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
26284         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
26285         * modules/getloadavg (Depends-on): Add stdlib, extensions.
26286         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26287         (Include): Specify <stdlib.h>.
26288         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
26289         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
26290
26291 2008-10-18  Bruno Haible  <bruno@clisp.org>
26292
26293         * lib/dirchownmod.c: Don't include lchmod.h.
26294
26295         Move the lchmod() declaration to <sys/stat.h>.
26296         * lib/lchmod.h: Remove file.
26297         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
26298         (lchmod): New declaration, moved here from lib/lchown.h.
26299         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
26300         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
26301         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
26302         and HAVE_LCHMOD.
26303         * modules/lchmod (Files): Remove lib/lchmod.h.
26304         (Depends-on): Add sys_stat, extensions.
26305         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
26306         (Include): Specify <sys/stat.h> instead of lchmod.h.
26307         * modules/sys_stat (Depends-on): Add link-warning.
26308         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
26309         definition of GL_LINK_WARNING.
26310         * NEWS: Mention the change.
26311
26312 2008-10-18  Bruno Haible  <bruno@clisp.org>
26313
26314         * lib/fchdir.c: Don't include dirfd.h.
26315         * lib/fts.c: Likewise.
26316         * lib/getcwd.c: Likewise.
26317         * lib/glob.c: Likewise.
26318
26319         Move the dirfd() declaration to <dirent.h>.
26320         * lib/dirfd.h: Remove file.
26321         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
26322         (dirfd): New declaration.
26323         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
26324         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
26325         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
26326         HAVE_DECL_DIRFD.
26327         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
26328         HAVE_DECL_DIRFD.
26329         * modules/dirfd (Files): Remove lib/dirfd.h.
26330         (Depends-on): Add dirent, extensions.
26331         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
26332         (Include): Specify <dirent.h> instead of dirfd.h.
26333         * modules/dirent (Depends-on): Add link-warning.
26334         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
26335         definition of GL_LINK_WARNING.
26336         * NEWS: Mention the change.
26337
26338 2008-10-18  Bruno Haible  <bruno@clisp.org>
26339
26340         Move the euidaccess() declaration to <unistd.h>.
26341         * lib/euidaccess.h: Remove file.
26342         * lib/unistd.in.h (euidaccess): New declaration.
26343         * lib/euidaccess.c: Don't include euidaccess.h.
26344         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
26345         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
26346         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
26347         and HAVE_EUIDACCESS.
26348         * modules/euidaccess (Files): Remove lib/euidaccess.h.
26349         (Depends-on): Add unistd.
26350         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26351         (Include): Specify <unistd.h> instead of euidaccess.h.
26352         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
26353         HAVE_EUIDACCESS.
26354         * NEWS: Mention the change.
26355
26356 2008-10-18  Bruno Haible  <bruno@clisp.org>
26357
26358         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
26359
26360         Move the getdomainname() declaration to <unistd.h>.
26361         * lib/getdomainname.h: Remove file.
26362         * lib/unistd.in.h (getdomainname): New declaration.
26363         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
26364         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
26365         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
26366         HAVE_GETDOMAINNAME.
26367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26368         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
26369         * modules/getdomainname (Files): Remove lib/getdomainname.h.
26370         (Depends-on): Add unistd, extensions.
26371         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26372         (Includes): Specify <unistd.h> instead of getdomainname.h.
26373         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
26374         HAVE_GETDOMAINNAME.
26375         * NEWS: Mention the change.
26376
26377 2008-10-18  Bruno Haible  <bruno@clisp.org>
26378
26379         * modules/dirent: New file.
26380         * m4/dirent_h.m4: New file.
26381         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
26382         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
26383         * modules/fchdir (Files): Remove lib/dirent.in.h.
26384         (Depends-on): Add dirent.
26385         (Makefile.am): Move rules to modules/dirent.
26386         * doc/posix-headers/dirent.texi: Mention the new module.
26387
26388 2008-10-18  Bruno Haible  <bruno@clisp.org>
26389
26390         Avoid -Wunused-parameter warnings in public gnulib header files.
26391         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
26392         macro.
26393         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
26394
26395 2008-10-18  Bruno Haible  <bruno@clisp.org>
26396
26397         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
26398         * doc/glibc-functions/error.texi: Mention the module 'error'.
26399         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
26400         * doc/glibc-functions/getdomainname.texi: Mention the module
26401         'getdomainname'.
26402         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
26403         * doc/glibc-functions/getpagesize.texi: Mention the module
26404         'getpagesize'.
26405         * doc/glibc-functions/getusershell.texi: Mention the module
26406         'getusershell'.
26407         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
26408         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
26409         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
26410         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
26411         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
26412         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
26413         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
26414         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
26415         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
26416         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
26417         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
26418         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
26419         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
26420         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
26421
26422 2008-10-17  Bruno Haible  <bruno@clisp.org>
26423
26424         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
26425         HP-UX and IRIX, use -0.0L.
26426         * tests/test-ceill.c (minus_zero): Likewise.
26427         * tests/test-floorl.c (minus_zero): Likewise.
26428         * tests/test-frexpl.c (minus_zero): Likewise.
26429         * tests/test-isnan.c (minus_zerol): Likewise.
26430         * tests/test-isnanl.h (minus_zero): Likewise.
26431         * tests/test-ldexpl.c (minus_zero): Likewise.
26432         * tests/test-roundl.c (minus_zero): Likewise.
26433         * tests/test-signbit.c (minus_zerol): Likewise.
26434         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
26435         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
26436         * tests/test-truncl.c (minus_zero): Likewise.
26437         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
26438         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
26439         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
26440         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
26441
26442 2008-10-17  Bruno Haible  <bruno@clisp.org>
26443
26444         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
26445         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
26446         that it gets activated only for gcc >= 3.0.
26447         * lib/dirent.in.h: Likewise.
26448         * lib/errno.in.h: Likewise.
26449         * lib/fcntl.in.h: Likewise.
26450         * lib/float.in.h: Likewise.
26451         * lib/iconv.in.h: Likewise.
26452         * lib/inttypes.in.h: Likewise.
26453         * lib/locale.in.h: Likewise.
26454         * lib/math.in.h: Likewise.
26455         * lib/netdb.in.h: Likewise.
26456         * lib/netinet_in.in.h: Likewise.
26457         * lib/search.in.h: Likewise.
26458         * lib/signal.in.h: Likewise.
26459         * lib/spawn.in.h: Likewise.
26460         * lib/stdarg.in.h: Likewise.
26461         * lib/stdint.in.h: Likewise.
26462         * lib/stdio.in.h: Likewise.
26463         * lib/stdlib.in.h: Likewise.
26464         * lib/string.in.h: Likewise.
26465         * lib/strings.in.h: Likewise.
26466         * lib/sys_file.in.h: Likewise.
26467         * lib/sys_ioctl.in.h: Likewise.
26468         * lib/sys_select.in.h: Likewise.
26469         * lib/sys_socket.in.h: Likewise.
26470         * lib/sys_stat.in.h: Likewise.
26471         * lib/sys_time.in.h: Likewise.
26472         * lib/sysexits.in.h: Likewise.
26473         * lib/time.in.h: Likewise.
26474         * lib/unistd.in.h: Likewise.
26475         * lib/wchar.in.h: Likewise.
26476         * lib/wctype.in.h: Likewise.
26477         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26478
26479 2008-10-17  Jim Meyering  <meyering@redhat.com>
26480
26481         ignore-value: don't depend on inline module
26482         * modules/ignore-value (Depends-on): Remove 'inline'.
26483         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
26484         Suggestion from Bruno Haible.
26485
26486 2008-10-17  Bruno Haible  <bruno@clisp.org>
26487
26488         New implementation of condition variables for Win32.
26489         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
26490         (gl_linked_waitqueue_t): New type.
26491         (gl_cond_t): Use it.
26492         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
26493         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
26494         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
26495         (glthread_cond_init_func, glthread_cond_wait_func,
26496         glthread_cond_timedwait_func, glthread_cond_signal_func,
26497         glthread_cond_broadcast_func, glthread_cond_destroy_func):
26498         Reimplemented on the basis of gl_linked_waitqueue_t.
26499         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
26500         gl_waitqueue_t.
26501         (gl_rwlock_t): Update.
26502         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
26503
26504 2008-10-17  Simon Josefsson  <simon@josefsson.org>
26505
26506         * modules/recvfrom (Depends-on): Add dependency on getpeername.
26507         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26508
26509 2008-10-17  Jim Meyering  <meyering@redhat.com>
26510
26511         ignore-value: new module
26512         * modules/ignore-value: New file.
26513         * lib/ignore-value.h: New file.
26514         * MODULES.html.sh (Compiler warning management): New section,
26515         just for this module.  More to come.
26516
26517 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
26518
26519         open-safer.c: avoid 'signed and unsigned in conditional...' warning
26520         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
26521         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
26522
26523 2008-10-16  Jim Meyering  <meyering@redhat.com>
26524
26525         openat-die.c: avoid 'no previous prototype' warning
26526         * lib/openat-die.c: Include "openat.h".
26527         Reported by Reuben Thomas <rrt@sc3d.org>.
26528
26529 2008-10-16  Simon Josefsson  <simon@josefsson.org>
26530
26531         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
26532         * lib/netdb.in.h: Fix typo.
26533         Reported by Bruno Haible  <bruno@clisp.org>
26534
26535         * lib/netdb.in.h: Include sys/socket.h for platforms without
26536         netdb.h, to get structures like hostent on MinGW.
26537         * modules/netdb (Depends-on): Add sys_socket.
26538
26539 2008-10-15  Simon Josefsson  <simon@josefsson.org>
26540
26541         * modules/netdb, modules/netdb-tests: New file.
26542         * m4/netdb_h.m4: New file.
26543         * lib/netdb.in.h: Add, currently just an empty file pending
26544         definitions.
26545         * tests/test-netdb.c: New file.
26546         * doc/posix-headers/netdb.texi: Mention that we replace it if
26547         needed.
26548         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26549         netdb.
26550
26551 2008-10-15  Simon Josefsson  <simon@josefsson.org>
26552
26553         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
26554         with code.
26555
26556 2008-10-13  Bruno Haible  <bruno@clisp.org>
26557
26558         * lib/glthread/cond.c (glthread_cond_wait_func,
26559         glthread_cond_timedwait_func): Add a comment.
26560
26561 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26562
26563         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
26564         * tests/test-select.c: Likewise,
26565
26566 2008-10-13  Bruno Haible  <bruno@clisp.org>
26567
26568         * lib/glthread/cond.c (glthread_cond_wait_func,
26569         glthread_cond_timedwait_func): Fix variable name.
26570         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26571
26572 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
26573
26574         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
26575         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
26576         struct sockaddr.sa_len.
26577         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
26578
26579 2008-10-13  Simon Josefsson  <simon@josefsson.org>
26580
26581         * build-aux/pmccabe2html: Add css and css_url parameters.
26582
26583 2008-10-12  Bruno Haible  <bruno@clisp.org>
26584
26585         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
26586         calling aclx_get.
26587         Reported by Rainer Tammer <tammer@tammer.net>.
26588
26589 2008-10-12  Bruno Haible  <bruno@clisp.org>
26590
26591         Use msvcrt aware primitives for creation/termination of Win32 threads.
26592         * lib/glthread/thread.c: Include <process.h>.
26593         (glthread_create_func): Use _beginthreadex instead of CreateThread.
26594         (wrapper_func): Update signature.
26595         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
26596
26597 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26598             Bruno Haible  <bruno@clisp.org>
26599
26600         Provide a Win32 implementation of the 'cond' module.
26601         * lib/glthread/cond.h [USE_WIN32]: New implementation.
26602         * lib/glthread/cond.c (glthread_cond_init_func,
26603         glthread_cond_wait_func, glthread_cond_timedwait_func,
26604         glthread_cond_signal_func, glthread_cond_broadcast_func,
26605         glthread_cond_destroy_func) [USE_WIN32]: New functions.
26606         * modules/cond (Dependencies): Add gettimeofday.
26607
26608 2008-10-11  Bruno Haible  <bruno@clisp.org>
26609
26610         Make sleep work on older versions of mingw.
26611         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
26612         only whether it exists.
26613         * doc/posix-functions/sleep.texi: Mention the problem with older
26614         versions of mingw.
26615
26616 2008-10-11  Bruno Haible  <bruno@clisp.org>
26617
26618         New module 'shutdown'.
26619         * modules/shutdown: New file.
26620         * lib/sys_socket.in.h (shutdown): New declaration.
26621         * lib/winsock.c (shutdown): New function.
26622         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
26623         GNULIB_SHUTDOWN.
26624         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
26625         * doc/posix-functions/shutdown.texi: Document the new module.
26626
26627 2008-10-11  Jim Meyering  <meyering@redhat.com>
26628
26629         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
26630
26631 2008-10-11  Bruno Haible  <bruno@clisp.org>
26632
26633         New module 'fclose'.
26634         * modules/fclose: New file.
26635         * lib/stdio.in.h (fclose): New declaration.
26636         * lib/fclose.c: New file.
26637         * m4/fclose.m4: New file.
26638         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
26639         REPLACE_FCLOSE.
26640         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
26641         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
26642         REPLACE_FCLOSE.
26643         * modules/close (Depends-on): fclose.
26644         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
26645
26646 2008-10-11  Bruno Haible  <bruno@clisp.org>
26647
26648         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
26649         set errno and don't call _close.
26650
26651 2008-10-10  Bruno Haible  <bruno@clisp.org>
26652
26653         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
26654         ACL, not afterwards. Fixes test failure on Cygwin.
26655
26656 2008-10-09  Ben Pfaff  <blp@gnu.org>
26657
26658         * build-aux/announce-gen: Fix gnulib version related part of usage
26659         message.  Die with a useful error message if no tarballs are
26660         found.
26661
26662 2008-10-10  Jim Meyering  <meyering@redhat.com>
26663
26664         bootstrap: use git's --depth=N option only if it's supported
26665         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
26666         recognize the --depth option.  Reported by Pádraig Brady.
26667
26668 2008-10-09  Bruno Haible  <bruno@clisp.org>
26669
26670         New module 'ioctl'.
26671         * modules/ioctl: New file.
26672         * lib/sys_socket.in.h (ioctl): Remove declaration.
26673         * lib/winsock.c: Include <sys/ioctl.h>.
26674         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
26675         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
26676         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
26677         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
26678         * doc/posix-functions/ioctl.texi: Mention the new module.
26679
26680 2008-10-09  Bruno Haible  <bruno@clisp.org>
26681
26682         New module 'sys_ioctl'.
26683         * lib/sys_ioctl.in.h: New file.
26684         * m4/sys_ioctl_h.m4: New file.
26685         * modules/sys_ioctl: New file.
26686         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
26687
26688 2008-10-09  Bruno Haible  <bruno@clisp.org>
26689
26690         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
26691         * lib/winsock.c: Include <stdarg.h>.
26692         (rpl_ioctl): Change to second argument 'int' and then varargs.
26693
26694 2008-10-09  Bruno Haible  <bruno@clisp.org>
26695
26696         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
26697         when the sys_socket module is present and the system has <winsock2.h>.
26698
26699 2008-10-09  Bruno Haible  <bruno@clisp.org>
26700
26701         * doc/posix-functions/close.texi: Mention module 'close' instead of
26702         module 'sys_socket'.
26703
26704 2008-10-09  Bruno Haible  <bruno@clisp.org>
26705
26706         * doc/glibc-headers/sys_ioctl.texi: New file.
26707         * doc/gnulib.texi: Include it.
26708
26709 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26710             Bruno Haible  <bruno@clisp.org>
26711
26712         Combine the two replacements of 'close'.
26713         * lib/sys_socket.in.h (close): Define to a reminder to include
26714         <unistd.h>.
26715         (_gl_close_fd_maybe_socket): New declaration.
26716         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
26717         * lib/winsock.c (close): Remove undefinition.
26718         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
26719         needed for the gnulib module 'close'.
26720         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
26721         define to an error symbol or to a warning, if suitable.
26722         * lib/close.c: Include <sys/socket.h>.
26723         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
26724         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
26725         UNISTD_H_HAVE_WINSOCK2_H.
26726         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
26727         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26728         UNISTD_H_HAVE_WINSOCK2_H.
26729         * modules/sys_socket (Files): Add m4/unistd_h.m4.
26730         (configure.ac): Set a module indicator.
26731         (Makefile.am): Substitute GNULIB_CLOSE.
26732         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
26733         * modules/poll-tests (Depends-on): Add close.
26734         * modules/select-tests (Depends-on): Likewise.
26735
26736 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26737             Bruno Haible  <bruno@clisp.org>
26738
26739         New module 'close'.
26740         * modules/close: New file.
26741         * lib/unistd.in.h (close): Move declaration out of the
26742         FCHDIR_REPLACEMENT scope.
26743         (_gl_unregister_fd): New declaration.
26744         * lib/close.c: New file.
26745         * lib/fchdir.c (rpl_close): Remove function.
26746         * m4/close.m4: New file.
26747         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
26748         close.
26749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
26750         REPLACE_CLOSE.
26751         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
26752         REPLACE_CLOSE.
26753         * modules/fchdir (Depends-on): Add close.
26754
26755 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26756             Bruno Haible  <bruno@clisp.org>
26757
26758         * lib/fcntl.in.h (open): Simplify conditionals.
26759         (_gl_register_fd): New declaration.
26760         * lib/fchdir.c (rpl_open): Remove function.
26761         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
26762         also.
26763         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
26764         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
26765         open.
26766
26767 2008-10-09  Jim Meyering  <meyering@redhat.com>
26768
26769         GNUmakefile: use the more name-space-friendly "_version"
26770         * top/GNUmakefile (_dummy): Update.
26771         (_version): Rename from "version".
26772
26773 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26774             Bruno Haible  <bruno@clisp.org>
26775
26776         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
26777         rpl_close.
26778         (_gl_register_fd): New function, extracted from rpl_open.
26779         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
26780         (rpl_open, rpl_opendir): Use _gl_register_fd.
26781
26782 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26783
26784         Fix organization of 'open' replacement.
26785         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
26786         (gl_FUNC_OPEN): Use it.
26787         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
26788
26789 2008-10-08  Bruno Haible  <bruno@clisp.org>
26790
26791         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
26792
26793 2008-10-08  Simon Josefsson  <simon@josefsson.org>
26794
26795         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
26796         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
26797         listen).
26798
26799 2008-10-08  Eric Blake  <ebb9@byu.net>
26800
26801         GNUmakefile: add 'make version' target
26802         * top/GNUmakefile (_curr-ver): Split version update rules...
26803         (version): ...into a target.
26804
26805 2008-10-07  Bruno Haible  <bruno@clisp.org>
26806
26807         Use a more portable replacement expression for -0.0L.
26808         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
26809         instead of -0.0L. Fix m4 quotation.
26810
26811         * tests/test-signbit.c: Include <float.h>.
26812         (minus_zero): New variable.
26813         (test_signbitl): Use minus_zero instead of -zero.
26814         * modules/signbit-tests (Depends-on): Add float.
26815
26816         * tests/test-ceill.c: Include <float.h>.
26817         (zero): Remove variable.
26818         (minus_zero): New variable.
26819         (main): Use minus_zero instead of -zero.
26820         * modules/ceill-tests (Depends-on): Add float.
26821
26822         * tests/test-floorl.c: Include <float.h>.
26823         (zero): Remove variable.
26824         (minus_zero): New variable.
26825         (main): Use minus_zero instead of -zero.
26826         * modules/floorl-tests (Depends-on): Add float.
26827
26828         * tests/test-roundl.c: Include <float.h>.
26829         (zero): Remove variable.
26830         (minus_zero): New variable.
26831         (main): Use minus_zero instead of -zero.
26832         * modules/roundl-tests (Depends-on): Add float.
26833
26834         * tests/test-truncl.c: Include <float.h>.
26835         (zero): Remove variable.
26836         (minus_zero): New variable.
26837         (main): Use minus_zero instead of -zero.
26838         * modules/truncl-tests (Depends-on): Add float.
26839
26840         * tests/test-frexpl.c (zero): Remove variable.
26841         (minus_zero): New variable.
26842         (main): Use minus_zero instead of -zero.
26843         * modules/frexpl-tests (Depends-on): Add float.
26844
26845         * tests/test-isnan.c (zerol): Remove variable.
26846         (minus_zerol): New variable.
26847         (test_long_double): Use minus_zerol instead of -zerol.
26848         * modules/isnan-tests (Depends-on): Add float.
26849
26850         * tests/test-isnanl.h (zero): Remove variable.
26851         (minus_zero): New variable.
26852         (main): Use minus_zero instead of -zero.
26853         * modules/isnanl-nolibm-tests (Depends-on): Add float.
26854         * modules/isnanl-tests (Depends-on): Add float.
26855
26856         * tests/test-ldexpl.c (zero): Remove variable.
26857         (minus_zero): New variable.
26858         (main): Use minus_zero instead of -zero.
26859         * modules/ldexpl-tests (Depends-on): Add float.
26860
26861         * tests/test-snprintf-posix.h (zerol): Remove variable.
26862         (minus_zerol): New variable.
26863         (test_function): Use minus_zerol instead of -zerol.
26864         * modules/snprintf-posix-tests (Depends-on): Add float.
26865         * modules/vsnprintf-posix-tests (Depends-on): Add float.
26866
26867         * tests/test-sprintf-posix.h (zerol): Remove variable.
26868         (minus_zerol): New variable.
26869         (test_function): Use minus_zerol instead of -zerol.
26870         * modules/sprintf-posix-tests (Depends-on): Add float.
26871         * modules/vsprintf-posix-tests (Depends-on): Add float.
26872
26873         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
26874         (minus_zerol): New variable.
26875         (test_function): Use minus_zerol instead of -zerol.
26876         * modules/vasnprintf-posix-tests (Depends-on): Add float.
26877
26878         * tests/test-vasprintf-posix.c (zerol): Remove variable.
26879         (minus_zerol): New variable.
26880         (test_function): Use minus_zerol instead of -zerol.
26881         * modules/vasprintf-posix-tests (Depends-on): Add float.
26882
26883 2008-10-07  Simon Josefsson  <simon@josefsson.org>
26884
26885         * MODULES.html.sh (Support for building documentation): Mention
26886         pmccabe2html.  Sort entries.
26887
26888         Add pmccabe2html module, from gnupdf.
26889         * build-aux/pmccabe.css: New file.
26890         * build-aux/pmccabe2html: New file.
26891         * m4/pmccabe2html.m4: New file.
26892         * modules/pmccabe2html: New file.
26893
26894 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
26895
26896         flock: new module
26897         * MODULES.html.sh: Add to list of modules.
26898         * lib/flock.c: flock implementation for Windows and Unix systems
26899         which have fcntl.
26900         * doc/glibc-functions/flock.texi: Update documentation.
26901         * lib/sys_file.in.h: <sys/file.h> header file.
26902         * m4/flock.m4: M4 macros.
26903         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
26904         * modules/flock: flock module.
26905         * modules/flock-tests: flock tests module.
26906         * modules/sys_file: sys/file.h module.
26907         * tests/test-flock.c: test suite for flock.
26908
26909 2008-10-06  Jim Meyering  <meyering@redhat.com>
26910
26911         bootstrap: check for LT_INIT more portably still ;-)
26912         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
26913         Spotted by Bruno Haible.
26914
26915 2008-10-06  Eric Blake  <ebb9@byu.net>
26916
26917         test-signbit: avoid tripping Irix cc bug on -0.0L
26918         * tests/test-signbit.c (minus_zerol): Delete, and replace with
26919         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
26920         entire testsuite consistent and avoids an Irix 6.2 bug.
26921
26922 2008-10-05  Bruno Haible  <bruno@clisp.org>
26923             Jim Meyering  <jim@meyering.net>
26924
26925         Add an option for ignoring EPIPE during close_stdout.
26926         * lib/closeout.h: Include <stdbool.h>.
26927         (close_stdout_set_ignore_EPIPE): New declaration.
26928         * lib/closeout.c: Include <stdbool.h>.
26929         (ignore_EPIPE): New variable.
26930         (close_stdout_set_ignore_EPIPE): New function.
26931         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
26932         * lib/close-stream.c (close_stream): Mention the possible EPIPE
26933         failure.
26934         * modules/closeout (Depends-on): Add stdbool.
26935
26936 2008-10-05  Bruno Haible  <bruno@clisp.org>
26937
26938         * modules/accept: New file.
26939         * modules/bind: New file.
26940         * modules/connect: New file.
26941         * modules/getpeername: New file.
26942         * modules/getsockname: New file.
26943         * modules/getsockopt: New file.
26944         * modules/listen: New file.
26945         * modules/recv: New file.
26946         * modules/recvfrom: New file.
26947         * modules/send: New file.
26948         * modules/sendto: New file.
26949         * modules/setsockopt: New file.
26950         * modules/socket: New file.
26951         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
26952         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26953         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
26954         the particular module is requested. Add a link warning when the
26955         particular module is not requested.
26956         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
26957         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
26958         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
26959         the particular module is requested.
26960         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
26961         gl_SYS_SOCKET_H_DEFAULTS): New macros.
26962         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
26963         * modules/sys_socket (Depends-on): Add link-warning.
26964         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
26965         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
26966         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
26967         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
26968         GL_LINK_WARNING.
26969         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
26970         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
26971         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
26972         * doc/posix-functions/getpeername.texi: Mention the new module
26973         'getpeername'.
26974         * doc/posix-functions/getsockname.texi: Mention the new module
26975         'getsockname'.
26976         * doc/posix-functions/getsockopt.texi: Mention the new module
26977         'getsockopt'.
26978         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
26979         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
26980         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
26981         * doc/posix-functions/send.texi: Mention the new module 'send'.
26982         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
26983         * doc/posix-functions/setsockopt.texi: Mention the new module
26984         'setsockopt'.
26985         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
26986         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
26987         listen, connect, accept.
26988         * modules/select-tests (Depends-on): Likewise.
26989
26990 2008-10-05  Bruno Haible  <bruno@clisp.org>
26991
26992         * lib/winsock.c (strerror): Remove unused #undef.
26993         (rpl_close): Remove unused local variable.
26994
26995         * modules/sys_socket (Depends-on); Add errno.
26996
26997 2008-10-05  Bruno Haible  <bruno@clisp.org>
26998
26999         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
27000         (select): Add a link warning when the 'select' module is not used.
27001         * modules/sys_select (Depends-on): Add link-warning.
27002         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
27003         Suggested by Paolo Bonzini.
27004
27005 2008-10-05  Jim Meyering  <meyering@redhat.com>
27006
27007         bootstrap: check for LT_INIT more portably
27008         * build-aux/bootstrap: Avoid using grep -E, since it's not
27009         portable enough.  Suggestion from Bruno Haible.
27010
27011 2008-10-05  Bruno Haible  <bruno@clisp.org>
27012
27013         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
27014         as being fixed by gnulib.
27015
27016 2008-10-05  Bruno Haible  <bruno@clisp.org>
27017
27018         * modules/select-tests: New file, mostly copied from
27019         modules/sys_select-tests.
27020         * tests/test-select.c: New file, mostly copied from
27021         tests/test-sys_select.c.
27022         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
27023         * modules/sys_select-tests (Depends-on): Remove all dependencies.
27024         (Makefile.am): Remove test_sys_select_LDADD.
27025
27026         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
27027         to an undefined symbol, for an error message.
27028         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
27029         (gl_SYS_SELECT_H_DEFAULTS): New macro.
27030         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
27031         winsock-select.c here.
27032         * modules/sys_select (Files): Remove lib/winsock-select.c.
27033         (Depends-on): Remove alloca.
27034         (Makefile.am): Substitute GNULIB_SELECT.
27035         * modules/select: New file.
27036         * doc/posix-functions/select.texi: Update.
27037
27038 2008-10-05  Bruno Haible  <bruno@clisp.org>
27039
27040         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
27041         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
27042         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
27043         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
27044         getdtablesize.
27045         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
27046         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
27047
27048 2008-10-05  Bruno Haible  <bruno@clisp.org>
27049
27050         * modules/getdtablesize-tests: New file.
27051         * tests/test-getdtablesize.c: New file.
27052
27053         New module 'getdtablesize'.
27054         * lib/unistd.in.h (getdtablesize): New declaration.
27055         * lib/getdtablesize.c: New file.
27056         * m4/getdtablesize.m4: New file.
27057         * modules/getdtablesize: New file.
27058         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27059         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
27060         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
27061         HAVE_GETDTABLESIZE.
27062         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
27063
27064 2008-10-05  Bruno Haible  <bruno@clisp.org>
27065
27066         * modules/sched (Makefile.am): Fix typo.
27067         Reported by Simon Josefsson.
27068
27069 2008-10-05  Jim Meyering  <meyering@redhat.com>
27070
27071         bootstrap: check for LT_INIT, too
27072         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
27073         are deprecated.  Suggestion from Ralf Wildenhues.
27074
27075 2008-10-05  Bruno Haible  <bruno@clisp.org>
27076
27077         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
27078         overriding them by ours.
27079         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
27080
27081 2008-10-05  Jim Meyering  <meyering@redhat.com>
27082
27083         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
27084         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
27085         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
27086
27087 2008-10-04  Bruno Haible  <bruno@clisp.org>
27088
27089         * modules/dup2 (License): Change to LGPLv2+.
27090         * modules/sleep (License): Likewise.
27091         * modules/perror (License): Likewise.
27092         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
27093         Blake.
27094         * modules/signal (License): Likewise.
27095         * modules/sigprocmask (License): Likewise.
27096         * modules/raise (License): Change to LGPLv2+, with approval by Jim
27097         Meyering.
27098
27099 2008-10-04  Bruno Haible  <bruno@clisp.org>
27100
27101         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
27102         Reported by Rainer Tammer <tammer@tammer.net>.
27103
27104 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
27105             Bruno Haible  <bruno@clisp.org>
27106
27107         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
27108         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
27109         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
27110
27111 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
27112
27113         filevercmp: new module
27114         * lib/filevercmp.h: New function filevercmp comparing version strings.
27115         * lib/filevercmp.c: Implementation of filevercmp function.
27116         * modules/filevercmp: Module metadata.
27117         * tests/test-filevercmp.c: Unit test for new module.
27118         * modules/filevercmp-tests: Unit test metadata.
27119         * MODULES.html.sh: Add filevercmp module.
27120
27121 2008-10-03  Bruno Haible  <bruno@clisp.org>
27122
27123         * lib/c-ctype.h: Add comment.
27124         Reported by Jim Meyering.
27125
27126 2008-10-02  Bruno Haible  <bruno@clisp.org>
27127
27128         * modules/posix_spawn-internal (Depends-on): Add 'open'.
27129
27130 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27131
27132         * build-aux/bootstrap: Allow renaming bootstrap, and change the
27133         name of bootstrap.conf accordingly.
27134
27135 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27136
27137         * build-aux/bootstrap: Install git-merge-changelog configuration
27138         items into .gitconfig if needed.
27139
27140 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27141
27142         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
27143         git repository, and initialize/update it accordingly.
27144
27145 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
27146
27147         * modules/fsync-tests: New file.
27148         * tests/test-fsync.c: New file.
27149
27150         New module 'fsync'.
27151         * lib/fsync.c: New file.
27152         * m4/fsync.m4: New file.
27153         * modules/fsync: New file.
27154         * lib/unistd.in.h (fsync): New declaration.
27155         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
27156         GNULIB_FSYNC and HAVE_FSYNC.
27157         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
27158         * MODULES.html.sh (posix_functions): Add fsync.
27159         * doc/posix-functions/fsync.texi: Mention the new module.
27160
27161 2008-10-02  Jim Meyering  <meyering@redhat.com>
27162
27163         fts.c: sync with similar code from coreutils' remove.c
27164         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
27165         Guard also with "#if defined __linux__", since for now at least,
27166         this code is Linux-kernel-specific.
27167
27168 2008-10-02  Jim Meyering  <meyering@redhat.com>
27169
27170         fts: bug fixes
27171         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
27172         Include <sys/vfs.h>, not <sys/statfs.h>.
27173
27174         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
27175         Include <sys/vfs.h>, not <sys/statfs.h>.
27176
27177 2008-10-01  Bruno Haible  <bruno@clisp.org>
27178
27179         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
27180         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
27181         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
27182         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
27183         * doc/posix-functions/posix_spawnp.texi: Likewise.
27184         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
27185         whether posix_spawn actually works.
27186         * m4/pipe.m4 (gl_PIPE): Likewise.
27187         * modules/execute (Files): Add m4/posix_spawn.m4.
27188         * modules/pipe (Files): Add m4/posix_spawn.m4.
27189         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
27190
27191 2008-10-01  Jim Meyering  <meyering@redhat.com>
27192
27193         remove trailing spaces
27194         * NEWS: Likewise.
27195         * lib/poll.c (poll): Likewise.
27196         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
27197         * lib/winsock.c (rpl_close): Likewise.
27198         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
27199         * modules/yield: Likewise.
27200         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
27201         * tests/test-sys_select.c (connect_to_socket): Likewise.
27202
27203         fts.c: adjust a new interface to be more generally useful
27204         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
27205         (fts_build): Adjust caller.
27206
27207 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27208
27209         * modules/cond-tests: New file.
27210         * tests/test-cond.c: New file.
27211
27212 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27213             Bruno Haible  <bruno@clisp.org>
27214
27215         * modules/cond (Dependencies): Add errno, time.
27216         * lib/glthread/cond.h: Include <time.h>.
27217         (gl_cond_define, gl_cond_define_initialized): Use the same definition
27218         across platforms.
27219
27220 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27221             Bruno Haible  <bruno@clisp.org>
27222
27223         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
27224
27225 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27226             Bruno Haible  <bruno@clisp.org>
27227
27228         * modules/tls-tests (Depends-on): Add thread, yield.
27229         (configure.ac): Remove all checks.
27230         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
27231         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
27232         gl_thread_self): Remove definitions. Include glthread/thread.h and
27233         glthread/yield.h instead.
27234         (test_tls): Pass an additional NULL argument to gl_thread_join.
27235
27236 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27237             Bruno Haible  <bruno@clisp.org>
27238
27239         * modules/lock-tests (Depends-on): Add thread, yield.
27240         (configure.ac): Remove all checks.
27241         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
27242         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
27243         gl_thread_self): Remove definitions. Include glthread/thread.h and
27244         glthread/yield.h instead.
27245         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
27246         additional NULL argument to gl_thread_join.
27247
27248 2008-09-30  Bruno Haible  <bruno@clisp.org>
27249
27250         Fix the Win32 implementation of the 'thread' module.
27251         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
27252         pointer type.
27253         (gl_thread_self): Invoke gl_thread_self_func.
27254         (gl_thread_self_func): New declaration.
27255         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
27256         (do_init_self_key, init_self_key): New functions.
27257         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
27258         Remove some fields.
27259         (running_threads, running_lock): Remove variables.
27260         (get_current_thread_handle): New function.
27261         (gl_thread_self_func, wrapper_func, glthread_create_func,
27262         glthread_join_func, gl_thread_exit_func): Largely rewritten and
27263         simplified.
27264
27265 2008-09-30  Bruno Haible  <bruno@clisp.org>
27266
27267         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
27268         files.
27269
27270 2008-09-30  Jim Meyering  <meyering@redhat.com>
27271
27272         fts.m4: correct the test for statfs.f_type
27273         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
27274         when checking for statfs.f_type.
27275
27276 2008-09-15  Simon Josefsson  <simon@josefsson.org>
27277
27278         tests: avoid some compiler warnings
27279         * tests/test-memchr.c (main): Pass NULL indirectly.
27280         * tests/test-getdate.c (main): Remove unused variable 'ret'.
27281
27282 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
27283
27284         getdate.y: disallow countable dayshifts like "4 yesterday ago"
27285         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
27286         exactly specified dayshifts.
27287         (dayshift): New rule.
27288         (rel): Add dayshift.
27289         (relative_time_table) [tomorrow, yesterday, today, now]:
27290         Use tDAY_SHIFT in place of tDAY_UNIT.
27291         * tests/test-getdate.c: Add tests for now-disallowed countable
27292         dayshifts, e.g., "4 yesterday ago".
27293
27294 2008-09-29  Bruno Haible  <bruno@clisp.org>
27295
27296         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
27297         * tests/test-posix_spawn1.in.sh: Renamed from
27298         tests/test-posix_spawn.in.sh.
27299         * tests/test-posix_spawn2.c: New file.
27300         * tests/test-posix_spawn2.in.sh: New file.
27301         * modules/posix_spawnp-tests (Files): Update.
27302         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
27303
27304 2008-09-29  Bruno Haible  <bruno@clisp.org>
27305
27306         Propagate effects of putenv/setenv/unsetenv to child processes.
27307         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
27308         * lib/pipe.c (create_pipe): Likewise.
27309
27310 2008-09-29  Bruno Haible  <bruno@clisp.org>
27311
27312         Enable use of shell scripts as executables in mingw.
27313         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
27314         run the program as a shell script.
27315         * lib/pipe.c (create_pipe): Likewise.
27316         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
27317         resulting array.
27318
27319 2008-09-29  Eric Blake  <ebb9@byu.net>
27320
27321         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
27322
27323 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
27324
27325         * doc/posix-functions/accept.texi: Update mingw problems.
27326         * doc/posix-functions/bind.texi: Update mingw problems.
27327         * doc/posix-functions/close.texi: Update mingw problems.
27328         * doc/posix-functions/connect.texi: Update mingw problems.
27329         * doc/posix-functions/getpeername.texi: Update mingw problems.
27330         * doc/posix-functions/getsockname.texi: Update mingw problems.
27331         * doc/posix-functions/getsockopt.texi: Update mingw problems.
27332         * doc/posix-functions/ioctl.texi: Update mingw problems.
27333         * doc/posix-functions/listen.texi: Update mingw problems.
27334         * doc/posix-functions/recv.texi: Update mingw problems.
27335         * doc/posix-functions/recvfrom.texi: Update mingw problems.
27336         * doc/posix-functions/select.texi: Update mingw problems.
27337         * doc/posix-functions/send.texi: Update mingw problems.
27338         * doc/posix-functions/sendto.texi: Update mingw problems.
27339         * doc/posix-functions/setsockopt.texi: Update mingw problems.
27340         * doc/posix-functions/socket.texi: Update mingw problems.
27341
27342 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
27343             Bruno Haible  <bruno@clisp.org>
27344
27345         * lib/sys_select.in.h: Include sys/time.h.
27346         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
27347         * modules/sys_select: Depend on sys_time.
27348         * tests/test-sys_select.c: Test that sys/select.h defines struct
27349         timeval fully.
27350
27351 2008-09-29  Bruno Haible  <bruno@clisp.org>
27352
27353         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
27354         * lib/sys_select.in.h: Likewise.
27355
27356 2008-09-29  Bruno Haible  <bruno@clisp.org>
27357
27358         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
27359
27360 2008-09-29  Bruno Haible  <bruno@clisp.org>
27361
27362         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
27363         Set LIBSOCKET instead of augmenting LIBS.
27364         * modules/sockets (Link): New section.
27365         * modules/sockets-tests (test_sockets_LDADD): New variable.
27366         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
27367         * modules/poll-tests (test_poll_LDADD): New variable.
27368         * NEWS: Document the change.
27369
27370 2008-09-29  Bruno Haible  <bruno@clisp.org>
27371
27372         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
27373         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
27374         ARPA_INET_H directly.
27375         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27376
27377 2008-09-28  Bruno Haible  <bruno@clisp.org>
27378
27379         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
27380         from gl_HEADER_SYS_SOCKET.
27381         (gl_HEADER_SYS_SOCKET): Invoke it.
27382         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27383
27384 2008-09-28  Bruno Haible  <bruno@clisp.org>
27385
27386         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
27387         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
27388         Needed on OSF/1 4.0.
27389
27390 2008-09-28  Bruno Haible  <bruno@clisp.org>
27391
27392         Override open more carefully.
27393         * lib/open.c (orig_open): New function.
27394         (rpl_open): Use orig_open instead of open.
27395         * lib/fcntl.in.h: Add special invocation convention.
27396         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
27397         (gl_FUNC_OPEN): Invoke it.
27398
27399         Override freopen more carefully.
27400         * lib/freopen.c (orig_freopen): New function.
27401         (rpl_freopen): Use orig_freopen instead of freopen.
27402         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
27403         (gl_FUNC_FREOPEN): Invoke it.
27404
27405         Override fopen more carefully.
27406         * lib/fopen.c (orig_fopen): New function.
27407         (rpl_fopen): Use orig_fopen instead of fopen.
27408         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
27409         (gl_FUNC_FOPEN): Invoke it.
27410         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
27411
27412 2008-09-28  Bruno Haible  <bruno@clisp.org>
27413
27414         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
27415         SIGPIPE.
27416
27417 2008-09-28  Bruno Haible  <bruno@clisp.org>
27418
27419         * tests/test-sigaction.c (handler, main): Disable the check whether
27420         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
27421         glibc systems with LinuxThreads.
27422
27423 2008-09-28  Bruno Haible  <bruno@clisp.org>
27424
27425         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
27426
27427         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
27428         with AIX xlc.
27429         * lib/fcntl.in.h (open): Likewise.
27430         Reported by Rainer Tammer <tammer@tammer.net>.
27431
27432 2008-09-28  Bruno Haible  <bruno@clisp.org>
27433
27434         * modules/posix_spawnp-tests: New file.
27435         * tests/test-posix_spawn.c: New file.
27436         * tests/test-posix_spawn.in.sh: New file.
27437
27438         New module 'posix_spawnp'.
27439         * modules/posix_spawnp: New file.
27440         * lib/spawnp.c: New file, from GNU libc with modifications.
27441         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
27442
27443         New module 'posix_spawn'.
27444         * modules/posix_spawn: New file.
27445         * lib/spawn.c: New file, from GNU libc with modifications.
27446         * doc/posix-functions/posix_spawn.texi: Mention the new module.
27447
27448         New module 'posix_spawnattr_destroy'.
27449         * modules/posix_spawnattr_destroy: New file.
27450         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
27451         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
27452         module.
27453
27454         New module 'posix_spawnattr_setsigmask'.
27455         * modules/posix_spawnattr_setsigmask: New file.
27456         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
27457         modifications.
27458         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
27459         new module.
27460
27461         New module 'posix_spawnattr_getsigmask'.
27462         * modules/posix_spawnattr_getsigmask: New file.
27463         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
27464         modifications.
27465         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
27466         new module.
27467
27468         New module 'posix_spawnattr_setsigdefault'.
27469         * modules/posix_spawnattr_setsigdefault: New file.
27470         * lib/spawnattr_setdefault.c: New file, from GNU libc with
27471         modifications.
27472         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
27473         new module.
27474
27475         New module 'posix_spawnattr_getsigdefault'.
27476         * modules/posix_spawnattr_getsigdefault: New file.
27477         * lib/spawnattr_getdefault.c: New file, from GNU libc with
27478         modifications.
27479         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
27480         new module.
27481
27482         New module 'posix_spawnattr_setschedpolicy'.
27483         * modules/posix_spawnattr_setschedpolicy: New file.
27484         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
27485         modifications.
27486         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
27487         new module.
27488
27489         New module 'posix_spawnattr_getschedpolicy'.
27490         * modules/posix_spawnattr_getschedpolicy: New file.
27491         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
27492         modifications.
27493         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
27494         new module.
27495
27496         New module 'posix_spawnattr_setschedparam'.
27497         * modules/posix_spawnattr_setschedparam: New file.
27498         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
27499         modifications.
27500         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
27501         new module.
27502
27503         New module 'posix_spawnattr_getschedparam'.
27504         * modules/posix_spawnattr_getschedparam: New file.
27505         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
27506         modifications.
27507         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
27508         new module.
27509
27510         New module 'posix_spawnattr_setpgroup'.
27511         * modules/posix_spawnattr_setpgroup: New file.
27512         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
27513         modifications.
27514         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
27515         module.
27516
27517         New module 'posix_spawnattr_getpgroup'.
27518         * modules/posix_spawnattr_getpgroup: New file.
27519         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
27520         modifications.
27521         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
27522         module.
27523
27524         New module 'posix_spawnattr_setflags'.
27525         * modules/posix_spawnattr_setflags: New file.
27526         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
27527         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
27528         module.
27529
27530         New module 'posix_spawnattr_getflags'.
27531         * modules/posix_spawnattr_getflags: New file.
27532         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
27533         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
27534         module.
27535
27536         New module 'posix_spawnattr_init'.
27537         * modules/posix_spawnattr_init: New file.
27538         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
27539         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
27540         module.
27541
27542         New module 'posix_spawn_file_actions_destroy'.
27543         * modules/posix_spawn_file_actions_destroy: New file.
27544         * lib/spawn_faction_destroy.c: New file, from GNU libc with
27545         modifications.
27546         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
27547         the new module.
27548
27549         New module 'posix_spawn_file_actions_addopen'.
27550         * modules/posix_spawn_file_actions_addopen: New file.
27551         * lib/spawn_faction_addopen.c: New file, from GNU libc with
27552         modifications.
27553         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
27554         the new module.
27555
27556         New module 'posix_spawn_file_actions_adddup2'.
27557         * modules/posix_spawn_file_actions_adddup2: New file.
27558         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
27559         modifications.
27560         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
27561         the new module.
27562
27563         New module 'posix_spawn_file_actions_addclose'.
27564         * modules/posix_spawn_file_actions_addclose: New file.
27565         * lib/spawn_faction_addclose.c: New file, from GNU libc with
27566         modifications.
27567         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
27568         the new module.
27569
27570         New module 'posix_spawn_file_actions_init'.
27571         * modules/posix_spawn_file_actions_init: New file.
27572         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
27573         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
27574         new module.
27575
27576         New module 'posix_spawn-internal'.
27577         * modules/posix_spawn-internal: New file.
27578         * lib/spawn_int.h: New file, from GNU libc with modifications.
27579         * lib/spawni.c: New file, from GNU libc with modifications.
27580         * m4/posix_spawn.m4: New file.
27581
27582         New module 'spawn'.
27583         * modules/spawn: New file.
27584         * lib/spawn.in.h: New file, from GNU libc with modifications.
27585         * m4/spawn_h.m4: New file.
27586         * doc/posix-headers/spawn.texi: Mention the new module.
27587
27588 2008-09-28  Bruno Haible  <bruno@clisp.org>
27589
27590         * modules/sched-tests: New file.
27591         * tests/test-sched.c: New file.
27592
27593         New module 'sched'.
27594         * modules/sched: New file.
27595         * lib/sched.in.h: New file.
27596         * m4/sched_h.m4: New file.
27597         * doc/posix-headers/sched.texi: Mention the new module.
27598
27599 2008-09-27  Eric Blake  <ebb9@byu.net>
27600
27601         Fix previous patch, and tweak references to $0.
27602         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
27603         (func_version, func_gnulib_dir): Don't call this program
27604         gnulib-tool.
27605         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
27606         with using $0 in function.
27607         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
27608         (func_fatal_error): Reuse the name the user invoked us with.
27609
27610 2008-09-27  Bruno Haible  <bruno@clisp.org>
27611
27612         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
27613         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
27614         (gl_ICONV_H): Not here.
27615         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
27616         instead of assigning ICONV_H directly.
27617
27618         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
27619         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
27620         WCHAR_H directly.
27621
27622 2008-09-27  Bruno Haible  <bruno@clisp.org>
27623
27624         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
27625         * modules/arpa_inet (Depends-on): Add link-warning.
27626         (Makefile.am): Insert the definition of GL_LINK-WARNING.
27627         * modules/unistd (Makefile.am): Likewise.
27628
27629 2008-09-26  Bruno Haible  <bruno@clisp.org>
27630
27631         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
27632         variables.
27633         (func_version): Essentially copied from gnulib-tool.
27634         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
27635         func_readlink): Copied from gnulib-tool.
27636
27637 2008-09-26  Bruno Haible  <bruno@clisp.org>
27638
27639         * gnulib-tool (func_version): Change directory to $gnulib_dir before
27640         invoking git-version-gen.
27641
27642 2008-09-26  Bruno Haible  <bruno@clisp.org>
27643
27644         * posix-modules: Update to directory names changed on 2008-01-19.
27645         Remove commas in output before splitting into words. No more need to
27646         avoid 'ftruncate' since 2007-02-19.
27647
27648 2008-09-26  Bruno Haible  <bruno@clisp.org>
27649
27650         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
27651
27652 2008-09-26  Bruno Haible  <bruno@clisp.org>
27653
27654         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
27655         * modules/fwriteerror (Depends-on): Add errno.
27656
27657 2008-09-26  Bruno Haible  <bruno@clisp.org>
27658
27659         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
27660         * tests/test-vc-list-files-cvs.sh: Likewise.
27661
27662 2008-09-26  Bruno Haible  <bruno@clisp.org>
27663
27664         * doc/posix-headers/sys_resource.texi: Reorder items.
27665
27666 2008-09-26  Jim Meyering  <meyering@redhat.com>
27667
27668         fts: tweak inode comparison function
27669         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
27670         inode numbers, as documented.
27671
27672         fts: sort dirent entries on inode number before traversing
27673         This avoids a quadratic, seek-related performance penalty when
27674         operating on a directory containing many entries (measurable at 10k;
27675         3.5 hours at 2 million entries with a cold cache) on certain types
27676         of file systems, including ext3 and ext4, but not tmpfs.
27677         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
27678         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
27679         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
27680         (fs_handles_readdir_ordered_dirents_efficiently): New function.
27681         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
27682         (fts_build): Set the stat.st_ino member from D_INO.
27683         If it is likely to be useful, sort dirent entries on inode number.
27684
27685         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
27686         and the struct statfs.f_type member.
27687         * modules/fts (Depends-on): Add d-ino.
27688
27689 2008-09-26  Bruno Haible  <bruno@clisp.org>
27690
27691         * modules/sigpipe-die (Depends-on): Add sigpipe.
27692
27693         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
27694         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
27695         and GNULIB_STDIO_H_SIGPIPE are set.
27696         * lib/stdio-write.c: New file.
27697         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
27698         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27699         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27700         REPLACE_STDIO_WRITE_FUNCS.
27701         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
27702         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27703         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27704         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
27705         * modules/stdio (Files): Add lib/stdio-write.c.
27706         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
27707         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27708         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27709         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
27710         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
27711         REPLACE_FPRINTF_POSIX.
27712         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
27713         REPLACE_PRINTF_POSIX.
27714         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
27715         REPLACE_VFPRINTF_POSIX.
27716         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
27717         REPLACE_VPRINTF_POSIX.
27718         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
27719         SIGPIPE issue.
27720         * doc/posix-functions/fputc.texi: Likewise.
27721         * doc/posix-functions/fputs.texi: Likewise.
27722         * doc/posix-functions/fwrite.texi: Likewise.
27723         * doc/posix-functions/printf.texi: Likewise.
27724         * doc/posix-functions/putc.texi: Likewise.
27725         * doc/posix-functions/putchar.texi: Likewise.
27726         * doc/posix-functions/puts.texi: Likewise.
27727         * doc/posix-functions/vfprintf.texi: Likewise.
27728         * doc/posix-functions/vprintf.texi: Likewise.
27729
27730         * modules/safe-write (Depends-on): Add write.
27731
27732         * modules/sigpipe-tests: New file.
27733         * tests/test-sigpipe.c: New file.
27734         * tests/test-sigpipe.sh: New file.
27735
27736         * modules/write: New file.
27737         * lib/unistd.in.h: Include <sys/types.h>.
27738         (write): New declaration.
27739         * lib/write.c: New file.
27740         * m4/write.m4: New file.
27741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27742         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
27743         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
27744         GNULIB_WRITE, REPLACE_WRITE.
27745         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
27746         and the SIGPIPE issue.
27747
27748         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
27749         (raise): New declaration.
27750         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
27751         (ext_signal): New function.
27752         (rpl_raise): New function.
27753         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
27754         GNULIB_SIGNAL_H_SIGPIPE.
27755         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
27756         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
27757
27758         * modules/sigpipe: New file.
27759         * m4/sigpipe.m4: New file.
27760
27761 2008-09-25  Derek Price  <derek@ximbiot.com>
27762             Bruno Haible  <bruno@clisp.org>
27763
27764         * gnulib-tool (func_import): Report all license incompatibilities, not
27765         just the first one.
27766
27767 2008-09-25  Bruno Haible  <bruno@clisp.org>
27768
27769         * gnulib-tool (func_import): When computing the edits, consider not
27770         only the Makefile.ams that exist but also those that will be generated.
27771
27772 2008-09-25  Simon Josefsson  <simon@josefsson.org>
27773
27774         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
27775         fixes gnulib-tool --test warning about duplicate dependency.
27776
27777 2008-09-25  Bruno Haible  <bruno@clisp.org>
27778
27779         * gnulib-tool: Don't ask the user to perform edits in the generated
27780         Makefile.ams.
27781         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
27782         apply to the Makefile.am being generated.
27783         (func_emit_tests_Makefile_am): Execute edits that apply to the
27784         Makefile.am being generated.
27785         (func_import): Setup list of Makefile.am edits before emitting the
27786         Makefile.ams, not at the end.
27787         (func_create_testdir): Update.
27788         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
27789
27790 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27791
27792         * gnulib-tool (func_import): Store the --tests-base option in the
27793         comment in gnulib-cache.m4.
27794
27795 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
27796
27797         * NEWS: Document increased portability that sys_select now provides.
27798
27799         * lib/sys_select.in.h: Install select wrapper.
27800         * lib/sys_socket.in.h: Use more descriptive name when there is no
27801         select wrapper.
27802         * lib/winsock-select.c: New.
27803         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
27804         Require gl_HEADER_SYS_SOCKET.
27805         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
27806         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
27807         * tests/test-sys_select.c: Add functional tests.
27808
27809 2008-09-24  Eric Blake  <ebb9@byu.net>
27810
27811         open, fopen: close fd leak in last patch
27812         * lib/open.c (rpl_open): Close fd before returning error.
27813         * lib/fopen.c (rpl_fopen): Close fd before returning error.
27814         * doc/posix-functions/open.texi (open): Document that Irix also
27815         has the bug.
27816         * doc/posix-functions/fopen.texi (fopen): Likewise.
27817         Reported by Paolo Bonzini.
27818
27819 2008-09-24  Bruno Haible  <bruno@clisp.org>
27820
27821         Ensure that a filename ending in a slash cannot be used to access a
27822         non-directory.
27823         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
27824         to check whether it's really a directory.
27825         * lib/fopen.c: Include fcntl.h, unistd.h.
27826         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
27827         and fdopen().
27828         * modules/fopen (Depends-on): Add unistd.
27829         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
27830         * tests/test-fopen.c (main): Likewise.
27831         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
27832         * doc/posix-functions/fopen.texi: Likewise.
27833         Reported by Eric Blake.
27834
27835 2008-09-23  Eric Blake  <ebb9@byu.net>
27836
27837         c-stack: avoid compiler optimizations when provoking overflow
27838         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
27839         recursion harder to optimize, to ensure a stack overflow occurs.
27840         * tests/test-c-stack.c (recurse): Likewise.
27841         Borrowed from libsigsegv.
27842
27843         c-stack: work around Irix sigaltstack bug
27844         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
27845         whether sigaltstack uses wrong end of stack_t (copied in part from
27846         libsigsegv).
27847         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
27848         Irix bug, without requiring an over-allocation.
27849         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
27850         bug.
27851
27852         fopen: document mingw bug on directories
27853         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
27854         not allowing a stream visiting a directory, even though reading
27855         from such a stream is not portable.
27856
27857 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27858
27859         * lib/poll.c: Rewrite.
27860         * modules/poll: Depend on alloca.
27861
27862 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27863
27864         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
27865         instead define prototypes for a full set of wrappers.  Ensure
27866         that Cygwin does not use the compatibility code, which is only
27867         for MinGW.
27868         * lib/winsock.c: New.
27869         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
27870         * modules/sys_socket: Add lib/winsock.c.
27871
27872         * modules/poll-tests: Add errno and perror.
27873         * tests/test-poll.c: Use ioctl, not ioctlsocket.
27874
27875 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27876
27877         * tests/test-poll.c: Downgrade minimum needed Winsock version.
27878
27879 2008-09-23  Bruno Haible  <bruno@clisp.org>
27880
27881         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
27882         * doc/glibc-functions/*: Likewise.
27883
27884 2008-09-23  Simon Josefsson  <simon@josefsson.org>
27885
27886         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
27887         success.
27888
27889 2008-09-22  Eric Blake  <ebb9@byu.net>
27890             Bruno Haible  <bruno@clisp.org>
27891
27892         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
27893         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
27894         supply %A but mishandle pseudo-NaN.
27895         Reported by Simon Josefsson.
27896
27897 2008-09-21  Bruno Haible  <bruno@clisp.org>
27898
27899         * tests/test-lock.c (main): Tweak skip message.
27900         * tests/test-tls.c (main): Likewise.
27901
27902 2008-09-21  Bruno Haible  <bruno@clisp.org>
27903
27904         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
27905         whether 'struct sigaction' has sa_sigaction here...
27906         (gl_PREREQ_SIG_HANDLER_H): ... not here.
27907         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
27908
27909 2008-09-21  Bruno Haible  <bruno@clisp.org>
27910
27911         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
27912         section.
27913         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
27914         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
27915         the new section.
27916         (Support for obsolete systems lacking POSIX:2001): New section.
27917         (String handling <string.h>): Move strdup to the new section.
27918         Suggested by Simon Josefsson and Paolo Bonzini.
27919
27920 2008-09-21  Bruno Haible  <bruno@clisp.org>
27921
27922         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
27923         exponents in %e and %g results on 'long double'. Needed for mingw's
27924         improved *printf functions.
27925         * tests/test-vasprintf-posix.c (test_function): Likewise.
27926         * tests/test-snprintf-posix.h (test_function): Likewise.
27927         * tests/test-sprintf-posix.h (test_function): Likewise.
27928         Reported by Eric Blake.
27929
27930 2008-09-21  Bruno Haible  <bruno@clisp.org>
27931
27932         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
27933         * tests/test-sprintf-posix.h (test_function): Likewise.
27934
27935 2008-09-21  Bruno Haible  <bruno@clisp.org>
27936
27937         * modules/getpass (Depends-on): Add strdup-posix.
27938
27939         New module 'strdup-posix'.
27940         * modules/strdup-posix: New file.
27941         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
27942         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
27943         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27944         REPLACE_STRDUP.
27945         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
27946         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
27947         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27948         strdup-posix.
27949
27950         * modules/strdup (Depends-on): Remove malloc-posix.
27951
27952 2008-09-20  Bruno Haible  <bruno@clisp.org>
27953
27954         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
27955         Wildenhues.
27956
27957 2008-09-20  Bruno Haible  <bruno@clisp.org>
27958
27959         Ensure that wint_t gets defined on IRIX 5.3.
27960         * lib/wchar.in.h (wint_t): Define if not defined by the system.
27961         * lib/wctype.in.h (wint_t): Likewise.
27962         (__wctype_wint_t): Remove type.
27963         (isw*): Use wint_t instead of __wctype_wint_t.
27964         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
27965         * modules/wchar (Files): Add m4/wint_t.m4.
27966         (Makefile.am): Substitute HAVE_WINT_T.
27967         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
27968         * tests/test-wctype.c: Check that wint_t is defined.
27969         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
27970         * doc/posix-headers/wctype.texi: Likewise.
27971         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27972
27973 2008-09-18  Bruno Haible  <bruno@clisp.org>
27974
27975         * gnulib-tool (func_exit): Update comment.
27976
27977 2008-09-18  Simon Josefsson  <simon@josefsson.org>
27978
27979         * modules/getaddrinfo (Depends-on): Remove strdup, this module
27980         assumes strdup exists and does not depend on strdup to return
27981         ENOMEM on out of memory conditions.
27982
27983 2008-09-18  Bruno Haible  <bruno@clisp.org>
27984
27985         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
27986         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
27987         digits for the exponent.
27988
27989 2008-09-18  Jim Meyering  <meyering@redhat.com>
27990             Bruno Haible  <bruno@clisp.org>
27991
27992         * lib/vasnprintf.c (decimal_point_char): Define also if
27993         NEED_PRINTF_INFINITE_LONG_DOUBLE.
27994
27995 2008-09-16  Bruno Haible  <bruno@clisp.org>
27996         and Eric Blake  <ebb9@byu.net>
27997
27998         vasnprintf: support Irix 5.3
27999         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
28000         that mishandle long double infinity.
28001         Reported by Tom G. Christensen.
28002
28003 2008-09-16  Bruno Haible  <bruno@clisp.org>
28004
28005         * doc/glibc-functions/scandir.texi: Mention the function is missing on
28006         Solaris 9.
28007         * doc/glibc-functions/alphasort.texi: Likewise.
28008         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
28009
28010 2008-09-16  Jim Meyering  <meyering@redhat.com>
28011
28012         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
28013         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
28014         a umask modification leak out of a subshell.  Otherwise, the
28015         opensolaris /bin/sh would be accepted and thus cause unwarranted
28016         failures in the coreutils test suite.
28017
28018 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
28019
28020         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
28021         to succeed.
28022
28023 2008-09-16  Jim Meyering  <meyering@redhat.com>
28024
28025         avoid spurious test failure when library is built without ACL support
28026         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
28027         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
28028         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
28029         * tests/test-copy-acl.sh: Likewise.
28030
28031 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28032
28033         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
28034         based on character occurrence counts.
28035
28036 2008-09-15  Eric Blake  <ebb9@byu.net>
28037
28038         tests: avoid some compiler warnings
28039         * tests/test-memchr.c (main): Pass NULL indirectly.
28040         * tests/test-closein.c (main): Avoid unused variable.
28041
28042 2008-09-15  Bruno Haible  <bruno@clisp.org>
28043
28044         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
28045         are missing on OpenBSD 4.0 individually.
28046         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
28047
28048 2008-09-15  Bruno Haible  <bruno@clisp.org>
28049
28050         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
28051         * doc/posix-functions/strerror.texi: Mention also Cygwin.
28052         * doc/posix-functions/perror.texi: Likewise.
28053         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
28054         is missing.
28055         Reported by Eric Blake.
28056
28057         * lib/errno.in.h: Use replacement values >= 2000.
28058         Reported by Eric Blake.
28059
28060 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28061
28062         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
28063         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
28064         limit.
28065         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
28066         compareseq was aborted.
28067
28068 2008-09-14  Bruno Haible  <bruno@clisp.org>
28069
28070         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
28071         yvec_edit_count.
28072         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
28073         (fstrcmp_bounded): Simplify result computation accordingly.
28074
28075 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28076
28077         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
28078         (fstrcmp): Define in terms of fstrcmp_bounded.
28079         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
28080         lower_bound argument.
28081         Return quickly if the result is certainly < lower_bound.
28082         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
28083
28084 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28085
28086         * lib/diffseq.h (EARLY_ABORT): New macro.
28087         (compareseq): Change return type to bool. Return true when EARLY_ABORT
28088         evaluates to true.
28089
28090 2008-09-14  Bruno Haible  <bruno@clisp.org>
28091
28092         * modules/perror-tests: New file.
28093         * tests/test-perror.sh: New file.
28094         * tests/test-perror.c: New file.
28095
28096         New module 'perror'.
28097         * lib/stdio.in.h (perror): New declaration.
28098         * lib/perror.c: New file.
28099         * m4/perror.m4: New file.
28100         * modules/perror: New file.
28101         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
28102         * doc/posix-functions/perror.texi: Mention the perror module.
28103         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
28104         REPLACE_PERROR.
28105         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
28106         REPLACE_PERROR.
28107
28108 2008-09-14  Bruno Haible  <bruno@clisp.org>
28109
28110         * modules/stdio (Makefile.am): Reorder to match the order in
28111         lib/stdio.in.h.
28112         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28113
28114 2008-09-13  Bruno Haible  <bruno@clisp.org>
28115
28116         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
28117
28118 2008-09-13  Bruno Haible  <bruno@clisp.org>
28119
28120         Extend strerror to cover the added errno values.
28121         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
28122         (rpl_strerror): Provide error messages for the added errno values and
28123         for the WSA* values.
28124         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
28125         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
28126         strerror.
28127         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
28128         * modules/strerror (Depends-on): Add errno.
28129         * doc/posix-functions/strerror.texi: Document the change.
28130         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
28131         and EOVERFLOW.
28132
28133 2008-09-13  Bruno Haible  <bruno@clisp.org>
28134
28135         * modules/EOVERFLOW: Remove file.
28136         * m4/eoverflow.m4: Remove file.
28137         * modules/EOVERFLOW-tests: Remove file.
28138         * tests/test-EOVERFLOW.c: Remove file.
28139         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
28140         * modules/ftell (Depends-on): Likewise.
28141         * modules/getdelim (Depends-on): Likewise.
28142         * modules/getugroups (Depends-on): Likewise.
28143         * modules/poll (Depends-on): Likewise.
28144         * modules/snprintf (Depends-on): Likewise.
28145         * modules/sprintf-posix (Depends-on): Likewise.
28146         * modules/vasnprintf (Depends-on): Likewise.
28147         * modules/vasprintf (Depends-on): Likewise.
28148         * modules/vfprintf-posix (Depends-on): Likewise.
28149         * modules/vsnprintf (Depends-on): Likewise.
28150         * modules/vsprintf-posix (Depends-on): Likewise.
28151         * modules/xvasprintf (Depends-on): Likewise.
28152         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28153         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
28154         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
28155         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
28156         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28157         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
28158         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
28159         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
28160         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28161         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
28162         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
28163         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
28164         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28165         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
28166         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
28167         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
28168         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28169         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
28170         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
28171         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
28172         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28173         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
28174         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
28175         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
28176         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
28177         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28178         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
28179         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
28180         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
28181         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
28182         * MODULES.html.sh: Remove EOVERFLOW.
28183         * NEWS: Mention the change.
28184
28185 2008-09-13  Bruno Haible  <bruno@clisp.org>
28186
28187         * modules/errno-tests: New file.
28188         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
28189
28190         * lib/errno.in.h: New file.
28191         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
28192         * modules/errno: New file.
28193         * doc/posix-headers/errno.texi: Update documentation.
28194         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
28195
28196 2008-09-13  Bruno Haible  <bruno@clisp.org>
28197
28198         * tests/test-poll.c: Use #if for native Windows, rather than testing
28199         __MSVCRT__.
28200
28201 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28202             Bruno Haible  <bruno@clisp.org>
28203
28204         * lib/glob.c: Don't include <pwd.h> on native Windows.
28205         (WINDOWS32): New macro.
28206         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
28207
28208 2008-09-13  Bruno Haible  <bruno@clisp.org>
28209
28210         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
28211         (ETIMEDOUT): Remove macro.
28212         (glthread_cond_timedwait_multithreaded): New declaration.
28213         (glthread_cond_timedwait): Use it.
28214         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
28215         (glthread_cond_timedwait_multithreaded): New function.
28216
28217 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28218
28219         * modules/poll-tests: Do not check for io.h.
28220         * tests/test-poll.c: Check for __MSVCRT__ instead.
28221
28222 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28223
28224         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
28225         * modules/poll-tests: Add inet_pton, stdbool, sockets.
28226         * tests/test-poll.c: Use them.  Use _pipe on Windows.
28227
28228 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28229
28230         * modules/poll-tests: New.
28231         * tests/test-poll.c: New.
28232
28233 2008-09-12  Eric Blake  <ebb9@byu.net>
28234
28235         frexp: test for NetBSD failure on -0.0
28236         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
28237         not all, bugs from NetBSD 3.0 have been fixed.
28238         * doc/posix-functions/frexp.texi (frexp): Document bug.
28239         Reported by Thomas Klausner.
28240
28241         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
28242         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
28243         literal -0.0.
28244         Reported by Jonathan C. Patschke <jp@centtech.com>.
28245
28246 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28247
28248         * lib/glthread/cond.h: Use dummy implementation also if
28249         USE_WIN32_THREADS.
28250
28251 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28252
28253         * modules/fnmatch-posix (License): Change to LGPLv2+.
28254         * modules/fnmatch-gnu (License): Likewise.
28255
28256 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28257
28258         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
28259
28260 2008-09-11  Jim Meyering  <meyering@redhat.com>
28261
28262         * users.txt: Add gtk-vnc.
28263
28264 2008-09-08  Simon Josefsson  <simon@josefsson.org>
28265
28266         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
28267         rotate amounts.
28268
28269         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
28270         required for 16-bit and 8-bit rotates.
28271         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
28272         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
28273         UINT8_MAX instead of hard-coded constants.
28274         Suggested by Paul Eggert.
28275
28276 2008-09-07  Bruno Haible  <bruno@clisp.org>
28277
28278         * tests/test-striconveh.c (main): Check behaviour when converting from
28279         UTF-7.
28280
28281         Make striconveh work better with stateful encodings.
28282         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
28283         that iconv does not increment the inptr when returning -1/EINVAL.
28284
28285 2008-09-07  Bruno Haible  <bruno@clisp.org>
28286
28287         * build-aux/config.rpath: Update according to libtool-2.2.6.
28288         * build-aux/config.libpath: Likewise.
28289
28290 2008-09-06  Bruno Haible  <bruno@clisp.org>
28291
28292         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
28293         * lib/freadptr.c (freadptr): Likewise.
28294         * lib/freadseek.c (freadptrinc): Likewise.
28295         Reported by Simon Josefsson.
28296
28297 2008-09-06  Bruno Haible  <bruno@clisp.org>
28298
28299         * modules/freadptr (License): Change to LGPLv2+.
28300         * modules/freadseek (License): Likewise.
28301         Suggested by Eric Blake.
28302
28303         * modules/memchr2 (License): Change to LGPLv2+.
28304         Approved by Eric Blake.
28305
28306 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28307             Bruno Haible  <bruno@clisp.org>
28308
28309         Make gnulib-tool work with native 'sed' on AIX.
28310         * gnulib-tool (sed_noop): New variable.
28311         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
28312         func_add_or_update, func_create_testdir): Use it to initialize sed
28313         script variables.
28314         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28315
28316 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
28317             Bruno Haible  <bruno@clisp.org>
28318
28319         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
28320         also works after #include directives.
28321
28322 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
28323
28324         getdate.y: reject an out-of-range timezone value
28325         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
28326         the range [-24...+24].  When specified with only one or two digits,
28327         * tests/test-getdate.c: Tests for the fix.
28328         * doc/getdate.texi: Document this change.
28329
28330 2008-09-03  Bruno Haible  <bruno@clisp.org>
28331
28332         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
28333
28334 2008-09-02  Simon Josefsson  <simon@josefsson.org>
28335
28336         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
28337         <bruce.korb@gmail.com> with ideas from Ben Pfaff
28338         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
28339         Blake <ebb9@byu.net>.
28340
28341         * tests/test-bitrotate.c: Add more test vectors.
28342
28343 2008-09-02  Eric Blake  <ebb9@byu.net>
28344
28345         vasnprintf-posix: handle large precision via %.*d
28346         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
28347         when handling it ourselves.
28348         * tests/test-vasnprintf-posix.c (test_function): Add test.
28349         * tests/test-snprintf-posix.h (test_function): Likewise.
28350         * tests/test-sprintf-posix.h (test_function): Likewise.
28351         * tests/test-vasprintf-posix.c (test_function): Likewise.
28352         Reported by Alain Guibert.
28353
28354 2008-09-01  Eric Blake  <ebb9@byu.net>
28355
28356         c-stack: make configure-time check more robust
28357         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
28358         successful sigaction call.
28359         Reported by Tom G. Christensen.
28360
28361 2008-09-01  Bruno Haible  <bruno@clisp.org>
28362
28363         New module 'findprog-lgpl'.
28364         * modules/findprog-lgpl: New file.
28365         * lib/findprog-lgpl.c: New file.
28366         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
28367         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
28368         to decide whether to use strdup or xstrdup, concatenated_filename or
28369         xconcatenated_filename.
28370
28371 2008-09-01  Bruno Haible  <bruno@clisp.org>
28372
28373         Split module 'concat-filename' into 'concat-filename' (LGPL) and
28374         'xconcat-filename' (GPL).
28375         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
28376         (License): Change to LGPLv2+.
28377         * modules/xconcat-filename: New file.
28378         * lib/concat-filename.h (concatenated_filename): Change specification.
28379         (xconcatenated_filename): New declaration.
28380         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
28381         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
28382         memory situations.
28383         * lib/xconcat-filename.c: New file.
28384         * NEWS: Mention the change.
28385         * lib/findprog.c: Include concat-filename.h, not filename.h.
28386         (find_in_path): Use xconcatenated_filename instead of
28387         concatenated_filename.
28388         * lib/javacomp.c: Include concat-filename.h, not filename.h.
28389         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
28390         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
28391         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
28392         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
28393         instead of concatenated_filename.
28394         * lib/javaexec.c: Include concat-filename.h, not filename.h.
28395         (execute_java_class): Use xconcatenated_filename instead of
28396         concatenated_filename.
28397         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
28398         * modules/javacomp (Depends-on): Likewise.
28399         * modules/javaexec (Depends-on): Likewise.
28400
28401 2008-09-01  Bruno Haible  <bruno@clisp.org>
28402
28403         Split module 'filename' into 'filename' and 'concat-filename'.
28404         * modules/filename: Keep only lib/filename.h.
28405         (License): Change to LGPLv2+.
28406         * modules/concat-filename: New file, extracted from modules/filename.
28407         * lib/filename.h (concatenated_filename): Remove declaration.
28408         * lib/concat-filename.h: New file, extracted from lib/filename.h.
28409         * lib/concat-filename.c: Include concat-filename.h.
28410         * NEWS: Mention the change.
28411
28412 2008-09-01  Simon Josefsson  <simon@josefsson.org>
28413
28414         * lib/bitrotate.h (rotl8, rotr8): Add.
28415
28416         * modules/bitrotate (configure.ac): Need
28417         AC_REQUIRE([AC_C_INLINE]).
28418         (Description): Mention stdint.h.  Reported by Bruno Haible
28419         <bruno@clisp.org>.
28420
28421         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
28422         Paolo Bonzini <bonzini@gnu.org>.
28423
28424 2008-08-31  Bruno Haible  <bruno@clisp.org>
28425
28426         Assume Solaris specific bi-arch conventions on Solaris systems.
28427         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
28428         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
28429         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
28430         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
28431         like acl_libdirstem.
28432         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
28433         acl_libdirstem.
28434         * NEWS: Mention the change.
28435         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
28436
28437 2008-08-31  Jim Meyering  <meyering@redhat.com>
28438
28439         * lib/strftime.h: Add comments describing the two added arguments.
28440
28441         remove duplicate #include directives
28442         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
28443         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
28444
28445 2008-08-31  Bruno Haible  <bruno@clisp.org>
28446
28447         New module 'sigpipe-die'.
28448         * modules/sigpipe-die: New file.
28449         * lib/sigpipe-die.h: New file.
28450         * lib/sigpipe-die.c: New file.
28451         * MODULES.html.sh (Signal handling): Add sigpipe-die.
28452
28453 2008-08-31  Bruno Haible  <bruno@clisp.org>
28454
28455         Don't override previously installed signal handlers.
28456         * lib/fatal-signal.c (saved_sigactions): New variable.
28457         (uninstall_handlers): Reset the signal to the saved handler, not
28458         to SIG_DFL (except when ignored).
28459         (install_handlers): Save the previous handlers.
28460
28461 2008-08-30  Bruno Haible  <bruno@clisp.org>
28462
28463         * gnulib-tool (func_reset_sigpipe): New function.
28464         (func_get_automake_snippet, func_modules_transitive_closure,
28465         func_import): Invoke it before a join command that reads from stdin,
28466         to avoid "echo: write error: Broken pipe" error messages on stderr.
28467         Reported by Sam Steingold <sds@gnu.org>.
28468
28469 2008-08-30  Bruno Haible  <bruno@clisp.org>
28470
28471         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
28472         Code copied from m4/open.m4.
28473         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
28474         access and the filename ends in a slash. Code copied from lib/open.c.
28475         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
28476         * tests/test-fopen.c (main): Check against bug with trailing slash.
28477
28478 2008-08-29  Bruno Haible  <bruno@clisp.org>
28479
28480         Avoid some "gcc -pedantic" warnings.
28481         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
28482         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
28483         * lib/dirent.in.h: Likewise.
28484         * lib/fcntl.in.h: Likewise.
28485         * lib/float.in.h: Likewise.
28486         * lib/iconv.in.h: Likewise.
28487         * lib/inttypes.in.h: Likewise.
28488         * lib/locale.in.h: Likewise.
28489         * lib/math.in.h: Likewise.
28490         * lib/netinet_in.in.h: Likewise.
28491         * lib/search.in.h: Likewise.
28492         * lib/signal.in.h: Likewise.
28493         * lib/stdarg.in.h: Likewise.
28494         * lib/stdint.in.h: Likewise.
28495         * lib/stdio.in.h: Likewise.
28496         * lib/stdlib.in.h: Likewise.
28497         * lib/string.in.h: Likewise.
28498         * lib/strings.in.h: Likewise.
28499         * lib/sys_select.in.h: Likewise.
28500         * lib/sys_socket.in.h: Likewise.
28501         * lib/sys_stat.in.h: Likewise.
28502         * lib/sys_time.in.h: Likewise.
28503         * lib/sysexits.in.h: Likewise.
28504         * lib/time.in.h: Likewise.
28505         * lib/unistd.in.h: Likewise.
28506         * lib/wchar.in.h: Likewise.
28507         * lib/wctype.in.h: Likewise.
28508         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
28509         * modules/fchdir (Makefile.am): Likewise.
28510         * modules/fcntl (Makefile.am): Likewise.
28511         * modules/float (Makefile.am): Likewise.
28512         * modules/iconv_open (Makefile.am): Likewise.
28513         * modules/inttypes (Makefile.am): Likewise.
28514         * modules/locale (Makefile.am): Likewise.
28515         * modules/math (Makefile.am): Likewise.
28516         * modules/netinet_in (Makefile.am): Likewise.
28517         * modules/search (Makefile.am): Likewise.
28518         * modules/signal (Makefile.am): Likewise.
28519         * modules/stdarg (Makefile.am): Likewise.
28520         * modules/stdint (Makefile.am): Likewise.
28521         * modules/stdio (Makefile.am): Likewise.
28522         * modules/stdlib (Makefile.am): Likewise.
28523         * modules/string (Makefile.am): Likewise.
28524         * modules/strings (Makefile.am): Likewise.
28525         * modules/sys_select (Makefile.am): Likewise.
28526         * modules/sys_socket (Makefile.am): Likewise.
28527         * modules/sys_stat (Makefile.am): Likewise.
28528         * modules/sys_time (Makefile.am): Likewise.
28529         * modules/sysexits (Makefile.am): Likewise.
28530         * modules/time (Makefile.am): Likewise.
28531         * modules/unistd (Makefile.am): Likewise.
28532         * modules/wchar (Makefile.am): Likewise.
28533         * modules/wctype (Makefile.am): Likewise.
28534         Reported by Reuben Thomas <rrt@sc3d.org>.
28535
28536 2008-08-29  Bruno Haible  <bruno@clisp.org>
28537
28538         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
28539         any more.
28540
28541 2008-08-29  Simon Josefsson  <simon@josefsson.org>
28542
28543         * MODULES.html.sh (Misc): Add bitrotate.
28544
28545         * modules/bitrotate: New file.
28546
28547         * lib/bitrotate.h: New file.
28548
28549         * modules/bitrotate-tests: New file.
28550
28551         * tests/test-bitrotate.c: New file.
28552
28553         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
28554         on the bitrotate module.
28555
28556         * lib/arctwo.c: Use new bitrotate module.
28557
28558 2008-08-29  Jim Meyering  <meyering@redhat.com>
28559
28560         bootstrap: merge changes from coreutils
28561         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
28562         of copied files.  Remove a kludge, now that this is fixed.
28563         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
28564         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
28565         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
28566
28567 2008-08-29  Bruno Haible  <bruno@clisp.org>
28568
28569         * MODULES.html.sh: Remove --cvs-urls option.
28570
28571 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
28572
28573         maint.mk: adjust to file name change
28574         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
28575
28576 2008-08-28  Jim Meyering  <meyering@redhat.com>
28577
28578         * modules/getndelim2 (License): Relicense to LGPLv2+.
28579         Approved by Richard Stallman for the version of 1995, and by
28580         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
28581
28582 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
28583
28584         * lib/getdelim.c (flockfile, funlockfile): Make all of them
28585         dummy if one is not available.  Do not touch them if
28586         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
28587         (getc_maybe_unlocked): New.
28588         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
28589
28590 2008-08-26  Eric Blake  <ebb9@byu.net>
28591
28592         doc/INSTALL: resync from autoconf
28593         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
28594         (INSTALL_PRELUDE): Delete; this is done more efficiently by
28595         moving...
28596         * install.texi [!autoconf]: ...here.  Resync from autoconf.
28597         * INSTALL: Regenerate.
28598         * INSTALL.ISO: New file.
28599         * INSTALL.UTF-8: Likewise.
28600
28601 2008-08-26  Jim Meyering  <meyering@redhat.com>
28602
28603         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
28604         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
28605         these definitions conditional, so that they may be overridden, too.
28606
28607 2008-08-26  Bruno Haible  <bruno@clisp.org>
28608
28609         Generate INSTALL file variants with prettier quotes.
28610         * doc/Makefile (INSTALL_PRELUDE): New macro.
28611         (INSTALL): Use it.
28612         (INSTALL.ISO, INSTALL.UTF-8): New rules.
28613
28614 2008-08-26  Bruno Haible  <bruno@clisp.org>
28615
28616         Run makeinfo in an English locale.
28617         * doc/Makefile (MAKEINFO): New variable.
28618
28619 2008-08-26  Bruno Haible  <bruno@clisp.org>
28620
28621         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
28622         Suggested by Eric Blake.
28623
28624 2008-08-25  Bruno Haible  <bruno@clisp.org>
28625
28626         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
28627
28628 2008-08-25  Eric Blake  <ebb9@byu.net>
28629
28630         c-stack: test that stack overflow can be caught
28631         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
28632         that platform allows handling stack overflow; at least OS/2 EMX
28633         has sigaltstack, but crashes before transferring control to
28634         handler on stack overflow.
28635         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
28636         check for HAVE_STACK_OVERFLOW_HANDLING.
28637         Reported by Elbert Pol.
28638
28639 2008-08-25  Bruno Haible  <bruno@clisp.org>
28640
28641         * doc/posix-functions/strftime.texi: Fix description of strftime
28642         module.
28643
28644 2008-08-24  Bruno Haible  <bruno@clisp.org>
28645
28646         * tests/uniwidth/test-uc_width2.c: New file.
28647         * tests/uniwidth/test-uc_width2.sh: New file.
28648         * modules/uniwidth/width-tests (Files): Add the new files.
28649         (TESTS): Add uniwidth/test-uc_width2.sh.
28650         (TESTS_ENVIRONMENT): New variable.
28651         (check_PROGRAMS): Add test-uc_width2.
28652         (test_uc_width2_SOURCES): New variable.
28653
28654         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
28655         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
28656         not 0x00AB.
28657         Reported by Alexander V. Lukyanov <lav@netis.ru>.
28658
28659 2008-08-22  Eric Blake  <ebb9@byu.net>
28660
28661         test-lock, test-tls: mention why a test is skipped
28662         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
28663         skipped.
28664         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
28665
28666         count-one-bits: relax license
28667         * modules/count-one-bits (License): Relicense to LGPLv2+.
28668         Suggested by Ludovic Courtès, approved by Ben Pfaff.
28669
28670 2008-08-22  Andreas Schwab  <schwab@suse.de>
28671
28672         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
28673         Remove spurious space in assignment.
28674
28675 2008-08-21  Simon Josefsson  <simon@josefsson.org>
28676
28677         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
28678         Paul Eggert <eggert@CS.UCLA.EDU>.
28679
28680 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
28681
28682         * modules/gettext: Add m4/threadlib.m4.
28683
28684 2008-08-19  Eric Blake  <ebb9@byu.net>
28685
28686         test-c-stack: fix compilation failure on FreeBSD 5.0
28687         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
28688         headers before <sys/resource.h>.
28689         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
28690         the bug.
28691         Reported by Nelson H. F. Beebe.
28692
28693         strverscmp: migrate from "strverscmp.h" to <string.h>
28694         * modules/string (Makefile.am): Add new hooks.
28695         * modules/strverscmp (Files): Remove strverscmp.h.
28696         (Depends-on): Add string.
28697         (configure.ac): Add indicator.
28698         (Include): Mention new header.
28699         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
28700         defaults.
28701         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
28702         results.
28703         * lib/strverscmp.h: Delete.
28704         * lib/string.in.h (strverscmp): Provide declaration, when needed.
28705         * tests/test-strverscmp.c (includes): Adjust client.
28706         * lib/check-version.c (includes): Likewise.
28707         * NEWS: Document the change.
28708
28709         strverscmp: add unit test
28710         * modules/strverscmp-tests: New file.
28711         * tests/test-strverscmp.c: Likewise.
28712
28713 2008-08-19  Simon Josefsson  <simon@josefsson.org>
28714
28715         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
28716         regarding Windows crypto stuff, from Mono.
28717
28718 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
28719
28720         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
28721         if present, for intel RND.  Return error on failures.
28722
28723 2008-08-18  Ben Pfaff  <blp@gnu.org>
28724
28725         gitlog-to-changelog: give better diagnostic for failed pipe-open
28726         * build-aux/gitlog-to-changelog: Improve error message: suggest
28727         that the version of Git may be too old.
28728
28729 2008-08-18  Simon Josefsson  <simon@josefsson.org>
28730
28731         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
28732         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
28733
28734 2008-08-18  Bruno Haible  <bruno@clisp.org>
28735
28736         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
28737         pthread_in_use().
28738
28739 2008-08-18  Bruno Haible  <bruno@clisp.org>
28740
28741         * lib/glthread/threadlib.c: Include <pthread.h>.
28742
28743 2008-08-18  Bruno Haible  <bruno@clisp.org>
28744
28745         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
28746         glthread_recursive_lock_* macros.
28747         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
28748         Fix syntax error.
28749
28750 2008-08-18  Bruno Haible  <bruno@clisp.org>
28751
28752         * lib/glthread/thread.c: Avoid forcing a context switch right after
28753         thread creation.
28754
28755 2008-08-17  Bruno Haible  <bruno@clisp.org>
28756
28757         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
28758         * lib/glthread/thread.h: Provide Win32 specific implementation.
28759         * modules/thread (Files): Add lib/glthread/thread.c.
28760         (Depends-on): Add lock.
28761         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
28762
28763 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28764
28765         New module 'yield'.
28766         * modules/yield: New file.
28767         * lib/glthread/yield.h: New file.
28768         * m4/yield.m4: New file.
28769         * MODULES.html.sh (Multithreading): Add yield.
28770
28771 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28772
28773         New module 'thread'.
28774         * modules/thread: New file.
28775         * lib/glthread/thread.h: New file.
28776         * m4/thread.m4: New file.
28777         * MODULES.html.sh (Multithreading): Add thread.
28778
28779 2008-08-17  Bruno Haible  <bruno@clisp.org>
28780
28781         * lib/glthread/lock.h: Include <stdlib.h> always.
28782         * lib/glthread/tls.h: Likewise.
28783         * lib/glthread/cond.h: Likewise.
28784
28785 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28786
28787         New module 'cond'.
28788         * modules/cond: New file.
28789         * lib/glthread/cond.h: New file.
28790         * lib/glthread/cond.c: New file.
28791         * m4/cond.m4: New file.
28792         * MODULES.html.sh (Multithreading): Add cond.
28793
28794 2008-08-16  Eric Blake  <ebb9@byu.net>
28795
28796         c-stack: fix regression on Irix 5.3 from 2008-06-21
28797         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
28798         sa_sigaction...
28799         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
28800         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
28801         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
28802         * modules/signal (Makefile.am): Use the value.
28803         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
28804         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
28805         * doc/posix-headers/signal.texi (signal.h): Document this
28806         portability issue.
28807         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
28808         Reported by Tom G. Christensen.
28809
28810 2008-08-17  Bruno Haible  <bruno@clisp.org>
28811
28812         New module 'threadlib'.
28813         * modules/threadlib: New file.
28814         * lib/glthread/threadlib.c: New file, extracted from
28815         lib/glthread/lock.c.
28816         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
28817         functions.
28818         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
28819         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
28820         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
28821         macros.
28822         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
28823         (gl_DISABLE_THREADS): Remove macro.
28824         * modules/lock (Files): Remove build-aux/config.rpath.
28825         (Depends-on): Remove havelib. Add threadlib.
28826         (configure.ac-early): Remove section.
28827         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
28828         * modules/tls (Depends-on): Remove lock. Add threadlib.
28829         (Link): New section, copied from threadlib.
28830         * MODULES.html.sh (Multithreading): Add threadlib.
28831
28832 2008-08-14  Bruno Haible  <bruno@clisp.org>
28833
28834         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
28835         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
28836         glthread_rwlock_unlock, glthread_rwlock_destroy,
28837         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
28838         glthread_recursive_lock_destroy): Define as macros always.
28839         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
28840         glthread_lock_lock.
28841         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
28842         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
28843         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
28844         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
28845         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
28846         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
28847         (glthread_recursive_lock_lock_func): Renamed from
28848         glthread_recursive_lock_lock.
28849         (glthread_recursive_lock_unlock_func): Renamed from
28850         glthread_recursive_lock_unlock.
28851         (glthread_recursive_lock_destroy_func): Renamed from
28852         glthread_recursive_lock_destroy.
28853
28854 2008-08-14  Bruno Haible  <bruno@clisp.org>
28855
28856         * lib/glthread/lock.h: Renamed from lib/lock.h.
28857         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
28858         * lib/glthread/tls.h: Renamed from lib/tls.h.
28859         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
28860         * lib/fstrcmp.c: Update includes.
28861         * lib/strsignal.c: Update includes.
28862         * modules/lock (Files, Makefile.am): Update.
28863         (Include): Change to "glthread/lock.h".
28864         * modules/tls (Files, Makefile.am): Update.
28865         (Include): Change to "glthread/tls.h".
28866         * tests/test-lock.c: Update includes.
28867         * tests/test-tls.c: Update includes.
28868         * NEWS: Mention the renamed header files.
28869
28870 2008-08-11  Jim Meyering  <meyering@redhat.com>
28871
28872         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
28873
28874 2008-08-11  Eric Blake  <ebb9@byu.net>
28875
28876         test-c-stack: avoid C99-ism
28877         * tests/test-c-stack.c (main): Fix whitespace, move declaration
28878         before statement.
28879         Reported by Alain Guibert.
28880
28881 2008-08-10  Jim Meyering  <meyering@redhat.com>
28882
28883         ensure that return value of uinttostr et al are not ignored
28884         * lib/inttostr.h (__GNUC_PREREQ): Define.
28885         (__attribute_warn_unused_result__): Define.
28886         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
28887
28888 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
28889
28890         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
28891         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
28892
28893 2008-08-07  Jim Meyering  <meyering@redhat.com>
28894
28895         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
28896
28897         * modules/mkstemp (License): Relicense under LGPLv2+.
28898         * modules/tempname (License): Likewise.
28899
28900 2008-08-06  Bruno Haible  <bruno@clisp.org>
28901
28902         * lib/poll.c (poll): Further micro-optimization.
28903
28904 2008-08-06  Jim Meyering  <meyering@redhat.com>
28905
28906         inet_pton.c: use locale-independent tolower
28907         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
28908         (inet_pton6): Use c_tolower rather than tolower.
28909         * modules/inet_pton (Depends-on): Add c-ctype.
28910
28911 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
28912
28913         * lib/poll.c (poll): Avoid division when timeout is 0, cache
28914         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
28915
28916 2008-08-06  Jim Meyering  <meyering@redhat.com>
28917
28918         * modules/inet_pton (License): Relicense under LGPLv2+.
28919
28920 2008-08-03  Bruno Haible  <bruno@clisp.org>
28921
28922         Additional non-aborting API for lock and tls.
28923         * lib/lock.h: Include <errno.h>.
28924         (glthread_lock_init): New macro/function.
28925         (gl_lock_init): Define as wrapper around glthread_lock_init.
28926         (glthread_lock_lock): New macro/function.
28927         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
28928         (glthread_lock_unlock): New macro/function.
28929         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
28930         (glthread_lock_destroy): New macro/function.
28931         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
28932         (glthread_rwlock_init): New macro/function.
28933         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
28934         (glthread_rwlock_rdlock): New macro/function.
28935         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
28936         (glthread_rwlock_wrlock): New macro/function.
28937         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
28938         (glthread_rwlock_unlock): New macro/function.
28939         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
28940         (glthread_rwlock_destroy): New macro/function.
28941         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
28942         (glthread_recursive_lock_init): New macro/function.
28943         (gl_recursive_lock_init): Define as wrapper around
28944         glthread_recursive_lock_init.
28945         (glthread_recursive_lock_lock): New macro/function.
28946         (gl_recursive_lock_lock): Define as wrapper around
28947         glthread_recursive_lock_lock.
28948         (glthread_recursive_lock_unlock): New macro/function.
28949         (gl_recursive_lock_unlock): Define as wrapper around
28950         glthread_recursive_lock_unlock.
28951         (glthread_recursive_lock_destroy): New macro/function.
28952         (gl_recursive_lock_destroy): Define as wrapper around
28953         glthread_recursive_lock_destroy.
28954         (glthread_once): New macro/function.
28955         (gl_once): Define as wrapper around glthread_once.
28956         Update function declarations.
28957         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
28958         glthread_rwlock_init. Return error code.
28959         (glthread_rwlock_rdlock_multithreaded): Renamed from
28960         glthread_rwlock_rdlock. Return error code.
28961         (glthread_rwlock_wrlock_multithreaded): Renamed from
28962         glthread_rwlock_wrlock. Return error code.
28963         (glthread_rwlock_unlock_multithreaded): Renamed from
28964         glthread_rwlock_unlock. Return error code.
28965         (glthread_rwlock_destroy_multithreaded): Renamed from
28966         glthread_rwlock_destroy. Return error code.
28967         (glthread_recursive_lock_init_multithreaded): Renamed from
28968         glthread_recursive_lock_init. Return error code.
28969         (glthread_recursive_lock_lock_multithreaded): Renamed from
28970         glthread_recursive_lock_lock. Return error code.
28971         (glthread_recursive_lock_unlock_multithreaded): Renamed from
28972         glthread_recursive_lock_unlock. Return error code.
28973         (glthread_recursive_lock_destroy_multithreaded): Renamed from
28974         glthread_recursive_lock_destroy. Return error code.
28975         (glthread_once_call): Make static.
28976         (glthread_once_multithreaded): Renamed from glthread_once.
28977         * lib/tls.h: Include <errno.h>.
28978         (glthread_tls_key_init): New macro/function.
28979         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
28980         (glthread_tls_set): New macro/function.
28981         (gl_tls_set): Define as wrapper around glthread_tls_set.
28982         (glthread_tls_key_destroy): New macro/function.
28983         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
28984         Update function declarations.
28985         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
28986         glthread_tls_get.
28987         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
28988
28989 2008-08-04  Eric Blake  <ebb9@byu.net>
28990
28991         gnumakefile: use space, not TAB, outside of targets
28992         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
28993
28994 2008-08-02  Jim Meyering  <meyering@redhat.com>
28995
28996         getdate.y: avoid locale-dependent date parsing failure
28997         In Turkish locales, getdate would fail to recognize keywords
28998         containing a lowercase "i".  The solution is not to rely on
28999         locale-sensitive case-conversion.
29000         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
29001         (lookup_word): Use c_toupper in place of toupper.
29002         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
29003         Reported by Vefa Bicakci <bicave@superonline.com> in
29004         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
29005         * modules/getdate (Depends-on): Add c-ctype.
29006
29007 2008-08-02  Bruno Haible  <bruno@clisp.org>
29008
29009         * gnulib-tool (func_import): When updating or creating a .gitignore
29010         file, prepend each added line with a slash, and ignore leading slashes
29011         from the existing lines.
29012         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
29013
29014 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29015
29016         Portability fix for GNU make 3.79.1.
29017         * top/GNUmakefile: Avoid 'else COND', which older GNU make
29018         versions do not understand.
29019
29020 2008-08-01  Bruno Haible  <bruno@clisp.org>
29021
29022         Work around bug of HP-UX 10.20 cc with -0.0 literal.
29023         * tests/test-isnanf.h (zero): New variable.
29024         (main): Avoid literal -0.0f.
29025         * tests/test-isnand.h (zero): New variable.
29026         (main): Avoid literal -0.0.
29027         * tests/test-isnanl.h (zero): New variable.
29028         (main): Avoid literal -0.0L.
29029         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
29030         (test_float, test_double, test_long_double): Avoid literals -0.0f,
29031         -0.0, -0.0L.
29032         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
29033         (test_signbitd): Avoid literal -0.0.
29034         (test_signbitl): Avoid literal -0.0L.
29035         * tests/test-ceilf1.c (zero): New variable.
29036         (main): Avoid literal -0.0f.
29037         * tests/test-ceill.c (zero): New variable.
29038         (main): Avoid literal -0.0L.
29039         * tests/test-floorf1.c (zero): New variable.
29040         (main): Avoid literal -0.0f.
29041         * tests/test-floorl.c (zero): New variable.
29042         (main): Avoid literal -0.0L.
29043         * tests/test-roundf1.c (zero): New variable.
29044         (main): Avoid literal -0.0f.
29045         * tests/test-round1.c (zero): New variable.
29046         (main): Avoid literal -0.0.
29047         * tests/test-roundl.c (zero): New variable.
29048         (main): Avoid literal -0.0L.
29049         * tests/test-truncf1.c (zero): New variable.
29050         (main): Avoid literal -0.0f.
29051         * tests/test-trunc1.c (zero): New variable.
29052         (main): Avoid literal -0.0.
29053         * tests/test-truncl.c (zero): New variable.
29054         (main): Avoid literal -0.0L.
29055         * tests/test-frexp.c (zero): New variable.
29056         (main): Avoid literal -0.0.
29057         * tests/test-frexpl.c (zero): New variable.
29058         (main): Avoid literal -0.0L.
29059         * tests/test-ldexpl.c (zero): New variable.
29060         (main): Avoid literal -0.0L.
29061         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
29062         (zerod, zerol): New variables.
29063         (test_function): Avoid literals -0.0, -0.0L.
29064         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
29065         (zerod, zerol): New variables.
29066         (test_function): Avoid literals -0.0, -0.0L.
29067         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
29068         (zerod, zerol): New variables.
29069         (test_function): Avoid literals -0.0, -0.0L.
29070         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
29071         (zerod, zerol): New variables.
29072         (test_function): Avoid literals -0.0, -0.0L.
29073         * tests/test-strtod.c (zero): New variable.
29074         (main): Avoid literal -0.0.
29075         Reported by Jonathan C. Patschke <jp@centtech.com>.
29076
29077 2008-07-31  Jim Meyering  <meyering@redhat.com>
29078
29079         sha256.h: correct definition of SHA224_DIGEST_SIZE
29080         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
29081         Reported by Paulie Pena IV <paulie4@gmail.com>.
29082         Define as 224 / 8, rather than as a literal.
29083         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
29084         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
29085         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
29086
29087 2008-07-31  Bruno Haible  <bruno@clisp.org>
29088
29089         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
29090         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
29091         Reported by Jonathan Patschke <jp@centtech.com>.
29092
29093 2008-07-31  Bruno Haible  <bruno@clisp.org>
29094
29095         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
29096         Reported by Paolo Bonzini <bonzini@gnu.org>.
29097
29098 2008-07-30  Eric Blake  <ebb9@byu.net>
29099
29100         test-strtod: allow compilation without -lm
29101         * tests/test-strtod.c (main): Avoid link dependence on fabs.
29102         Reported by Dennis Clarke <blastwave@gmail.com>.
29103
29104 2008-07-28  Jim Meyering  <meyering@redhat.com>
29105
29106         bootstrap: work also when there are no .po files in po/
29107         * build-aux/bootstrap (update_po_files): Complete the change
29108         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
29109
29110 2008-07-27  Jim Meyering  <meyering@redhat.com>
29111
29112         * users.txt: Add zile.
29113
29114 2008-07-26  Ben Pfaff  <blp@gnu.org>
29115
29116         Add missing dependencies on new m4/exponent[fdl].m4 files.
29117         * modules/isnanf-nolibm: Add m4/exponentf.m4.
29118         * modules/isnand-nolibm: Add m4/exponentd.m4.
29119         * modules/isnanl-nolibm: Add m4/exponentl.m4.
29120         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
29121         m4/isnan[fdl].m4, because the macros actually used moved.
29122         Reported by Jim Meyering.
29123
29124 2008-07-14  Ben Pfaff  <blp@gnu.org>
29125
29126         Add isinf module.
29127         * lib/isinf.c: New file.
29128         * lib/math.in.h: Define isinf macro if we have decided to replace
29129         it.
29130         * m4/isinf.m4: New file.
29131         * m4/math_h.m4: Initialize and substitute variables for isinf
29132         module.
29133         * modules/isinf: New file.
29134         * modules/isinf-tests: New file.
29135         * modules/math: Add substitutions for new module.
29136         * tests/test-isinf.c: New file.
29137         * doc/posix-functions/isinf.texi: Mention new module.
29138         * MODULES.html.sh: Mention new module.
29139
29140 2008-07-14  Ben Pfaff  <blp@gnu.org>
29141
29142         Factor out some macros for use by additional modules.
29143         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
29144         exponentf.m4.
29145         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
29146         exponentd.m4.
29147         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
29148         file exponentl.m4.
29149         * m4/exponentf.m4: New file.
29150         * m4/exponentd.m4: New file.
29151         * m4/exponentl.m4: New file.
29152         * modules/isnanf: Use new file m4/exponentf.m4.
29153         * modules/isnand: Use new file m4/exponentd.m4.
29154         * modules/isnanl: Use new file m4/exponentl.m4.
29155
29156 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
29157
29158         mktime.c: normalize tp->tm_isdst value to -1/0/1.
29159         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
29160         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
29161         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
29162
29163         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
29164         readlink on platforms without PATH_MAX.
29165
29166 2008-07-21  Eric Blake  <ebb9@byu.net>
29167
29168         Warn, not fail, on stale version.
29169         * top/GNUmakefile (_curr-ver): Tone down previous patch.
29170
29171         Don't allow installation with stale devel version number.
29172         * top/GNUmakefile (_is-install-target): New macro.
29173         (_curr-ver): Forbid installation with stale version number.
29174
29175 2008-07-20  Bruno Haible  <bruno@clisp.org>
29176
29177         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
29178         TESTS_ENVIRONMENT.
29179         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
29180
29181 2008-07-20  Bruno Haible  <bruno@clisp.org>
29182
29183         * lib/c-stack.h (c_stack_action): Add documentation.
29184         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
29185
29186 2008-07-20  Bruno Haible  <bruno@clisp.org>
29187
29188         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
29189         * modules/readlink (License): Likewise.
29190
29191 2008-07-17  Eric Blake  <ebb9@byu.net>
29192
29193         * modules/c-stack (Link): Fix typo.
29194
29195         Make c-stack use libsigsegv, when available.
29196         * modules/c-stack (Depends-on): Add libsigsegv.
29197         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
29198         needed.
29199         * lib/c-stack.c (SIGSTKSZ): Define fallback.
29200         (segv_handler, overflow_handler, c_stack_action)
29201         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
29202         implementation when libsigsegv is available, but only when using
29203         the library is necessary.
29204         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
29205         comment, explaining why XSI check fails on Linux.
29206         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
29207         * tests/test-c-stack2.sh: Tweak skip message.
29208         * NEWS: Document new link-time requirements.
29209
29210 2008-07-16  Eric Blake  <ebb9@byu.net>
29211
29212         c-stack: Expose false positives when not using libsigsegv.
29213         * modules/c-stack-tests (Files): Expand test.
29214         * tests/test-c-stack.c (main): Add means to conditionally trigger
29215         non-overflow SIGSEGV.
29216         * tests/test-c-stack2.sh: New file.
29217
29218 2008-07-14  Bruno Haible  <bruno@clisp.org>
29219
29220         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
29221         Reported by Eric Blake.
29222
29223 2008-07-14  Sam Steingold  <sds@gnu.org>
29224             Bruno Haible  <bruno@clisp.org>
29225
29226         New module libsigsegv.
29227         * modules/libsigsegv: New file.
29228         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
29229         modifications.
29230         * MODULES.html.sh (Signal handling): New section.
29231
29232 2008-07-14  Bruno Haible  <bruno@clisp.org>
29233
29234         * modules/unictype/ctype-* (Description): Add the word "function".
29235         Improves the resulting doc in MODULES.html.
29236
29237 2008-07-12  Ben Pfaff  <blp@gnu.org>
29238
29239         Add longlong module.
29240         * modules/longlong: New file.
29241
29242 2008-07-12  Bruno Haible  <bruno@clisp.org>
29243
29244         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
29245         to empty.
29246
29247 2008-07-10  Ben Pfaff  <blp@gnu.org>
29248
29249         Add isnan module.
29250         * doc/posix-functions/isnan.texi: Mention new module.
29251         * lib/math.in.h: Define isnan macro if we have decided to replace
29252         it.
29253         * m4/isnan.m4: New file.
29254         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
29255         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
29256         also.
29257         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
29258         redundancy.
29259         * m4/math_h.m4: Initialize and substitute variables for isnan
29260         module.
29261         * modules/isnan: New file.
29262         * modules/isnan-tests: New file.
29263         * modules/math: Add substitutions for new module.
29264         * tests/test-isnan.c: New file.
29265         * MODULES.html.sh: Mention new module.
29266
29267 2008-07-10  Ben Pfaff  <blp@gnu.org>
29268
29269         Add isnanf module.
29270         * lib/isnanf.m4: New file.
29271         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
29272         (gl_HAVE_ISNANF_IN_LIBM): New macro.
29273         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
29274         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
29275         * modules/isnanf: New file.
29276         * modules/isnanf-tests: New file.
29277         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
29278         files.
29279         * tests/test-isnanf-nolibm.c: factored most of its contents into
29280         new file tests/test-isnanf.h.
29281         * tests/test-isnanf.h: New file.
29282         * tests/test-isnanf.c: New file.
29283         * MODULES.html.sh: Mention new module.
29284         * doc/glibc-functions/isnanf.texi: Mention new module.
29285
29286 2008-07-10  Ben Pfaff  <blp@gnu.org>
29287
29288         Add isnand module.
29289         * lib/isnand.h: New file.
29290         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
29291         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
29292         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
29293         functionality also.
29294         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
29295         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
29296         (gl_HAVE_ISNAND_IN_LIBM): New macro.
29297         * modules/isnand: New file.
29298         * modules/isnand-tests: New file.
29299         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
29300         files.
29301         * tests/test-isnand-nolibm.c: factored most of its contents into
29302         new file tests/test-isnand.h.
29303         * tests/test-isnand.h: New file.
29304         * tests/test-isnand.c: New file.
29305         * MODULES.html.sh: Mention new module.
29306
29307 2008-07-10  Ben Pfaff  <blp@gnu.org>
29308
29309         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
29310         * lib/isnand.h: Rename lib/isnand-nolibm.h.
29311         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
29312         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
29313         * modules/isnanf-nolibm: Update references to renamed files.
29314         * modules/isnand-nolibm: Likewise.
29315         * modules/isnanf-nolibm-tests: Likewise.
29316         * modules/isnand-nolibm-tests: Likewise.
29317         * lib/frexp.c: Likewise.
29318         * lib/isfinite.c: Likewise.
29319         * lib/signbitd.c: Likewise.
29320         * lib/signbitf.c: Likewise.
29321         * lib/vasnprintf.c: Likewise.
29322         * tests/test-ceilf1.c: Likewise.
29323         * tests/test-ceilf2.c: Likewise.
29324         * tests/test-floorf1.c: Likewise.
29325         * tests/test-floorf2.c: Likewise.
29326         * tests/test-frexp.c: Likewise.
29327         * tests/test-round1.c: Likewise.
29328         * tests/test-round2.c: Likewise.
29329         * tests/test-roundf1.c: Likewise.
29330         * tests/test-strtod.c: Likewise.
29331         * tests/test-trunc1.c: Likewise.
29332         * tests/test-trunc2.c: Likewise.
29333         * tests/test-truncf1.c: Likewise.
29334         * tests/test-truncf2.c: Likewise.
29335         * NEWS: Mention the renamed header files.
29336
29337 2008-07-11  Jim Meyering  <meyering@redhat.com>
29338
29339         vc-list-files: make the last-resort awk code more portable
29340         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
29341         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
29342         does not support it.
29343
29344 2008-07-10  Eric Blake  <ebb9@byu.net>
29345
29346         Work with tar's bootstrap.
29347         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
29348         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
29349         an m4 comment.
29350
29351 2008-07-09  Jim Meyering  <meyering@redhat.com>
29352
29353         posix-shell.m4: fix typo that made this test malfunction
29354         * m4/posix-shell.m4: Remove capitalization in variable name.
29355
29356 2008-07-08  Bruno Haible  <bruno@clisp.org>
29357
29358         * m4/onceonly.m4: Update comments.
29359         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29360
29361 2008-07-04  Jim Meyering  <meyering@redhat.com>
29362
29363         * users.txt: Add vc-dwim.
29364         (bison, coreutils): Use the gitweb URL.
29365
29366 2008-07-03  Jim Meyering  <meyering@redhat.com>
29367
29368         * users.txt: Add libffcall.  From Sam Steingold.
29369
29370 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
29371
29372         getdate.y: do not ignore TZ with relative day, month or year offset
29373         * lib/getdate.y (get_date): Move the tz-handling block to follow the
29374         relative-date-handling, since otherwise, the latter would clobber the
29375         sole output (an updated Start value) of the tz-handling block.
29376         * tests/test-getdate.c: Tests for the fix
29377
29378 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29379
29380         Recognize 'foo_LIBRARIES += libgnu.a'.
29381         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
29382         makefile snippet has already specified an installation location,
29383         also using '+='.
29384
29385 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
29386
29387         getdate.y: factor out common actions
29388         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
29389         Use them in place of open-coded actions.
29390
29391 2008-07-01  Simon Josefsson  <simon@josefsson.org>
29392
29393         Add self-test for getdate module.
29394         * modules/getdate-tests: New file.
29395         * tests/test-getdate.c: New file.
29396
29397 2008-06-29  Bruno Haible  <bruno@clisp.org>
29398
29399         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
29400         .gitignore.
29401         Reported by Sylvain Beucler <beuc@beuc.net>.
29402
29403 2008-06-29  Bruno Haible  <bruno@clisp.org>
29404
29405         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
29406         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
29407
29408 2008-06-29  Bruno Haible  <bruno@clisp.org>
29409
29410         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
29411         EXTRA_DIST.
29412         Reported by Sylvain Beucler <beuc@beuc.net>.
29413
29414 2008-06-26  Jim Meyering  <meyering@redhat.com>
29415
29416         make several modules depend on the "open" module
29417         This provides slightly increased consistency when opening-for-write
29418         the name of a non-directory spelled with a trailing slash.
29419         * modules/chdir-safer: Likewise.
29420         * modules/chown: Likewise.
29421         * modules/clean-temp: Likewise.
29422         * modules/copy-file: Likewise.
29423         * modules/fchdir: Likewise.
29424         * modules/fcntl-safer: Likewise.
29425         * modules/pipe: Likewise.
29426         * modules/utime: Likewise.
29427         Prompted by Eric Blake and Bruno Haible.
29428
29429 2008-06-24  Andreas Schwab  <schwab@suse.de>
29430
29431         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
29432         literals can be used as initializers for global variables.
29433
29434 2008-06-23  Eric Blake  <ebb9@byu.net>
29435
29436         Make gnulib-cache.m4 easier to diff.
29437         * gnulib-tool (func_import): Allow newlines when reading cached
29438         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
29439
29440 2008-06-23  Bruno Haible  <bruno@clisp.org>
29441
29442         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
29443         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
29444         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
29445         m4/signalblocking.m4.
29446         (gl_PREREQ_SIGACTION): Don't invoke it.
29447         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
29448         gl_PREREQ_SIG_HANDLER_H.
29449         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29450         Don't check for sigaction here.
29451
29452 2008-06-23  Bruno Haible  <bruno@clisp.org>
29453
29454         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
29455         (install_handlers): Don't set the SA_RESETHAND flag.
29456
29457 2008-06-23  Bruno Haible  <bruno@clisp.org>
29458
29459         * m4/sigaction.m4: Comment fixes.
29460         * lib/signal.in.h: Likewise.
29461
29462 2008-06-23  Eric Blake  <ebb9@byu.net>
29463
29464         Fix typo.
29465         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
29466
29467         Avoid SA_ namespace.
29468         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
29469         Reported by Ralf Wildenhues.
29470
29471         Avoid test failure due to SA_RESTORER.
29472         * tests/test-sigaction.c (SA_MASK): New macro.
29473         (main): Avoid failing due to extension flags being set.
29474         Reported by Jim Meyering.
29475
29476         Revert use of sig-handler.h in sigprocmask.c.
29477         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
29478         it requires the existence of struct sigaction.
29479         * lib/sigprocmask.c (handler_t): Restore typedef.
29480         (rpl_signal, old_handlers): Use local type.
29481
29482 2008-06-22  Bruno Haible  <bruno@clisp.org>
29483
29484         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
29485         conditionally.
29486         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29487
29488 2008-06-22  Bruno Haible  <bruno@clisp.org>
29489
29490         * doc/posix-functions/siginterrupt.texi: Move note.
29491
29492         * lib/signal.in.h (SA_RESTART): New macro.
29493         * lib/sigaction.c: Update comment.
29494
29495         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
29496
29497         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
29498         (gl_PREREQ_SIGPROCMASK): Invoke it.
29499         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
29500
29501         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
29502
29503         * lib/sigprocmask.c: Update a comment.
29504
29505 2008-06-21  Eric Blake  <ebb9@byu.net>
29506
29507         Use sigaction module rather than signal().
29508         * modules/c-stack (Depends-on): Add sigaction.
29509         * modules/fatal-signal (Depends-on): Likewise.
29510         * modules/nanosleep (Depends-on): Likewise.
29511         * modules/sigprocmask (Files): Add sig-handler.h.
29512         * modules/sigaction (Files): Likewise.
29513         * lib/sig-handler.h (get_handler): New file, suggested by Paul
29514         Eggert.
29515         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
29516         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
29517         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
29518         (init_fatal_signals): Likewise.
29519         * lib/nanosleep.c (rpl_nanosleep): Likewise.
29520         (siginterrupt): Delete fallback.
29521         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
29522         instead.
29523         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
29524         siginterrupt.
29525
29526         New module sigaction, for mingw.
29527         * modules/sigaction: New module...
29528         * modules/sigaction-tests: ...and its test.
29529         * m4/sigaction.m4: New file.
29530         * lib/sigaction.c: Likewise.
29531         * tests/test-sigaction.c: Likewise.
29532         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
29533         * modules/signal (Makefile.am): Likewise.
29534         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
29535         needed.
29536         * doc/posix-headers/signal.texi (signal.h): Mention provided
29537         types.
29538         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
29539         that sigaction is preferable.
29540         * doc/posix-functions/sigaction.texi (sigaction): Mention new
29541         module.
29542         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29543         sigaction.
29544
29545         Improve robustness of sigprocmask by overriding signal.
29546         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
29547         is in use.
29548         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
29549         (SIGKILL, SIGSTOP): Provide fallbacks.
29550         (rpl_signal): Implement.
29551         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
29552         signal can be called inside handlers.
29553
29554         Fix nanosleep module on mingw.
29555         * modules/nanosleep (Depends-on): Add sys_select.
29556         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
29557
29558         Fix licensing of sigprocmask.
29559         * modules/raise (License): Relicense as LGPL.
29560
29561 2008-06-21  Bruno Haible  <bruno@clisp.org>
29562
29563         * lib/propername.c (proper_name_utf8): Don't use the transliterated
29564         result if it contains question marks.
29565         Reported by Michael Geng <linux@michaelgeng.de>.
29566
29567 2008-06-19  Bruno Haible  <bruno@clisp.org>
29568
29569         Fix CVS-ism.
29570         * doc/gnulib.texi: Include updated-stamp.texi.
29571         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
29572         (updated-stamp.texi): New rule.
29573         (gnulib.info): Depend on it.
29574         * doc/.gitignore: Add updated-stamp.texi.
29575         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
29576
29577 2008-06-19  Bruno Haible  <bruno@clisp.org>
29578
29579         * doc/Makefile (gnulib.info): Update and simplify dependencies.
29580         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29581
29582 2008-06-19  Eric Blake  <ebb9@byu.net>
29583
29584         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
29585         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
29586         Reported by Stepan Kasal.
29587
29588 2008-06-18  Bruno Haible  <bruno@clisp.org>
29589
29590         * lib/fatal-signal.c (init_fatal_signals): Add comment.
29591         Reported by Eric Blake.
29592
29593 2008-06-18  Eric Blake  <ebb9@byu.net>
29594
29595         Work around cygwin 1.5.25 strsignal bug.
29596         * tests/test-strsignal.c: Allow for const char *.
29597         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
29598
29599 2008-06-18  Simon Josefsson  <simon@josefsson.org>
29600
29601         * users.txt: Update URL to article and add author/date
29602         information.
29603
29604 2008-06-17  Bruno Haible  <bruno@clisp.org>
29605
29606         New macro gl_DISABLE_THREADS.
29607         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
29608         if the user did not pass --enable-threads or --disable-threads option.
29609         (gl_DISABLE_THREADS): New macro.
29610         Reported by Eric Blake <ebb9@byu.net>.
29611
29612 2008-06-17  Bruno Haible  <bruno@clisp.org>
29613
29614         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
29615         when the macro ignores it.
29616         Based on a patch by Eric Blake <ebb9@byu.net>.
29617
29618 2008-06-17  Bruno Haible  <bruno@clisp.org>
29619
29620         * modules/tls (License): Change to LGPLv2+.
29621         Reported by Eric Blake.
29622
29623 2008-06-17  Eric Blake  <ebb9@byu.net>
29624
29625         Simplify c-stack prerequisites.
29626         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
29627         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
29628         no longer requires <ucontext.h> to exist.  Optimize setrlimit
29629         check.
29630         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
29631         <sys/resource.h>.
29632
29633         Move c-stack test into testsuite.
29634         * modules/c-stack-tests: New file.
29635         * lib/c-stack.c [DEBUG]: Move test program...
29636         * tests/test-c-stack.c: ...into this new file.  Skip rather than
29637         fail test if sigaltstack is lacking.
29638         * tests/test-c-stack.sh: New driver file.
29639
29640 2008-06-16  Eric Blake  <ebb9@byu.net>
29641
29642         Use raise module consistently.
29643         * modules/fatal-signal (Depends-on): Add raise.
29644         * modules/sigprocmask (Depends-on): Likewise.
29645         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
29646         * lib/sigprocmask.c (sigprocmask): Likewise.
29647         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29648         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
29649
29650         Fix compliance bug in sigpending.
29651         * lib/sigprocmask.c (sigpending): Return pending array via
29652         parameter, not return value.
29653
29654 2008-06-14  Eric Blake  <ebb9@byu.net>
29655
29656         Improve obstack-printf test code.
29657         * tests/test-obstack-printf.c (test_function): Fix comment, and
29658         simplify usage of obstack_* in macros.  Add a test for coverage.
29659         Reported by Bruno Haible.
29660
29661 2008-06-14  Bruno Haible  <bruno@clisp.org>
29662
29663         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
29664         array size as a constant, not as a const variable.
29665         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
29666         AC_USE_SYSTEM_EXTENSIONS.
29667         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
29668         Test whether the obstack_printf function actually exists.
29669         * modules/obstack-printf (Depends-on): Add extensions.
29670         (Include): Remove obstack.h.
29671         * modules/obstack-printf-posix (Depends-on): Add extensions.
29672         (Include): Remove obstack.h.
29673
29674 2008-06-13  Eric Blake  <ebb9@byu.net>
29675
29676         Add obstack-printf and obstack-printf-posix modules.
29677         * modules/obstack-printf: New file.
29678         * modules/obstack-printf-posix: Likewise.
29679         * MODULES.html.sh (Misc): Mention them.
29680         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
29681         Likewise.
29682         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
29683         Likewise.
29684         * modules/stdio (Makefile.am): Accomodate new modules.
29685         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
29686         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
29687         Declare.
29688         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
29689         functions.
29690         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
29691         (gl_REPLACE_OBSTACK_PRINTF): New macros
29692         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
29693         * tests/test-obstack-printf.c: New file.
29694         * modules/obstack-printf-tests: Likewise.
29695         * modules/obstack-printf-posix-tests: Likewise.
29696
29697 2008-06-11  Bruno Haible  <bruno@clisp.org>
29698
29699         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
29700         * lib/open.c: Include errno.h.
29701         (open): Fail when attempting to write to a file that has a trailing
29702         slash.
29703         * tests/test-open.c (main): Test against trailing slash bug.
29704         * doc/posix-functions/open.texi: Mention the trailing slash bug.
29705
29706 2008-06-10  Bruno Haible  <bruno@clisp.org>
29707
29708         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
29709         for $? to work inside the trap command, with various /bin/sh-s.
29710         * tests/test-vc-list-files-cvs.sh: Likewise.
29711
29712 2008-06-10  Bruno Haible  <bruno@clisp.org>
29713
29714         * lib/acl-internal.h: Don't include gettext.h here.
29715         * lib/set-mode-acl.c: Include gettext.h here.
29716         * lib/copy-acl.c: Likewise.
29717
29718 2008-06-10  Bruno Haible  <bruno@clisp.org>
29719
29720         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
29721         * lib/wait-process.c (wait_subprocess): Likewise.
29722         * lib/execute.h (execute): Add termsigp argument.
29723         * lib/execute.c (execute): Likewise.
29724         * lib/csharpcomp.c (compile_csharp_using_pnet,
29725         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
29726         * lib/csharpexec.c (execute_csharp_using_pnet,
29727         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
29728         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
29729         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
29730         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
29731         is_jikes_present): Update.
29732         * lib/javaexec.c (execute_java_class): Update.
29733         * lib/javaversion.c (execute_and_read_line): Update.
29734         * NEWS: Document the changes.
29735         Reported by Eric Blake.
29736
29737 2008-06-10  Eric Blake  <ebb9@byu.net>
29738
29739         Add missing include.
29740         * tests/test-strstr.c (includes): Add <signal.h>.
29741         * tests/test-strcasestr.c (includes): Likewise.
29742         * tests/test-memmem.c (includes): Likewise.
29743
29744 2008-06-10  Bruno Haible  <bruno@clisp.org>
29745
29746         * lib/wait-process.c (wait_subprocess): Add an assertion.
29747
29748 2008-06-10  Bruno Haible  <bruno@clisp.org>
29749
29750         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
29751
29752 2008-06-10  Bruno Haible  <bruno@clisp.org>
29753
29754         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
29755         using alarm().
29756         * tests/test-strcasestr.c (main): Likewise.
29757         * tests/test-strstr.c (main): Likewise.
29758
29759 2008-06-09  Bruno Haible  <bruno@clisp.org>
29760
29761         Work around the Solaris 10 ACE ACLs ABI change.
29762         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
29763         declare if ACL_NO_TRIVIAL is present.
29764         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
29765         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
29766         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
29767         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
29768         define if ACL_NO_TRIVIAL is present.
29769         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
29770         and use the current ABI.
29771         (file_has_acl): Use same #if condition as elsewhere.
29772         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
29773         in use, and use the current ABI.
29774         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
29775         Reported by Jim Meyering.
29776
29777 2008-06-09  Eric Blake  <ebb9@byu.net>
29778
29779         Work around environments that (stupidly) ignore SIGALRM.
29780         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
29781         before using alarm().
29782         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29783         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29784         Reported by Ian Beckwith <ianb@erislabs.net>.
29785
29786         Produce autobuild blurb earlier in log.
29787         * modules/autobuild (configure.ac-early): Move AB_INIT here.
29788
29789 2008-06-09  Jim Meyering  <meyering@redhat.com>
29790         and Ondřej Vašík  <ovasik@redhat.com>
29791
29792         utimens.c: correct kernel bug work-around
29793         Ondřej Vašík found that the invalid return value of 280 indicates
29794         failure, not success, and the kernel bug we're trying to work
29795         around affects not just the utimensat call, but also the fallback
29796         futimens call.
29797         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
29798         not success.
29799         [HAVE_FUTIMENS]: Use the same work-around, here.
29800
29801 2008-06-09  Jim Meyering  <meyering@redhat.com>
29802
29803         add more guards around definition of ACE_-related code
29804         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
29805         ALLOW and ACE_OWNER are also defined.
29806
29807 2008-06-08  Bruno Haible  <bruno@clisp.org>
29808
29809         * lib/acl-internal.h: Add me as co-author.
29810         * lib/file-has-acl.c: Likewise.
29811         * lib/set-mode-acl.c: Likewise.
29812         * lib/copy-acl.c: Likewise.
29813
29814 2008-06-08  Bruno Haible  <bruno@clisp.org>
29815
29816         Add support for AIX ACLs.
29817         * lib/acl-internal.h (acl_nontrivial): New declaration.
29818         * lib/file-has-acl.c (acl_nontrivial): New function.
29819         (file_has_acl): Add implementation using AIX 4 ACL API.
29820         * lib/set-mode-acl.c (qset_acl): Likewise.
29821         * lib/copy-acl.c (qcopy_acl): Likewise.
29822
29823 2008-06-08  Bruno Haible  <bruno@clisp.org>
29824
29825         Add support for HP-UX ACLs.
29826         * lib/acl-internal.h (acl_nontrivial): New declaration.
29827         * lib/file-has-acl.c (acl_nontrivial): New function.
29828         (file_has_acl): Add implementation using HP-UX 11 ACL API.
29829         * lib/set-mode-acl.c (qset_acl): Likewise.
29830         * lib/copy-acl.c (qcopy_acl): Likewise.
29831
29832 2008-06-08  Bruno Haible  <bruno@clisp.org>
29833
29834         Add support for Cygwin ACLs.
29835         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
29836         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
29837         the chmod_or_fchmod call.
29838         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
29839
29840 2008-06-08  Bruno Haible  <bruno@clisp.org>
29841
29842         Fix bug with setuid modes in Solaris 10+ code.
29843         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
29844         succeeded, when the mode contains some special bits.
29845
29846 2008-06-08  Bruno Haible  <bruno@clisp.org>
29847
29848         Add support for Solaris 7..10 ACLs.
29849         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
29850         declarations.
29851         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
29852         functions.
29853         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
29854         * lib/set-mode-acl.c (qset_acl): Likewise.
29855         * lib/copy-acl.c (qcopy_acl): Likewise.
29856
29857 2008-06-08  Bruno Haible  <bruno@clisp.org>
29858
29859         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
29860         declaration.
29861         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
29862         (acl_access_nontrivial): Remove MacOS X case.
29863         (file_has_acl): Use acl_extended_nontrivial.
29864         * lib/copy-acl.c (qcopy_acl): Likewise.
29865
29866 2008-06-08  Bruno Haible  <bruno@clisp.org>
29867
29868         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
29869
29870 2008-06-08  Jim Meyering  <meyering@redhat.com>
29871
29872         * modules/acl (Maintainer): Add Bruno Haible.
29873
29874 2008-06-07  Bruno Haible  <bruno@clisp.org>
29875
29876         Improve support for Tru64 ACLs.
29877         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
29878         ACL on OSF/1.
29879
29880 2008-06-07  Bruno Haible  <bruno@clisp.org>
29881
29882         Add support for MacOS X ACLs.
29883         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
29884         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
29885         * lib/set-mode-acl.c (qset_acl): Likewise.
29886         * lib/copy-acl.c (qcopy_acl): Likewise.
29887
29888 2008-06-07  Bruno Haible  <bruno@clisp.org>
29889
29890         Fix memory leak introduced on 2008-05-22.
29891         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
29892         use.
29893
29894 2008-06-07  Bruno Haible  <bruno@clisp.org>
29895
29896         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
29897         to construct an empty ACL.
29898
29899 2008-06-07  Bruno Haible  <bruno@clisp.org>
29900
29901         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
29902         precisely.
29903         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
29904
29905 2008-06-07  Bruno Haible  <bruno@clisp.org>
29906
29907         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
29908         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
29909
29910 2008-06-07  Bruno Haible  <bruno@clisp.org>
29911
29912         * doc/posix-functions/_setjmp.texi: Explain the use of this function
29913         regardless of POSIX.
29914         * doc/posix-functions/_longjmp.texi: Likewise.
29915         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
29916         SystemV platform in this case.
29917
29918 2008-06-06  Eric Blake  <ebb9@byu.net>
29919
29920         Document abort() bugs.
29921         * doc/posix-functions/abort.texi (abort): Mention anomalies.
29922
29923         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
29924         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
29925         sigsetjmp.
29926         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
29927         siglongjmp, but only as a macro.
29928         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
29929         is obsolete.
29930         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
29931
29932         Tweak documentation to cover cygwin argz bugs.
29933         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
29934         argz bug fix; no code change needed since no cygwin releases
29935         occurred between the last fix and the bug being tested.
29936         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
29937         module and recently fixed cygwin bugs.
29938         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
29939         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
29940         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
29941         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
29942         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
29943         Likewise.
29944         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
29945         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
29946         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
29947         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
29948         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
29949         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
29950         Likewise.
29951
29952         Avoid gcc warning on cygwin.
29953         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
29954         !ACL_NO_TRIVIAL]: Avoid unused variable.
29955
29956 2008-06-05  Eric Blake  <ebb9@byu.net>
29957
29958         Be tolerant of UNKNOWN version in gnulib-tool test dir.
29959         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
29960         git-version-gen fails to come up with a version.
29961         Reported by Simon Josefsson.
29962
29963 2008-06-05  Jim Meyering  <meyering@redhat.com>
29964             Paul Eggert  <eggert@cs.ucla.edu>
29965
29966         utimens.c: work around a probable Linux kernel bug
29967         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
29968         appears to be a kernel bug that causes utimensat to return 280
29969         instead of 0, indicating success.
29970
29971 2008-06-04  Bruno Haible  <bruno@clisp.org>
29972
29973         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
29974         2008-06-01 commit.
29975
29976 2008-06-04  Bruno Haible  <bruno@clisp.org>
29977
29978         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
29979         * lib/file-has-acl.c (acl_access_nontrivial): New function.
29980         (file_has_acl): Use it. Save errno afterwards.
29981         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
29982
29983 2008-06-03  Bruno Haible  <bruno@clisp.org>
29984
29985         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
29986         draft code. Simplify #ifs.
29987         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
29988         Put Solaris code after POSIX-draft code. Fix comments regarding
29989         Solaris 10, HP-UX. Mention Cygwin.
29990         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
29991
29992 2008-06-03  Eric Blake  <ebb9@byu.net>
29993
29994         Provide fallback for older kernels.
29995         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
29996         Provide runtime fallback if kernel lacks support.
29997         Reported by Mike Frysinger.
29998
29999 2008-06-02  Bruno Haible  <bruno@clisp.org>
30000
30001         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
30002         it exists.
30003
30004 2008-06-02  Bruno Haible  <bruno@clisp.org>
30005
30006         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
30007         * lib/copy-acl.c (qcopy_acl): Update comment.
30008
30009 2008-06-02  Bruno Haible  <bruno@clisp.org>
30010
30011         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
30012         like ACL APIs.
30013
30014 2008-06-02  Bruno Haible  <bruno@clisp.org>
30015
30016         * tests/test-file-has-acl.sh: Use different code for Cygwin.
30017         * tests/test-set-mode-acl.sh: Likewise.
30018         * tests/test-copy-acl.sh: Likewise.
30019         * tests/test-copy-file.sh: Likewise.
30020
30021 2008-06-02  Bruno Haible  <bruno@clisp.org>
30022
30023         * tests/test-file-has-acl.sh: Remove unused code.
30024
30025 2008-06-01  Bruno Haible  <bruno@clisp.org>
30026
30027         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
30028         (copy_acl): Just a wrapper around qcopy_acl that emits the error
30029         messages.
30030         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
30031
30032 2008-06-01  Bruno Haible  <bruno@clisp.org>
30033
30034         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
30035         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
30036         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
30037         APIs.
30038         * modules/acl-tests (configure.ac): Remove tests now contained in
30039         m4/acl.m4.
30040
30041 2008-06-02  Jim Meyering  <meyering@redhat.com>
30042
30043         announce-gen: use a better key-server host name
30044         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
30045         it may be more consistently reliable.  Suggested by Werner Koch
30046         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
30047
30048 2008-06-01  Bruno Haible  <bruno@clisp.org>
30049
30050         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
30051         Reported by Voroskoi Andras <voroskoi@gmail.com>.
30052
30053 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
30054
30055         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
30056
30057 2008-06-01  Bruno Haible  <bruno@clisp.org>
30058
30059         New ACL tests.
30060         * tests/test-file-has-acl.sh: New file.
30061         * tests/test-file-has-acl.c: New file.
30062         * tests/test-set-mode-acl.sh: New file.
30063         * tests/test-set-mode-acl.c: New file.
30064         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
30065         * tests/test-copy-acl.c: New file.
30066         * modules/acl-tests: New file, based on modules/copy-file-tests.
30067         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
30068         (Depends-on): Add acl-tests.
30069         (configure.ac): Remove checks.
30070         (Makefile.am): Don't create test-sameacls program here any more.
30071
30072 2008-06-01  Bruno Haible  <bruno@clisp.org>
30073
30074         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
30075         * tests/test-sameacls.c: Include progname.h.
30076         (main): Invoke set_program_name. Portability fixes for MacOS X,
30077         Solaris, HP-UX.
30078
30079 2008-06-01  Bruno Haible  <bruno@clisp.org>
30080
30081         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
30082         function.
30083         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
30084
30085 2008-06-01  Bruno Haible  <bruno@clisp.org>
30086
30087         * modules/rpmatch (Depends-on): Add strdup.
30088
30089 2008-06-01  Bruno Haible  <bruno@clisp.org>
30090
30091         * lib/pipe.c: Include unistd-safer.h.
30092         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
30093         * modules/pipe (Depends-on): Add unistd-safer.
30094
30095 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30096
30097         * modules/autobuild (configure.ac): Call AB_INIT.
30098
30099 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30100
30101         * tests/test-getaddrinfo.c: Don't print debug messages by default.
30102         Suggested by Bruno Haible <bruno@clisp.org>.
30103
30104 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30105
30106         * tests/test-base64.c: Cast size_t to unsigned long when invoking
30107         printf.  Use %lu instead of %d.  Reported by Bruno Haible
30108         <bruno@clisp.org>.
30109
30110 2008-05-29  Eric Blake  <ebb9@byu.net>
30111
30112         Prefer new POSIX 200x interfaces over futimesat.
30113         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
30114         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
30115         when available.
30116         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
30117
30118 2008-05-28  Bruno Haible  <bruno@clisp.org>
30119
30120         * modules/stpcpy (License): Change to LGPLv2+.
30121         Requested by David Lutterkort <dlutter@redhat.com>.
30122
30123 2008-05-27  Bruno Haible  <bruno@clisp.org>
30124
30125         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
30126         current mingw.
30127         Reported by Jose E. Marchesi <jemarch@gnu.org>.
30128
30129 2008-05-27  Bruno Haible  <bruno@clisp.org>
30130
30131         * modules/iconv_open (Link): New section, from module 'iconv'.
30132         * modules/striconv (Link): Likewise.
30133         * modules/striconveh (Link): Likewise.
30134         * modules/xstriconv (Link): Likewise.
30135         * modules/unicodeio (Link): Likewise.
30136         * modules/propername (Link): Likewise.
30137         Reported by Jim Meyering.
30138
30139 2008-05-26  Jim Meyering  <meyering@redhat.com>
30140
30141         sha256: do not artificially restrict buffer length to be < 2^32
30142         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
30143         uint32_t to size_t.
30144         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
30145         to match.
30146
30147         avoid unaligned access errors, e.g., on sparc
30148         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
30149         direct access through a possibly-unaligned uint64* pointer.
30150         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
30151         direct access through a possibly-unaligned uint32* pointer.
30152         Prompted by this patch from Tom "spot" Callaway:
30153         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
30154
30155         sha512.c: fix typo in comment
30156         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
30157
30158 2008-05-25  Bruno Haible  <bruno@clisp.org>
30159
30160         * lib/set-mode-acl.c: Renamed from lib/acl.c.
30161         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
30162         (Makefile.am): Update lib_SOURCES.
30163
30164 2008-05-25  Bruno Haible  <bruno@clisp.org>
30165
30166         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
30167
30168 2008-05-25  Jim Meyering  <meyering@redhat.com>
30169
30170         useless-if-before-free: freed expr may have white-space differences
30171         * build-aux/useless-if-before-free: Recognize cases in which the
30172         freed expression differs from the tested one in embedded white
30173         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
30174         $1 was used, so we can't make any regexp shy.  Improved tests now
30175         detect this.
30176
30177         useless-if-before-free: accept white space in the expression.
30178         * build-aux/useless-if-before-free: For now, any white space
30179         in the expression must be identical in the free argument.
30180
30181         useless-if-before-free: efficiency tweak
30182         * build-aux/useless-if-before-free: Make the expression-matching
30183         regexp "shy".
30184         Make the *outer* regexp shy, not the expr-matching one.
30185
30186         update code-in-comment to accept cast of free arg
30187         * build-aux/useless-if-before-free: Update regexp.
30188
30189 2008-05-25  Bruno Haible  <bruno@clisp.org>
30190
30191         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
30192         * modules/copy-file-tests (Files, Makefile.am): Update.
30193         * tests/test-copy-file.c (func_test_copy): Update.
30194
30195 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
30196
30197         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
30198
30199 2008-05-23  Bruno Haible  <bruno@clisp.org>
30200
30201         Improve support for ACLs on OSF/1.
30202         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
30203         Remove fallback for unknown flavors of ACLs.
30204
30205 2008-05-22  Bruno Haible  <bruno@clisp.org>
30206
30207         Add support for ACLs on OSF/1.
30208         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
30209         replacements.
30210         (acl_free_text): New macro fallback.
30211         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
30212         acl_free.
30213         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
30214         acl_free_text function. Require AC_C_INLINE.
30215
30216 2008-05-22  Bruno Haible  <bruno@clisp.org>
30217
30218         Make copy_acl work on MacOS X 10.5.
30219         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
30220         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
30221         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
30222         If MODE_INSIDE_ACL, don't assume that every system has the same text
30223         representation for ACLs as FreeBSD.
30224         * lib/copy-acl.c (copy_acl): Add support for platforms with
30225         !MODE_INSIDE_ACL.
30226         * lib/file-has-acl.c (file_has_acl): Likewise.
30227         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
30228         FreeBSD, MacOS X, or IRIX, respectively.
30229
30230 2008-05-22  Bruno Haible  <bruno@clisp.org>
30231
30232         * lib/acl.h: Don't include <sys/acl.h>.
30233         (GETACLCNT): Move fallback to lib/acl-internal.h.
30234         * lib/acl-internal.h: Include <sys/acl.h> here.
30235         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
30236
30237 2008-05-22  Bruno Haible  <bruno@clisp.org>
30238
30239         Split off copy_acl function to separate file.
30240         * lib/copy-acl.c: New file, extracted from lib/acl.c.
30241         * lib/acl.c (copy_acl): Moved function to separate file.
30242         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
30243         * modules/acl (Files): Add lib/copy-acl.c.
30244         (Makefiles.am): Augment lib_SOURCES.
30245
30246 2008-05-22  Bruno Haible  <bruno@clisp.org>
30247
30248         * modules/copy-file-tests: New file.
30249         * tests/test-copy-file.sh: New file.
30250         * tests/test-copy-file.c: New file.
30251         * tests/test-copy-file-sameacls.c: New file.
30252
30253 2008-05-22  Eric Blake  <ebb9@byu.net>
30254
30255         Avoid gcc warning.
30256         * tests/test-memcmp.c (main): Pass NULL indirectly.
30257
30258 2008-05-21  Bruno Haible  <bruno@clisp.org>
30259
30260         Add reference doc about ACLs.
30261         * doc/acl-resources.txt: New file.
30262         * doc/acl-cygwin.txt: New file.
30263
30264 2008-05-21  Bruno Haible  <bruno@clisp.org>
30265
30266         Avoid one more warning from gcc.
30267         * lib/vasnprintf.c (IF_LINT): Update comments.
30268         (VASNPRINTF): Use it also for the 'prefix' array initializer.
30269
30270 2008-05-21  Jim Meyering  <meyering@redhat.com>
30271
30272         avoid a warning from gcc
30273         * lib/vasnprintf.c (IF_LINT): Define.
30274         (scale10_round_decimal_long_double):
30275         Use it to avoid a "may be used uninitialized" warning.
30276         (scale10_round_decimal_double): Likewise.
30277
30278 2008-05-21  Simon Josefsson  <simon@josefsson.org>
30279
30280         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
30281         declared.
30282
30283 2008-05-20  Bruno Haible  <bruno@clisp.org>
30284
30285         * tests/test-memcmp.c (main): Test also the sign of the result. Test
30286         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
30287
30288 2008-05-20  Simon Josefsson  <simon@josefsson.org>
30289
30290         * modules/memcmp-tests: New file.
30291         * tests/test-memcmp.c: New file.
30292
30293 2008-05-19  Bruno Haible  <bruno@clisp.org>
30294
30295         * modules/propername (Notice, configure.ac): Put quoted "..." into
30296         --keyword option.
30297         * lib/propername.h: Update comments accordingly.
30298         Reported by Eric Blake.
30299
30300 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
30301
30302         * modules/getpass-gnu (Depends-on): Add fseeko.
30303
30304 2008-05-19  Simon Josefsson  <simon@josefsson.org>
30305
30306         * modules/base64-tests: New file.
30307
30308 2008-05-19  Bo Borgerson <gigabo@gmail.com>
30309
30310         * lib/base64.c (base64_decode_ctx): If a decode context structure
30311         was passed in use it to ignore newlines.  If a context structure
30312         was _not_ passed in, continue to treat newlines as garbage (this
30313         is the historical behavior).  Formerly base64_decode.
30314         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
30315         takes a decode context structure.
30316         * lib/base64.h (base64_decode): Macro for four-argument calls.
30317         (base64_decode_alloc): Likewise.
30318         * lib/base64.c (base64_decode_ctx): If a decode context structure
30319         was passed in use it to ignore newlines.  If a context structure
30320         was _not_ passed in, continue to treat newlines as garbage (this
30321         is the historical behavior).  Formerly base64_decode.
30322         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
30323         takes a decode context structure.
30324         * lib/base64.h (base64_decode): Macro for four-argument calls.
30325         (base64_decode_alloc): Likewise.
30326
30327 2008-05-19  Jim Meyering  <meyering@redhat.com>
30328
30329         avoid a warning from gcc
30330         * lib/trim.c (IF_LINT): Define.
30331         (trim2): Use it to avoid a "may be used uninitialized" warning.
30332
30333         Fix doc typo.
30334         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
30335
30336 2008-05-19  Bruno Haible  <bruno@clisp.org>
30337
30338         * doc/glibc-functions/getpass.texi: Document limits of other
30339         implementations.
30340
30341 2008-05-19  Simon Josefsson  <simon@josefsson.org>
30342             Bruno Haible <bruno@clisp.org>
30343
30344         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
30345
30346 2008-05-18  Bruno Haible  <bruno@clisp.org>
30347
30348         * modules/propername: New file, from GNU gettext.
30349         * lib/propername.h: New file, from GNU gettext.
30350         * lib/propername.c: New file, from GNU gettext.
30351         * MODULES.html.sh (Internationalization functions): Add propername.
30352
30353 2008-05-16  Jim Meyering  <meyering@redhat.com>
30354             Bruno Haible  <bruno@clisp.org>
30355
30356         Avoid some warnings from "gcc -Wshadow".
30357         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
30358
30359 2008-05-15  Eric Blake  <ebb9@byu.net>
30360
30361         Extend previous patch to cygwin 1.7.0.
30362         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
30363         fast implementation in cygwin >= 1.7.0.
30364         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
30365         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30366
30367 2008-05-15  Bruno Haible  <bruno@clisp.org>
30368
30369         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
30370         implementation in glibc >= 2.9.
30371         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
30372         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30373
30374 2008-05-15  Bruno Haible  <bruno@clisp.org>
30375
30376         * MODULES.html.sh (Internationalization functions): Remove linebreak.
30377         (Unicode string functions): Add unilbrk/*.
30378         Reported by Karl Berry.
30379
30380 2008-05-15  Eric Blake  <ebb9@byu.net>
30381
30382         Fix violation of <stdbool.h> replacement in regex.
30383         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
30384         * lib/regexec.c (re_search_internal): Likewise.
30385         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
30386
30387 2008-05-15  Jim Meyering  <meyering@redhat.com>
30388
30389         avoid distracting test output when git or cvs is not found
30390         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
30391         * tests/test-vc-list-files-git.sh: Likewise.
30392
30393 2008-05-15  Eric Blake  <ebb9@byu.net>
30394
30395         Glibc finally accepted the memmem speedup code, bugzilla #5514.
30396         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
30397         glibc version.
30398         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
30399         * doc/posix-functions/strstr.texi (strstr): Likewise.
30400         * lib/str-two-way.h (MAX): Sychronize with glibc.
30401
30402 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
30403
30404         * lib/regcomp.c (optimize_utf8): Add a note on why we test
30405         opr.ctx_type.
30406         (calc_first): Initialize constraint field.
30407         (duplicate_node_closure): Use it instead of special casing ANCHORS.
30408         Fix grammar.
30409         (duplicate_node): Merge constraint field for all node types.
30410         (calc_eclosure_iter): Look at constraint field for all node types.
30411         * lib/regex_internal.c (create_cd_newstate): Don't look at
30412         opr.ctx_type.
30413
30414 2008-05-14  Bruno Haible  <bruno@clisp.org>
30415
30416         Help GCC to do better code generation.
30417         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
30418         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
30419         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
30420         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
30421         Declare with attribute 'malloc' if supported.
30422
30423 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
30424
30425         use "echo STR|wc -c" rather than unportable "expr length STR"
30426         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
30427         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
30428
30429 2008-05-14  Jim Meyering  <meyering@redhat.com>
30430
30431         use dd ibs=$n count=1 ... rather than less-portable head -c$n
30432         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
30433         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
30434         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
30435         via Collin Lasse.
30436
30437 2008-05-14  Eric Blake  <ebb9@byu.net>
30438
30439         Avoid quadratic growth in gl_LIBSOURCES.
30440         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
30441         Suggested by Bruno Haible.
30442
30443         Test xmemdup0.
30444         * modules/xmemdup0-tests: New file.
30445         * tests/test-xmemdup0.c: Likewise.
30446
30447 2008-05-13  Eric Blake  <ebb9@byu.net>
30448
30449         Split xmemdup0 into its own module.
30450         * modules/xmemdup0: New file.
30451         * lib/xmemdup0.h: Likewise.
30452         * lib/xmemdup0.c: Likewise.
30453         * MODULES.html.sh (Memory management functions): Add xmemdup0.
30454         * lib/xalloc.h (xmemdup0): Remove.
30455         * lib/xmalloc.c (xmemdup0): Likewise.
30456
30457 2008-05-13  Eric Blake  <ebb9@byu.net>
30458             Bruno Haible  <bruno@clisp.org>
30459
30460         Reduce number of forks required during autoconf.
30461         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
30462         and gl_LIBSOURCES_DIR.
30463         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
30464         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
30465         m4_syscmd per file.
30466         <m4_foreach_w>: Move...
30467         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
30468
30469 2008-05-13  Eric Blake  <ebb9@byu.net>
30470
30471         * gnulib-tool: Fix various comment typos.
30472
30473 2008-05-12  Bruno Haible  <bruno@clisp.org>
30474
30475         Tailor the linebreaking algorithm.
30476         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
30477
30478 2008-05-12  Bruno Haible  <bruno@clisp.org>
30479
30480         Update to Unicode 5.0.0.
30481         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
30482         LBP_JV, LBP_JT. Redistribute values.
30483         (unilbrk_table): Change size.
30484         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
30485         Unicode TR#14 rev. 22.
30486         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
30487         LBP_JV, LBP_JT. Redistribute values.
30488         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
30489         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
30490         Update.
30491         * lib/unilbrk/lbrkprop1.h: Regenerated.
30492         * lib/unilbrk/lbrkprop2.h: Regenerated.
30493         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
30494         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
30495         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
30496         Likewise.
30497         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
30498         Likewise.
30499         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
30500         result.
30501         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
30502         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
30503         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
30504         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
30505         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
30506         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
30507
30508 2008-05-11  Bruno Haible  <bruno@clisp.org>
30509
30510         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
30511
30512 2008-05-11  Bruno Haible  <bruno@clisp.org>
30513
30514         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
30515         * modules/unilbrk/gen-lbrk: New file.
30516
30517 2008-05-11  Bruno Haible  <bruno@clisp.org>
30518
30519         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
30520         * m4/sha512.m4 (gl_SHA512): Likewise.
30521
30522 2008-05-11  Jim Meyering  <meyering@redhat.com>
30523
30524         New modules: crypto/sha256, crypto/sha512 (from coreutils)
30525         * modules/crypto/sha256: New file.
30526         * modules/crypto/sha512: Likewise.
30527         * lib/sha256.c: Likewise.
30528         * lib/sha256.h: Likewise.
30529         * lib/sha512.c: Likewise.
30530         * lib/sha512.h: Likewise.
30531         * lib/u64.h: Likewise.
30532         * m4/sha256.m4: Likewise.
30533         * m4/sha512.m4: Likewise.
30534         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
30535
30536 2008-05-10  Bruno Haible  <bruno@clisp.org>
30537
30538         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
30539         (Input/Output <stdio.h>): Add xprintf.
30540         (Signal handling <signal.h>): Add strsignal.
30541         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
30542         (Core language properties): Add func.
30543         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
30544         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
30545         strings.
30546         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
30547         (Input/output): New section.
30548         (File system functions): Add openat-die, stat-macros.
30549         (Networking functions): Add sockets.
30550         (Unicode string functions): Add unictype/*.
30551         (Support for building libraries and executables): Add gperf.
30552         (Support for building documentation): Add agpl-3.0.
30553         (Misc): Add nocrash.
30554
30555 2008-05-10  Bruno Haible  <bruno@clisp.org>
30556
30557         * modules/unictype/gen-ctype: New file.
30558
30559 2008-05-10  Jim Meyering  <meyering@redhat.com>
30560
30561         Make chdir-safer.c more efficient on a system with no symlinks.
30562         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
30563         also if ELOOP is zero.  Suggested by Bruno Haible.
30564
30565         Make chdir-safer.c slightly safer.
30566         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
30567         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
30568
30569         Avoid compile failure on systems without ELOOP (like mingw).
30570         * lib/chdir-safer.c (ELOOP): Define if not already defined.
30571         Reported by Bruno Haible.
30572
30573 2008-05-10  Bruno Haible  <bruno@clisp.org>
30574
30575         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
30576         (is_utf8_encoding): Use a case-insensitive comparison.
30577         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
30578         streq.
30579
30580 2008-05-10  Bruno Haible  <bruno@clisp.org>
30581
30582         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
30583         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
30584         * lib/unilbrk/ulc-common.h (iconv_string_length,
30585         iconv_string_keeping_offsets): Remove declarations.
30586         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
30587         Don't include <iconv.h>, streq.h, xsize.h.
30588         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
30589         conversion.
30590         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
30591         <iconv.h>, streq.h, xsize.h.
30592         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
30593         conversion.
30594         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
30595         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
30596         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
30597         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
30598
30599 2008-05-10  Bruno Haible  <bruno@clisp.org>
30600
30601         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
30602         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
30603
30604         * modules/unilbrk/u32-width-linebreaks-tests: New file.
30605         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
30606
30607         * modules/unilbrk/u16-width-linebreaks-tests: New file.
30608         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
30609
30610         * modules/unilbrk/u8-width-linebreaks-tests: New file.
30611         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
30612
30613         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
30614         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
30615
30616         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
30617         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
30618
30619         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
30620         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
30621
30622         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
30623         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
30624
30625 2008-05-10  Bruno Haible  <bruno@clisp.org>
30626
30627         Split up 'linebreak' module.
30628         * lib/unilbrk.h: New file, based on lib/linebreak.h.
30629         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
30630         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
30631         modifications.
30632         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
30633         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
30634         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
30635         lib/linebreak.c.
30636         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
30637         lib/linebreak.c.
30638         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
30639         lib/linebreak.c.
30640         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
30641         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
30642         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
30643         lib/linebreak.c.
30644         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
30645         lib/linebreak.c.
30646         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
30647         lib/linebreak.c.
30648         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
30649         lib/linebreak.c.
30650         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
30651         lib/linebreak.c.
30652         * modules/unilbrk/base: New file.
30653         * modules/unilbrk/tables: New file.
30654         * modules/unilbrk/u8-possible-linebreaks: New file.
30655         * modules/unilbrk/u16-possible-linebreaks: New file.
30656         * modules/unilbrk/u32-possible-linebreaks: New file.
30657         * modules/unilbrk/ulc-common: New file.
30658         * modules/unilbrk/ulc-possible-linebreaks: New file.
30659         * modules/unilbrk/u8-width-linebreaks: New file.
30660         * modules/unilbrk/u16-width-linebreaks: New file.
30661         * modules/unilbrk/u32-width-linebreaks: New file.
30662         * modules/unilbrk/ulc-width-linebreaks: New file.
30663         * lib/linebreak.h: Remove file.
30664         * lib/linebreak.c: Remove file.
30665         * m4/linebreak.m4: Remove file.
30666         * modules/linebreak: Remove file.
30667         * NEWS: Mention the changes.
30668
30669 2008-05-09  Eric Blake  <ebb9@byu.net>
30670
30671         Add xmemdup0.
30672         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
30673         implementation.
30674         * lib/xmalloc.c (xmemdup0): New C implementation.
30675
30676 2008-05-08  Bruno Haible  <bruno@clisp.org>
30677
30678         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
30679
30680 2008-05-07  Eric Blake  <ebb9@byu.net>
30681
30682         Support cross-compilation of <wctype.h>.
30683         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
30684         AC_CACHE_CHECK.
30685
30686 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
30687
30688         * build-aux/vc-list-files: Add support for bzr.
30689
30690 2008-05-03  Jim Meyering  <meyering@redhat.com>
30691
30692         avoid failed assertion with tight malloc
30693         * tests/test-getndelim2.c: Correct an off-by-one assertion.
30694
30695 2008-05-03  Simon Josefsson  <simon@josefsson.org>
30696
30697         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
30698         are needed from arpa/inet.h.
30699         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
30700         Reported by Bruno Haible.
30701
30702 2008-05-02  Jim Meyering  <meyering@redhat.com>
30703
30704         avoid compilation error on FreeBSD 6
30705         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
30706
30707 2008-05-01  Jim Meyering  <meyering@redhat.com>
30708
30709         useless-if-before-free: correct --help's exit status description
30710         * build-aux/useless-if-before-free (usage): Like grep, exit 0
30711         for one or more matches, etc.  Reported by Bruno Haible.
30712
30713         vc-list-files: make the stand-alone gnulib test work
30714         * modules/vc-list-files-tests (configure.ac):
30715         Define and AC_SUBST abs_aux_dir.
30716         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
30717         $(abs_top_srcdir) to each script and having each of them
30718         duplicate the work of setting PATH, set PATH here, using
30719         the new variable, abs_aux_dir instead.
30720         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
30721         * tests/test-vc-list-files-git.sh: Likewise.
30722         Reported by Bruno Haible.
30723
30724 2008-05-01  Bruno Haible  <bruno@clisp.org>
30725
30726         * lib/getndelim2.c (getndelim2): Fix newsize computation during
30727         reallocation. Rename 'done' to 'found_delimiter'.
30728
30729 2008-05-01  Jim Meyering  <meyering@redhat.com>
30730
30731         vc-list-files: accommodate /bin/sh like the one from Solaris 10
30732         * build-aux/vc-list-files: Use `...`, not $(...).
30733
30734 2008-04-30  Jim Meyering  <meyering@redhat.com>
30735
30736         add tests for vc-list-files
30737         * modules/vc-list-files-tests: New module.
30738         * tests/test-vc-list-files-cvs.sh: New file.
30739         * tests/test-vc-list-files-git.sh: New file.
30740
30741         avoid a warning from gcc
30742         * lib/getndelim2.c (IF_LINT): Define.
30743         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
30744
30745         vc-list-files: work properly with build-aux/cvsu, too
30746         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
30747         to all cvs-based clauses.
30748
30749         vc-list-files: work properly in the CVS+awk case, too
30750         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
30751
30752         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
30753         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
30754         take more than one file argument, so .  Add quotes, just in case $dir
30755         ever contains a shell meta-character.  Prompted by Soren Hansen in
30756         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
30757
30758 2008-04-29  Eric Blake  <ebb9@byu.net>
30759
30760         Optimize getndelim2 to use block operations when possible.
30761         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
30762         freadseek, and memchr2.
30763         * lib/getndelim2.c (getndelim2): Use them for block reads.
30764
30765 2008-04-29  Bruno Haible  <bruno@clisp.org>
30766
30767         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
30768         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30769         * modules/inet_ntop (Depends-on): Add extensions.
30770         * modules/inet_pton (Depends-on): Likewise.
30771         Reported by Simon Josefsson.
30772
30773 2008-04-29  Jim Meyering  <meyering@redhat.com>
30774
30775         When the is more than one match in a block, match all of them.
30776         * build-aux/useless-if-before-free: Iterate through each block
30777         until there are no more matches.
30778
30779         Fix broken useless-if-before-free script.
30780         * build-aux/useless-if-before-free: Fix typo: missing "?" after
30781         the expression to match cast of argument to free-like function.
30782
30783 2008-04-29  Eric Blake  <ebb9@byu.net>
30784
30785         Use new header.
30786         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
30787
30788 2008-04-29  Jim Meyering  <meyering@redhat.com>
30789
30790         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
30791         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
30792         by gnulib to exist and to declare e.g., inet_ntop.
30793         Don't include "inet_ntop.h", now removed.
30794
30795         * m4/arpa_inet_h.m4: Remove trailing blanks.
30796
30797 2008-04-29  Eric Blake  <ebb9@byu.net>
30798
30799         Silence valgrind on safe reads beyond potential array bounds.
30800         * lib/rawmemchr.valgrind: New file.
30801         * lib/strchrnul.valgrind: Likewise.
30802         * modules/rawmemchr (Files): Distribute new file.
30803         * modules/strchrnul (Files): Likewise.
30804         Suggested by Bruno Haible.
30805
30806 2008-04-29  Bruno Haible  <bruno@clisp.org>
30807
30808         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
30809         (inet_ntop, inet_pton): Change portability warning's wording.
30810         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
30811         Invoke gl_CHECK_NEXT_HEADERS.
30812         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
30813         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
30814         set ARPA_INET_H.
30815         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30816         * modules/arpa_inet (Description): No longer only for systems that
30817         lack it.
30818         (Depends-on): Add include_next.
30819         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
30820         HAVE_ARPA_INET_H.
30821
30822 2008-04-29  Jim Meyering  <meyering@redhat.com>
30823
30824         * modules/mkdir (License): Re-license as LGPLv2+.
30825
30826 2008-04-29  Bruno Haible  <bruno@clisp.org>
30827
30828         * modules/rawmemchr (Maintainer): Set to Eric.
30829         * modules/strchrnul (Maintainer): Likewise.
30830
30831 2008-04-29  Simon Josefsson  <simon@josefsson.org>
30832
30833         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
30834         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
30835
30836         * modules/arpa_inet (arpa/inet.h): Use them.
30837
30838 2008-04-28  Eric Blake  <ebb9@byu.net>
30839
30840         Test getndelim2.
30841         * modules/getndelim2-tests: New file.
30842         * tests/test-getndelim2.c: Likewise.
30843         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
30844         stream.
30845         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
30846
30847         * MODULES.html.sh: Document new module.
30848
30849 2008-04-20  Bruno Haible  <bruno@clisp.org>
30850
30851         * lib/c-stack.c (die): Use raise.
30852         * modules/c-stack (Depends-on): Add raise.
30853
30854 2008-04-28  Bruno Haible  <bruno@clisp.org>
30855
30856         Expect rpmatch to be declared.
30857         * lib/yesno.c (rpmatch): Remove declaration.
30858
30859         Declare rpmatch.
30860         * lib/stdlib.in.h (rpmatch): New declaration.
30861         * lib/rpmatch.c: Include <stdlib.h> first.
30862         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
30863         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
30864         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
30865         HAVE_RPMATCH.
30866         * modules/rpmatch (Depends-on): Add stdlib, extensions.
30867         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30868         (Include): Set to <stdlib.h>.
30869         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
30870         HAVE_RPMATCH.
30871         * NEWS: Document the change.
30872
30873 2008-04-28  Bruno Haible  <bruno@clisp.org>
30874
30875         Change rpmatch to use nl_langinfo when appropriate.
30876         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
30877         (N_): New macro.
30878         (localized_pattern): New function/macro.
30879         (try): Remove match, nomatch arguments. Copy the pattern into safe
30880         memory before caching it.
30881         (rpmatch): Use localized_pattern. Add translator comments.
30882         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
30883         Suggested by Eric Blake.
30884         * modules/rpmatch (Depends-on): Add stdbool.
30885
30886 2008-04-28  Eric Blake  <ebb9@byu.net>
30887
30888         Add rawmemchr module, matching glibc.
30889         * modules/string (Makefile.am): New indicator.
30890         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
30891         * lib/string.in.h (rawmemchr): Declare when appropriate.
30892         * modules/rawmemchr: New file.
30893         * m4/rawmemchr.m4: Likewise.
30894         * lib/rawmemchr.c: Likewise.
30895         * modules/rawmemchr-tests: Likewise.
30896         * tests/test-rawmemchr.c: Likewise.
30897         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
30898         module.
30899         * modules/strchrnul (Depends-on): Add rawmemchr.
30900         * lib/strchrnul.c (strchrnul): Optimize a corner case.
30901
30902         Whitespace cleanup.
30903         * tests/test-strchrnul.c: Reindent.
30904         * lib/strchrnul.c: Likewise.
30905
30906         Optimize and test strchrnul.
30907         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
30908         * modules/strchrnul-tests: New file.
30909         * tests/test-strchrnul.c: Likewise.
30910
30911         Remove intprops dependency.
30912         * modules/memchr (Depends-on): Remove intprops.
30913         * modules/memrchr (Depends-on): Likewise.
30914         * modules/memchr2 (Depends-on): Likewise.
30915         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
30916         * lib/memrchr.c (__memrchr): Likewise.
30917         * lib/memrchr2.c (memchr2): Likewise.
30918         Reported by Simon Josefsson.
30919
30920 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30921
30922         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
30923         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30924
30925 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30926
30927         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
30928
30929         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
30930
30931         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
30932
30933         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
30934         declarations.
30935         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
30936
30937         * m4/inet_pton.m4: Don't check for header files.
30938
30939         * m4/inet_ntop.m4: Don't check for header files.
30940
30941 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30942
30943         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
30944         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
30945         trigger for cygwin).
30946         Reported by Bruno Haible  <bruno@clisp.org>.
30947
30948 2008-04-28  Bruno Haible  <bruno@clisp.org>
30949
30950         * doc/posix-functions/strdup.texi: Mention mingw problem.
30951
30952 2008-04-27  Bruno Haible  <bruno@clisp.org>
30953
30954         * modules/stat-time-tests (Depends-on): Add sleep.
30955         * tests/test-stat-time.c (force_unlink): New function.
30956         (cleanup): Use it.
30957         (test_mtime): Remove the ctime related tests.
30958         (test_ctime): New function, containing the ctime related tests.
30959         (main): Call test_ctime, except on native Windows platforms.
30960
30961 2008-04-27  Bruno Haible  <bruno@clisp.org>
30962
30963         * lib/rpmatch.c (rpmatch): Add some comments.
30964         Reported by James Youngman <jay@gnu.org>.
30965
30966 2008-04-27  Bruno Haible  <bruno@clisp.org>
30967
30968         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
30969         quiet NaNs.
30970
30971 2008-04-27  Bruno Haible  <bruno@clisp.org>
30972
30973         Make test-yesno.sh work on mingw.
30974         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
30975         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
30976         (main): Set stdin to binary mode.
30977         * modules/yesno-tests (Depends-on): Add binary-io.
30978
30979 2008-04-27  Bruno Haible  <bruno@clisp.org>
30980
30981         Fix 'isfinite' on x86, x86_64, ia64 platforms.
30982         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
30983         argument that lie outside the IEEE 854 domain.
30984         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
30985         (gl_ISFINITE): Use it.
30986         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
30987
30988 2008-04-27  Bruno Haible  <bruno@clisp.org>
30989
30990         Allow local renaming in config.h.
30991         * lib/memrchr.c (memrchr): Don't undefine outside libc.
30992
30993 2008-04-27  Bruno Haible  <bruno@clisp.org>
30994
30995         * lib/memchr.c (__memchr): Change type of 'i'.
30996         * lib/memchr2.c (memchr2): Likewise.
30997
30998 2008-04-26  Eric Blake  <ebb9@byu.net>
30999         and Bruno Haible  <bruno@clisp.org>
31000
31001         Optimize and test memrchr.
31002         * modules/memrchr (Depends-on): Add intprops.
31003         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
31004         * modules/memrchr-tests: New file.
31005         * tests/test-memrchr.c: New file.
31006
31007 2008-04-26  Bruno Haible  <bruno@clisp.org>
31008
31009         Add tentative support for DragonFly BSD.
31010         * lib/stdio-impl.h: Add macros for DragonFly BSD.
31011         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
31012         fp.
31013         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
31014         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
31015         * lib/fpurge.c (fpurge): Likewise.
31016         * lib/freadable.c (freaadable): Likewise.
31017         * lib/freadahead.c (freadahead): Likewise.
31018         * lib/freading.c (freading): Likewise.
31019         * lib/freadptr.c (freadptr): Likewise.
31020         * lib/freadseek.c (freadptrinc): Likewise.
31021         * lib/fseeko.c (fseeko): Likewise.
31022         * lib/fseterr.c (fseterr): Likewise.
31023         * lib/fwritable.c (fwritable): Likewise.
31024         * lib/fwriting.c (fwriting): Likewise.
31025
31026 2008-04-26  Bruno Haible  <bruno@clisp.org>
31027
31028         * lib/stdio-impl.h: New file.
31029         * lib/fbufmode.c: Include stdio-impl.h.
31030         (fbufmode): Use fp_, remove redundant #defines.
31031         * lib/fflush.c: Include stdio-impl.h.
31032         (clear_ungetc_buffer): Remove redundant #defines.
31033         * lib/fpurge.c: Include stdio-impl.h.
31034         (fpurge): Remove redundant #defines.
31035         * lib/freadable.c: Include stdio-impl.h.
31036         (freadable): Remove redundant #defines.
31037         * lib/freadahead.c: Include stdio-impl.h.
31038         (freadahead): Remove redundant #defines.
31039         * lib/freading.c: Include stdio-impl.h.
31040         (freading): Remove redundant #defines.
31041         * lib/freadptr.c: Include stdio-impl.h.
31042         (freadptr): Remove redundant #defines.
31043         * lib/freadseek.c: Include stdio-impl.h.
31044         (freadptrinc): Remove redundant #defines.
31045         * lib/fseeko.c: Include stdio-impl.h.
31046         (rpl_fseeko): Remove redundant #defines.
31047         * lib/fseterr.c: Include stdio-impl.h.
31048         (fseterr): Remove redundant #defines.
31049         * lib/fwritable.c: Include stdio-impl.h.
31050         (fwritable: Remove redundant #defines.
31051         * lib/fwriting.c: Include stdio-impl.h.
31052         (fwriting): Remove redundant #defines.
31053         * modules/fbufmode (Files): Add lib/stdio-impl.h.
31054         * modules/fflush (Files): Likewise.
31055         * modules/fpurge (Files): Likewise.
31056         * modules/freadable (Files): Likewise.
31057         * modules/freadahead (Files): Likewise.
31058         * modules/freading (Files): Likewise.
31059         * modules/freadptr (Files): Likewise.
31060         * modules/freadseek (Files): Likewise.
31061         * modules/fseeko (Files): Likewise.
31062         * modules/fseterr (Files): Likewise.
31063         * modules/fwritable (Files): Likewise.
31064         * modules/fwriting (Files): Likewise.
31065
31066 2008-04-26  Bruno Haible  <bruno@clisp.org>
31067
31068         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
31069         restore_seek_optimization, update_fpos_cache): New functions, extracted
31070         from rpl_fflush.
31071         (rpl_fflush): Use them.
31072         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
31073         (gl_REPLACE_FFLUSH): Use it.
31074
31075 2008-04-26  Bruno Haible  <bruno@clisp.org>
31076
31077         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
31078         on Solaris.
31079         * tests/test-xstrtoimax.sh: Likewise.
31080         * tests/test-xstrtoumax.sh: Likewise.
31081         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31082
31083 2008-04-26  Bruno Haible  <bruno@clisp.org>
31084
31085         * modules/memchr-tests: New file.
31086         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
31087
31088 2008-04-26  Eric Blake  <ebb9@byu.net>
31089             Bruno Haible  <bruno@clisp.org>
31090
31091         * lib/memchr.c: Include intprops.h.
31092         (__memchr): Optimize parallel detection of matching bytes. Rename local
31093         variables. Add explanatory comments.
31094
31095 2008-04-26  Bruno Haible  <bruno@clisp.org>
31096
31097         Fix module 'memchr', broken since 2000-10-28.
31098         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
31099
31100 2008-04-26  Bruno Haible  <bruno@clisp.org>
31101
31102         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
31103         comments.
31104
31105 2008-04-25  Eric Blake  <ebb9@byu.net>
31106
31107         Use native fstatat on cygwin 1.7.0.
31108         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
31109         first.
31110
31111 2008-04-23  Eric Blake  <ebb9@byu.net>
31112
31113         Improve memchr2 performance.
31114         * lib/memchr2.c (memchr2): Further optimize parallel detection of
31115         NUL bytes.
31116         * modules/memchr2 (Depends-on): Use intprops.h.
31117
31118 2008-04-23  Simon Josefsson  <simon@josefsson.org>
31119
31120         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
31121         an inline function instead of a CPP macro.  Patch by Ben Pfaff
31122         <blp@cs.stanford.edu>.
31123
31124 2008-04-23  Simon Josefsson  <simon@josefsson.org>
31125
31126         * lib/arpa_inet.in.h: New file.
31127
31128         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
31129         (Makefile.am): Sed in substitute header file.
31130
31131         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
31132         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
31133
31134         * modules/inet_ntop (configure.ac): Use
31135         gl_ARPA_INET_MODULE_INDICATOR.
31136
31137         * modules/inet_pton (configure.ac): Use
31138         gl_ARPA_INET_MODULE_INDICATOR.
31139
31140 2008-04-22  Jim Meyering  <meyering@redhat.com>
31141
31142         * modules/verify (License): Re-license as LGPLv2+.
31143
31144 2008-04-22  Simon Josefsson  <simon@josefsson.org>
31145
31146         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
31147         parameter to void* as per POSIX standard (MinGW uses char*).
31148
31149 2008-04-21  Bruno Haible  <bruno@clisp.org>
31150
31151         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
31152         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
31153         Define to replacements if REPLACE_ISWCNTRL is 1.
31154         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
31155         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
31156         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
31157         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
31158         what it fixes.
31159         * doc/posix-functions/iswalpha.texi: Likewise.
31160         * doc/posix-functions/iswblank.texi: Likewise.
31161         * doc/posix-functions/iswcntrl.texi: Likewise.
31162         * doc/posix-functions/iswdigit.texi: Likewise.
31163         * doc/posix-functions/iswgraph.texi: Likewise.
31164         * doc/posix-functions/iswlower.texi: Likewise.
31165         * doc/posix-functions/iswprint.texi: Likewise.
31166         * doc/posix-functions/iswpunct.texi: Likewise.
31167         * doc/posix-functions/iswspace.texi: Likewise.
31168         * doc/posix-functions/iswupper.texi: Likewise.
31169         * doc/posix-functions/iswxdigit.texi: Likewise.
31170         Reported by Alain Guibert.
31171
31172 2008-04-21  Bruno Haible  <bruno@clisp.org>
31173
31174         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
31175         Patch by Alain Guibert.
31176
31177 2008-04-21  Bruno Haible  <bruno@clisp.org>
31178
31179         Fix test failures on mingw.
31180         * tests/test-xstrtol.c (print_no_progname): New function.
31181         (main): Install it in error_print_progname hook.
31182         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
31183         * tests/test-xstrtoimax.sh: Likewise.
31184         * tests/test-xstrtoumax.sh: Likewise.
31185
31186 2008-04-21  Bruno Haible  <bruno@clisp.org>
31187
31188         Fix test failure on mingw.
31189         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
31190
31191 2008-04-21  Bruno Haible  <bruno@clisp.org>
31192
31193         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
31194         Actually assign a value.
31195
31196 2008-04-20  Bruno Haible  <bruno@clisp.org>
31197
31198         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
31199         take 2.
31200         * lib/canonicalize.c (canonicalize_file_name): Elide if the
31201         'canonicalize-lgpl' module is also used.
31202         * lib/canonicalize-lgpl.c: Undo last change.
31203         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
31204
31205 2008-04-20  Bruno Haible  <bruno@clisp.org>
31206
31207         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
31208         config.h. Provide _mkdir based fallback for mingw.
31209         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
31210         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
31211         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
31212         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
31213         rather than defining mkdir in config.h.
31214         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
31215         (gl_SYS_STAT_H_DEFAULTS): New macro.
31216         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
31217         HAVE_IO_H any more.
31218         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
31219         HAVE_DECL_MKDIR and HAVE_IO_H.
31220
31221 2008-04-20  Bruno Haible  <bruno@clisp.org>
31222
31223         * lib/isapipe.c: Port to native Windows platforms.
31224
31225 2008-04-20  Bruno Haible  <bruno@clisp.org>
31226
31227         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
31228
31229 2008-04-21  Eric Blake  <ebb9@byu.net>
31230
31231         Work around preprocessors that don't handle UINTMAX_MAX.
31232         * lib/memchr2.c (memchr2): Avoid embedded #if.
31233         Reported by Alain Guibert, fix suggested by Bruno Haible.
31234
31235 2008-04-21  Simon Josefsson  <simon@josefsson.org>
31236
31237         * doc/posix-functions/strftime.texi (strftime): Explain better
31238         Windows incompatibility.  Suggested by Micah Cowan
31239         <micah@cowan.name>.
31240
31241 2008-04-20  Bruno Haible  <bruno@clisp.org>
31242
31243         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
31244         unistr/u8-mblen.
31245
31246 2008-04-20  Bruno Haible  <bruno@clisp.org>
31247
31248         Fix test failure on platforms with non-GNU iconv.
31249         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
31250         (U_TO_U8): Use it, rather than u16_to_u8.
31251         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
31252         units at the end of the input string.
31253         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
31254
31255 2008-04-20  Bruno Haible  <bruno@clisp.org>
31256
31257         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
31258         when the resulting length is 0.
31259         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
31260
31261 2008-04-20  Bruno Haible  <bruno@clisp.org>
31262
31263         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
31264         works.
31265         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
31266
31267 2008-04-20  Bruno Haible  <bruno@clisp.org>
31268
31269         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
31270         * modules/tsearch-tests (configure.ac): Test for initstate function.
31271
31272 2008-04-20  Bruno Haible  <bruno@clisp.org>
31273
31274         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
31275         for nlink_t if missing.
31276         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
31277
31278 2008-04-19  Bruno Haible  <bruno@clisp.org>
31279
31280         Work around snprintf bug on Linux libc5.
31281         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
31282         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31283         gl_SNPRINTF_SIZE1.
31284         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31285         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
31286         that test failed.
31287         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
31288         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
31289         * modules/snprintf (Files): Add m4/printf.m4.
31290         * modules/vsnprintf (Files): Likewise.
31291         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
31292         * doc/posix-functions/vsnprintf.texi: Likewise.
31293
31294 2008-04-19  Bruno Haible  <bruno@clisp.org>
31295
31296         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
31297         from 0.0058 to less than 10^-7.
31298
31299 2008-04-19  Bruno Haible  <bruno@clisp.org>
31300
31301         Fix rounding when a precision is given.
31302         * lib/vasnprintf.c (is_borderline): New function.
31303         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
31304         9...9x.
31305         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
31306         %e, %g.
31307         * tests/test-vasprintf-posix.c (test_function): Likewise.
31308         * tests/test-snprintf-posix.h (test_function): Likewise.
31309         * tests/test-sprintf-posix.h (test_function): Likewise.
31310         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
31311         * tests/test-printf-posix.h (test_function): Likewise.
31312         * tests/test-printf-posix.output: Update.
31313         Reported by John Darrington <john@darrington.wattle.id.au> via
31314         Ben Pfaff <blp@cs.stanford.edu>.
31315
31316 2008-04-18  Simon Josefsson  <simon@josefsson.org>
31317
31318         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
31319         Suggested by Bruno Haible <bruno@clisp.org>.
31320
31321 2008-04-17  Bruno Haible  <bruno@clisp.org>
31322
31323         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
31324         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
31325         implementation.
31326         Patch by Bruce Merry <bmerry@gmail.com>.
31327
31328 2008-04-17  Simon Josefsson  <simon@josefsson.org>
31329
31330         * doc/posix-functions/strftime.texi (strftime): Mention that %e
31331         doesn't work under Windows.
31332
31333 2008-04-16  Bruno Haible  <bruno@clisp.org>
31334
31335         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
31336         New macros.
31337         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
31338         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
31339         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
31340         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
31341         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
31342         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
31343         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
31344         macros.
31345         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
31346         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
31347         Northern Sotho, Uighur.
31348
31349 2008-04-16  Bruno Haible  <bruno@clisp.org>
31350
31351         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
31352         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
31353         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
31354         Reported by Daniel Bergström <daniel@octocode.com>.
31355
31356 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
31357             Bruno Haible  <bruno@clisp.org>
31358
31359         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
31360         function.
31361         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
31362         New functions, mostly extracted from gl_locale_name_default.
31363         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
31364
31365 2008-04-16  Eric Blake  <ebb9@byu.net>
31366
31367         Adjust strtod detection to catch glibc 2.7 bug.
31368         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
31369         Reported by John Gatewood Ham.
31370
31371 2008-04-16  Bruno Haible  <bruno@clisp.org>
31372
31373         Add tentative support for Linux libc5.
31374         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
31375         * lib/fpurge.c (fpurge): Likewise.
31376         * lib/freadable.c (freadable): Likewise.
31377         * lib/freadahead.c (freadahead): Likewise.
31378         * lib/freading.c (freading): Likewise.
31379         * lib/freadptr.c (freadptr): Likewise.
31380         * lib/freadseek.c (freadptrinc): Likewise.
31381         * lib/fseeko.c (rpl_fseeko): Likewise.
31382         * lib/fseterr.c (fseterr): Likewise.
31383         * lib/fwritable.c (fwritable): Likewise.
31384         * lib/fwriting.c (fwriting): Likewise.
31385         Reported by Alain Guibert <alguibert+bts@free.fr>.
31386
31387 2008-04-15  Bruno Haible  <bruno@clisp.org>
31388
31389         * modules/mathl (configure.ac): Define module indicator.
31390
31391 2008-04-15  Bruno Haible  <bruno@clisp.org>
31392
31393         * lib/logl.c (logl): Remove unused variables.
31394
31395 2008-04-15  Bruno Haible  <bruno@clisp.org>
31396
31397         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
31398         fails.
31399
31400 2008-04-15  Bruno Haible  <bruno@clisp.org>
31401
31402         * lib/trim.c (trim2): Fix argument of isspace() macro.
31403
31404 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
31405
31406         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
31407         to 0.
31408         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
31409
31410 2008-04-14  Bruno Haible  <bruno@clisp.org>
31411
31412         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
31413         AC_LANG_PROGRAM argument.
31414         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
31415         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
31416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
31417         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31418         * m4/math_h.m4 (gl_MATH_H): Likewise.
31419         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
31420         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
31421         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
31422         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
31423         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
31424         * m4/regex.m4 (gl_REGEX): Likewise.
31425         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
31426         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
31427         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31428         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
31429         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
31430         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
31431         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31432         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31433
31434 2008-04-14  Jim Meyering  <meyering@redhat.com>
31435
31436         test-strtod: fix typos: s/abs/fabs/
31437         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
31438
31439 2008-04-13  Bruno Haible  <bruno@clisp.org>
31440
31441         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
31442         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
31443         module is also used and while not building the reloc-wrapper.
31444
31445 2008-04-13  Bruno Haible  <bruno@clisp.org>
31446
31447         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
31448
31449 2008-04-13  Bruno Haible  <bruno@clisp.org>
31450
31451         Fix AIX compilation failure introduced on 2008-04-02.
31452         * tests/test-frexp.c (exp): Undefine before redefining.
31453         * tests/test-frexpl.c (exp): Likewise.
31454
31455 2008-04-13  Bruno Haible  <bruno@clisp.org>
31456
31457         Work around a HP-UX stdio bug.
31458         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
31459         * tests/test-ftello.c (main): Likewise.
31460         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
31461         * doc/posix-functions/ftello.texi: Likewise.
31462
31463 2008-04-13  Bruno Haible  <bruno@clisp.org>
31464
31465         Make test-signbit pass on HP-UX/hppa.
31466         * tests/test-signbit.c (minus_zerol): New variable.
31467         (test_signbitl): Use it.
31468
31469 2008-04-13  Bruno Haible  <bruno@clisp.org>
31470
31471         Make truncl work on OSF/1 4.0.
31472         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
31473         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
31474         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
31475         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
31476         HAVE_DECL_TRUNCL.
31477         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
31478         HAVE_DECL_TRUNCL.
31479         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
31480
31481 2008-04-13  Bruno Haible  <bruno@clisp.org>
31482
31483         * lib/unictype.h: Remove trailing comma from enumeration definitions.
31484
31485 2008-04-13  Bruno Haible  <bruno@clisp.org>
31486
31487         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
31488         expression, so as to avoid HP-UX 11 cc compiler bug.
31489
31490 2008-04-13  Bruno Haible  <bruno@clisp.org>
31491
31492         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
31493
31494 2008-04-13  Bruno Haible  <bruno@clisp.org>
31495
31496         * lib/git-merge-changelog.c: Remove empty declaration outside of
31497         functions.
31498
31499 2008-04-13  Bruno Haible  <bruno@clisp.org>
31500
31501         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
31502
31503 2008-04-13  Bruno Haible  <bruno@clisp.org>
31504
31505         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
31506         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
31507         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
31508         also if it exists but lacks definitions of the SHUT_* macros.
31509         * modules/sys_socket (Description): Update.
31510         Reported by Elbert Pol <e.pol@chello.nl>.
31511
31512 2008-04-13  Bruno Haible  <bruno@clisp.org>
31513
31514         * lib/localcharset.c (OS2): Don't redefine if already defined.
31515         Reported by Elbert Pol <e.pol@chello.nl>.
31516
31517 2008-04-13  Bruno Haible  <bruno@clisp.org>
31518
31519         * lib/binary-io.h [__EMX__]: Include <io.h>.
31520         Reported by Elbert Pol <e.pol@chello.nl>.
31521
31522 2008-04-12  Bruno Haible  <bruno@clisp.org>
31523
31524         * lib/fpucw.h: Enable the definitions also for x86_64.
31525         Needed for NetBSD/x86_64.
31526         Reported by Thomas Klausner <tk@giga.or.at>.
31527
31528 2008-04-12  Bruno Haible  <bruno@clisp.org>
31529
31530         * tests/test-strtod.c: Include isnand.h.
31531         (main): Use isnand instead of isnan.
31532         Reported by Jim Meyering.
31533
31534 2008-04-12  Bruno Haible  <bruno@clisp.org>
31535
31536         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
31537         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31538
31539 2008-04-12  Jim Meyering  <meyering@redhat.com>
31540
31541         * m4/math_h.m4 (gl_MATH_H): Fix typos.
31542
31543 2008-04-12  Bruno Haible  <bruno@clisp.org>
31544
31545         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
31546         Reported by Elbert Pol <e.pol@chello.nl>.
31547
31548 2008-04-12  Eric Blake  <ebb9@byu.net>
31549
31550         Work around Solaris 10 math.h bug.
31551         * m4/math_h.m4 (gl_MATH_H): Check for bug.
31552         (gl_MATH_H_DEFAULTS): Set up default.
31553         * modules/math (Makefile.am): Replace new indicators.
31554         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
31555         * tests/test-math.c (main): Test this.
31556         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
31557         * doc/posix-headers/math.texi (math.h): Mention bug.
31558         Reported by Nelson H. F. Beebe and Jim Meyering.
31559
31560 2008-04-11  Bruno Haible  <bruno@clisp.org>
31561
31562         Adapt to future versions of Apple GCC.
31563         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
31564         Reported by Peter O'Gorman <peter@pogma.com>.
31565
31566 2008-04-11  Bruno Haible  <bruno@clisp.org>
31567
31568         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
31569
31570 2008-04-11  Bruno Haible  <bruno@clisp.org>
31571
31572         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
31573
31574         * modules/getaddrinfo-tests (Makefile.am): Define
31575         test_getaddrinfo_LDADD.
31576
31577 2008-04-11  Bruno Haible  <bruno@clisp.org>
31578
31579         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
31580         (init): Fix syntax error.
31581         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
31582         is declared.
31583
31584 2008-04-11  Bruno Haible  <bruno@clisp.org>
31585
31586         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
31587         * modules/glob (Depends-on): Add stdbool.
31588
31589 2008-04-11  Bruno Haible  <bruno@clisp.org>
31590
31591         * lib/trim.c: Include <string.h>.
31592
31593 2008-04-11  Eric Blake  <ebb9@byu.net>
31594
31595         Avoid compile failure on OS/2.
31596         * lib/regex_internal.h (internal_function): Disable optimization
31597         on OS/2 (__EMX__), where it caused compiler error.
31598         Reported by Elbert Pol.
31599
31600 2008-04-11  Bruno Haible  <bruno@clisp.org>
31601
31602         Flush the standard error stream before aborting. Needed on mingw.
31603         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
31604         * tests/test-array_list.c (ASSERT): Likewise.
31605         * tests/test-array_oset.c (ASSERT): Likewise.
31606         * tests/test-avltree_list.c (ASSERT): Likewise.
31607         * tests/test-avltree_oset.c (ASSERT): Likewise.
31608         * tests/test-avltreehash_list.c (ASSERT): Likewise.
31609         * tests/test-binary-io.c (ASSERT): Likewise.
31610         * tests/test-byteswap.c (ASSERT): Likewise.
31611         * tests/test-c-ctype.c (ASSERT): Likewise.
31612         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
31613         * tests/test-c-strcasestr.c (ASSERT): Likewise.
31614         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
31615         * tests/test-c-strstr.c (ASSERT): Likewise.
31616         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
31617         * tests/test-canonicalize.c (ASSERT): Likewise.
31618         * tests/test-carray_list.c (ASSERT): Likewise.
31619         * tests/test-ceilf1.c (ASSERT): Likewise.
31620         * tests/test-ceilf2.c (ASSERT): Likewise.
31621         * tests/test-ceill.c (ASSERT): Likewise.
31622         * tests/test-count-one-bits.c (ASSERT): Likewise.
31623         * tests/test-fbufmode.c (ASSERT): Likewise.
31624         * tests/test-fflush2.c (ASSERT): Likewise.
31625         * tests/test-floorf1.c (ASSERT): Likewise.
31626         * tests/test-floorf2.c (ASSERT): Likewise.
31627         * tests/test-floorl.c (ASSERT): Likewise.
31628         * tests/test-fopen.c (ASSERT): Likewise.
31629         * tests/test-fpending.c (ASSERT): Likewise.
31630         * tests/test-fprintf-posix.c (ASSERT): Likewise.
31631         * tests/test-fpurge.c (ASSERT): Likewise.
31632         * tests/test-freadable.c (ASSERT): Likewise.
31633         * tests/test-freadahead.c (ASSERT): Likewise.
31634         * tests/test-freading.c (ASSERT): Likewise.
31635         * tests/test-freadptr.c (ASSERT): Likewise.
31636         * tests/test-freadptr2.c (ASSERT): Likewise.
31637         * tests/test-freadseek.c (ASSERT): Likewise.
31638         * tests/test-freopen.c (ASSERT): Likewise.
31639         * tests/test-frexp.c (ASSERT): Likewise.
31640         * tests/test-frexpl.c (ASSERT): Likewise.
31641         * tests/test-fseek.c (ASSERT): Likewise.
31642         * tests/test-fseeko.c (ASSERT): Likewise.
31643         * tests/test-fstrcmp.c (ASSERT): Likewise.
31644         * tests/test-ftell.c (ASSERT): Likewise.
31645         * tests/test-ftello.c (ASSERT): Likewise.
31646         * tests/test-func.c (ASSERT): Likewise.
31647         * tests/test-fwritable.c (ASSERT): Likewise.
31648         * tests/test-fwriting.c (ASSERT): Likewise.
31649         * tests/test-getdelim.c (ASSERT): Likewise.
31650         * tests/test-getline.c (ASSERT): Likewise.
31651         * tests/test-i-ring.c (ASSERT): Likewise.
31652         * tests/test-iconv-utf.c (ASSERT): Likewise.
31653         * tests/test-iconv.c (ASSERT): Likewise.
31654         * tests/test-isfinite.c (ASSERT): Likewise.
31655         * tests/test-isnand.c (ASSERT): Likewise.
31656         * tests/test-isnanf.c (ASSERT): Likewise.
31657         * tests/test-isnanl.h (ASSERT): Likewise.
31658         * tests/test-ldexpl.c (ASSERT): Likewise.
31659         * tests/test-linked_list.c (ASSERT): Likewise.
31660         * tests/test-linkedhash_list.c (ASSERT): Likewise.
31661         * tests/test-localename.c (ASSERT): Likewise.
31662         * tests/test-lseek.c (ASSERT): Likewise.
31663         * tests/test-mbscasecmp.c (ASSERT): Likewise.
31664         * tests/test-mbscasestr1.c (ASSERT): Likewise.
31665         * tests/test-mbscasestr2.c (ASSERT): Likewise.
31666         * tests/test-mbscasestr3.c (ASSERT): Likewise.
31667         * tests/test-mbscasestr4.c (ASSERT): Likewise.
31668         * tests/test-mbschr.c (ASSERT): Likewise.
31669         * tests/test-mbscspn.c (ASSERT): Likewise.
31670         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
31671         * tests/test-mbspbrk.c (ASSERT): Likewise.
31672         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
31673         * tests/test-mbsrchr.c (ASSERT): Likewise.
31674         * tests/test-mbsspn.c (ASSERT): Likewise.
31675         * tests/test-mbsstr1.c (ASSERT): Likewise.
31676         * tests/test-mbsstr2.c (ASSERT): Likewise.
31677         * tests/test-mbsstr3.c (ASSERT): Likewise.
31678         * tests/test-memchr2.c (ASSERT): Likewise.
31679         * tests/test-memmem.c (ASSERT): Likewise.
31680         * tests/test-open.c (ASSERT): Likewise.
31681         * tests/test-printf-frexp.c (ASSERT): Likewise.
31682         * tests/test-printf-frexpl.c (ASSERT): Likewise.
31683         * tests/test-printf-posix.c (ASSERT): Likewise.
31684         * tests/test-quotearg.c (ASSERT): Likewise.
31685         * tests/test-rbtree_list.c (ASSERT): Likewise.
31686         * tests/test-rbtree_oset.c (ASSERT): Likewise.
31687         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
31688         * tests/test-round1.c (ASSERT): Likewise.
31689         * tests/test-roundf1.c (ASSERT): Likewise.
31690         * tests/test-roundl.c (ASSERT): Likewise.
31691         * tests/test-signbit.c (ASSERT): Likewise.
31692         * tests/test-sleep.c (ASSERT): Likewise.
31693         * tests/test-snprintf-posix.c (ASSERT): Likewise.
31694         * tests/test-snprintf.c (ASSERT): Likewise.
31695         * tests/test-sprintf-posix.c (ASSERT): Likewise.
31696         * tests/test-stat-time.c (ASSERT): Likewise.
31697         * tests/test-strcasestr.c (ASSERT): Likewise.
31698         * tests/test-strerror.c (ASSERT): Likewise.
31699         * tests/test-striconv.c (ASSERT): Likewise.
31700         * tests/test-striconveh.c (ASSERT): Likewise.
31701         * tests/test-striconveha.c (ASSERT): Likewise.
31702         * tests/test-strsignal.c (ASSERT): Likewise.
31703         * tests/test-strstr.c (ASSERT): Likewise.
31704         * tests/test-strtod.c (ASSERT): Likewise.
31705         * tests/test-trunc1.c (ASSERT): Likewise.
31706         * tests/test-trunc2.c (ASSERT): Likewise.
31707         * tests/test-truncf1.c (ASSERT): Likewise.
31708         * tests/test-truncf2.c (ASSERT): Likewise.
31709         * tests/test-truncl.c (ASSERT): Likewise.
31710         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
31711         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
31712         * tests/test-vasnprintf.c (ASSERT): Likewise.
31713         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
31714         * tests/test-vasprintf.c (ASSERT): Likewise.
31715         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
31716         * tests/test-vprintf-posix.c (ASSERT): Likewise.
31717         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
31718         * tests/test-vsnprintf.c (ASSERT): Likewise.
31719         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
31720         * tests/test-wcwidth.c (ASSERT): Likewise.
31721         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
31722         * tests/test-xprintf-posix.c (ASSERT): Likewise.
31723         * tests/test-xvasprintf.c (ASSERT): Likewise.
31724         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
31725         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
31726         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
31727         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
31728         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
31729         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
31730         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
31731         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
31732         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
31733         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
31734         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
31735         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
31736         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
31737         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
31738         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
31739         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
31740         * tests/unictype/test-block_list.c (ASSERT): Likewise.
31741         * tests/unictype/test-block_of.c (ASSERT): Likewise.
31742         * tests/unictype/test-block_test.c (ASSERT): Likewise.
31743         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
31744         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
31745         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
31746         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
31747         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
31748         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
31749         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
31750         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
31751         * tests/unictype/test-combining.c (ASSERT): Likewise.
31752         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
31753         * tests/unictype/test-digit.c (ASSERT): Likewise.
31754         * tests/unictype/test-mirror.c (ASSERT): Likewise.
31755         * tests/unictype/test-numeric.c (ASSERT): Likewise.
31756         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
31757         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
31758         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
31759         * tests/unictype/test-scripts.c (ASSERT): Likewise.
31760         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
31761         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
31762         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
31763         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
31764         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
31765         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
31766         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
31767         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
31768         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
31769         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
31770         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
31771         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
31772         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
31773         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
31774         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
31775         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
31776         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
31777         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
31778         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
31779         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
31780         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
31781         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
31782         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
31783         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
31784         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
31785         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
31786         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
31787         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
31788         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
31789         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
31790         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
31791         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
31792         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
31793         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
31794         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
31795         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
31796         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
31797         Reported by Eric Blake.
31798
31799 2008-04-11  Bruno Haible  <bruno@clisp.org>
31800
31801         * lib/wchar.in.h: Tweak comment.
31802
31803 2008-04-11  Bruno Haible  <bruno@clisp.org>
31804
31805         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
31806         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
31807         gl_COMMON.
31808         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
31809
31810 2008-04-11  Bruno Haible  <bruno@clisp.org>
31811
31812         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
31813
31814 2008-04-11  Simon Josefsson  <simon@josefsson.org>
31815
31816         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
31817         of attempting to use non-existing /dev/*random.  Based on patch
31818         from Adam Strzelecki <ono@java.pl> in
31819         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
31820
31821 2008-04-08  Bruno Haible  <bruno@clisp.org>
31822
31823         Add tentative support for emx+gcc.
31824         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
31825         * lib/fpurge.c (fpurge): Likewise.
31826         * lib/freadable.c (freadable): Likewise.
31827         * lib/freadahead.c (freadahead): Likewise.
31828         * lib/freading.c (freading): Likewise.
31829         * lib/freadptr.c (freadptr): Likewise.
31830         * lib/freadseek.c (freadptrinc): Likewise.
31831         * lib/fseeko.c (rpl_fseeko): Likewise.
31832         * lib/fseterr.c (fseterr): Likewise.
31833         * lib/fwritable.c (fwritable): Likewise.
31834         * lib/fwriting.c (fwriting): Likewise.
31835         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
31836
31837 2008-04-09  Eric Blake  <ebb9@byu.net>
31838
31839         Avoid some autoconf warnings.
31840         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
31841         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
31842         * m4/afs.m4 (gl_AFS): Likewise.
31843         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
31844         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
31845         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
31846         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
31847         (gl_INTEGER_TYPE_SUFFIX): Likewise.
31848         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
31849         (AC_CHECK_DECLS_ONCE): Likewise.
31850         Rename file...
31851         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
31852         gnulib-tool requires autoconf 2.59 or better.
31853         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
31854
31855 2008-04-08  Eric Blake  <ebb9@byu.net>
31856
31857         Use 'git describe --match' if present (added in git 1.5.5).
31858         * build-aux/git-version-gen: Limit result to tags that match 'v*'
31859         if possible.
31860
31861 2008-04-08  Bruno Haible  <bruno@clisp.org>
31862
31863         Add tentative support for OpenServer.
31864         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
31865         _ptr, _cnt.
31866         * lib/fpurge.c (fpurge): Likewise.
31867         * lib/freadable.c (freadable): Likewise.
31868         * lib/freadahead.c (freadahead): Likewise.
31869         * lib/freading.c (freading): Likewise.
31870         * lib/freadptr.c (freadptr): Likewise.
31871         * lib/freadseek.c (freadptrinc): Likewise.
31872         * lib/fseeko.c (rpl_fseeko): Likewise.
31873         * lib/fseterr.c (fseterr): Likewise.
31874         * lib/fwritable.c (fwritable): Likewise.
31875         * lib/fwriting.c (fwriting): Likewise.
31876         Reported by Roger Cornelius <rac@tenzing.org> and
31877         Brian K. White <brian@aljex.com>.
31878
31879 2008-04-06  Jim Meyering  <meyering@redhat.com>
31880
31881         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
31882
31883 2008-04-06  Bruno Haible  <bruno@clisp.org>
31884
31885         Avoid possible error with non-ASCII bytes in UTF-8 locales.
31886         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
31887         * tests/test-printf-posix.sh: Likewise.
31888         * tests/test-vfprintf-posix.sh: Likewise.
31889         * tests/test-vprintf-posix.sh: Likewise.
31890         * tests/test-xprintf-posix.sh: Likewise.
31891
31892 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31893
31894         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
31895         hide error from 'ls', needed on OS/2.
31896         Report by Elbert Pol <elbert.pol@gmail.com>.
31897
31898 2008-04-04  Eric Blake  <ebb9@byu.net>
31899
31900         Make test-fseeko.c failures meaningful.
31901         * tests/test-fseeko.c: Print line number on failure.
31902         * tests/test-fseek.c: Likewise.
31903         Reported by Nelson H. F. Beebe.
31904
31905         Improve strtod bug detection check.
31906         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
31907         required for Solaris 10.
31908         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
31909
31910 2008-04-04  Bruno Haible  <bruno@clisp.org>
31911
31912         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
31913         by m4/setenv.m4.
31914
31915 2008-04-03  Eric Blake  <ebb9@byu.net>
31916
31917         Ensure sane .version contents.
31918         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
31919         version string.
31920         * build-aux/git-version-gen: Improve documentation.
31921
31922         Make GNU make output nicer.
31923         * top/GNUmakefile [!_have-Makefile]: Add dependency on
31924         MAKECMDGOALS to enforce message for all command line targets.  Set
31925         srcdir for use in maint.mk.
31926
31927         Another maintainer tweak.
31928         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
31929         a target that regenerates version.
31930
31931 2008-04-03  Jim Meyering  <meyering@redhat.com>
31932
31933         vc-list-files: don't cause coreutils "make po-check" failure
31934         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
31935
31936 2008-04-03  Eric Blake  <ebb9@byu.net>
31937
31938         Allow VPATH usage of vc-list-files.
31939         * build-aux/vc-list-files (scriptversion): Add timestamp.
31940         (options): Add --help, --version, -C.
31941         (CVS): Support installed cvsu.
31942
31943 2008-04-02  Bruno Haible  <bruno@clisp.org>
31944
31945         Avoid some "statement with no effect" warnings from gcc.
31946         * tests/test-wctype.c (main): Explicitly ignore unused values.
31947         Reported by Jim Meyering.
31948
31949 2008-04-02  Jim Meyering  <meyering@redhat.com>
31950
31951         Avoid some warnings from "gcc -Wshadow".
31952         * tests/test-frexp.c (exp): Define to a different identifier.
31953         * tests/test-frexpl.c (exp): Likewise.
31954
31955 2008-04-03  Jim Meyering  <meyering@redhat.com>
31956
31957         bootstrap: remove dangling *.[ch] symlinks from lib
31958         * build-aux/bootstrap [dangling symlink removal]: Move find's
31959         -depth option to precede all others, to avoid a warning.
31960         Remove *.[ch] files too, and from "$source_base" (usually lib/).
31961
31962 2008-04-02  Bruno Haible  <bruno@clisp.org>
31963
31964         Avoid some warnings from "gcc -Wshadow".
31965         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
31966         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
31967         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
31968         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
31969         Reported by Jim Meyering.
31970
31971 2008-04-01  Bruno Haible  <bruno@clisp.org>
31972
31973         Fix test to work on IRIX 6.5 with cc.
31974         * tests/test-math.c (numeric_equal): New function.
31975         (main): Use it.
31976
31977 2008-04-01  Bruno Haible  <bruno@clisp.org>
31978
31979         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
31980
31981 2008-04-01  Bruno Haible  <bruno@clisp.org>
31982
31983         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
31984         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
31985         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
31986         (Depends-on): Remove math.
31987
31988         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
31989         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
31990         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
31991         (Depends-on): Remove math.
31992
31993         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
31994         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
31995         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
31996         (Depends-on): Remove math.
31997         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
31998         (Depends-on): Remove math.
31999
32000         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
32001         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32002         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
32003         (Depends-on): Remove math.
32004         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
32005         (Depends-on): Remove math.
32006
32007         * tests/test-round1.c: Include nan.h.
32008         (main): Use NaNd instead of NAN.
32009         * modules/round-tests (Files): Add tests/nan.h.
32010
32011         * tests/test-trunc1.c: Include nan.h.
32012         (main): Use NaNd instead of NAN.
32013         * modules/trunc-tests (Files): Add tests/nan.h.
32014
32015         * tests/test-roundf1.c: Include nan.h.
32016         (main): Use NaNf instead of NAN.
32017         * modules/roundf-tests (Files): Add tests/nan.h.
32018
32019         * tests/test-truncf1.c: Include nan.h.
32020         (main): Use NaNf instead of NAN.
32021         * modules/truncf-tests (Files): Add tests/nan.h.
32022
32023         * tests/test-ceilf1.c: Include nan.h.
32024         (main): Use NaNf instead of NAN.
32025         * modules/ceilf-tests (Files): Add tests/nan.h.
32026
32027         * tests/test-floorf1.c: Include nan.h.
32028         (main): Use NaNf instead of NAN.
32029         * modules/floorf-tests (Files): Add tests/nan.h.
32030
32031         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
32032         (main): Use NaNf instead of NAN.
32033         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
32034
32035         * tests/test-isnand.c: Include nan.h instead of <math.h>.
32036         (main): Use NaNd instead of NAN.
32037         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
32038
32039         * tests/test-frexp.c: Include nan.h.
32040         (main): Use NaNd instead of NAN.
32041         * modules/frexp-tests (Files): Add tests/nan.h.
32042
32043         * lib/isnan.c: Don't include <math.h>.
32044         (FUNC): Don't use NAN macro.
32045         * modules/isnand-nolibm (Depends-on): Remove math.
32046         * modules/isnanf-nolibm (Depends-on): Remove math.
32047         * modules/isnanl (Depends-on): Remove math.
32048         * modules/isnanl-nolibm (Depends-on): Remove math.
32049
32050         * tests/nan.h: New file.
32051
32052 2008-04-01  Eric Blake  <ebb9@byu.net>
32053
32054         Fix typos.
32055         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
32056         values to be the right type.
32057
32058         For now, cater to gnulib strtod inaccuracies.
32059         * tests/test-strtod.c (main): Allow 1-ulp error on expected
32060         fractional results.  While not as nice from a QoI perspective, it
32061         is a quicker patch than correctly implementing decimal to binary
32062         rounding.
32063
32064 2008-03-31  Eric Blake  <ebb9@byu.net>
32065
32066         Guarantee a definition of NAN.
32067         * lib/math.in.h (NAN): Define if missing.
32068         * tests/test-math.c (main): Test it.
32069         * doc/posix-headers/math.texi (math.h): Document this.
32070         * lib/isnan.c (rpl_isnand): Use it.
32071         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
32072         * tests/test-floorf1.c (NaN): Likewise.
32073         * tests/test-frexp.c (NaN): Likewise.
32074         * tests/test-isnand.c (NaN): Likewise.
32075         * tests/test-isnanf.c (NaN): Likewise.
32076         * tests/test-round1.c (NaN): Likewise.
32077         * tests/test-roundf1.c (NaN): Likewise.
32078         * tests/test-snprintf-posix.h (NaN): Likewise.
32079         * tests/test-sprintf-posix.h (NaN): Likewise.
32080         * tests/test-trunc1.c (NaN): Likewise.
32081         * tests/test-truncf1.c (NaN): Likewise.
32082         * tests/test-vasnprintf-posix.c (NaN): Likewise.
32083         * tests/test-vasprintf-posix.c (NaN): Likewise.
32084         * modules/isnand-nolibm (Depends-on): Add math.
32085         * modules/isnanf-nolibm (Depends-on): Likewise.
32086         * modules/isnanl (Depends-on): Likewise.
32087         * modules/isnanl-nolibm (Depends-on): Likewise.
32088         * modules/snprintf-posix-tests (Depends-on): Likewise.
32089         * modules/sprintf-posix-tests (Depends-on): Likewise.
32090         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
32091         * modules/vsprintf-posix-tests (Depends-on): Likewise.
32092         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
32093         * modules/vasprintf-posix-tests (Depends-on): Likewise.
32094
32095 2008-03-31  Bruno Haible  <bruno@clisp.org>
32096
32097         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
32098         * doc/posix-functions/strtod.texi: Likewise.
32099
32100 2008-03-31  Bruno Haible  <bruno@clisp.org>
32101
32102         * tests/test-strtod.c (main): Don't use C99 syntax.
32103
32104 2008-03-31  Bruno Haible  <bruno@clisp.org>
32105
32106         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
32107         Reported by Eric Blake.
32108
32109 2008-03-31  Jim Meyering  <meyering@redhat.com>
32110
32111         Don't compare actual signbit return values.
32112         * tests/test-strtod.c (main): Rather, compare only their
32113         zero/non-zero nature.
32114
32115 2008-03-31  Eric Blake  <ebb9@byu.net>
32116
32117         More strtod documentation.
32118         * doc/posix-functions/strtod.texi (strtod): Interpret more test
32119         failures as distinct bugs.
32120
32121 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
32122
32123         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
32124         Problem reported by Erik Benada in
32125         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
32126
32127 2008-03-30  Bruno Haible  <bruno@clisp.org>
32128
32129         * tests/test-strtod.c: Add comments about which assertion fails on which
32130         platform.
32131         * doc/posix-functions/strtod.texi: Add info about many more platforms.
32132
32133 2008-03-30  Eric Blake  <ebb9@byu.net>
32134
32135         Test signbit behavior on zeros.
32136         * tests/test-signbit.c (test_signbitf): Add tests for zero.
32137         (test_signbitd, test_signbitl): Likewise.
32138
32139         More strtod touchups.
32140         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
32141         sign of negative underflow, for now.  Use .5, not .1.
32142         * doc/posix-functions/strtod.texi (strtod): Mention these
32143         limitations.
32144         Reported by Jim Meyering.
32145
32146 2008-03-30  Bruno Haible  <bruno@clisp.org>
32147
32148         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
32149         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
32150
32151 2008-03-30  Bruno Haible  <bruno@clisp.org>
32152
32153         Avoid failure when attempting to return empty iconv results on some
32154         platforms.
32155         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
32156         allocation, don't report ENOMEM when the resulting string is empty.
32157
32158 2008-03-30  Bruno Haible  <bruno@clisp.org>
32159
32160         Fix buffer overrun.
32161         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
32162         Don't consider the width for tmp_length. Check count against tmp_length
32163         before doing the padding. Ensure enough allocation during padding.
32164
32165 2008-03-30  Eric Blake  <ebb9@byu.net>
32166
32167         strtod touchups.
32168         * lib/strtod.c (strtod): Avoid compiler warnings.
32169         Reported by Jim Meyering.
32170
32171 2008-03-30  Bruno Haible  <bruno@clisp.org>
32172
32173         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
32174         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
32175         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
32176         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
32177         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
32178         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
32179         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
32180         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
32181
32182         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
32183         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
32184         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
32185         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
32186         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
32187         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
32188         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
32189         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
32190
32191         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
32192         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
32193         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
32194         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
32195         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
32196         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
32197         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
32198         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
32199
32200         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
32201         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
32202
32203         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
32204         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
32205
32206         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
32207         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
32208
32209         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
32210         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
32211         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
32212
32213         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
32214         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
32215         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
32216
32217         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
32218         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
32219         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
32220
32221         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
32222         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
32223         * modules/vasprintf (Depends-on): Add EOVERFLOW.
32224
32225         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
32226         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
32227         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
32228         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
32229         (Depends-on): Add EOVERFLOW.
32230         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
32231         (Depends-on): Add EOVERFLOW.
32232         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
32233         (Depends-on): Add EOVERFLOW.
32234         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
32235         (Depends-on): Add EOVERFLOW.
32236         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
32237         (Depends-on): Add EOVERFLOW.
32238         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
32239         (Depends-on): Add EOVERFLOW.
32240         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
32241         (Depends-on): Add EOVERFLOW.
32242         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
32243         (Depends-on): Add EOVERFLOW.
32244
32245         * lib/sprintf.c (EOVERFLOW): Remove fallback.
32246         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
32247         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
32248
32249         * lib/snprintf.c (EOVERFLOW): Remove fallback.
32250         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
32251         * modules/snprintf (Depends-on): Add EOVERFLOW.
32252
32253         * lib/poll.c (EOVERFLOW): Remove fallback.
32254         * modules/poll (Depends-on): Add EOVERFLOW.
32255
32256         * lib/getugroups.c (EOVERFLOW): Remove fallback.
32257         * modules/getugroups (Depends-on): Add EOVERFLOW.
32258
32259         * lib/getdelim.c (EOVERFLOW): Remove fallback.
32260         * modules/getdelim (Depends-on): Add EOVERFLOW.
32261
32262         * lib/ftell.c (EOVERFLOW): Remove fallback.
32263         * modules/ftell (Depends-on): Add EOVERFLOW.
32264
32265         * lib/fprintf.c (EOVERFLOW): Remove fallback.
32266         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
32267         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
32268
32269         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
32270
32271         * modules/EOVERFLOW-tests: New file.
32272         * tests/test-EOVERFLOW.c: New file.
32273
32274         * modules/EOVERFLOW: New file.
32275         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
32276
32277 2008-03-30  Bruno Haible  <bruno@clisp.org>
32278
32279         Fix bug introduced on 2007-06-10.
32280         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
32281         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
32282
32283 2008-03-30  Bruno Haible  <bruno@clisp.org>
32284
32285         Improve freadseek's efficiency after ungetc.
32286         * lib/freadseek.c: Include freadahead.h.
32287         (freadptrinc): New function, extracted from freadseek.
32288         (freadseek): Use it in a loop. Use freadahead to determine the number
32289         of loop iterations.
32290         * modules/freadseek (Depends-on): Add freadahead.
32291         (configure.ac): Require AC_C_INLINE.
32292
32293 2008-03-30  Bruno Haible  <bruno@clisp.org>
32294
32295         * lib/freadseek.c (freadseek): Don't ignore the return value of
32296         freadptr.
32297
32298 2008-03-29  Eric Blake  <ebb9@byu.net>
32299
32300         Add hex float support.
32301         * modules/strtod (Depends-on): Add c-ctype.
32302         (Link): Mention POW_LIB.
32303         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
32304         whitespace between 'e' and exponent.
32305         * tests/test-strtod.c (main): Enable hex float tests.
32306         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
32307         now provides.
32308
32309         Document various strtod bugs, with some fixes.
32310         * doc/posix-functions/strtod.texi (strtod): Document bugs with
32311         "-0x", "inf", "nan", and hex constants.
32312         * doc/posix-functions/atof.texi (atof): Likewise.
32313         * modules/stdlib (Makefile.am): Support strtod.
32314         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
32315         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
32316         detect additional strtod bugs.
32317         * lib/stdlib.in.h (rpl_strtod): Add declarations.
32318         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
32319         bool where appropriate.  Parse 'inf' and 'nan'.
32320         * tests/test-strtod.c: New file.
32321         * modules/strtod (Depends-on): Add stdbool, stdlib.
32322         (configure.ac): Turn on module indicator.
32323         * modules/strtod-tests: New module.
32324
32325 2008-03-29  Eric Blake  <ebb9@byu.net>
32326
32327         Fix ftell on mingw.
32328         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
32329         * modules/ftell-tests (Depends-on): Add binary-io.
32330         * modules/ftello-tests (Depends-on): Likewise.
32331         * tests/test-ftell.c (main): Enhance test to cover behavior after
32332         ungetc.  Enforce binary mode.
32333         * tests/test-ftello.c (main): Likewise.
32334
32335         Pass test-freadseek on cygwin.
32336         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
32337         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
32338         ungetc buffer.
32339
32340         * tests/test-fflush2.c (main): Fix typo.
32341
32342 2008-03-29  Bruno Haible  <bruno@clisp.org>
32343
32344         * tests/test-fflush2.c (main): Temporarily disable the contents of
32345         this test.
32346         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
32347         Reported by Eric Blake.
32348
32349 2008-03-28  Simon Josefsson  <simon@josefsson.org>
32350
32351         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
32352         (GC_SHA224_DIGEST_SIZE): Add.
32353
32354         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
32355         (gc_hash_digest_length): Likewise.
32356         (gc_hash_buffer): Likewise.
32357
32358 2008-03-25  Bruno Haible  <bruno@clisp.org>
32359
32360         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
32361         detail which gettext release to use.
32362         Reported by Simon Josefsson.
32363
32364 2008-03-26  Jim Meyering  <meyering@redhat.com>
32365
32366         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
32367         * modules/gnumakefile (clean-GNUmakefile): Also, use
32368         test ... && ... || : syntax rather than if-then ... fi.
32369
32370         gnumakefile: Don't double-quote-expand $(VPATH) value.
32371         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
32372
32373 2008-03-24  Eric Blake  <ebb9@byu.net>
32374
32375         Alter GNUmakefile to install into top directory.
32376         * modules/maintainer-makefile: Split, and add dependency...
32377         * modules/gnumakefile: to this new module.
32378         * build-aux/GNUmakefile: Move...
32379         * top/GNUmakefile: ...here.
32380         * build-aux/maint.mk: Move...
32381         * top/maint.mk: ...here.
32382         * MODULES.html.sh (Support for maintaining...): Document new
32383         module.
32384
32385 2008-03-23  Bruno Haible  <bruno@clisp.org>
32386
32387         * gnulib-tool: New options --vc-files, --no-vc-files.
32388         (func_usage): Document them.
32389         (vc_files): New variable.
32390         (func_import): Consider vc_files.
32391         (func_create_testdir): Set vc_files to empty.
32392         Suggested by Jim Meyering and Karl Berry.
32393
32394 2008-03-23  Bruno Haible  <bruno@clisp.org>
32395
32396         Fix regex compilation error on HP-UX 11.
32397         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
32398         * modules/regex (Files): Add m4/mbstate_t.m4.
32399         Reported by Ton Voon <ton.voon@altinity.com>.
32400
32401 2008-03-23  Bruno Haible  <bruno@clisp.org>
32402
32403         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
32404
32405 2008-03-23  Eric Blake  <ebb9@byu.net>
32406             Bruno Haible  <bruno@clisp.org>
32407
32408         Install files from top/ in the destination directory.
32409         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32410         augmentation also for the files from top/.
32411         (func_import, func_create_testdir): Rewrite file names:
32412         top/filename -> filename.
32413
32414 2008-03-23  Bruno Haible  <bruno@clisp.org>
32415
32416         Tweak "gnulib --version" output.
32417         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
32418
32419 2008-03-23  Bruno Haible  <bruno@clisp.org>
32420
32421         Tweak "gnulib --version" output.
32422         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
32423         rather than contents of ChangeLog, when possible.
32424
32425 2008-03-21  Eric Blake  <ebb9@byu.net>
32426
32427         More --version tweaks.
32428         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
32429         date of last ChangeLog entry.
32430
32431 2008-03-21  Jim Meyering  <meyering@redhat.com>
32432
32433         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
32434
32435 2008-03-20  Eric Blake  <ebb9@byu.net>
32436
32437         VPATH fix.
32438         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
32439
32440 2008-03-20  Simon Josefsson  <simon@josefsson.org>
32441
32442         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
32443         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
32444
32445 2008-03-20  Eric Blake  <ebb9@byu.net>
32446
32447         Sync GNUmakefile with coreutils.
32448         * build-aux/GNUmakefile (have-Makefile): Rename...
32449         (_have-Makefile): ...to this, for namespace consideration.
32450         (GNUmakefile.cfg): Include, if present.
32451         (_autoreconf): Define a default.
32452         (_is-dist-target): New rule for rebuilds to pick up intra-release
32453         version.
32454         (maint-cfg.mk): Rename...
32455         (cfg.mk): ...to this.
32456
32457 2008-03-18  Jim Meyering  <meyering@redhat.com>
32458
32459         New script and module: mktempd
32460         * MODULES.html.sh (maint+release support): Add mktempd.
32461         * build-aux/mktempd: New file.
32462         * modules/mktempd: New file.
32463
32464 2008-03-15  Jim Meyering  <meyering@redhat.com>
32465
32466         Undo last change.
32467         * lib/sha1.c, lib/md5.c: 63 != ~63.
32468         Reported by Andreas Schwab.
32469
32470         sha1.c, md5.c: Hoist a redundant expression.
32471         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
32472         "ctx->buflen" only once, before calling *_process_block.
32473         * lib/md5.c (md5_process_bytes): Likewise.
32474
32475 2008-03-14  Eric Blake  <ebb9@byu.net>
32476
32477         Bump copyright year in files generated by gnulib-tool.
32478         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
32479         gnulib-tool, rather than hard-coding it.
32480
32481         Fix 'gnulib-tool --version' output to work with git.
32482         * gnulib-tool (func_gnulib_dir): New function, extracted from...
32483         (startup): ...here.
32484         (func_version): Use it to invoke git-version-gen, rather than
32485         relying on CVS keyword expansion.  Modernize wording.
32486         (cvsdatestamp, last_checkin_date, version): Kill unused
32487         variables.
32488
32489 2008-03-12  Jim Meyering  <meyering@redhat.com>
32490
32491         Recognize optional cast of the argument to free.
32492         * build-aux/useless-if-before-free: Update regexps.
32493
32494         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
32495
32496 2008-03-11  Bruno Haible  <bruno@clisp.org>
32497
32498         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
32499         by a single package.
32500         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
32501         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
32502         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
32503         Reported by Sam Steingold <sds@gnu.org>.
32504
32505 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32506
32507         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
32508         repositories.
32509
32510 2008-03-11  Bruno Haible  <bruno@clisp.org>
32511
32512         Avoid conflicts between local macro definitions.
32513         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32514         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
32515
32516 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
32517             Bruno Haible  <bruno@clisp.org>
32518
32519         Make va_copy work with some version of xlc on AIX 5.1.
32520         * lib/stdarg.in.h: New file.
32521         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
32522         On AIX, use a <stdarg.h> file substitute.
32523         * modules/stdarg (Files): Add lib/stdarg.in.h.
32524         (Depends-on): Add include_next.
32525         (Makefile.am): Build a stdarg.h substitute if requested.
32526         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
32527
32528 2008-03-10  Bruno Haible  <bruno@clisp.org>
32529
32530         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
32531         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32532         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
32533
32534 2008-03-10  Bruno Haible  <bruno@clisp.org>
32535
32536         * modules/stdlib (Depends-on): Add include_next, remove
32537         absolute-header.
32538
32539 2008-03-09  Bruno Haible  <bruno@clisp.org>
32540
32541         * lib/freadahead.h (freadahead): Document more precisely.
32542         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
32543         the sum of both buffer sizes.
32544         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
32545         * NEWS: Document the change.
32546
32547 2008-03-09  Bruno Haible  <bruno@clisp.org>
32548
32549         Extend freadptr to return also the buffer size.
32550         * lib/freadptr.h (freadptr): Add sizep argument.
32551         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
32552         (freadptr): Add sizep argument. Determine buffer size like freadahead
32553         does.
32554         * tests/test-freadptr.c: Don't include freadahead.h.
32555         (main): Adapt for new calling convention of freadptr.
32556         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
32557         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
32558         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
32559         tests/test-freadptr2.sh.
32560         (Depends): Remove freadahead.
32561         (TESTS): Add test-freadptr2.sh.
32562         (check_PROGRAMS): Add test-freadptr2.
32563
32564 2008-03-09  Bruno Haible  <bruno@clisp.org>
32565
32566         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
32567         Report and solution by Simon Josefsson.
32568
32569 2008-03-06  Bruno Haible  <bruno@clisp.org>
32570
32571         Make fflush after ungetc work on BSD platforms.
32572         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
32573         * tests/test-fflush2.c: New file.
32574         * tests/test-fflush2.sh: New file.
32575         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
32576         tests/test-fflush2.c.
32577         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
32578         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
32579
32580 2008-03-06  Eric Blake  <ebb9@byu.net>
32581
32582         Likewise for ftello.
32583         * modules/ftello (Dependencies): Add extensions.
32584         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
32585
32586 2008-03-06  Bruno Haible  <bruno@clisp.org>
32587
32588         * modules/fseeko (Dependencies): Add extensions.
32589         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
32590         Needed on glibc systems.
32591
32592 2008-03-06  Bruno Haible  <bruno@clisp.org>
32593
32594         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
32595         email address.
32596         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32597
32598 2008-03-06  Bruno Haible  <bruno@clisp.org>
32599
32600         * users.txt: Add libgnupdf.
32601
32602 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32603
32604         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
32605         (Header File Substitutes, Function Substitutes,
32606         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
32607         (Build robot for gnulib): Fix typo.
32608
32609 2008-03-06  Bruno Haible  <bruno@clisp.org>
32610
32611         * doc/gnulib-tool.texi (VCS Issues): Small updates.
32612         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32613
32614 2008-03-06  Bruno Haible  <bruno@clisp.org>
32615
32616         * doc/func.texi: New file, extracted from doc/gnulib.texi.
32617         * doc/gnulib.texi: Include it.
32618
32619 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32620
32621         * modules/func (License): Change license to unlimited; there was
32622         no LGPL parts in the module anyway.
32623
32624 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32625
32626         * modules/__func__: Renamed to modules/func.
32627         * modules/__func__-tests: Renamed to modules/func-tests.
32628         * tests/test-__func__.c: Renamed to tests/test-func.c.
32629         * m4/__func__.m4: Renamed to m4/func.m4.
32630         * doc/gnulib.texi (__func__): Section renamed to func.
32631         Suggested by Eric Blake <ebb9@byu.net>.
32632
32633 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32634
32635         * doc/gnulib.texi (__func__): Use C99 terminology when talking
32636         about __func__.  Make example self-contained.  Suggested by Eric
32637         Blake <ebb9@byu.net>.
32638
32639         * tests/test-__func__.c (main): Avoid extraneous () around __func.
32640         Suggested by Eric Blake <ebb9@byu.net>.
32641
32642 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32643
32644         * modules/__func__: New file.
32645         * modules/__func__-tests: New file.
32646         * tests/test-__func__.c: New file.
32647         * m4/__func__.m4: New file.
32648         * doc/gnulib.texi (__func__): Document __func__ module.
32649
32650 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32651
32652         * modules/byteswap (License): Re-license as LGPLv2+.
32653
32654 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32655
32656         * doc/Makefile: Add pdf target.
32657
32658 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32659
32660         * modules/inline (License): Use 'unlimited', since there are only
32661         *.m4 files in this module.
32662
32663 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
32664             Bruno Haible  <bruno@clisp.org>
32665
32666         Add support for HP C 7.1 on OpenVMS 8.3.
32667         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
32668
32669 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
32670
32671         Update VMS specifics.
32672         * lib/getopt.c [VMS]: Remove include of unixlib.h.
32673
32674 2008-03-02  Jim Meyering  <meyering@redhat.com>
32675
32676         Remove the last dependency on the "free" module.
32677         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
32678         Reported by Bob Proulx.
32679
32680         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
32681
32682         Remove useless "if" tests before free.  Deprecate "free" module.
32683         * doc/posix-functions/free.texi: Mention that this
32684         module is no longer useful.
32685         * modules/free (Notice): Say this module is obsolete.
32686         * modules/readutmp (Depends-on): Remove free.
32687         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
32688         * lib/putenv.c (putenv): Likewise.
32689         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
32690         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
32691         * tests/test-c-strcasestr.c (main): Likewise.
32692         * tests/test-c-strstr.c (main): Likewise.
32693         * tests/test-mbscasestr1.c (main): Likewise.
32694         * tests/test-mbscasestr2.c (main): Likewise.
32695         * tests/test-mbsstr1.c (main): Likewise.
32696         * tests/test-mbsstr2.c (main): Likewise.
32697         * tests/test-memmem.c (main): Likewise.
32698         * tests/test-strcasestr.c (main): Likewise.
32699         * tests/test-striconv.c (main): Likewise.
32700         * tests/test-striconveh.c (main): Likewise.
32701         * tests/test-striconveha.c (main): Likewise.
32702         * tests/test-strstr.c (main): Likewise.
32703
32704         * build-aux/git-version-gen: Adjust a comment and the Usage string.
32705
32706         bootstrap: sync from coreutils again
32707         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
32708
32709 2008-03-01  Jim Meyering  <meyering@redhat.com>
32710
32711         bootstrap: sync from coreutils
32712         * build-aux/bootstrap (update_po_files): Copy a .po file into place
32713         also when the target doesn't exist.
32714
32715 2008-03-01  Eric Blake  <ebb9@byu.net>
32716
32717         Fix bugs in last patch.
32718         * lib/memchr2.c (memchr2): Fix typo.
32719         * tests/test-memchr2.c: Test previous bug, and don't use GNU
32720         extension.
32721         Reported by Bruce Korb.
32722
32723         New module 'memchr2'.
32724         * modules/memchr2: New file.
32725         * modules/memchr2-tests: Likewise.
32726         * lib/memchr2.h: Likewise.
32727         * lib/memchr2.c: Likewise, based on memchr.c.
32728         * tests/test-memchr2.c: New test.
32729         * MODULES.html.sh (String handling): Add memchr2.
32730
32731 2008-02-29  Bruno Haible  <bruno@clisp.org>
32732
32733         * modules/freadseek-tests: New file.
32734         * tests/test-freadseek.sh: New file.
32735         * tests/test-freadseek.c: New file.
32736
32737         New module 'freadseek'.
32738         * modules/freadseek: New file.
32739         * lib/freadseek.h: New file.
32740         * lib/freadseek.c: New file.
32741         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
32742
32743 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
32744
32745         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
32746         wydawca.
32747
32748         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
32749         program_invocation_name and program_invocation_short_name are
32750         present.
32751
32752 2008-02-28  Bruno Haible  <bruno@clisp.org>
32753
32754         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
32755         * tests/test-freadptr.sh: Also test non-seekable stdin.
32756
32757 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
32758
32759         * build-aux/bootstrap (source_base, m4_base)
32760         (doc_base, tests_base): New variables.
32761         (gnulib_tool_options): Do not hardcode base directories, use
32762         the above variables instead.
32763
32764 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
32765
32766         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
32767
32768 2008-02-28  Bruno Haible  <bruno@clisp.org>
32769
32770         * modules/freadptr-tests: New file.
32771         * tests/test-freadptr.sh: New file.
32772         * tests/test-freadptr.c: New file.
32773
32774         New module 'freadptr'.
32775         * modules/freadptr: New file.
32776         * lib/freadptr.h: New file.
32777         * lib/freadptr.c: New file.
32778         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
32779
32780 2008-02-26  Karl Berry  <karl@freefriends.org>
32781
32782         Sync from Libtool:
32783         * libltdl/argz.c (argz_add, argz_count): New functions.
32784         * libltdl/argz.in.h: Declare them.
32785         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
32786
32787 2008-02-22  Bruno Haible  <bruno@clisp.org>
32788
32789         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
32790         is a pointer type.  Needed for HP-UX 10.
32791         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
32792         * doc/posix-functions/gmtime_r.texi: Likewise.
32793         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
32794
32795 2008-02-24  Bruno Haible  <bruno@clisp.org>
32796
32797         * modules/environ-tests: New file.
32798         * tests/test-environ.c: New file.
32799
32800         New module 'environ'.
32801         * modules/environ: New file.
32802         * lib/unistd.in.h (environ): New declaration.
32803         * m4/environ.m4: New file.
32804         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
32805         after use.
32806         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
32807         HAVE_DECL_ENVIRON.
32808         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
32809         HAVE_DECL_ENVIRON.
32810         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
32811         wrong claim that 'environ' is missing on some systems.
32812         * modules/execute (Depends-on): Add environ.
32813         * lib/execute.c (environ): Remove fallback declaration.
32814         * modules/pipe (Depends-on): Add environ.
32815         * lib/pipe.c (environ): Remove fallback declaration.
32816         * modules/setenv (Depends-on): Add environ.
32817         * lib/setenv.c (environ): Remove fallback declaration.
32818         * modules/unsetenv (Depends-on): Add environ.
32819         * lib/unsetenv.c (environ): Remove fallback declaration.
32820         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
32821         m4/environ.m4.
32822         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
32823         (gl_PREREQ_UNSETENV): Likewise.
32824
32825 2008-02-24  Bruno Haible  <bruno@clisp.org>
32826
32827         * doc/posix-functions/environ.texi: Document the MacOS X problem.
32828
32829 2008-02-20  Bob Proulx  <bob@proulx.com>
32830
32831         Enable use of older two part flavor 'git describe'.
32832         * build-aux/git-version-gen: If using the older two part flavor of
32833         git version then recreate the third part now present in the
32834         newer three part flavor of git describe.
32835
32836 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
32837
32838         * lib/fts.c (fts_build): Typo correction to comment.
32839
32840 2008-02-17  Bruno Haible  <bruno@clisp.org>
32841
32842         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
32843         generating no-op conflicts.
32844
32845 2008-02-17  Bruno Haible  <bruno@clisp.org>
32846
32847         Speed up by 10%.
32848         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
32849         result_entries, rather than an index-based loop.
32850
32851 2008-02-17  Bruno Haible  <bruno@clisp.org>
32852
32853         Speed up by 25%.
32854         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
32855         'hashcode_cached'.
32856         (entry_create): New function.
32857         (entry_hashcode): Use the cached hashcode if possible.
32858         (read_changelog_file, try_split_merged_entry): Use entry_create.
32859
32860 2008-02-17  Bruno Haible  <bruno@clisp.org>
32861
32862         Speed up from O(n^2) to O(n) for long ChangeLog files.
32863         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
32864         (read_changelog_file): Change implementation of entries_reversed list
32865         to rbtreehash.
32866         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
32867
32868 2008-02-17  Bruno Haible  <bruno@clisp.org>
32869
32870         New option --split-merged-entry.
32871         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
32872         (find_paragraph_end, try_split_merged_entry): New functions.
32873         (long_options): Add option --split-merged-entry.
32874         (usage): Document option --split-merged-entry.
32875         (main): Implement option --split-merged-entry.
32876         Reported by Eric Blake.
32877
32878 2008-02-17  Bruno Haible  <bruno@clisp.org>
32879
32880         * lib/git-merge-changelog.c: Include c-strstr.h.
32881         (main): Support the "git pull --rebase" situation.
32882         * modules/git-merge-changelog (Depends-on): Add c-strstr.
32883         Reported by Eric Blake.
32884
32885 2008-02-16  Eric Blake  <ebb9@byu.net>
32886
32887         Avoid doubling \ in common case of "c-maybe" quoting style.
32888         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
32889         eliding outer quotes.
32890         * lib/quotearg.h: Document this.
32891         * tests/test-quotearg.c (result_strings, inputs, results_g)
32892         (flag_results, locale_results): Test it by adding a new string to
32893         each test group.
32894         (compare_strings): Test new string.
32895
32896 2008-02-13  Eric Blake  <ebb9@byu.net>
32897
32898         Avoid trigraph quoting in default output.
32899         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
32900         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
32901         unless explicitly requested.
32902         * tests/test-quotearg.c (flag_results, main): Add additional tests.
32903
32904 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
32905
32906         Don't rely on signed integer overflowing to negative value.
32907         * lib/getugroups.c (getugroups): Include <limits.h>.
32908         Instead, compare against INT_MAX, and increment only if the test passes.
32909
32910 2008-02-13  Jim Meyering  <meyering@redhat.com>
32911         and Eric Blake  <ebb9@byu.net>
32912
32913         Avoid shadowing warning and compile errors on Linux.
32914         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
32915         forwarding macros on Linux.
32916         (dcgettext): Define a stub, for Linux.
32917         (results_g, main): Avoid warnings.
32918
32919 2008-02-12  Eric Blake  <ebb9@byu.net>
32920
32921         Silence warning in last patch.
32922         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
32923
32924         Quotearg part 4: add tests, fix c-maybe colon quoting.
32925         * lib/quotearg.h: Improve documentation.
32926         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
32927         escapes when adding outer quotes.  When quoting trigraphs, use
32928         valid C notation.  When quoting NUL, omit extra characters if next
32929         character is not digit.  Alter prototype.
32930         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
32931         callers.
32932         * modules/quotearg-tests: New module.
32933         * tests/test-quotearg.c: New test.
32934
32935 2008-02-07  Eric Blake  <ebb9@byu.net>
32936
32937         Quotearg part 3: add flag to control outer quote elision.
32938         * lib/quotearg.h (c_maybe_quoting_style): New style.
32939         (enum quoting_flags): Better documentation of flags.
32940         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
32941         c-maybe style.
32942         (quotearg_buffer_restyled): Handle new flag to elide outer
32943         quotes.
32944
32945         Quotearg part 2: add flag that can control NUL elision.
32946         * lib/quotearg.h (set_quoting_flags): New prototype.
32947         * lib/quotearg.c (struct quoting_options): Add flag field.
32948         (set_quoting_flags): New function.
32949         (quotearg_buffer_restyled): Add flags parameter.
32950         (quotearg_alloc_mem): Set the flag if length cannot be returned.
32951         (quotearg_n_options): Set the flag, since length cannot be
32952         returned.
32953         (quoting_options_from_style): Default flags correctly.
32954
32955         Quotearg part 1: more wrappers, restore quotearg_char state.
32956         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
32957         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
32958         (quotearg_colon_mem): New wrappers.
32959         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
32960         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
32961         functions.
32962         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
32963         (quotearg_colon_mem): New functions.
32964
32965 2008-02-11  Bruno Haible  <bruno@clisp.org>
32966
32967         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
32968         library in the current directory: it does not work with parallel make.
32969         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32970
32971 2008-02-11  Bruno Haible  <bruno@clisp.org>
32972
32973         * .gitattributes: New file.
32974
32975 2008-02-11  Jim Meyering  <meyering@redhat.com>
32976
32977         useless-if-before-free: Fix reversed exit values.
32978         * build-aux/useless-if-before-free: Use correct values
32979         for EXIT_MATCH and EXIT_NO_MATCH.
32980
32981         * build-aux/useless-if-before-free: Close stdout carefully.
32982
32983 2008-02-10  Bruno Haible  <bruno@clisp.org>
32984
32985         New module 'git-merge-changelog'.
32986         * modules/git-merge-changelog: New file.
32987         * lib/git-merge-changelog.c: New file.
32988
32989 2008-02-10  Jim Meyering  <meyering@redhat.com>
32990
32991         useless-if-before-free: New option: --list (-l).
32992
32993         useless-if-before-free: Don't exit immediately upon open failure.
32994         * build-aux/useless-if-before-free: Exit 2 for errors.
32995         Upon failure to open a file, don't exit immediately.
32996         Rather, just warn and continue with any remaining files.
32997
32998 2008-02-10  Bruno Haible  <bruno@clisp.org>
32999
33000         New abstract list operation 'node_set_value'.
33001         * lib/gl_list.h (gl_list_node_set_value): New function.
33002         (struct gl_list_implementation): New field node_set_value.
33003         * lib/gl_list.c (gl_list_node_set_value): New function.
33004         * lib/gl_array_list.c (gl_array_node_set_value): New function.
33005         (gl_array_list_implementation): Update.
33006         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
33007         (gl_carray_list_implementation): Update.
33008         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
33009         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
33010         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
33011         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
33012         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
33013         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
33014         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
33015         Update.
33016         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
33017         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
33018         (gl_sublist_list_implementation): Update.
33019
33020 2008-02-10  Bruno Haible  <bruno@clisp.org>
33021
33022         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
33023         Needed when ELEMENT is #defined to 'some_type *'.
33024
33025 2008-02-10  Jim Meyering  <meyering@redhat.com>
33026
33027         New script and module: useless-if-before-free
33028         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
33029         * build-aux/useless-if-before-free: New file.
33030         * modules/useless-if-before-free: New file.
33031
33032         * build-aux/gitlog-to-changelog: Use committer date, not author date.
33033
33034         xstrtol_error: Fix typo.
33035         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
33036         s/exit_failure/exit_status/.
33037
33038 2008-02-09  Jim Meyering  <meyering@redhat.com>
33039
33040         New script and module: gitlog-to-changelog
33041         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
33042         * modules/gitlog-to-changelog: New file.
33043         * build-aux/gitlog-to-changelog: New file.
33044
33045 2008-02-08  Jim Meyering  <meyering@redhat.com>
33046
33047         Avoid two "parameter unused" warnings.
33048         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
33049         Mark "st" as used.
33050
33051         Use "git COMMAND", not "git-COMMAND".
33052         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
33053         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
33054         * build-aux/git-version-gen: Use "git status", not "git-status".
33055
33056 2008-02-07  Bruno Haible  <bruno@clisp.org>
33057
33058         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
33059         Avoids a crash on Windows Vista.
33060         Reported by Adam Strzelecki <ono@java.pl> via
33061         Simon Josefsson <simon@josefsson.org>.
33062
33063 2008-02-06  Bruno Haible  <bruno@clisp.org>
33064
33065         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
33066         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
33067         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
33068         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
33069         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33070         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33071         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
33072         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
33073         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33074         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33075         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33076         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33077         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33078         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33079         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33080         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
33081         left-adjust flag.
33082         * tests/test-snprintf-posix.h (test_function): Likewise.
33083         * tests/test-sprintf-posix.h (test_function): Likewise.
33084         * tests/test-vasprintf-posix.c (test_function): Likewise.
33085         * doc/posix-functions/fprintf.texi: Update.
33086         * doc/posix-functions/printf.texi: Update.
33087         * doc/posix-functions/snprintf.texi: Update.
33088         * doc/posix-functions/sprintf.texi: Update.
33089         * doc/posix-functions/vfprintf.texi: Update.
33090         * doc/posix-functions/vprintf.texi: Update.
33091         * doc/posix-functions/vsnprintf.texi: Update.
33092         * doc/posix-functions/vsprintf.texi: Update.
33093         Reported by Peter Fales <psfales@alcatel-lucent.com>.
33094
33095 2008-02-06  Bruno Haible  <bruno@clisp.org>
33096
33097         Fix bug introduced on 2008-01-26.
33098         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
33099
33100 2008-02-06  Bruno Haible  <bruno@clisp.org>
33101
33102         Fix bug introduced on 2007-06-10.
33103         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
33104         !NEED_PRINTF_FLAG_ZERO.
33105
33106 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
33107
33108         getloadavg: use libperfstat on AIX5
33109         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
33110
33111 2008-02-03  Bruno Haible  <bruno@clisp.org>
33112
33113         * lib/diffseq.h: Add comments about required #includes.
33114         Reported by Michael Biggs <gnulib@doubleplum.net>.
33115
33116 2008-02-01  Bruno Haible  <bruno@clisp.org>
33117
33118         * users.txt: Add gnuit.
33119
33120 2008-01-31  Bruno Haible  <bruno@clisp.org>
33121
33122         * lib/md4.c (set_uint32): Mark as inline.
33123         * lib/md5.c (set_uint32): Likewise.
33124         * lib/sha1.c (set_uint32): Likewise.
33125         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
33126         * m4/md5.m4 (gl_MD5): Likewise.
33127         * m4/sha1.m4 (gl_SHA1): Likewise.
33128
33129 2008-01-31  Jim Meyering  <meyering@redhat.com>
33130
33131         Use "sizeof VAR", rather than a literal "4".
33132         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
33133         * lib/md4.c (md4_read_ctx): Likewise.
33134         * lib/sha1.c (sha1_read_ctx): Likewise.
33135
33136 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33137
33138         * tests/test-sha1.c: New file, based on test-md5.c.
33139
33140         * modules/crypto/sha1-tests: New file.
33141
33142 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33143
33144         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
33145
33146 2008-01-31  Jim Meyering  <meyering@redhat.com>
33147
33148         Prefer "sizeof v" over the equivalent "4".
33149         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
33150         * lib/md5.c (set_uint32): Likewise.
33151         * lib/sha1.c (set_uint32): Likewise.
33152
33153 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33154
33155         * lib/sha1.c (set_uint32): Mark function as static.
33156
33157 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33158
33159         md2: clarify comments to say that alignment is not required.
33160         * lib/md2.h: Remove warning about alignment in comment.
33161         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
33162         never been required.
33163
33164 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33165
33166         md4: adapt alignment constraint fix from sha1.
33167         * lib/md4.c (set_uint32): New function, from sha1.c
33168         (md4_read_ctx): Use it.
33169         (md4_finish_ctx): Doc fix.
33170         * lib/md4.h: Doc fix.
33171
33172 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33173
33174         md5: adapt alignment constraint fix from sha1.
33175         * lib/md5.c (set_uint32): New function, from sha1.c
33176         (md5_read_ctx): Use it.
33177         (md5_finish_ctx): Doc fix.
33178         * lib/md5.h: Doc fix.
33179
33180 2008-01-30  Peter Palfrader  <weasel@debian.org>
33181
33182         sha1: remove the result buffer alignment constraint
33183         * lib/sha1.c (set_uint32): New function.
33184         (sha1_read_ctx): Rewrite to remove the result buffer alignment
33185         constraint.
33186         (sha1_finish_ctx): Remove comment warning about alignment constraint.
33187         * lib/sha1.h: Likewise.
33188
33189 2008-01-30  Andreas Schwab  <schwab@suse.de>
33190             Bruno Haible  <bruno@clisp.org>
33191
33192         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
33193         correct definition of LDBL_MIN_EXP.
33194
33195 2008-01-30  Karl Berry  <karl@gnu.org>
33196
33197         * config/srclist-update: try to preserve x bit on updates.
33198         * config/srclistvars.sh: update for karl.
33199
33200 2008-01-29  Jim Meyering  <meyering@redhat.com>
33201
33202         vasnprintf.c: Avoid warning about unused label
33203         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
33204         "overflow" label definition and associated code with the
33205         same cpp condition that guards the sole use of that label.
33206
33207 2008-01-26  Bruno Haible  <bruno@clisp.org>
33208
33209         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
33210         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
33211         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
33212         * lib/isnanl-nolibm.h (isnanl): Likewise.
33213         Reported by Paul Eggert <eggert@cs.ucla.edu>.
33214
33215 2008-01-26  Bruno Haible  <bruno@clisp.org>
33216
33217         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
33218         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
33219
33220 2008-01-26  Bruno Haible  <bruno@clisp.org>
33221
33222         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
33223         GCC >= 4.0 built-in.
33224         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
33225
33226 2008-01-26  Bruno Haible  <bruno@clisp.org>
33227
33228         Rename isnan, applicable to 'double' only, to isnand.
33229         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
33230         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
33231         (configure.ac): Update.
33232         (Include): Replace "isnan.h" with "isnand.h".
33233         * m4/isnand.m4: Renamed from m4/isnan.m4.
33234         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
33235         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
33236         instead of isnan.c.
33237         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
33238         instead of HAVE_ISNAN_IN_LIBC.
33239         (isnand): Renamed from isnan.
33240         * lib/isnand.c: New file.
33241         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
33242         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
33243         (Makefile.am): Update.
33244         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
33245         Include isnand.h instead of isnan.h.
33246         (main): Test isnand instead of isnan.
33247         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
33248         isnan-nolibm.
33249         * modules/frexp (Depends-on): Likewise.
33250         * modules/frexp-tests (Depends-on): Likewise.
33251         * modules/frexp-nolibm (Depends-on): Likewise.
33252         * modules/frexp-nolibm-tests (Depends-on): Likewise.
33253         * modules/isfinite (Depends-on): Likewise.
33254         * modules/round-tests (Depends-on): Likewise.
33255         * modules/signbit (Depends-on): Likewise.
33256         * modules/signbit-tests (Depends-on): Likewise.
33257         * modules/snprintf-posix (Depends-on): Likewise.
33258         * modules/sprintf-posix (Depends-on): Likewise.
33259         * modules/trunc-tests (Depends-on): Likewise.
33260         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33261         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33262         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33263         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33264         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33265         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33266         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33267         * modules/vasnprintf-posix (Depends-on): Likewise.
33268         * modules/vasprintf-posix (Depends-on): Likewise.
33269         * modules/vfprintf-posix (Depends-on): Likewise.
33270         * modules/vsnprintf-posix (Depends-on): Likewise.
33271         * modules/vsprintf-posix (Depends-on): Likewise.
33272         * lib/frexp.c: Include isnand.h instead of isnan.h.
33273         (ISNAN): Set to isnand instead of isnan.
33274         * lib/isfinite.c: Include isnand.h instead of isnan.h.
33275         (gl_isfinited): Use isnand instead of isnan.
33276         * lib/signbitd.c: Include isnand.h instead of isnan.h.
33277         (gl_signbitd): Use isnand instead of isnan.
33278         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
33279         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
33280         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
33281         (main): Use isnand instead of isnan.
33282         * tests/test-round1.c: Include isnand.h.
33283         (main): Use isnand instead of isnan.
33284         * tests/test-round2.c: Include isnand.h instead of isnan.h.
33285         (ISNAN): Set to isnand instead of isnan.
33286         * tests/test-trunc1.c: Include isnand.h.
33287         (main): Use isnand instead of isnan.
33288         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
33289         (equal): Use isnand instead of isnan.
33290         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
33291         isnand-nolibm.
33292         * NEWS: Mention the change.
33293
33294 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
33295             Bruno Haible  <bruno@clisp.org>
33296
33297         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
33298         the GCC builtins for signbits are present and set
33299         REPLACE_SIGNBIT_USING_GCC if so.
33300         * lib/math.in.h (signbit): Define using GCC builtins if
33301         REPLACE_SIGNBIT_USING_GCC is set.
33302         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
33303         REPLACE_SIGNBIT_USING_GCC.
33304         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
33305
33306 2008-01-25  Jim Meyering  <meyering@redhat.com>
33307
33308         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
33309         * lib/poll.c: Include <config.h>, not "config.h".
33310         * tests/test-getaddrinfo.c: Likewise.
33311
33312 2008-01-25  Simon Josefsson  <simon@josefsson.org>
33313
33314         * modules/sockets-tests: New file.
33315
33316 2008-01-24  Simon Josefsson  <simon@josefsson.org>
33317
33318         * modules/sockets: New module, can be used to call WSA_Startup and
33319         WSA_Cleanup when needed.
33320
33321         * lib/sockets.h, lib/sockets.c: New files.
33322
33323         * m4/sockets.m4: New file.
33324
33325         * tests/test-sockets.c: New file.
33326
33327 2008-01-19  Bruno Haible  <bruno@clisp.org>
33328
33329         * doc/posix-headers: Renamed from doc/headers.
33330         * doc/posix-functions: Renamed from doc/functions.
33331         * doc/gnulib.texi: Update.
33332
33333 2008-01-19  Bruno Haible  <bruno@clisp.org>
33334
33335         * doc/glibc-functions/strcasestr.texi: Include contents of
33336         doc/functions/strcasestr.texi, fixing the list of platforms.
33337         * doc/functions/strcasestr.texi: Remove file.
33338
33339 2008-01-19  Bruno Haible  <bruno@clisp.org>
33340
33341         * doc/glibc-functions/memmem.texi: Include contents of
33342         doc/functions/memmem.texi.
33343         * doc/functions/memmem.texi: Remove file.
33344
33345 2008-01-18  Bruno Haible  <bruno@clisp.org>
33346
33347         * doc/glibc-functions/*.texi: New files.
33348         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
33349         to use the new files.
33350
33351 2008-01-17  Bruno Haible  <bruno@clisp.org>
33352
33353         * tests/test-gethostname.c (main): Fix printf statement.
33354
33355 2008-01-17  Simon Josefsson  <simon@josefsson.org>
33356
33357         * modules/gethostname-tests: New file.
33358
33359         * tests/test-gethostname.c: New file.
33360
33361 2008-01-17  Simon Josefsson  <simon@josefsson.org>
33362
33363         * lib/gethostname.c: Include string.h unconditionally, strncpy is
33364         used by the UNAME case.  Reported by Bruno Haible
33365         <bruno@clisp.org>.
33366
33367 2008-01-17  Eric Blake  <ebb9@byu.net>
33368
33369         Convert c-strcasestr to be more efficient.
33370         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
33371         (Depends-on): Add c-strcase, remove malloca, strnlen.
33372         * tests/test-c-strcasestr.c (main): Enhance test.
33373         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
33374
33375 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
33376
33377         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
33378         Use it in creating po/Makevars.
33379
33380 2008-01-15  Simon Josefsson  <simon@josefsson.org>
33381
33382         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
33383         Applications that requires it should initialize libgcrypt
33384         manually.
33385
33386 2008-01-16  Simon Josefsson  <simon@josefsson.org>
33387
33388         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
33389
33390 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
33391
33392         Fix problem with getdate on mingw32 reported by Simon Josefsson
33393         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
33394         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
33395         tzname", when deciding whether to declare tzname.
33396         * lib/strftime.c (tzname): Likewise.
33397
33398 2008-01-15  Bruno Haible  <bruno@clisp.org>
33399
33400         Work around a MacOS X 10.5 bug in frexpl().
33401         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
33402         * doc/functions/frexpl.texi: Document the bug.
33403         Reported by Elias Pipping <pipping@gentoo.org>.
33404
33405 2008-01-14  Eric Blake  <ebb9@byu.net>
33406
33407         Touch up previous patch.
33408         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
33409         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
33410
33411         Convert strcasestr module to use Two-Way algorithm.
33412         * modules/strcasestr-simple: New module, based on the old
33413         strcasestr, but with Two-Way rather than KMP.
33414         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
33415         * lib/string.in.h (rpl_strcasestr): Declare.
33416         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
33417         performance.
33418         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
33419         * modules/string (Makefile.am): Support strcasestr.
33420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
33421         * modules/strcasestr-tests (Depends-on): Check for alarm.
33422         * tests/test-strcasestr.c: Augment test.
33423         * lib/str-two-way.h: Clean up stray macro.
33424         * NEWS: Document new module.
33425         * MODULES.html.sh (string handling): Likewise.
33426         * doc/functions/strcasestr.texi: New file.
33427         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
33428         here, since it is not a POSIX function.
33429
33430 2008-01-14  Colin Watson  <cjwatson@debian.org>
33431             Bruno Haible  <bruno@clisp.org>
33432
33433         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
33434         works fine; if not, set REPLACE_STRSIGNAL.
33435         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
33436         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33437         REPLACE_STRSIGNAL.
33438         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
33439         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
33440         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
33441
33442 2008-01-14  Bruno Haible  <bruno@clisp.org>
33443
33444         * modules/strsignal (Include): Change to <string.h>.
33445
33446 2008-01-14  Colin Watson  <cjwatson@debian.org>
33447
33448         * modules/argp (Notice): Add a notice recommending to change
33449         XGETTEXT_OPTIONS.
33450         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
33451
33452 2008-01-13  Colin Watson  <cjwatson@debian.org>
33453
33454         * modules/strsignal-tests: New file.
33455         * tests/test-strsignal.c: New file.
33456
33457         * lib/strsignal.c: New file, from glibc with modifications.
33458         * lib/siglist.h: New file, from glibc with modifications.
33459         * lib/string.in.h (strsignal): New declaration.
33460         * m4/strsignal.m4: New file.
33461         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33462         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
33463         * modules/strsignal: New file.
33464         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
33465         HAVE_DECL_STRSIGNAL.
33466
33467 2008-01-13  Bruno Haible  <bruno@clisp.org>
33468
33469         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
33470         locale encoding is not ASCII. Needed for OpenBSD 4.0.
33471         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
33472         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33473
33474 2008-01-13  Bruno Haible  <bruno@clisp.org>
33475
33476         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
33477         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
33478         * lib/argp.h (__attribute__): Likewise.
33479         * lib/c-stack.c (__attribute__): Likewise.
33480         * lib/error.h (__attribute__): Likewise.
33481         * lib/fts.c (__attribute__): Likewise.
33482         * lib/openat.h (__attribute__): Likewise.
33483         * lib/stdio.in.h (__attribute__): Likewise.
33484         * lib/string.in.h (__attribute__): Likewise.
33485         * lib/utimens.c (__attribute__): Likewise.
33486         * lib/vasnprintf.h (__attribute__): Likewise.
33487         * lib/xalloc.h (__attribute__): Likewise.
33488         * lib/xprintf.h (__attribute__): Likewise.
33489         * lib/xstrtol.h (__attribute__): Likewise.
33490         * lib/xvasprintf.h (__attribute__): Likewise.
33491
33492 2008-01-12  Bruno Haible  <bruno@clisp.org>
33493
33494         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
33495         * doc/glibc-headers/a.out.texi: New file.
33496         * doc/glibc-headers/aliases.texi: New file.
33497         * doc/glibc-headers/alloca.texi: New file.
33498         * doc/glibc-headers/ar.texi: New file.
33499         * doc/glibc-headers/argp.texi: New file.
33500         * doc/glibc-headers/argz.texi: New file.
33501         * doc/glibc-headers/byteswap.texi: New file.
33502         * doc/glibc-headers/crypt.texi: New file.
33503         * doc/glibc-headers/endian.texi: New file.
33504         * doc/glibc-headers/envz.texi: New file.
33505         * doc/glibc-headers/err.texi: New file.
33506         * doc/glibc-headers/error.texi: New file.
33507         * doc/glibc-headers/execinfo.texi: New file.
33508         * doc/glibc-headers/fpu_control.texi: New file.
33509         * doc/glibc-headers/fstab.texi: New file.
33510         * doc/glibc-headers/fts.texi: New file.
33511         * doc/glibc-headers/getopt.texi: New file.
33512         * doc/glibc-headers/ieee754.texi: New file.
33513         * doc/glibc-headers/ifaddrs.texi: New file.
33514         * doc/glibc-headers/libintl.texi: New file.
33515         * doc/glibc-headers/mcheck.texi: New file.
33516         * doc/glibc-headers/mntent.texi: New file.
33517         * doc/glibc-headers/obstack.texi: New file.
33518         * doc/glibc-headers/paths.texi: New file.
33519         * doc/glibc-headers/printf.texi: New file.
33520         * doc/glibc-headers/pty.texi: New file.
33521         * doc/glibc-headers/resolv.texi: New file.
33522         * doc/glibc-headers/shadow.texi: New file.
33523         * doc/glibc-headers/sysexits.texi: New file.
33524         * doc/glibc-headers/ttyent.texi: New file.
33525
33526 2008-01-12  Jim Meyering  <meyering@redhat.com>
33527
33528         announce-gen: emit Gnulib's git-based version string.
33529         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
33530         New option --gnulib-version=V, where V is expected to be
33531         the output of running git describe in the gnulib directory.
33532         (get_tool_versions): Request feedback on xdelta.  I suspect it's
33533         not useful, and plan to stop publishing an xdelta file with each
33534         coreutils release.
33535
33536         * build-aux/announce-gen: Also check for lzma-compressed files.
33537
33538 2008-01-11  Bruno Haible  <bruno@clisp.org>
33539
33540         * tests/test-memmem.c (main): Increase maximum allowed time.
33541         * tests/test-strstr.c (main): Likewise.
33542
33543 2008-01-11  Bruno Haible  <bruno@clisp.org>
33544
33545         * doc/functions/memmem.texi: Add more precisions about platforms.
33546         * doc/functions/strstr.texi: Likewise.
33547
33548 2008-01-10  Eric Blake  <ebb9@byu.net>
33549
33550         * m4/strstr.m4: Delete cruft from copy-n-paste.
33551         Reported by Bruno Haible.
33552
33553 2008-01-10  Bruno Haible  <bruno@clisp.org>
33554
33555         Make c-strstr rely on strstr.
33556         * lib/c-strstr.c: Don't include str-kmp.h.
33557         (c_strstr): Define in terms of strstr.
33558         * modules/c-strstr (Files): Remove lib/str-kmp.h.
33559         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
33560
33561 2008-01-10  Bruno Haible  <bruno@clisp.org>
33562
33563         * doc/gnulib.texi (String Functions in C Locale): New section.
33564         * doc/c-ctype.texi: New file.
33565         * doc/c-strcase.texi: New file.
33566         * doc/c-strcaseeq.texi: New file.
33567         * doc/c-strcasestr.texi: New file.
33568         * doc/c-strstr.texi: New file.
33569         * doc/c-strtod.texi: New file.
33570         * doc/c-strtold.texi: New file.
33571
33572 2008-01-10  Eric Blake  <ebb9@byu.net>
33573
33574         * lib/relocatable.h: Fix a comment.
33575
33576 2008-01-10  Eric Blake  <ebb9@byu.net>
33577
33578         Share two-way algorithm.
33579         * lib/str-two-way.h: New file, merged from...
33580         * lib/memmem.c: ...here...
33581         * lib/strstr.c: ...and here.
33582         * modules/memmem (Files): Use it.
33583         * modules/strstr (Files): Likewise.
33584
33585         Avoid quadratic strstr implementations.
33586         * lib/strstr.c: New file.
33587         * m4/strstr.m4: Likewise.
33588         * modules/strstr: Likewise.
33589         * modules/strstr-tests: Likewise.
33590         * tests/test-strstr.c: Likewise.
33591         * lib/string.in.h (rpl_strstr): Declare.
33592         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
33593         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
33594         * modules/string (Makefile.am): Likewise.
33595         * MODULES.html.sh (string handling): Mention new module.
33596         * doc/functions/strstr.texi (strstr): Document the bug.
33597
33598 2008-01-10  Bruno Haible  <bruno@clisp.org>
33599
33600         * lib/relocatable.h (relocate): State whether result is freshly
33601         allocated or not.
33602         * lib/relocatable.c (relocate): Return a freshly allocated string
33603         instead of a pointer to a privately held string.
33604         Reported by Sylvain Beucler <beuc@gnu.org>.
33605
33606 2008-01-10  Colin Watson  <cjwatson@debian.org>
33607
33608         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
33609         s/S_ISNLK/S_ISLNK/.
33610
33611 2008-01-09  Bruno Haible  <bruno@clisp.org>
33612
33613         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
33614         and other files.
33615         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
33616         if it's only a guess.
33617         * modules/memmem: Simplify by depending on memmem-simple.
33618
33619 2008-01-09  Bruno Haible  <bruno@clisp.org>
33620
33621         Work around OpenBSD 4.0 tdelete() bug.
33622         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
33623         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
33624         macros and don't redefine the enum values.
33625         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
33626         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
33627         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
33628
33629 2008-01-09  Bruno Haible  <bruno@clisp.org>
33630
33631         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
33632         (main): Don't perform the tests if setlocale did not install a UTF-8
33633         locale. Needed on OpenBSD 4.0.
33634         * modules/wcwidth-tests (Depends-on): Add localcharset.
33635
33636 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
33637
33638         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
33639         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
33640         * NEWS: announce this.
33641         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
33642
33643 2008-01-09  Simon Josefsson  <simon@josefsson.org>
33644         and Eric Blake  <ebb9@byu.net>
33645
33646         Add memmem-simple module.
33647         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
33648         (gl_FUNC_MEMMEM): Separate performance from presence checks.
33649         * modules/memmem-simple: New file.
33650         * modules/memmem (Description): Tweak.
33651         * MODULES.html.sh (string handling): Mention new module.
33652         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
33653         addressed by memmem-simple.
33654         * NEWS: Document the difference.
33655
33656 2008-01-09  Eric Blake  <ebb9@byu.net>
33657
33658         Give gcc some memmem optimization hints.
33659         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
33660         (strcasestr): Declare as pure.
33661         * modules/memmem (Maintainer): Claim my implementation.
33662
33663 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33664
33665         Support AIX 6.1 and higher.
33666         * build-aux/config.libpath: Likewise.
33667         * build-aux/config.rpath: Likewise.
33668
33669 2008-01-08  Jim Meyering  <meyering@redhat.com>
33670             Bruno Haible  <bruno@clisp.org>
33671
33672         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
33673         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
33674         Reported by Peter Fales in
33675         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
33676
33677 2008-01-08  Bruno Haible  <bruno@clisp.org>
33678
33679         * modules/unictype/category-of (Depends-on): Add
33680         unictype/category-none.
33681         * modules/unictype/category-and-tests (Depends-on): Add
33682         unictype/category-{L,N,Lu,Nd}.
33683         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
33684         * modules/unictype/category-or-tests (Depends-on): Add
33685         unictype/category-{L,N}.
33686         * modules/unictype/category-name-tests (Depends-on): Add
33687         unictype/category-{Z,Nl}.
33688         Reported by Simon Josefsson.
33689
33690 2008-01-08  Bruno Haible  <bruno@clisp.org>
33691
33692         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
33693         convention better.
33694         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
33695         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
33696         Reported by Peter Miller <millerp@canb.auug.org.au>.
33697
33698 2008-01-08  Eric Blake  <ebb9@byu.net>
33699
33700         Rewrite memmem to guarantee linear complexity without malloc.
33701         * lib/memmem.c (memmem): Use Two-Way rather than
33702         Knuth-Morris-Pratt, to allow O(1) space usage.
33703         (critical_factorization, two_way_short_needle)
33704         (two_way_long_needle): New functions.
33705         (knuth_morris_pratt): Delete.
33706         * modules/memmem (Depends-on): No longer need malloca or stdbool.
33707         Add stdint.
33708         * tests/test-memmem.c (main): Add tests for periodic needle and
33709         sublinear performance.
33710         * doc/functions/memmem.texi (memmem): Document other deficiencies
33711         in cygwin and older glibc.
33712
33713 2008-01-08  Bruno Haible  <bruno@clisp.org>
33714
33715         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
33716         augmentation.
33717
33718 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
33719
33720         Add a configure time option: --disable-acl.
33721         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
33722         AC_ARG_ENABLE(acl).
33723
33724 2008-01-06  Simon Josefsson  <simon@josefsson.org>
33725
33726         * tests/test-localename.c: Don't include obsolete "setenv.h".
33727
33728         * modules/localename-tests (Depends-on): Need unsetenv.
33729
33730 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33731
33732         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
33733
33734 2008-01-06  Colin Watson  <cjwatson@debian.org>
33735
33736         * users.txt: Add man-db.
33737
33738 2008-01-07  Bruno Haible  <bruno@clisp.org>
33739
33740         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
33741         previous section name.
33742
33743 2008-01-07  Bruno Haible  <bruno@clisp.org>
33744
33745         * lib/progname.c (set_program_name): Don't strip off a leading
33746         "lt-" prefix outside a .libs directory.
33747         Suggested by Paul Eggert.
33748
33749 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
33750             Bruno Haible  <bruno@clisp.org>
33751
33752         Improve memory cleanup in 'relocatable' module.
33753         * lib/relocatable.h (compute_curr_prefix): Change return type to
33754         'char *'.
33755         * lib/relocatable.c (compute_curr_prefix): Change return type to
33756         'char *'. Free curr_installdir after use.
33757         (relocate): Free curr_prefix_better after use.
33758         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
33759
33760 2008-01-01  Bruno Haible  <bruno@clisp.org>
33761
33762         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
33763         failure on older glibc systems.
33764         Reported by Peter Fales <psfales@alcatel-lucent.com>.
33765
33766 2008-01-05  Eric Blake  <ebb9@byu.net>
33767
33768         Avoid quadratic system memmem.
33769         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
33770         Reported by Ralf Wildenhues.
33771
33772         Fix memmem test for mingw.
33773         * modules/memmem-tests (configure.ac): Check for alarm.
33774         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
33775         it.
33776         * doc/functions/memmem.texi: New file.
33777         * doc/gnulib.texi (Function Substitutes): Add memmem.
33778         Reported by Bruno Haible.
33779
33780 2008-01-04  Bruno Haible  <bruno@clisp.org>
33781
33782         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
33783         Require gl_HEADER_STRINGS_H_DEFAULTS, not
33784         gl_HEADER_STRING_H_DEFAULTS.
33785
33786 2008-01-04  Eric Blake  <ebb9@byu.net>
33787
33788         Shorten duration of memmem test.
33789         * tests/test-memmem.c (main): Use alarm to declare failure if test
33790         is taking too long.
33791         Reported by Ralf Wildenhues.
33792
33793 2007-12-21  Simon Josefsson  <simon@josefsson.org>
33794
33795         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
33796         string, needed by strerror.
33797
33798 2008-01-03  Colin Watson  <cjwatson@debian.org>
33799             Bruno Haible  <bruno@clisp.org>
33800
33801         * doc/gnulib-tool.texi (Localization): New section.
33802
33803 2008-01-02  Bruno Haible  <bruno@clisp.org>
33804
33805         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
33806         variables to 'unsigned char *' type.
33807         Reported by Paul Eggert.
33808
33809 2008-01-02  Jim Meyering  <jim@meyering.net>
33810
33811         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
33812
33813 2007-12-31  Jim Meyering  <jim@meyering.net>
33814
33815         Avoid use of private FTS type name.
33816         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
33817
33818 2007-12-30  Karl Berry  <karl@gnu.org>
33819
33820         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
33821         work around defect in Texinfo and/or the standalone Info browser.
33822
33823 2007-12-30  Bruno Haible  <bruno@clisp.org>
33824
33825         Unify 5 copies of the KMP code.
33826         * lib/str-kmp.h: New file.
33827         * lib/c-strcasestr.c: Include str-kmp.h.
33828         (knuth_morris_pratt): Remove function.
33829         (c_strcasestr): Update.
33830         * lib/c-strstr.c: Include str-kmp.h.
33831         (knuth_morris_pratt): Remove function.
33832         (c_strcasestr): Update.
33833         * lib/mbscasestr.c: Include str-kmp.h.
33834         (knuth_morris_pratt_unibyte): Remove function.
33835         * lib/mbsstr.c: Include str-kmp.h.
33836         (knuth_morris_pratt_unibyte): Remove function.
33837         * lib/strcasestr.c: Include str-kmp.h.
33838         (knuth_morris_pratt): Remove function.
33839         (strcasestr): Update.
33840         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
33841         * modules/c-strstr (Files): Likewise.
33842         * modules/mbscasestr (Files): Likewise.
33843         * modules/mbsstr (Files): Likewise.
33844         * modules/strcasestr (Files): Likewise.
33845         Suggested by Paul Eggert.
33846
33847 2007-12-30  Bruno Haible  <bruno@clisp.org>
33848
33849         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
33850         defined.
33851
33852 2007-12-30  Bruno Haible  <bruno@clisp.org>
33853
33854         * lib/xmalloca.h: Include xalloc.h.
33855         (xnmalloca): New macro.
33856
33857 2007-12-30  Bruno Haible  <bruno@clisp.org>
33858
33859         * lib/malloca.h (nmalloca): New macro.
33860         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
33861         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
33862         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
33863         knuth_morris_pratt_multibyte): Likewise.
33864         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
33865         knuth_morris_pratt_multibyte): Likewise.
33866         * lib/memmem.c (knuth_morris_pratt): Likewise.
33867         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
33868
33869 2007-12-25  Bruno Haible  <bruno@clisp.org>
33870
33871         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
33872         * lib/glob.c: Don't include openat.h.
33873         (link_exists2_p): Add back the code that deals with the
33874         !GLOB_ALTDIRFUNC case.
33875         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
33876         let it do the filename concatenation.
33877         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
33878         * modules/glob (Depends-on): Remove openat.
33879
33880 2007-12-31  Bruno Haible  <bruno@clisp.org>
33881
33882         * modules/dirfd (License): Change to LGPLv2+.
33883         Approved by Jim Meyering.
33884
33885 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
33886
33887         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
33888         when multiplying M by sizeof (size_t).
33889
33890 2007-12-10  Martin Lambers  <marlam@marlam.de>
33891
33892         Override getpagesize on mingw.
33893         * lib/getpagesize.c: New file.
33894         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
33895         * modules/getpagesize (Files): Add lib/getpagesize.c.
33896         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
33897         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33898         REPLACE_GETPAGESIZE.
33899         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
33900
33901 2007-12-25  Bruno Haible  <bruno@clisp.org>
33902
33903         * modules/localcharset (Notice): New field.
33904         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
33905         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
33906
33907 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
33908             Bruno Haible  <bruno@clisp.org>
33909
33910         Avoid using the syntax symbol() in formatted documentation.
33911         * MODULES.html.sh (func_module): When replacing symbol() with a
33912         hyperlink, remove the parentheses. Show an error if some remain.
33913         Recognize and render the '...' syntax.
33914         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
33915         Rework. Add paragraph about GCC's inlining.
33916         * doc/alloca.texi: Likewise.
33917         * doc/error.texi: Remove parentheses from symbol reference.
33918         * doc/gnulib-intro.texi: Likewise.
33919         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
33920         * modules/fnmatch (Description): Reword to say "the ... function".
33921         * modules/full-read (Description): Likewise.
33922         * modules/full-write (Description): Likewise.
33923         * modules/safe-read (Description): Likewise.
33924         * modules/safe-write (Description): Likewise.
33925         * modules/strchrnul (Description): Likewise.
33926         * modules/trim (Description): Likewise.
33927         * modules/error (Description): Remove parentheses from symbol
33928         references.
33929         * modules/verror (Description): Likewise.
33930         Reported by Karl Berry.
33931
33932 2007-12-25  Bruno Haible  <bruno@clisp.org>
33933
33934         Fixup after 2007-10-16 commit.
33935         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
33936
33937 2007-12-24  Bruno Haible  <bruno@clisp.org>
33938
33939         Make --enable-relocatable work with DESTDIR.
33940         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
33941         to compute installdir from destprog.
33942         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
33943         also set the RELOC_DESTDIR variable.
33944         Reported by Левашев Иван <octagram@bluebottle.com>.
33945
33946 2007-12-24  Bruno Haible  <bruno@clisp.org>
33947
33948         Fix link error due to xalloc_die().
33949         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
33950         of xreadlink.
33951         * lib/relocwrapper.c: Update comments.
33952         * build-aux/install-reloc: Remove xreadlink.c from file list.
33953         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
33954         xreadlink.c.
33955         Reported by Левашев Иван <octagram@bluebottle.com>.
33956
33957 2007-12-24  Bruno Haible  <bruno@clisp.org>
33958
33959         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
33960         * lib/setenv.h: Remove file.
33961         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
33962         lib/setenv.h.
33963         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
33964         (Depends-on): Add stdlib.
33965         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
33966         gl_FUNC_UNSETENV.
33967         (Include): Replace setenv.h with <stdlib.h>.
33968         * modules/unsetenv: New file.
33969         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
33970         * lib/unsetenv.c: Include <stdlib.h> first.
33971         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
33972         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
33973         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
33974         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
33975         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
33976         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
33977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
33978         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
33979         * doc/functions/unsetenv.texi: Update.
33980         * modules/xsetenv (Depends-on): Add unsetenv.
33981         * modules/getdate (Depends-on): Likewise.
33982         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
33983         * lib/xsetenv.c: Don't include setenv.h.
33984         * lib/getdate.y: Likewise.
33985         * lib/relocwrapper.c: Likewise.
33986         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
33987         (Depends-on): Add stdlib.
33988         * NEWS: Mention the changes.
33989         Reported by Левашев Иван <octagram@bluebottle.com>.
33990
33991 2007-12-23  Bruno Haible  <bruno@clisp.org>
33992
33993         * lib/memmem.c (memmem): Use lowercase variable names. Tab
33994         indentation.
33995
33996 2007-12-23  Bruno Haible  <bruno@clisp.org>
33997
33998         * lib/c-strcasestr.c: Add more comments.
33999         * lib/c-strstr.c: Likewise.
34000         * lib/mbscasestr.c: Likewise.
34001         * lib/mbsstr.c: Likewise.
34002         * lib/strcasestr.c: Likewise.
34003         * lib/memmem.c: Likewise.
34004
34005 2007-12-23  Bruno Haible  <bruno@clisp.org>
34006
34007         * tests/test-memmem.c: Include <string.h> first.
34008
34009 2007-12-22  Bruno Haible  <bruno@clisp.org>
34010
34011         * gnulib-tool (func_create_testdir): Change $auxdir while generating
34012         the contents of $testsbase.
34013         Reported by Ralf Wildenhues.
34014
34015 2007-12-22  Bruno Haible  <bruno@clisp.org>
34016
34017         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
34018         two variables local_ldadd_before, local_ldadd_last.
34019
34020 2007-12-20  Eric Blake  <ebb9@byu.net>
34021
34022         Work around circular library issue when cross-compiling.
34023         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
34024         that progname.o does not need to pull in rpl_memcmp.
34025
34026 2007-12-19  Eric Blake  <ebb9@byu.net>
34027
34028         Fix memmem to avoid O(n^2) worst-case complexity.
34029         * lib/memmem.c (knuth_morris_pratt): New function.
34030         (memmem): Use it if first few naive iterations fail.
34031         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
34032         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
34033         * modules/memchr (License): Likewise.
34034         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
34035         malloca.
34036         * tests/test-memmem.c: Rewrite, borrowing ideas from
34037         test-mbsstr1.c; the old version wouldn't even compile!
34038         * modules/memmem-tests: New file.
34039         * lib/string.in.h (rpl_memmem): Add declaration.
34040         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
34041         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
34042         REPLACE_MEMMEM.
34043
34044 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
34045
34046         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
34047         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
34048         before any system include files, and undef after them all.  This
34049         should fix a problem on VMS reported by John E. Malmberg in
34050         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
34051
34052 2007-12-17  Eric Blake  <ebb9@byu.net>
34053
34054         Revert addition of verify, for BSD/OS.
34055         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
34056         can't handle large files, for the sake of obsolete platforms.
34057         * modules/fseeko (Depends-on): Remove verify.
34058         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
34059         * doc/functions/ftello.texi (ftello): Likewise.
34060         * doc/functions/fgetpos.texi (fgetpos): Likewise.
34061         Reported by Larry Jones.
34062
34063 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
34064
34065         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
34066         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
34067
34068 2007-12-17  Jim Meyering  <meyering@redhat.com>
34069
34070         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
34071         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
34072         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
34073         * modules/getcwd (Depends-on): Add openat.
34074         Reported by Petr Salinger.
34075
34076 2007-12-17  Bruno Haible  <bruno@clisp.org>
34077
34078         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
34079         avoid a segmentation fault of the configure test on x86_64 systems.
34080
34081 2007-12-15  Jim Meyering  <meyering@redhat.com>
34082
34083         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
34084
34085 2007-12-13  Eric Blake  <ebb9@byu.net>
34086
34087         Another fseek test.
34088         * tests/test-fseek.c (main): Also test ungetc handling.
34089         * tests/test-fseeko.c (main): Likewise.
34090         * modules/fseeko (Depends-on): Add verify.
34091         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
34092         large.
34093         Reported by Larry Jones.
34094
34095         Fix fseeko on mingw.
34096         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
34097         seek.
34098
34099         Beef up fseek tests.
34100         * tests/test-fseek.c (main): Also test eof handling.
34101         * tests/test-fseeko.c (main): Likewise.
34102         Reported by Larry Jones.
34103
34104 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
34105
34106         Fix fseeko on BSD-based platforms.
34107         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
34108         successful seek.
34109
34110 2007-12-12  Eric Blake  <ebb9@byu.net>
34111
34112         Allow circular dependency of separate libtests.a
34113         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
34114         when use_libtests.
34115
34116 2007-12-11  Eric Blake  <ebb9@byu.net>
34117
34118         Fix bug with -0.0L in previous patch.
34119         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
34120         * tests/test-isnan.c (main): Also test on zeroes.
34121         * tests/test-isnanf.c (main): Likewise.
34122         * tests/test-isnanl.h (main): Likewise.
34123
34124         Detect pseudo-denormals on x86 even when cross-compiling.
34125         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
34126         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
34127         invalid bit patterns that happen to satisfy ==.
34128
34129         Avoid link failures with separate libtests.a.
34130         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
34131         last, to satisfy circular dependencies.
34132
34133 2007-12-11  Eric Blake  <ebb9@byu.net>
34134         and Bruno Haible  <bruno@clisp.org>
34135
34136         Fix OpenBSD 4.0 <float.h> handling of long double.
34137         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
34138         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
34139         * doc/headers/float.texi (float.h): Document OpenBSD bug.
34140
34141 2007-12-11  Jim Meyering  <meyering@redhat.com>
34142
34143         * users.txt: Add libvirt.
34144
34145         Support versions of autoconf prior to 2.59c.
34146         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
34147         if it is not already defined.
34148
34149 2007-12-09  Bruno Haible  <bruno@clisp.org>
34150
34151         Let 'gnulib-tool --import' collect sources needed for the tests in
34152         tests/ rather than in lib/.
34153         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
34154         argument. If true, add rules to generate libtests.a, and put libtests.a
34155         into $(LDADD). Consider source files in subdirectories and set
34156         uses_subdirs.
34157         (func_emit_initmacro_start, func_emit_initmacro_end,
34158         func_emit_initmacro_done): Pass all arguments explicitly.
34159         (func_import): Determine two module lists main_modules,
34160         testsrelated_modules. Determine use_libtests. Determine two variables
34161         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
34162         instead of just sed_transform_lib_file. Determine two variables
34163         main_files and testsrelated_files. Compute 'files' as the union of
34164         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
34165         func_add_or_update. In the generated gnulib-comp.m4, collect the
34166         object files for tests/ in different variables than those for lib/.
34167         Substitute LIBTESTS_LIBDEPS.
34168         (func_create_testdir): Combine the uses_subdirs results from
34169         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
34170
34171 2007-12-09  Bruno Haible  <bruno@clisp.org>
34172
34173         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
34174         the build-aux directory.
34175
34176 2007-12-09  Bruno Haible  <bruno@clisp.org>
34177
34178         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
34179         introduced on 2006-09-09.
34180
34181 2007-12-07  Jim Meyering  <meyering@redhat.com>
34182
34183         Let these macros work also with autoconf-2.59.
34184         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
34185         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
34186         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
34187
34188 2007-12-06  Jim Meyering  <meyering@redhat.com>
34189
34190         Avoid a configure-time syntax error in gl_FUNC_ACL.
34191         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
34192         function in each branch, before testing the cache variable.
34193
34194 2007-12-04  Eric Blake  <ebb9@byu.net>
34195
34196         Make scripts executable.
34197         * build-aux/config.guess: Add execute permissions.
34198         * build-aux/config.sub: Likewise.
34199         * build-aux/gendocs.sh: Likewise.
34200
34201         Fix frexp on mingw.
34202         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
34203         cross-compiling.
34204         * doc/functions/frexp.texi (frexp): Document the bug.
34205
34206         Make cygwin fseeko check more reliable.
34207         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
34208         version numbers, rather than unrelated feature check.
34209         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
34210         * doc/functions/ftello.texi (ftello): Likewise.
34211         Reported by Bruno Haible.
34212
34213         * m4/strerror.m4: Bump version number.
34214
34215 2007-12-03  Bruno Haible  <bruno@clisp.org>
34216
34217         * doc/functions/mprotect.texi: Mention the mingw problem.
34218
34219 2007-12-03  Eric Blake  <ebb9@byu.net>
34220
34221         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
34222         REPLACE_STRERROR is initialized before this macro.
34223
34224 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
34225
34226         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
34227         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
34228         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
34229         put -lsec in even for programs other than 'ls'.  This fixes a problem
34230         for gettext reported by Bruno Haible in
34231         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
34232         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
34233         Add support for Solaris 10.  This isn't efficient, but should get the
34234         job done for now.
34235
34236 2007-12-03  James Youngman  <jay@gnu.org>
34237
34238         * doc/regexprops-generic.texi: change "an close-group" to "a
34239         close-group" and "illegal" to "not allowed".
34240
34241 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34242
34243         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
34244         pr_byname.h. Needed for the rare case when the maintainer has done
34245         "make maintainer-clean" in the source directory and then attempts a
34246         build outside the source directory.
34247         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
34248         scripts_byname.h.
34249
34250 2007-12-02  Martin Lambers <marlam@marlam.de>
34251             Bruno Haible  <bruno@clisp.org>
34252
34253         * lib/getpagesize.h: Remove file.
34254         * lib/unistd.in.h: Include declaration of getpagesize here.
34255         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
34256         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
34257         HAVE_SYS_PARAM_H.
34258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
34259         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
34260         * modules/getpagesize (Files): Remove lib/getpagesize.h.
34261         (Depends-on): Add unistd.
34262         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34263         (Include): Use <unistd.h> instead of getpagesize.h.
34264         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
34265         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
34266         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
34267         gl_GETPAGESIZE invocation, already handled by module dependency.
34268         * lib/pagealign_alloc.c: Don't include getpagesize.h.
34269
34270 2007-12-02  Bruno Haible  <bruno@clisp.org>
34271
34272         * modules/strings-tests: New file.
34273         * tests/test-strings.c: New file.
34274
34275         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
34276         * lib/strings.in.h: New file.
34277         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
34278         * m4/strings_h.m4: New file.
34279         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
34280         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
34281         * modules/strings: New file.
34282         * modules/string (Makefile.am): Update.
34283         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
34284         Reported by Karl Berry.
34285
34286 2007-12-01  Eric Blake  <ebb9@byu.net>
34287
34288         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
34289         accomodate fix in cygwin 1.5.25.
34290
34291 2007-12-01  Jim Meyering  <meyering@redhat.com>
34292
34293         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
34294         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
34295         that would inhibit utf8-optimization of a regexp containing line-
34296         or buffer-anchors, e.g., `^', `$'.
34297
34298 2007-11-30  Bruno Haible  <bruno@clisp.org>
34299
34300         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
34301         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
34302         glthread_recursive_lock_init.
34303         * lib/lock.c (glthread_recursive_lock_init)
34304         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
34305         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34306
34307 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34308
34309         New function qset_acl, like set_acl but with syscall semantics.
34310         * lib/acl.h (qset_acl): New decl.
34311         * lib/acl.c (qset_acl): New function.
34312         (set_acl): Use new function.  Use more-consistent diagnostics.
34313
34314 2007-11-28  Jim Meyering  <meyering@redhat.com>
34315
34316         * modules/physmem (License): Change from GPL to LGPLv2+.
34317
34318 2007-11-26  Bruno Haible  <bruno@clisp.org>
34319
34320         * lib/vasnprintf.c (decode_long_double): Don't abort if the
34321         'long double' type has excess precision.
34322         Reported by Jim Meyering in
34323         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
34324
34325 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34326
34327         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
34328         Sync from <http://gnu.org/licenses>.
34329         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
34330         with license text from same location.
34331         * doc/maintain.texi, doc/standards.texi:  Sync from
34332         <http://savannah.gnu.org/projects/gnustandards>.
34333
34334 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
34335         and Jim Meyering  <meyering@redhat.com>
34336
34337         Adjust getdate' grammar to accept a slightly more regular language.
34338         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
34339         Before, the former was rejected.
34340         * lib/getdate.y (digits_to_date_time): New function, factored
34341         out of ...
34342         (number): ...here.  Just call digits_to_date_time.
34343         (hybrid): New non-terminal to handle an <unsigned number,
34344         signed relative offset> sequence consistently.
34345
34346 2007-11-18  Jim Meyering  <meyering@redhat.com>
34347
34348         Pull my changes from coreutils:
34349         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
34350         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
34351         use of $gnulib_tool_option_extras, so that it's separated from the
34352         preceding argument.
34353
34354         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
34355         * build-aux/bootstrap (cp_mark_as_generated): Create any required
34356         parent destination directories before copying a file into place.
34357
34358 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
34359
34360         bootstrap: work also with 4-argument variant of AC_INIT
34361         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
34362
34363 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
34364
34365         Port test-getaddrinfo to Solaris.
34366         Problem reported by Bruno Haible in
34367         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
34368         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
34369         explanation of setting 'hints'.
34370         Don't reject an implementation merely because it returns EAI_SERVICE.
34371         (EAI_SERVICE): Define to 0 if not defined.
34372
34373 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
34374
34375         The license of gnu-make and posix-shell is now "GPLed build tool".
34376         * modules/gnu-make (License): Likewise.
34377         * modules/posix-shell (License): Likewise.
34378
34379         New module posix-shell, for determining a POSIX shell
34380         or perhaps something that is close enough to a POSIX shell.
34381         * m4/posix-shell.m4: New file.
34382         * modules/posix-shell: New file.
34383
34384         * MODULES.html.sh: Mention new module.
34385
34386         New module gnu-make, for determining whether we're using GNU Make.
34387         * m4/gnu-make.m4: New file.
34388         * modules/gnu-make: New file.
34389         * MODULES.html.sh: Mention new module.
34390
34391 2007-11-14  Jim Meyering  <meyering@redhat.com>
34392
34393         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
34394         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
34395         use this macro to create a function _definition_.
34396         Remove useless "#undef ARGMATCH_DIE".
34397
34398 2007-11-14  Bruno Haible  <bruno@clisp.org>
34399
34400         * lib/config.charset: Update for OpenBSD 4.1.
34401         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
34402
34403 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
34404
34405         Document 64-bit #if problems in stdint.texi.
34406         * doc/headers/stdint.texi (stdint.h): Mention problems with
34407         64-bit-#if, and how to work around them.
34408
34409         Don't insist on 'long long int' support in the preprocessor.  It
34410         breaks too many things.  For example, PRIdMAX still uses a 'long
34411         long int' format with the latest Sun compiler, even though
34412         HAVE_LONG_LONG_INT isn't defined due to that compiler's
34413         preprocessor problem.  This causes the latest coreutils to dump
34414         core on Solaris 10 sparc with the Sun C compiler.
34415         Instead, fix the 2007-10-16 problem in a different way, by evaluating
34416         the troublesome expressions at configure-time, not at #if-time.
34417         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
34418         preprocessor.
34419         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
34420         compile-time C checks, done at 'configure'-time.
34421         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
34422         * modules/inttypes (Makefile): Substitute the new symbols that
34423         gl_INTTYPES_H now generates.
34424         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
34425
34426 2007-11-12  Bruno Haible  <bruno@clisp.org>
34427
34428         Tests for Unicode character classification functions.
34429
34430         * modules/unictype/bidicategory-byname-tests: New file.
34431         * modules/unictype/bidicategory-name-tests: New file.
34432         * modules/unictype/bidicategory-of-tests: New file.
34433         * modules/unictype/bidicategory-test-tests: New file.
34434         * modules/unictype/block-list-tests: New file.
34435         * modules/unictype/block-of-tests: New file.
34436         * modules/unictype/block-test-tests: New file.
34437         * modules/unictype/category-C-tests: New file.
34438         * modules/unictype/category-Cc-tests: New file.
34439         * modules/unictype/category-Cf-tests: New file.
34440         * modules/unictype/category-Cn-tests: New file.
34441         * modules/unictype/category-Co-tests: New file.
34442         * modules/unictype/category-Cs-tests: New file.
34443         * modules/unictype/category-L-tests: New file.
34444         * modules/unictype/category-Ll-tests: New file.
34445         * modules/unictype/category-Lm-tests: New file.
34446         * modules/unictype/category-Lo-tests: New file.
34447         * modules/unictype/category-Lt-tests: New file.
34448         * modules/unictype/category-Lu-tests: New file.
34449         * modules/unictype/category-M-tests: New file.
34450         * modules/unictype/category-Mc-tests: New file.
34451         * modules/unictype/category-Me-tests: New file.
34452         * modules/unictype/category-Mn-tests: New file.
34453         * modules/unictype/category-N-tests: New file.
34454         * modules/unictype/category-Nd-tests: New file.
34455         * modules/unictype/category-Nl-tests: New file.
34456         * modules/unictype/category-No-tests: New file.
34457         * modules/unictype/category-P-tests: New file.
34458         * modules/unictype/category-Pc-tests: New file.
34459         * modules/unictype/category-Pd-tests: New file.
34460         * modules/unictype/category-Pe-tests: New file.
34461         * modules/unictype/category-Pf-tests: New file.
34462         * modules/unictype/category-Pi-tests: New file.
34463         * modules/unictype/category-Po-tests: New file.
34464         * modules/unictype/category-Ps-tests: New file.
34465         * modules/unictype/category-S-tests: New file.
34466         * modules/unictype/category-Sc-tests: New file.
34467         * modules/unictype/category-Sk-tests: New file.
34468         * modules/unictype/category-Sm-tests: New file.
34469         * modules/unictype/category-So-tests: New file.
34470         * modules/unictype/category-Z-tests: New file.
34471         * modules/unictype/category-Zl-tests: New file.
34472         * modules/unictype/category-Zp-tests: New file.
34473         * modules/unictype/category-Zs-tests: New file.
34474         * modules/unictype/category-and-not-tests: New file.
34475         * modules/unictype/category-and-tests: New file.
34476         * modules/unictype/category-byname-tests: New file.
34477         * modules/unictype/category-name-tests: New file.
34478         * modules/unictype/category-none-tests: New file.
34479         * modules/unictype/category-of-tests: New file.
34480         * modules/unictype/category-or-tests: New file.
34481         * modules/unictype/category-test-withtable-tests: New file.
34482         * modules/unictype/combining-class-tests: New file.
34483         * modules/unictype/ctype-alnum-tests: New file.
34484         * modules/unictype/ctype-alpha-tests: New file.
34485         * modules/unictype/ctype-blank-tests: New file.
34486         * modules/unictype/ctype-cntrl-tests: New file.
34487         * modules/unictype/ctype-digit-tests: New file.
34488         * modules/unictype/ctype-graph-tests: New file.
34489         * modules/unictype/ctype-lower-tests: New file.
34490         * modules/unictype/ctype-print-tests: New file.
34491         * modules/unictype/ctype-punct-tests: New file.
34492         * modules/unictype/ctype-space-tests: New file.
34493         * modules/unictype/ctype-upper-tests: New file.
34494         * modules/unictype/ctype-xdigit-tests: New file.
34495         * modules/unictype/decimal-digit-tests: New file.
34496         * modules/unictype/digit-tests: New file.
34497         * modules/unictype/mirror-tests: New file.
34498         * modules/unictype/numeric-tests: New file.
34499         * modules/unictype/property-alphabetic-tests: New file.
34500         * modules/unictype/property-ascii-hex-digit-tests: New file.
34501         * modules/unictype/property-bidi-arabic-digit-tests: New file.
34502         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
34503         * modules/unictype/property-bidi-block-separator-tests: New file.
34504         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
34505         * modules/unictype/property-bidi-common-separator-tests: New file.
34506         * modules/unictype/property-bidi-control-tests: New file.
34507         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
34508         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
34509         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
34510         * modules/unictype/property-bidi-european-digit-tests: New file.
34511         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
34512         * modules/unictype/property-bidi-left-to-right-tests: New file.
34513         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
34514         * modules/unictype/property-bidi-other-neutral-tests: New file.
34515         * modules/unictype/property-bidi-pdf-tests: New file.
34516         * modules/unictype/property-bidi-segment-separator-tests: New file.
34517         * modules/unictype/property-bidi-whitespace-tests: New file.
34518         * modules/unictype/property-byname-tests: New file.
34519         * modules/unictype/property-combining-tests: New file.
34520         * modules/unictype/property-composite-tests: New file.
34521         * modules/unictype/property-currency-symbol-tests: New file.
34522         * modules/unictype/property-dash-tests: New file.
34523         * modules/unictype/property-decimal-digit-tests: New file.
34524         * modules/unictype/property-default-ignorable-code-point-tests: New file.
34525         * modules/unictype/property-deprecated-tests: New file.
34526         * modules/unictype/property-diacritic-tests: New file.
34527         * modules/unictype/property-extender-tests: New file.
34528         * modules/unictype/property-format-control-tests: New file.
34529         * modules/unictype/property-grapheme-base-tests: New file.
34530         * modules/unictype/property-grapheme-extend-tests: New file.
34531         * modules/unictype/property-grapheme-link-tests: New file.
34532         * modules/unictype/property-hex-digit-tests: New file.
34533         * modules/unictype/property-hyphen-tests: New file.
34534         * modules/unictype/property-id-continue-tests: New file.
34535         * modules/unictype/property-id-start-tests: New file.
34536         * modules/unictype/property-ideographic-tests: New file.
34537         * modules/unictype/property-ids-binary-operator-tests: New file.
34538         * modules/unictype/property-ids-trinary-operator-tests: New file.
34539         * modules/unictype/property-ignorable-control-tests: New file.
34540         * modules/unictype/property-iso-control-tests: New file.
34541         * modules/unictype/property-join-control-tests: New file.
34542         * modules/unictype/property-left-of-pair-tests: New file.
34543         * modules/unictype/property-line-separator-tests: New file.
34544         * modules/unictype/property-logical-order-exception-tests: New file.
34545         * modules/unictype/property-lowercase-tests: New file.
34546         * modules/unictype/property-math-tests: New file.
34547         * modules/unictype/property-non-break-tests: New file.
34548         * modules/unictype/property-not-a-character-tests: New file.
34549         * modules/unictype/property-numeric-tests: New file.
34550         * modules/unictype/property-other-alphabetic-tests: New file.
34551         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
34552         * modules/unictype/property-other-grapheme-extend-tests: New file.
34553         * modules/unictype/property-other-id-continue-tests: New file.
34554         * modules/unictype/property-other-id-start-tests: New file.
34555         * modules/unictype/property-other-lowercase-tests: New file.
34556         * modules/unictype/property-other-math-tests: New file.
34557         * modules/unictype/property-other-uppercase-tests: New file.
34558         * modules/unictype/property-paired-punctuation-tests: New file.
34559         * modules/unictype/property-paragraph-separator-tests: New file.
34560         * modules/unictype/property-pattern-syntax-tests: New file.
34561         * modules/unictype/property-pattern-white-space-tests: New file.
34562         * modules/unictype/property-private-use-tests: New file.
34563         * modules/unictype/property-punctuation-tests: New file.
34564         * modules/unictype/property-quotation-mark-tests: New file.
34565         * modules/unictype/property-radical-tests: New file.
34566         * modules/unictype/property-sentence-terminal-tests: New file.
34567         * modules/unictype/property-soft-dotted-tests: New file.
34568         * modules/unictype/property-space-tests: New file.
34569         * modules/unictype/property-terminal-punctuation-tests: New file.
34570         * modules/unictype/property-test-tests: New file.
34571         * modules/unictype/property-titlecase-tests: New file.
34572         * modules/unictype/property-unassigned-code-value-tests: New file.
34573         * modules/unictype/property-unified-ideograph-tests: New file.
34574         * modules/unictype/property-uppercase-tests: New file.
34575         * modules/unictype/property-variation-selector-tests: New file.
34576         * modules/unictype/property-white-space-tests: New file.
34577         * modules/unictype/property-xid-continue-tests: New file.
34578         * modules/unictype/property-xid-start-tests: New file.
34579         * modules/unictype/property-zero-width-tests: New file.
34580         * modules/unictype/scripts-tests: New file.
34581         * modules/unictype/syntax-c-ident-tests: New file.
34582         * modules/unictype/syntax-c-whitespace-tests: New file.
34583         * modules/unictype/syntax-java-ident-tests: New file.
34584         * modules/unictype/syntax-java-whitespace-tests: New file.
34585         * tests/unictype/test-bidi_byname.c: New file.
34586         * tests/unictype/test-bidi_name.c: New file.
34587         * tests/unictype/test-bidi_of.c: New file.
34588         * tests/unictype/test-bidi_test.c: New file.
34589         * tests/unictype/test-block_list.c: New file.
34590         * tests/unictype/test-block_of.c: New file.
34591         * tests/unictype/test-block_test.c: New file.
34592         * tests/unictype/test-categ_and.c: New file.
34593         * tests/unictype/test-categ_and_not.c: New file.
34594         * tests/unictype/test-categ_byname.c: New file.
34595         * tests/unictype/test-categ_name.c: New file.
34596         * tests/unictype/test-categ_none.c: New file.
34597         * tests/unictype/test-categ_of.c: New file.
34598         * tests/unictype/test-categ_or.c: New file.
34599         * tests/unictype/test-categ_test_withtable.c: New file.
34600         * tests/unictype/test-combining.c: New file.
34601         * tests/unictype/test-decdigit.c: New file.
34602         * tests/unictype/test-digit.c: New file.
34603         * tests/unictype/test-mirror.c: New file.
34604         * tests/unictype/test-numeric.c: New file.
34605         * tests/unictype/test-pr_byname.c: New file.
34606         * tests/unictype/test-pr_test.c: New file.
34607         * tests/unictype/test-predicate-part1.h: New file.
34608         * tests/unictype/test-predicate-part2.h: New file.
34609         * tests/unictype/test-scripts.c: New file.
34610         * tests/unictype/test-sy_c_ident.c: New file.
34611         * tests/unictype/test-sy_java_ident.c: New file.
34612
34613         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
34614         for Unicode 5.0.0.
34615         * tests/unictype/test-categ_Cc.c: Likewise.
34616         * tests/unictype/test-categ_Cf.c: Likewise.
34617         * tests/unictype/test-categ_Cn.c: Likewise.
34618         * tests/unictype/test-categ_Co.c: Likewise.
34619         * tests/unictype/test-categ_Cs.c: Likewise.
34620         * tests/unictype/test-categ_L.c: Likewise.
34621         * tests/unictype/test-categ_Ll.c: Likewise.
34622         * tests/unictype/test-categ_Lm.c: Likewise.
34623         * tests/unictype/test-categ_Lo.c: Likewise.
34624         * tests/unictype/test-categ_Lt.c: Likewise.
34625         * tests/unictype/test-categ_Lu.c: Likewise.
34626         * tests/unictype/test-categ_M.c: Likewise.
34627         * tests/unictype/test-categ_Mc.c: Likewise.
34628         * tests/unictype/test-categ_Me.c: Likewise.
34629         * tests/unictype/test-categ_Mn.c: Likewise.
34630         * tests/unictype/test-categ_N.c: Likewise.
34631         * tests/unictype/test-categ_Nd.c: Likewise.
34632         * tests/unictype/test-categ_Nl.c: Likewise.
34633         * tests/unictype/test-categ_No.c: Likewise.
34634         * tests/unictype/test-categ_P.c: Likewise.
34635         * tests/unictype/test-categ_Pc.c: Likewise.
34636         * tests/unictype/test-categ_Pd.c: Likewise.
34637         * tests/unictype/test-categ_Pe.c: Likewise.
34638         * tests/unictype/test-categ_Pf.c: Likewise.
34639         * tests/unictype/test-categ_Pi.c: Likewise.
34640         * tests/unictype/test-categ_Po.c: Likewise.
34641         * tests/unictype/test-categ_Ps.c: Likewise.
34642         * tests/unictype/test-categ_S.c: Likewise.
34643         * tests/unictype/test-categ_Sc.c: Likewise.
34644         * tests/unictype/test-categ_Sk.c: Likewise.
34645         * tests/unictype/test-categ_Sm.c: Likewise.
34646         * tests/unictype/test-categ_So.c: Likewise.
34647         * tests/unictype/test-categ_Z.c: Likewise.
34648         * tests/unictype/test-categ_Zl.c: Likewise.
34649         * tests/unictype/test-categ_Zp.c: Likewise.
34650         * tests/unictype/test-categ_Zs.c: Likewise.
34651         * tests/unictype/test-ctype_alnum.c: Likewise.
34652         * tests/unictype/test-ctype_alpha.c: Likewise.
34653         * tests/unictype/test-ctype_blank.c: Likewise.
34654         * tests/unictype/test-ctype_cntrl.c: Likewise.
34655         * tests/unictype/test-ctype_digit.c: Likewise.
34656         * tests/unictype/test-ctype_graph.c: Likewise.
34657         * tests/unictype/test-ctype_lower.c: Likewise.
34658         * tests/unictype/test-ctype_print.c: Likewise.
34659         * tests/unictype/test-ctype_punct.c: Likewise.
34660         * tests/unictype/test-ctype_space.c: Likewise.
34661         * tests/unictype/test-ctype_upper.c: Likewise.
34662         * tests/unictype/test-ctype_xdigit.c: Likewise.
34663         * tests/unictype/test-decdigit.h: Likewise.
34664         * tests/unictype/test-digit.h: Likewise.
34665         * tests/unictype/test-numeric.h: Likewise.
34666         * tests/unictype/test-pr_alphabetic.c: Likewise.
34667         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
34668         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
34669         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
34670         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
34671         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
34672         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
34673         * tests/unictype/test-pr_bidi_control.c: Likewise.
34674         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
34675         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
34676         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
34677         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
34678         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
34679         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
34680         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
34681         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
34682         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
34683         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
34684         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
34685         * tests/unictype/test-pr_combining.c: Likewise.
34686         * tests/unictype/test-pr_composite.c: Likewise.
34687         * tests/unictype/test-pr_currency_symbol.c: Likewise.
34688         * tests/unictype/test-pr_dash.c: Likewise.
34689         * tests/unictype/test-pr_decimal_digit.c: Likewise.
34690         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
34691         * tests/unictype/test-pr_deprecated.c: Likewise.
34692         * tests/unictype/test-pr_diacritic.c: Likewise.
34693         * tests/unictype/test-pr_extender.c: Likewise.
34694         * tests/unictype/test-pr_format_control.c: Likewise.
34695         * tests/unictype/test-pr_grapheme_base.c: Likewise.
34696         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
34697         * tests/unictype/test-pr_grapheme_link.c: Likewise.
34698         * tests/unictype/test-pr_hex_digit.c: Likewise.
34699         * tests/unictype/test-pr_hyphen.c: Likewise.
34700         * tests/unictype/test-pr_id_continue.c: Likewise.
34701         * tests/unictype/test-pr_id_start.c: Likewise.
34702         * tests/unictype/test-pr_ideographic.c: Likewise.
34703         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
34704         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
34705         * tests/unictype/test-pr_ignorable_control.c: Likewise.
34706         * tests/unictype/test-pr_iso_control.c: Likewise.
34707         * tests/unictype/test-pr_join_control.c: Likewise.
34708         * tests/unictype/test-pr_left_of_pair.c: Likewise.
34709         * tests/unictype/test-pr_line_separator.c: Likewise.
34710         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
34711         * tests/unictype/test-pr_lowercase.c: Likewise.
34712         * tests/unictype/test-pr_math.c: Likewise.
34713         * tests/unictype/test-pr_non_break.c: Likewise.
34714         * tests/unictype/test-pr_not_a_character.c: Likewise.
34715         * tests/unictype/test-pr_numeric.c: Likewise.
34716         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
34717         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
34718         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
34719         * tests/unictype/test-pr_other_id_continue.c: Likewise.
34720         * tests/unictype/test-pr_other_id_start.c: Likewise.
34721         * tests/unictype/test-pr_other_lowercase.c: Likewise.
34722         * tests/unictype/test-pr_other_math.c: Likewise.
34723         * tests/unictype/test-pr_other_uppercase.c: Likewise.
34724         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
34725         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
34726         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
34727         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
34728         * tests/unictype/test-pr_private_use.c: Likewise.
34729         * tests/unictype/test-pr_punctuation.c: Likewise.
34730         * tests/unictype/test-pr_quotation_mark.c: Likewise.
34731         * tests/unictype/test-pr_radical.c: Likewise.
34732         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
34733         * tests/unictype/test-pr_soft_dotted.c: Likewise.
34734         * tests/unictype/test-pr_space.c: Likewise.
34735         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
34736         * tests/unictype/test-pr_titlecase.c: Likewise.
34737         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
34738         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
34739         * tests/unictype/test-pr_uppercase.c: Likewise.
34740         * tests/unictype/test-pr_variation_selector.c: Likewise.
34741         * tests/unictype/test-pr_white_space.c: Likewise.
34742         * tests/unictype/test-pr_xid_continue.c: Likewise.
34743         * tests/unictype/test-pr_xid_start.c: Likewise.
34744         * tests/unictype/test-pr_zero_width.c: Likewise.
34745         * tests/unictype/test-sy_c_whitespace.c: Likewise.
34746         * tests/unictype/test-sy_java_whitespace.c: Likewise.
34747
34748 2007-11-12  Bruno Haible  <bruno@clisp.org>
34749
34750         Unicode character classification functions.
34751         * lib/unictype.h: New file.
34752         * modules/unictype/base: New file.
34753         * modules/unictype/category-L: New file.
34754         * modules/unictype/category-Lu: New file.
34755         * modules/unictype/category-Ll: New file.
34756         * modules/unictype/category-Lt: New file.
34757         * modules/unictype/category-Lm: New file.
34758         * modules/unictype/category-Lo: New file.
34759         * modules/unictype/category-M: New file.
34760         * modules/unictype/category-Mn: New file.
34761         * modules/unictype/category-Mc: New file.
34762         * modules/unictype/category-Me: New file.
34763         * modules/unictype/category-N: New file.
34764         * modules/unictype/category-Nd: New file.
34765         * modules/unictype/category-Nl: New file.
34766         * modules/unictype/category-No: New file.
34767         * modules/unictype/category-P: New file.
34768         * modules/unictype/category-Pc: New file.
34769         * modules/unictype/category-Pd: New file.
34770         * modules/unictype/category-Ps: New file.
34771         * modules/unictype/category-Pe: New file.
34772         * modules/unictype/category-Pi: New file.
34773         * modules/unictype/category-Pf: New file.
34774         * modules/unictype/category-Po: New file.
34775         * modules/unictype/category-S: New file.
34776         * modules/unictype/category-Sm: New file.
34777         * modules/unictype/category-Sc: New file.
34778         * modules/unictype/category-Sk: New file.
34779         * modules/unictype/category-So: New file.
34780         * modules/unictype/category-Z: New file.
34781         * modules/unictype/category-Zs: New file.
34782         * modules/unictype/category-Zl: New file.
34783         * modules/unictype/category-Zp: New file.
34784         * modules/unictype/category-C: New file.
34785         * modules/unictype/category-Cc: New file.
34786         * modules/unictype/category-Cf: New file.
34787         * modules/unictype/category-Cs: New file.
34788         * modules/unictype/category-Co: New file.
34789         * modules/unictype/category-Cn: New file.
34790         * modules/unictype/category-or: New file.
34791         * modules/unictype/category-of: New file.
34792         * modules/unictype/category-test: New file.
34793         * modules/unictype/category-test-withtable: New file.
34794         * modules/unictype/category-byname: New file.
34795         * modules/unictype/category-none: New file.
34796         * modules/unictype/category-and: New file.
34797         * modules/unictype/category-and-not: New file.
34798         * modules/unictype/category-name: New file.
34799         * modules/unictype/combining-class: New file.
34800         * modules/unictype/category-all: New file.
34801         * modules/unictype/bidicategory-all: New file.
34802         * modules/unictype/bidicategory-byname: New file.
34803         * modules/unictype/bidicategory-name: New file.
34804         * modules/unictype/bidicategory-of: New file.
34805         * modules/unictype/bidicategory-test: New file.
34806         * modules/unictype/decimal-digit: New file.
34807         * modules/unictype/digit: New file.
34808         * modules/unictype/numeric: New file.
34809         * modules/unictype/mirror: New file.
34810         * modules/unictype/property-white-space: New file.
34811         * modules/unictype/property-alphabetic: New file.
34812         * modules/unictype/property-other-alphabetic: New file.
34813         * modules/unictype/property-not-a-character: New file.
34814         * modules/unictype/property-default-ignorable-code-point: New file.
34815         * modules/unictype/property-other-default-ignorable-code-point: New
34816         file.
34817         * modules/unictype/property-deprecated: New file.
34818         * modules/unictype/property-logical-order-exception: New file.
34819         * modules/unictype/property-variation-selector: New file.
34820         * modules/unictype/property-private-use: New file.
34821         * modules/unictype/property-unassigned-code-value: New file.
34822         * modules/unictype/property-uppercase: New file.
34823         * modules/unictype/property-other-uppercase: New file.
34824         * modules/unictype/property-lowercase: New file.
34825         * modules/unictype/property-other-lowercase: New file.
34826         * modules/unictype/property-titlecase: New file.
34827         * modules/unictype/property-soft-dotted: New file.
34828         * modules/unictype/property-id-start: New file.
34829         * modules/unictype/property-other-id-start: New file.
34830         * modules/unictype/property-id-continue: New file.
34831         * modules/unictype/property-other-id-continue: New file.
34832         * modules/unictype/property-xid-start: New file.
34833         * modules/unictype/property-xid-continue: New file.
34834         * modules/unictype/property-pattern-white-space: New file.
34835         * modules/unictype/property-pattern-syntax: New file.
34836         * modules/unictype/property-join-control: New file.
34837         * modules/unictype/property-grapheme-base: New file.
34838         * modules/unictype/property-grapheme-extend: New file.
34839         * modules/unictype/property-other-grapheme-extend: New file.
34840         * modules/unictype/property-grapheme-link: New file.
34841         * modules/unictype/property-bidi-control: New file.
34842         * modules/unictype/property-bidi-left-to-right: New file.
34843         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
34844         * modules/unictype/property-bidi-arabic-right-to-left: New file.
34845         * modules/unictype/property-bidi-european-digit: New file.
34846         * modules/unictype/property-bidi-eur-num-separator: New file.
34847         * modules/unictype/property-bidi-eur-num-terminator: New file.
34848         * modules/unictype/property-bidi-arabic-digit: New file.
34849         * modules/unictype/property-bidi-common-separator: New file.
34850         * modules/unictype/property-bidi-block-separator: New file.
34851         * modules/unictype/property-bidi-segment-separator: New file.
34852         * modules/unictype/property-bidi-whitespace: New file.
34853         * modules/unictype/property-bidi-non-spacing-mark: New file.
34854         * modules/unictype/property-bidi-boundary-neutral: New file.
34855         * modules/unictype/property-bidi-pdf: New file.
34856         * modules/unictype/property-bidi-embedding-or-override: New file.
34857         * modules/unictype/property-bidi-other-neutral: New file.
34858         * modules/unictype/property-hex-digit: New file.
34859         * modules/unictype/property-ascii-hex-digit: New file.
34860         * modules/unictype/property-ideographic: New file.
34861         * modules/unictype/property-unified-ideograph: New file.
34862         * modules/unictype/property-radical: New file.
34863         * modules/unictype/property-ids-binary-operator: New file.
34864         * modules/unictype/property-ids-trinary-operator: New file.
34865         * modules/unictype/property-zero-width: New file.
34866         * modules/unictype/property-space: New file.
34867         * modules/unictype/property-non-break: New file.
34868         * modules/unictype/property-iso-control: New file.
34869         * modules/unictype/property-format-control: New file.
34870         * modules/unictype/property-dash: New file.
34871         * modules/unictype/property-hyphen: New file.
34872         * modules/unictype/property-punctuation: New file.
34873         * modules/unictype/property-line-separator: New file.
34874         * modules/unictype/property-paragraph-separator: New file.
34875         * modules/unictype/property-quotation-mark: New file.
34876         * modules/unictype/property-sentence-terminal: New file.
34877         * modules/unictype/property-terminal-punctuation: New file.
34878         * modules/unictype/property-currency-symbol: New file.
34879         * modules/unictype/property-math: New file.
34880         * modules/unictype/property-other-math: New file.
34881         * modules/unictype/property-paired-punctuation: New file.
34882         * modules/unictype/property-left-of-pair: New file.
34883         * modules/unictype/property-combining: New file.
34884         * modules/unictype/property-composite: New file.
34885         * modules/unictype/property-decimal-digit: New file.
34886         * modules/unictype/property-numeric: New file.
34887         * modules/unictype/property-diacritic: New file.
34888         * modules/unictype/property-extender: New file.
34889         * modules/unictype/property-ignorable-control: New file.
34890         * modules/unictype/property-test: New file.
34891         * modules/unictype/property-byname: New file.
34892         * modules/unictype/property-all: New file.
34893         * modules/unictype/scripts: New file.
34894         * modules/unictype/scripts-all: New file.
34895         * modules/unictype/block-of: New file.
34896         * modules/unictype/block-test: New file.
34897         * modules/unictype/block-list: New file.
34898         * modules/unictype/block-all: New file.
34899         * modules/unictype/syntax-c-whitespace: New file.
34900         * modules/unictype/syntax-java-whitespace: New file.
34901         * modules/unictype/syntax-c-ident: New file.
34902         * modules/unictype/syntax-java-ident: New file.
34903         * modules/unictype/ctype-alnum: New file.
34904         * modules/unictype/ctype-alpha: New file.
34905         * modules/unictype/ctype-cntrl: New file.
34906         * modules/unictype/ctype-digit: New file.
34907         * modules/unictype/ctype-graph: New file.
34908         * modules/unictype/ctype-lower: New file.
34909         * modules/unictype/ctype-print: New file.
34910         * modules/unictype/ctype-punct: New file.
34911         * modules/unictype/ctype-space: New file.
34912         * modules/unictype/ctype-upper: New file.
34913         * modules/unictype/ctype-xdigit: New file.
34914         * modules/unictype/ctype-blank: New file.
34915         * lib/unictype/bidi_byname.c: New file.
34916         * lib/unictype/bidi_name.c: New file.
34917         * lib/unictype/bidi_of.c: New file.
34918         * lib/unictype/bidi_test.c: New file.
34919         * lib/unictype/bitmap.h: New file.
34920         * lib/unictype/block_test.c: New file.
34921         * lib/unictype/blocks.c: New file.
34922         * lib/unictype/categ_C.c: New file.
34923         * lib/unictype/categ_Cc.c: New file.
34924         * lib/unictype/categ_Cf.c: New file.
34925         * lib/unictype/categ_Cn.c: New file.
34926         * lib/unictype/categ_Co.c: New file.
34927         * lib/unictype/categ_Cs.c: New file.
34928         * lib/unictype/categ_L.c: New file.
34929         * lib/unictype/categ_Ll.c: New file.
34930         * lib/unictype/categ_Lm.c: New file.
34931         * lib/unictype/categ_Lo.c: New file.
34932         * lib/unictype/categ_Lt.c: New file.
34933         * lib/unictype/categ_Lu.c: New file.
34934         * lib/unictype/categ_M.c: New file.
34935         * lib/unictype/categ_Mc.c: New file.
34936         * lib/unictype/categ_Me.c: New file.
34937         * lib/unictype/categ_Mn.c: New file.
34938         * lib/unictype/categ_N.c: New file.
34939         * lib/unictype/categ_Nd.c: New file.
34940         * lib/unictype/categ_Nl.c: New file.
34941         * lib/unictype/categ_No.c: New file.
34942         * lib/unictype/categ_P.c: New file.
34943         * lib/unictype/categ_Pc.c: New file.
34944         * lib/unictype/categ_Pd.c: New file.
34945         * lib/unictype/categ_Pe.c: New file.
34946         * lib/unictype/categ_Pf.c: New file.
34947         * lib/unictype/categ_Pi.c: New file.
34948         * lib/unictype/categ_Po.c: New file.
34949         * lib/unictype/categ_Ps.c: New file.
34950         * lib/unictype/categ_S.c: New file.
34951         * lib/unictype/categ_Sc.c: New file.
34952         * lib/unictype/categ_Sk.c: New file.
34953         * lib/unictype/categ_Sm.c: New file.
34954         * lib/unictype/categ_So.c: New file.
34955         * lib/unictype/categ_Z.c: New file.
34956         * lib/unictype/categ_Zl.c: New file.
34957         * lib/unictype/categ_Zp.c: New file.
34958         * lib/unictype/categ_Zs.c: New file.
34959         * lib/unictype/categ_and.c: New file.
34960         * lib/unictype/categ_and_not.c: New file.
34961         * lib/unictype/categ_byname.c: New file.
34962         * lib/unictype/categ_name.c: New file.
34963         * lib/unictype/categ_none.c: New file.
34964         * lib/unictype/categ_of.c: New file.
34965         * lib/unictype/categ_or.c: New file.
34966         * lib/unictype/categ_test.c: New file.
34967         * lib/unictype/combining.c: New file.
34968         * lib/unictype/ctype_alnum.c: New file.
34969         * lib/unictype/ctype_alpha.c: New file.
34970         * lib/unictype/ctype_blank.c: New file.
34971         * lib/unictype/ctype_cntrl.c: New file.
34972         * lib/unictype/ctype_digit.c: New file.
34973         * lib/unictype/ctype_graph.c: New file.
34974         * lib/unictype/ctype_lower.c: New file.
34975         * lib/unictype/ctype_print.c: New file.
34976         * lib/unictype/ctype_punct.c: New file.
34977         * lib/unictype/ctype_space.c: New file.
34978         * lib/unictype/ctype_upper.c: New file.
34979         * lib/unictype/ctype_xdigit.c: New file.
34980         * lib/unictype/decdigit.c: New file.
34981         * lib/unictype/digit.c: New file.
34982         * lib/unictype/identsyntaxmap.h: New file.
34983         * lib/unictype/mirror.c: New file.
34984         * lib/unictype/numeric.c: New file.
34985         * lib/unictype/pr_alphabetic.c: New file.
34986         * lib/unictype/pr_ascii_hex_digit.c: New file.
34987         * lib/unictype/pr_bidi_arabic_digit.c: New file.
34988         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
34989         * lib/unictype/pr_bidi_block_separator.c: New file.
34990         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
34991         * lib/unictype/pr_bidi_common_separator.c: New file.
34992         * lib/unictype/pr_bidi_control.c: New file.
34993         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
34994         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
34995         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
34996         * lib/unictype/pr_bidi_european_digit.c: New file.
34997         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
34998         * lib/unictype/pr_bidi_left_to_right.c: New file.
34999         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
35000         * lib/unictype/pr_bidi_other_neutral.c: New file.
35001         * lib/unictype/pr_bidi_pdf.c: New file.
35002         * lib/unictype/pr_bidi_segment_separator.c: New file.
35003         * lib/unictype/pr_bidi_whitespace.c: New file.
35004         * lib/unictype/pr_byname.c: New file.
35005         * lib/unictype/pr_byname.gperf: New file.
35006         * lib/unictype/pr_combining.c: New file.
35007         * lib/unictype/pr_composite.c: New file.
35008         * lib/unictype/pr_currency_symbol.c: New file.
35009         * lib/unictype/pr_dash.c: New file.
35010         * lib/unictype/pr_decimal_digit.c: New file.
35011         * lib/unictype/pr_default_ignorable_code_point.c: New file.
35012         * lib/unictype/pr_deprecated.c: New file.
35013         * lib/unictype/pr_diacritic.c: New file.
35014         * lib/unictype/pr_extender.c: New file.
35015         * lib/unictype/pr_format_control.c: New file.
35016         * lib/unictype/pr_grapheme_base.c: New file.
35017         * lib/unictype/pr_grapheme_extend.c: New file.
35018         * lib/unictype/pr_grapheme_link.c: New file.
35019         * lib/unictype/pr_hex_digit.c: New file.
35020         * lib/unictype/pr_hyphen.c: New file.
35021         * lib/unictype/pr_id_continue.c: New file.
35022         * lib/unictype/pr_id_start.c: New file.
35023         * lib/unictype/pr_ideographic.c: New file.
35024         * lib/unictype/pr_ids_binary_operator.c: New file.
35025         * lib/unictype/pr_ids_trinary_operator.c: New file.
35026         * lib/unictype/pr_ignorable_control.c: New file.
35027         * lib/unictype/pr_iso_control.c: New file.
35028         * lib/unictype/pr_join_control.c: New file.
35029         * lib/unictype/pr_left_of_pair.c: New file.
35030         * lib/unictype/pr_line_separator.c: New file.
35031         * lib/unictype/pr_logical_order_exception.c: New file.
35032         * lib/unictype/pr_lowercase.c: New file.
35033         * lib/unictype/pr_math.c: New file.
35034         * lib/unictype/pr_non_break.c: New file.
35035         * lib/unictype/pr_not_a_character.c: New file.
35036         * lib/unictype/pr_numeric.c: New file.
35037         * lib/unictype/pr_other_alphabetic.c: New file.
35038         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
35039         * lib/unictype/pr_other_grapheme_extend.c: New file.
35040         * lib/unictype/pr_other_id_continue.c: New file.
35041         * lib/unictype/pr_other_id_start.c: New file.
35042         * lib/unictype/pr_other_lowercase.c: New file.
35043         * lib/unictype/pr_other_math.c: New file.
35044         * lib/unictype/pr_other_uppercase.c: New file.
35045         * lib/unictype/pr_paired_punctuation.c: New file.
35046         * lib/unictype/pr_paragraph_separator.c: New file.
35047         * lib/unictype/pr_pattern_syntax.c: New file.
35048         * lib/unictype/pr_pattern_white_space.c: New file.
35049         * lib/unictype/pr_private_use.c: New file.
35050         * lib/unictype/pr_punctuation.c: New file.
35051         * lib/unictype/pr_quotation_mark.c: New file.
35052         * lib/unictype/pr_radical.c: New file.
35053         * lib/unictype/pr_sentence_terminal.c: New file.
35054         * lib/unictype/pr_soft_dotted.c: New file.
35055         * lib/unictype/pr_space.c: New file.
35056         * lib/unictype/pr_terminal_punctuation.c: New file.
35057         * lib/unictype/pr_test.c: New file.
35058         * lib/unictype/pr_titlecase.c: New file.
35059         * lib/unictype/pr_unassigned_code_value.c: New file.
35060         * lib/unictype/pr_unified_ideograph.c: New file.
35061         * lib/unictype/pr_uppercase.c: New file.
35062         * lib/unictype/pr_variation_selector.c: New file.
35063         * lib/unictype/pr_white_space.c: New file.
35064         * lib/unictype/pr_xid_continue.c: New file.
35065         * lib/unictype/pr_xid_start.c: New file.
35066         * lib/unictype/pr_zero_width.c: New file.
35067         * lib/unictype/scripts.c: New file.
35068         * lib/unictype/sy_c_ident.c: New file.
35069         * lib/unictype/sy_c_whitespace.c: New file.
35070         * lib/unictype/sy_java_ident.c: New file.
35071         * lib/unictype/sy_java_whitespace.c: New file.
35072
35073         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
35074         Unicode 5.0.0.
35075         * lib/unictype/blocks.h: Likewise.
35076         * lib/unictype/categ_C.h: Likewise.
35077         * lib/unictype/categ_Cc.h: Likewise.
35078         * lib/unictype/categ_Cf.h: Likewise.
35079         * lib/unictype/categ_Cn.h: Likewise.
35080         * lib/unictype/categ_Co.h: Likewise.
35081         * lib/unictype/categ_Cs.h: Likewise.
35082         * lib/unictype/categ_L.h: Likewise.
35083         * lib/unictype/categ_Ll.h: Likewise.
35084         * lib/unictype/categ_Lm.h: Likewise.
35085         * lib/unictype/categ_Lo.h: Likewise.
35086         * lib/unictype/categ_Lt.h: Likewise.
35087         * lib/unictype/categ_Lu.h: Likewise.
35088         * lib/unictype/categ_M.h: Likewise.
35089         * lib/unictype/categ_Mc.h: Likewise.
35090         * lib/unictype/categ_Me.h: Likewise.
35091         * lib/unictype/categ_Mn.h: Likewise.
35092         * lib/unictype/categ_N.h: Likewise.
35093         * lib/unictype/categ_Nd.h: Likewise.
35094         * lib/unictype/categ_Nl.h: Likewise.
35095         * lib/unictype/categ_No.h: Likewise.
35096         * lib/unictype/categ_P.h: Likewise.
35097         * lib/unictype/categ_Pc.h: Likewise.
35098         * lib/unictype/categ_Pd.h: Likewise.
35099         * lib/unictype/categ_Pe.h: Likewise.
35100         * lib/unictype/categ_Pf.h: Likewise.
35101         * lib/unictype/categ_Pi.h: Likewise.
35102         * lib/unictype/categ_Po.h: Likewise.
35103         * lib/unictype/categ_Ps.h: Likewise.
35104         * lib/unictype/categ_S.h: Likewise.
35105         * lib/unictype/categ_Sc.h: Likewise.
35106         * lib/unictype/categ_Sk.h: Likewise.
35107         * lib/unictype/categ_Sm.h: Likewise.
35108         * lib/unictype/categ_So.h: Likewise.
35109         * lib/unictype/categ_Z.h: Likewise.
35110         * lib/unictype/categ_Zl.h: Likewise.
35111         * lib/unictype/categ_Zp.h: Likewise.
35112         * lib/unictype/categ_Zs.h: Likewise.
35113         * lib/unictype/categ_of.h: Likewise.
35114         * lib/unictype/combining.h: Likewise.
35115         * lib/unictype/ctype_alnum.h: Likewise.
35116         * lib/unictype/ctype_alpha.h: Likewise.
35117         * lib/unictype/ctype_blank.h: Likewise.
35118         * lib/unictype/ctype_cntrl.h: Likewise.
35119         * lib/unictype/ctype_digit.h: Likewise.
35120         * lib/unictype/ctype_graph.h: Likewise.
35121         * lib/unictype/ctype_lower.h: Likewise.
35122         * lib/unictype/ctype_print.h: Likewise.
35123         * lib/unictype/ctype_punct.h: Likewise.
35124         * lib/unictype/ctype_space.h: Likewise.
35125         * lib/unictype/ctype_upper.h: Likewise.
35126         * lib/unictype/ctype_xdigit.h: Likewise.
35127         * lib/unictype/decdigit.h: Likewise.
35128         * lib/unictype/digit.h: Likewise.
35129         * lib/unictype/mirror.h: Likewise.
35130         * lib/unictype/numeric.h: Likewise.
35131         * lib/unictype/pr_alphabetic.h: Likewise.
35132         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
35133         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
35134         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
35135         * lib/unictype/pr_bidi_block_separator.h: Likewise.
35136         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
35137         * lib/unictype/pr_bidi_common_separator.h: Likewise.
35138         * lib/unictype/pr_bidi_control.h: Likewise.
35139         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
35140         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
35141         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
35142         * lib/unictype/pr_bidi_european_digit.h: Likewise.
35143         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
35144         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
35145         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
35146         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
35147         * lib/unictype/pr_bidi_pdf.h: Likewise.
35148         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
35149         * lib/unictype/pr_bidi_whitespace.h: Likewise.
35150         * lib/unictype/pr_combining.h: Likewise.
35151         * lib/unictype/pr_composite.h: Likewise.
35152         * lib/unictype/pr_currency_symbol.h: Likewise.
35153         * lib/unictype/pr_dash.h: Likewise.
35154         * lib/unictype/pr_decimal_digit.h: Likewise.
35155         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
35156         * lib/unictype/pr_deprecated.h: Likewise.
35157         * lib/unictype/pr_diacritic.h: Likewise.
35158         * lib/unictype/pr_extender.h: Likewise.
35159         * lib/unictype/pr_format_control.h: Likewise.
35160         * lib/unictype/pr_grapheme_base.h: Likewise.
35161         * lib/unictype/pr_grapheme_extend.h: Likewise.
35162         * lib/unictype/pr_grapheme_link.h: Likewise.
35163         * lib/unictype/pr_hex_digit.h: Likewise.
35164         * lib/unictype/pr_hyphen.h: Likewise.
35165         * lib/unictype/pr_id_continue.h: Likewise.
35166         * lib/unictype/pr_id_start.h: Likewise.
35167         * lib/unictype/pr_ideographic.h: Likewise.
35168         * lib/unictype/pr_ids_binary_operator.h: Likewise.
35169         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
35170         * lib/unictype/pr_ignorable_control.h: Likewise.
35171         * lib/unictype/pr_iso_control.h: Likewise.
35172         * lib/unictype/pr_join_control.h: Likewise.
35173         * lib/unictype/pr_left_of_pair.h: Likewise.
35174         * lib/unictype/pr_line_separator.h: Likewise.
35175         * lib/unictype/pr_logical_order_exception.h: Likewise.
35176         * lib/unictype/pr_lowercase.h: Likewise.
35177         * lib/unictype/pr_math.h: Likewise.
35178         * lib/unictype/pr_non_break.h: Likewise.
35179         * lib/unictype/pr_not_a_character.h: Likewise.
35180         * lib/unictype/pr_numeric.h: Likewise.
35181         * lib/unictype/pr_other_alphabetic.h: Likewise.
35182         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
35183         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
35184         * lib/unictype/pr_other_id_continue.h: Likewise.
35185         * lib/unictype/pr_other_id_start.h: Likewise.
35186         * lib/unictype/pr_other_lowercase.h: Likewise.
35187         * lib/unictype/pr_other_math.h: Likewise.
35188         * lib/unictype/pr_other_uppercase.h: Likewise.
35189         * lib/unictype/pr_paired_punctuation.h: Likewise.
35190         * lib/unictype/pr_paragraph_separator.h: Likewise.
35191         * lib/unictype/pr_pattern_syntax.h: Likewise.
35192         * lib/unictype/pr_pattern_white_space.h: Likewise.
35193         * lib/unictype/pr_private_use.h: Likewise.
35194         * lib/unictype/pr_punctuation.h: Likewise.
35195         * lib/unictype/pr_quotation_mark.h: Likewise.
35196         * lib/unictype/pr_radical.h: Likewise.
35197         * lib/unictype/pr_sentence_terminal.h: Likewise.
35198         * lib/unictype/pr_soft_dotted.h: Likewise.
35199         * lib/unictype/pr_space.h: Likewise.
35200         * lib/unictype/pr_terminal_punctuation.h: Likewise.
35201         * lib/unictype/pr_titlecase.h: Likewise.
35202         * lib/unictype/pr_unassigned_code_value.h: Likewise.
35203         * lib/unictype/pr_unified_ideograph.h: Likewise.
35204         * lib/unictype/pr_uppercase.h: Likewise.
35205         * lib/unictype/pr_variation_selector.h: Likewise.
35206         * lib/unictype/pr_white_space.h: Likewise.
35207         * lib/unictype/pr_xid_continue.h: Likewise.
35208         * lib/unictype/pr_xid_start.h: Likewise.
35209         * lib/unictype/pr_zero_width.h: Likewise.
35210         * lib/unictype/scripts.h: Likewise.
35211         * lib/unictype/scripts_byname.gperf: Likewise.
35212         * lib/unictype/sy_c_ident.h: Likewise.
35213         * lib/unictype/sy_c_whitespace.h: Likewise.
35214         * lib/unictype/sy_java_ident.h: Likewise.
35215         * lib/unictype/sy_java_whitespace.h: Likewise.
35216
35217         * lib/unictype/Makefile: New file.
35218         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
35219         glibc.
35220         * lib/unictype/3level.h: New file, copied from glibc.
35221         * lib/unictype/3levelbit.h: New file.
35222
35223 2007-11-11  Bruno Haible  <bruno@clisp.org>
35224
35225         * modules/gperf: New file.
35226         * modules/iconv_open (Depends-on): Add it.
35227         (Makefile.am): Remove the GPERF definition.
35228
35229 2007-11-11  Bruno Haible  <bruno@clisp.org>
35230
35231         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
35232         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
35233
35234 2007-11-11  Bruno Haible  <bruno@clisp.org>
35235
35236         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
35237         (usage): Remove function.
35238
35239 2007-11-11  Bruno Haible  <bruno@clisp.org>
35240
35241         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
35242         gl_FUNC_CEILF_LIBS.
35243         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
35244         gl_FUNC_CEIL_LIBS.
35245         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
35246         gl_FUNC_CEILL_LIBS.
35247         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
35248         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
35249         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
35250
35251 2007-11-11  Bruno Haible  <bruno@clisp.org>
35252
35253         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
35254         roundf were declared but do not exist on functions.
35255         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
35256         roundl were declared but do not exist on functions.
35257         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
35258         HAVE_FLOORL_AND_CEILL, respectively.
35259         Needed for Sun C on Solaris 10.
35260
35261 2007-11-11  Bruno Haible  <bruno@clisp.org>
35262
35263         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
35264         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
35265         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
35266         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
35267         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
35268         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
35269         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
35270         HAVE_DECL_ROUNDF.
35271         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
35272         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
35273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
35274         of HAVE_DECL_ROUND*.
35275         * modules/math (Makefile.am): Update.
35276
35277 2007-11-10  Bruno Haible  <bruno@clisp.org>
35278
35279         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
35280         ptrdiff_t as m4/intl.m4.
35281
35282 2007-11-10  Jim Meyering  <meyering@redhat.com>
35283
35284         Avoid link failure for the argmatch test.
35285         * tests/test-argmatch.c (usage): Define function to avoid a link
35286         failure: argmatch_die requires a usage function.
35287
35288 2007-11-09  Bruno Haible  <bruno@clisp.org>
35289
35290         * doc/functions/snprintf.texi: Mention BeOS deficiency.
35291         * doc/functions/vsnprintf.texi: Likewise.
35292         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
35293         with a size argument < 2.
35294
35295 2007-11-09  Bruno Haible  <bruno@clisp.org>
35296
35297         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
35298         buffer. Fixes an inefficiency introduced on 2007-11-03.
35299
35300 2007-11-09  Bruno Haible  <bruno@clisp.org>
35301
35302         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
35303         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
35304
35305 2007-11-08  Jim Meyering  <meyering@redhat.com>
35306
35307         Change cache variable name prefix "jm_" to "gl_" everywhere.
35308         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
35309         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
35310         * m4/uptime.m4: s/gl_/jm_/
35311
35312 2007-11-07  Bruno Haible  <bruno@clisp.org>
35313
35314         Update to GNU gettext 0.17.
35315         * m4/intl.m4: Update to GNU gettext 0.17.
35316         * m4/po.m4: Likewise.
35317         * modules/gettext (Files): Remove m4/ulonglong.m4.
35318         (configure.ac): Require gettext infrastructure from version 0.17.
35319
35320 2007-11-06  Bruno Haible  <bruno@clisp.org>
35321
35322         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
35323         symbolic values are not defined in a public header.
35324         * lib/freadable.c (freadable) [QNX]: Likewise.
35325         * lib/freadahead.c (freadahead) [QNX]: Likewise.
35326         * lib/freading.c (freading) [QNX]: Likewise.
35327         * lib/fseterr.c (fseterr) [QNX]: Likewise.
35328         * lib/fwritable.c (fwritable) [QNX]: Likewise.
35329         * lib/fwriting.c (fwriting) [QNX]: Likewise.
35330         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
35331         Reported by Alain Magloire.
35332
35333         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
35334
35335 2007-11-05  Bruno Haible  <bruno@clisp.org>
35336
35337         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
35338         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
35339         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
35340         Reported by Eric Blake.
35341
35342 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35343             Bruno Haible  <bruno@clisp.org>
35344
35345         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
35346         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
35347         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
35348         (malloc): Undefine also before including <stdlib.h>.
35349         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
35350         Needed on OSF/1 4.0.
35351
35352 2007-11-05  Jim Meyering  <meyering@redhat.com>
35353
35354         git-version-gen: sync from coreutils.
35355         * build-aux/git-version-gen: Add comments.
35356         Change the first '-' to '.' in the snapshot version string,
35357         e.g., 6.9-377-08144 -> 6.9.377-08144
35358         Remove first parameter.
35359         Don't declare a version "-dirty" merely because a time
35360         stamp has changed.
35361
35362 2007-11-04  Bruno Haible  <bruno@clisp.org>
35363
35364         * lib/lock.h: Protect all macro definitions containing an 'if'
35365         statement through a "do { ... } while (0)".
35366         * lib/tls.h: Likewise.
35367
35368 2007-11-04  Bruno Haible  <bruno@clisp.org>
35369
35370         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
35371
35372 2007-11-04  Bruno Haible  <bruno@clisp.org>
35373
35374         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
35375         * modules/fprintf-posix (Depends-on): Add nocrash.
35376         * modules/snprintf-posix (Depends-on): Likewise.
35377         * modules/sprintf-posix (Depends-on): Likewise.
35378         * modules/vasnprintf-posix (Depends-on): Likewise.
35379         * modules/vasprintf-posix (Depends-on): Likewise.
35380         * modules/vfprintf-posix (Depends-on): Likewise.
35381         * modules/vsnprintf-posix (Depends-on): Likewise.
35382         * modules/vsprintf-posix (Depends-on): Likewise.
35383         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35384         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35385         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35386         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35387         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35388         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35389         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35390
35391 2007-11-04  Bruno Haible  <bruno@clisp.org>
35392
35393         * modules/nocrash: New file.
35394         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
35395         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
35396
35397 2007-11-04  Bruno Haible  <bruno@clisp.org>
35398
35399         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
35400         precision handling.
35401         * tests/test-vasprintf-posix.c (test_function): Likewise.
35402         * tests/test-snprintf-posix.h (test_function): Likewise.
35403         * tests/test-sprintf-posix.h (test_function): Likewise.
35404
35405         Fix *printf behaviour for large precisions on mingw and BeOS.
35406         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
35407         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
35408         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
35409         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35410         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35411         gl_PRINTF_PRECISION and test its result. Invoke
35412         gl_PREREQ_VASNPRINTF_PRECISION.
35413         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35414         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35415         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35416         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35417         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35418         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35419         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35420         * doc/functions/fprintf.texi: Update.
35421         * doc/functions/printf.texi: Update.
35422         * doc/functions/snprintf.texi: Update.
35423         * doc/functions/sprintf.texi: Update.
35424         * doc/functions/vfprintf.texi: Update.
35425         * doc/functions/vprintf.texi: Update.
35426         * doc/functions/vsnprintf.texi: Update.
35427         * doc/functions/vsprintf.texi: Update.
35428
35429 2007-11-04  Bruno Haible  <bruno@clisp.org>
35430
35431         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
35432
35433 2007-11-04  Bruno Haible  <bruno@clisp.org>
35434
35435         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
35436         Reported by Sylvain Beucler <beuc@gnu.org>.
35437
35438 2007-11-03  Bruno Haible  <bruno@clisp.org>
35439
35440         * tests/test-fprintf-posix2.sh: New file.
35441         * tests/test-fprintf-posix2.c: New file.
35442         * modules/fprintf-posix-tests (Files): Add them.
35443         (TESTS): Add test-fprintf-posix2.sh.
35444         (configure.ac): Check for getrlimit and setrlimit.
35445         (check_PROGRAMS): Add test-fprintf-posix2.
35446
35447         * tests/test-printf-posix2.sh: New file.
35448         * tests/test-printf-posix2.c: New file.
35449         * modules/printf-posix-tests (Files): Add them.
35450         (TESTS): Add test-printf-posix2.sh.
35451         (configure.ac): Check for getrlimit and setrlimit.
35452         (check_PROGRAMS): Add test-printf-posix2.
35453
35454         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
35455         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
35456         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
35457         (decode_double): New function, copied from decode_long_double.
35458         (scale10_round_decimal_decoded): New function, extracted from
35459         scale10_round_decimal_long_double.
35460         (scale10_round_decimal_long_double): Use it.
35461         (scale10_round_decimal_double): New function.
35462         (floorlog10): New function.
35463         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
35464         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
35465         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35466         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35467         gl_PRINTF_ENOMEM and test its result. Invoke
35468         gl_PREREQ_VASNPRINTF_ENOMEM.
35469         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35470         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35471         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35472         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35473         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35474         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35475         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35476         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
35477         * modules/snprintf-posix (Depends-on): Likewise.
35478         * modules/sprintf-posix (Depends-on): Likewise.
35479         * modules/vasnprintf-posix (Depends-on): Likewise.
35480         * modules/vasprintf-posix (Depends-on): Likewise.
35481         * modules/vfprintf-posix (Depends-on): Likewise.
35482         * modules/vsnprintf-posix (Depends-on): Likewise.
35483         * modules/vsprintf-posix (Depends-on): Likewise.
35484         * doc/functions/fprintf.texi: Update.
35485         * doc/functions/printf.texi: Update.
35486         * doc/functions/snprintf.texi: Update.
35487         * doc/functions/sprintf.texi: Update.
35488         * doc/functions/vfprintf.texi: Update.
35489         * doc/functions/vprintf.texi: Update.
35490         * doc/functions/vsnprintf.texi: Update.
35491         * doc/functions/vsprintf.texi: Update.
35492
35493 2007-11-03  Bruno Haible  <bruno@clisp.org>
35494
35495         * modules/frexp-nolibm-tests: New file.
35496
35497         * modules/frexp-nolibm: New file.
35498         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
35499
35500 2007-11-03  Bruno Haible  <bruno@clisp.org>
35501
35502         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
35503         value is C99 compliant.
35504         Needed for OSF/1 5.1.
35505
35506 2007-11-03  Bruno Haible  <bruno@clisp.org>
35507
35508         Fix out-of-memory handling of vasnprintf.
35509         * lib/printf-parse.c: Include <errno.h>.
35510         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
35511         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
35512         is already set.
35513
35514 2007-11-02  Eric Blake  <ebb9@byu.net>
35515
35516         Fix tests on cygwin.
35517         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
35518
35519 2007-11-01  Bruno Haible  <bruno@clisp.org>
35520
35521         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
35522         warning.
35523         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
35524         needed for POSIX compatibility.
35525
35526 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
35527
35528         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
35529         for compatibility with GNU.
35530
35531 2007-11-01  Bruno Haible  <bruno@clisp.org>
35532
35533         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
35534         (putenv): Renamed from rpl_putenv. Change argument type from
35535         'const char *' to 'char *'.
35536         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
35537         of defining putenv in config.h, just set REPLACE_PUTENV.
35538         * modules/putenv (Depends-on): Add stdlib.
35539         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35540         (Include): Use <stdlib.h>.
35541         * lib/stdlib.in.h (putenv): New declaration.
35542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
35543         REPLACE_PUTENV.
35544         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
35545         REPLACE_PUTENV.
35546         Needed for MacOS X 10.5.0.
35547         Reported by Peter O'Gorman <peter@pogma.com>.
35548
35549 2007-11-01  Jim Meyering  <meyering@redhat.com>
35550
35551         Treat an empty date string exactly like "0".
35552         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
35553         if the remaining date string (to be parsed) is empty, use "0".
35554         Reported by Mischa Molhoek and discussed in this thread:
35555         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
35556
35557 2007-10-31  Bruno Haible  <bruno@clisp.org>
35558
35559         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
35560         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
35561         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
35562         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
35563         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
35564         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
35565
35566 2007-10-31  Bruno Haible  <bruno@clisp.org>
35567
35568         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
35569         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
35570         (AC_TYPE_LONG_LONG_INT): Use it.
35571         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
35572         it as well.
35573         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
35574         to m4/longlong.m4.
35575         * modules/stdint (Files): Remove m4/ulonglong.m4.
35576         * modules/strtoull (Files): Use m4/longlong.m4 instead of
35577         m4/ulonglong.m4.
35578         * modules/strtoumax (Files): Likewise.
35579
35580 2007-10-30  Bruno Haible  <bruno@clisp.org>
35581
35582         * modules/xvasprintf-posix: New file.
35583         Suggested by Eric Blake.
35584
35585 2007-10-30  Bruno Haible  <bruno@clisp.org>
35586
35587         * modules/xprintf-posix-tests: New file.
35588         * tests/test-xprintf-posix.sh: New file.
35589         * tests/test-xprintf-posix.c: New file.
35590         * tests/test-xfprintf-posix.c: New file.
35591
35592         * modules/xprintf-posix: New file.
35593
35594 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35595
35596         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
35597         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
35598         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
35599
35600 2007-10-29  Bruno Haible  <bruno@clisp.org>
35601
35602         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
35603         contain the special marker '_cv_'.
35604         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
35605         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
35606         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
35607         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
35608         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
35609         Reported by Ralf Wildenhues.
35610
35611 2007-10-29  Bruno Haible  <bruno@clisp.org>
35612
35613         * gnulib-tool (func_import): When --lgpl is not specified, set
35614         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
35615         GPLv3.
35616         Reported by Simon Josefsson.
35617
35618 2007-10-28  Bruno Haible  <bruno@clisp.org>
35619
35620         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
35621         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
35622         HAVE_DECL_ISFINITE.
35623         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
35624         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
35625         HAVE_DECL_ISFINITE.
35626
35627 2007-10-28  Bruno Haible  <bruno@clisp.org>
35628
35629         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
35630         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
35631
35632 2007-10-28  Bruno Haible  <bruno@clisp.org>
35633
35634         Fix link errors with Sun C 5.0 on Solaris 10.
35635         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
35636         function is declared but not present in the compiler's libm.
35637         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
35638         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
35639         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
35640         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
35641         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
35642         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
35643         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
35644         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
35645         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
35646         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
35647         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
35648         HAVE_DECL_FLOORL.
35649
35650 2007-10-28  Bruno Haible  <bruno@clisp.org>
35651
35652         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
35653         gl_FUNC_FLOORL. Cache the result.
35654         (gl_FUNC_FLOORL): Use it.
35655         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
35656         gl_FUNC_CEILL. Cache the result.
35657         (gl_FUNC_CEILL): Use it.
35658
35659         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
35660         gl_FUNC_FLOOR. Cache the result.
35661         (gl_FUNC_FLOOR): Use it.
35662         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
35663         gl_FUNC_CEIL. Cache the result.
35664         (gl_FUNC_CEIL): Use it.
35665
35666         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
35667         gl_FUNC_FLOORF. Cache the result.
35668         (gl_FUNC_FLOORF): Use it.
35669         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
35670         gl_FUNC_CEILF. Cache the result.
35671         (gl_FUNC_CEILF): Use it.
35672
35673 2007-10-28  Bruno Haible  <bruno@clisp.org>
35674
35675         * gnulib-tool: Allow specifying the LGPL version number through
35676         --lgpl=2 or --lgpl=3.
35677         (func_usage): Document --lgpl with argument.
35678         Handle --lgpl=... arguments.
35679         (func_import): Recognize also gl_LGPL calls with an argument. When
35680         --lgpl=2 is used and the module's license is just LGPL, report an
35681         error. Set sed_transform_lib_file according to the lgpl variable. In
35682         the generated files, use --lgpl or gl_LGPL invocations with argument,
35683         if necessary.
35684         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
35685         an LGPv2+ license.
35686         * doc/gnulib-tool.texi (Modified imports): Update explanation of
35687         gl_LGPL macro.
35688
35689 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35690             Bruno Haible  <bruno@clisp.org>
35691
35692         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
35693         (u16_uctomb_aux): Likewise.
35694         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
35695         !HAVE_INLINE.
35696         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
35697
35698 2007-10-28  Bruno Haible  <bruno@clisp.org>
35699
35700         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
35701         Invoke AM_GETTEXT_OPTION if it exists.
35702         * modules/vasprintf: Likewise.
35703         * modules/verror: Likewise.
35704         * modules/xprintf: Likewise.
35705         * modules/xvasprintf: Likewise.
35706
35707 2007-10-27  Ben Pfaff  <blp@gnu.org>
35708
35709         * lib/math.in.h: Define isfinite macro and prototypes for
35710         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
35711         implementations.
35712         * m4/math_h.m4: New substitutions for isfinite module.
35713         * lib/isfinite.c: New file.
35714         * m4/isfinite.m4: New file.
35715         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
35716         * modules/isfinite: New file.
35717         * modules/isfinite-tests: New file.
35718         * tests/tests-isfinite.c: New file.
35719         * doc/functions/isfinite.texi: Mention isfinite module.
35720         * MODULES.html.sh: Mention new module.
35721
35722 2007-10-27  Ben Pfaff  <blp@gnu.org>
35723
35724         Ralf Wildenhues reported that Tru64 4.0D declares the round
35725         functions but does not have definitions.
35726         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
35727         cannot be found in any library, set the output variable to
35728         "missing" instead of "".
35729         * m4/round.m4: Also use our substitute if we cannot find round in
35730         any library, even if it is declared.
35731         * m4/roundf.m4: Likewise for roundf.
35732         * m4/roundl.m4: Likewise for roundl.
35733         * lib/math.in.h: Undefine roundf, round, roundl before defining
35734         their replacements, to allow for hypothetical systems where these
35735         may be defined as macros but not available in libraries.
35736
35737 2007-10-27  Bruno Haible  <bruno@clisp.org>
35738
35739         * doc/gnulib.texi: Invoke @firstparagraphindent.
35740         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
35741         changes in gnulib.
35742         (Source changes): New section.
35743
35744 2007-10-26  Bruno Haible  <bruno@clisp.org>
35745
35746         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
35747         borrowed from autoconf.
35748
35749 2007-10-26  Bruno Haible  <bruno@clisp.org>
35750
35751         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
35752         strerror returned the empty string. Needed on HP-UX 11.00.
35753
35754 2007-10-24  Micah Cowan  <micah@cowan.name>
35755
35756         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
35757         * build-aux/bootstrap: Remove support for now-unnecessary option,
35758         --cvs-user, and envvars CVS_USER, CVS_RSH.
35759
35760 2007-10-24  Jim Meyering  <meyering@redhat.com>
35761
35762         Avoid diagnostics from sha1sum when there is no cached checksum.
35763         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
35764         if the po.s1 file hasn't been created yet.
35765
35766         * build-aux/bootstrap: Sync from coreutils:
35767         2007-10-24  Jim Meyering  <meyering@redhat.com>
35768         Get gnulib from the git repository, not from an obsolete cvs one.
35769         * build-aux/bootstrap: Suggestion from Micah Cowan.
35770         2007-10-04  Jim Meyering  <jim@meyering.net>
35771         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
35772         (update_po_files): Work also when there are no .po files in po/.
35773
35774 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
35775
35776         * README: Append ".git" to git and cg examples.
35777         Problem reported by Benoit Sigoure.
35778
35779 2007-10-23  Micah Cowan  <micah@cowan.name>
35780
35781         * users.txt: Add wget.
35782
35783 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35784
35785         Fix linking of some unistdio tests on FreeBSD.
35786         * modules/unistdio/u16-vsnprintf-tests
35787         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
35788         * modules/unistdio/u16-vsprintf-tests
35789         (test_u16_vsnprintf1_LDADD): Likewise.
35790         * modules/unistdio/u32-vsnprintf-tests
35791         (test_u32_vsnprintf1_LDADD): Likewise.
35792         * modules/unistdio/u32-vsprintf-tests
35793         (test_u32_vsprintf1_LDADD): Likewise.
35794         * modules/unistdio/u8-vsnprintf-tests
35795         (test_u8_vsnprintf1_LDADD): Likewise.
35796         * modules/unistdio/u8-vsprintf-tests
35797         (test_u8_vsprintf1_LDADD): Likewise.
35798         * modules/unistdio/ulc-vsnprintf-tests
35799         (test_ulc_vsnprintf1_LDADD): Likewise.
35800         * modules/unistdio/ulc-vsprintf-tests
35801         (test_ulc_vsprintf1_LDADD): Likewise.
35802
35803         Fix linking of some uniconv tests on FreeBSD.
35804         * modules/uniconv/u16-conv-from-enc-tests
35805         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
35806         * modules/uniconv/u16-conv-to-enc-tests
35807         (test_u16_conv_to_enc_LDADD): Likewise.
35808         * modules/uniconv/u16-strconv-from-enc-tests
35809         (test_u16_strconv_from_enc_LDADD): Likewise.
35810         * modules/uniconv/u16-strconv-to-enc-tests
35811         (test_u16_strconv_to_enc_LDADD): Likewise.
35812         * modules/uniconv/u32-conv-from-enc-tests
35813         (test_u32_conv_from_enc_LDADD): Likewise.
35814         * modules/uniconv/u32-conv-to-enc-tests
35815         (test_u32_conv_to_enc_LDADD): Likewise.
35816         * modules/uniconv/u32-strconv-from-enc-tests
35817         (test_u32_strconv_from_enc_LDADD): Likewise.
35818         * modules/uniconv/u32-strconv-to-enc-tests
35819         (test_u32_strconv_to_enc_LDADD): Likewise.
35820         * modules/uniconv/u8-conv-from-enc-tests
35821         (test_u8_conv_from_enc_LDADD): Likewise.
35822         * modules/uniconv/u8-conv-to-enc-tests
35823         (test_u8_conv_to_enc_LDADD): Likewise.
35824         * modules/uniconv/u8-strconv-from-enc-tests
35825         (test_u8_strconv_from_enc_LDADD): Likewise.
35826         * modules/uniconv/u8-strconv-to-enc-tests
35827         (test_u8_strconv_to_enc_LDADD): Likewise.
35828
35829 2007-10-22  Bruno Haible  <bruno@clisp.org>
35830
35831         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
35832         size.
35833
35834 2007-10-22  Eric Blake  <ebb9@byu.net>
35835
35836         Tweak x*printf documentation.
35837         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
35838         variable name and comments.
35839         Suggested by Bruno Haible.
35840
35841 2007-10-22  Bruno Haible  <bruno@clisp.org>
35842
35843         * lib/acl.c (copy_acl): Fix file name in comment.
35844
35845 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
35846
35847         Fix Tru64 problem with stdbool.h.
35848         * lib/stdbool.in.h (false, true):
35849         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
35850         Don't declare as an enum in this situation; it runs afoul of Tru64.
35851         Problem reported by Steven M. Schweda in
35852         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
35853
35854 2007-10-22  Eric Blake  <ebb9@byu.net>
35855
35856         Also wrap vf?printf.
35857         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
35858         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
35859         (xvprintf, xvfprintf): New functions.
35860
35861 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35862
35863         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
35864         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
35865
35866         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
35867         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
35868
35869 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
35870
35871         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
35872         by Bruno Haible.
35873
35874 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35875
35876         * lib/getloadavg.c
35877         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
35878         Undef `sys' after including sys/table.h, for Tru64 4.0D.
35879
35880         * tests/test-i-ring.c: Work for C89.
35881
35882 2007-10-22  Bruno Haible  <bruno@clisp.org>
35883
35884         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
35885         -1u, in preprocessor expression, so that we don't test for the bug
35886         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
35887         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
35888
35889 2007-10-22  Eric Blake  <ebb9@byu.net>
35890
35891         * tests/test-yesno.sh: Silence stderr during test.
35892
35893 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35894
35895         * modules/crypto/gc-camellia: New file.
35896
35897         * m4/gc-camellia.m4: New file.
35898
35899         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
35900
35901         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
35902
35903 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35904
35905         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
35906         --help to stdout.  Reported by sms@antinode.org (Steven
35907         M. Schweda).
35908
35909 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35910
35911         * users.txt: Fix link to libksba.
35912
35913 2007-10-21  Ben Pfaff  <blp@gnu.org>
35914
35915         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
35916         round.c roundf implementation that depends on floorf and ceilf to
35917         be tested unconditionally.
35918
35919 2007-10-21  Ben Pfaff  <blp@gnu.org>
35920
35921         * m4/check-libm-func.m4: Removed.
35922         * m4/check-math-lib.m4: New file.
35923         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
35924         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
35925         definition and lack of AC_LIBOBJ([roundf]).
35926         * m4/roundl.m4: Ditto, and similarly for roundl.
35927         * modules/round: Reference new m4 file.
35928         * modules/roundf: Ditto.
35929         * modules/roundl: Ditto.
35930         * tests/test-round2.c (main): Use ROUND instead of round.
35931         Bug report from Bruno Haible.
35932
35933 2007-10-21  Bruno Haible  <bruno@clisp.org>
35934
35935         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
35936         context.
35937
35938 2007-10-21  Bruno Haible  <bruno@clisp.org>
35939
35940         * tests/test-wcwidth.c (main): Allow negative result for some control
35941         characters.
35942
35943         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
35944         Needed on OSF/1 5.1.
35945
35946 2007-10-21  Bruno Haible  <bruno@clisp.org>
35947
35948         * tests/test-floorf1.c: Include isnanf.h.
35949         (main): Use isnanf() instead of isnan().
35950         * tests/test-ceilf1.c: Include isnanf.h.
35951         (main): Use isnanf() instead of isnan().
35952         * tests/test-truncf1.c: Include isnanf.h.
35953         (main): Use isnanf() instead of isnan().
35954         * tests/test-roundf1.c: Include isnanf.h.
35955         (main): Use isnanf() instead of isnan().
35956
35957 2007-10-21  Eric Blake  <ebb9@byu.net>
35958
35959         * users.txt: Update URL for m4.
35960
35961 2007-10-21  Bruno Haible  <bruno@clisp.org>
35962
35963         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
35964
35965 2007-10-21  Bruno Haible  <bruno@clisp.org>
35966
35967         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
35968         Git's management files if the CVS files are not present.
35969
35970 2007-10-20  Bruno Haible  <bruno@clisp.org>
35971
35972         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
35973         gcc-3.4.x.
35974
35975 2007-10-20  Ben Pfaff  <blp@gnu.org>
35976
35977         * lib/math.in.h: Declare round, roundf, roundl if we are providing
35978         implementations.
35979         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
35980         * lib/round.c: New file.
35981         * lib/roundf.c: New file.
35982         * lib/roundl.c: New file.
35983         * m4/round.m4: New file.
35984         * m4/roundf.m4: New file.
35985         * m4/roundl.m4: New file.
35986         * m4/check-libm-func-m4: New file.
35987         * modules/math: Replace round, roundf, roundl related @VARS@ in
35988         math.in.h.
35989         * modules/round: New file.
35990         * modules/round-tests: New file.
35991         * modules/roundf: New file.
35992         * modules/roundf-tests: New file.
35993         * modules/roundl: New file.
35994         * modules/roundl-tests: New file.
35995         * tests/test-round1.c: New file.
35996         * tests/test-round2.c: New file.
35997         * tests/test-roundf1.c: New file.
35998         * tests/test-roundf2.c: New file.
35999         * tests/test-roundl.c: New file.
36000         * doc/functions/round.texi: Mention round module.
36001         * doc/functions/roundf.texi: Mention roundf module.
36002         * doc/functions/roundl.texi: Mention roundl module.
36003         * MODULES.html.sh: Mention new modules.
36004         Thanks to Bruno Haible for suggestions.
36005
36006 2007-10-20  Jim Meyering  <meyering@redhat.com>
36007
36008         * lib/xprintf.c: Include <config.h> unconditionally.
36009
36010         Change xprintf's license to GPL.
36011         * modules/xprintf (License): s/LGPL/GPL/, since this module
36012         depends on modules (exit and exitfail) which are GPL.
36013         Suggestion from Bruno Haible.
36014
36015         xprintf fixes.
36016         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
36017         Use a clearer diagnostic.
36018         Patch from Bruno Haible.
36019
36020 2007-10-20  Bruno Haible  <bruno@clisp.org>
36021
36022         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
36023         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
36024         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36025
36026 2007-10-20  Bruno Haible  <bruno@clisp.org>
36027
36028         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
36029         precision in the comparison result > x - 1 or similar.
36030         * tests/test-ceilf2.c (correct_result_p): Likewise.
36031         * tests/test-truncf2.c (correct_result_p): Likewise.
36032         * tests/test-trunc2.c (correct_result_p): Likewise.
36033         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36034
36035 2007-10-20  Bruno Haible  <bruno@clisp.org>
36036
36037         * modules/ceil: New file.
36038         * m4/ceil.m4: New file.
36039         * doc/functions/ceil.texi: Mention the 'ceil' module.
36040
36041 2007-10-20  Bruno Haible  <bruno@clisp.org>
36042
36043         * modules/floor: New file.
36044         * m4/floor.m4: New file.
36045         * doc/functions/floor.texi: Mention the 'floor' module.
36046
36047 2007-10-20  Bruno Haible  <bruno@clisp.org>
36048
36049         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
36050         of %a.
36051         * modules/floorf-tests (Depends-on): Likewise.
36052         * modules/truncf-tests (Depends-on): Likewise.
36053         * modules/trunc-tests (Depends-on): Likewise.
36054         Reported by Ben Pfaff.
36055
36056 2007-10-19  Jim Meyering  <meyering@redhat.com>
36057
36058         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
36059         Don't bother testing specific errno values.  Just test ferror.
36060
36061         New module: xprintf
36062         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
36063
36064 2007-10-19  Bruno Haible  <bruno@clisp.org>
36065
36066         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
36067         syntax.
36068         * modules/javaexec (Makefile.am): Likewise.
36069         * modules/relocatable-prog (Makefile.am): Likewise.
36070         Suggested by Jim Meyering.
36071
36072 2007-10-18  Bruno Haible  <bruno@clisp.org>
36073
36074         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
36075         Reported by Jim Meyering.
36076
36077 2007-10-18  Eric Blake  <ebb9@byu.net>
36078
36079         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
36080
36081 2007-10-18  Bruno Haible  <bruno@clisp.org>
36082
36083         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
36084         the format string into writable memory. Needed in Fortify conditions.
36085
36086 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
36087             Bruno Haible  <bruno@clisp.org>
36088
36089         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
36090         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
36091         * modules/trim (Depends-on): Add mbchar.
36092         (configure.ac): Add gl_FUNC_MBRTOWC.
36093         (Makefile.am): Augment lib_SOURCES.
36094
36095 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
36096
36097         Modify glob.c to use fstatat and dirfd, to simplify it.
36098         Suggested by Eric Blake.
36099         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
36100         Don't include <stdbool.h>; not used.
36101         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
36102         (link_exists_p): Simplify implementation, since we can now assume
36103         dirfd and fstatat.
36104         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
36105
36106 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36107
36108         * gnulib-tool (func_get_dependencies): Fix sed script to
36109         match only tests.
36110
36111 2007-10-17  Bruno Haible  <bruno@clisp.org>
36112
36113         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
36114         allow locale names without encoding suffix.
36115         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
36116         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36117
36118 2007-10-16  Bruno Haible  <bruno@clisp.org>
36119
36120         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
36121         * lib/getgroups.c (getgroups): Likewise.
36122         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
36123
36124 2007-10-16  Bruno Haible  <bruno@clisp.org>
36125
36126         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
36127         * modules/malloc-posix (License): Likewise.
36128         * modules/realloc-posix (License): Likewise.
36129         * modules/calloc-posix (License): Likewise.
36130         * modules/intprops (License): Change from GPL to LGPL, with
36131         Paul Eggert's approval.
36132
36133 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36134
36135         Merge glibc changes into lib/glob.c.
36136
36137         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
36138         2007-10-15 04:59:03 UTC.  Here are the changes:
36139
36140         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
36141
36142         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
36143
36144         * lib/glob.c: Add some branch prediction throughout.
36145
36146         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
36147
36148         [BZ #5103]
36149         * lib/glob.c (glob): Recognize patterns starting \/.
36150
36151         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
36152
36153         [BZ #3996]
36154         * lib/glob.c (attribute_hidden): Define if not defined.
36155         (glob): Unescape dirname, filename or username when needed and not
36156         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
36157         is NULL.  Handle unescaped [ in pattern without closing ].
36158         Don't pass GLOB_CHECK down to recursive glob for directories.
36159         (__glob_pattern_type): New function.
36160         (__glob_pattern_p): Implement using __glob_pattern_type.
36161         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
36162         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
36163         Remove unreachable code.
36164
36165         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
36166
36167         * lib/glob.c (glob_in_dir): Add some comments and asserts to
36168         explain why there are no leaks.
36169
36170         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
36171
36172         [BZ #3253]
36173         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
36174         time, rather allocate increasingly bigger arrays of pointers, if
36175         possible with alloca, if too large with malloc.
36176
36177 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36178
36179         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
36180         Problem reported by H.Merijn Brand in
36181         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
36182         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
36183         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
36184
36185 2007-10-15  Bruno Haible  <bruno@clisp.org>
36186
36187         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
36188         with explicit rpl_ prefix.
36189         * lib/fopen.c (fopen): Likewise.
36190         * lib/freopen.c (freopen): Likewise.
36191         * lib/iconv.c (iconv): Likewise.
36192         * lib/iconv_close.c (iconv_close): Likewise.
36193
36194 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36195
36196         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
36197
36198 2007-10-15  Bruno Haible  <bruno@clisp.org>
36199
36200         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
36201         <stddef.h> instead of <stdlib.h> since we only need NULL.
36202         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36203
36204 2007-10-15  Bruno Haible  <bruno@clisp.org>
36205
36206         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
36207         Replace paragraph talking about LIBOBJS.
36208         Reported by Colin Watson <cjwatson@debian.org>.
36209
36210 2007-10-15  Bruno Haible  <bruno@clisp.org>
36211
36212         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
36213         <stdlib.h> before using NULL.
36214
36215 2007-10-15  Simon Josefsson  <simon@josefsson.org>
36216
36217         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
36218         Reported by Albert Chin <china@thewrittenword.com>.
36219
36220 2007-10-14  Bruno Haible  <bruno@clisp.org>
36221
36222         * modules/iconv_open-utf-tests: New file.
36223         * tests/test-iconv-utf.c: New file.
36224
36225         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
36226         * modules/iconv_open-utf: New file.
36227         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
36228         (iconv, iconv_close): New declarations.
36229         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
36230         be defined.
36231         (iconv_open): Add special handling of conversion between UTF-8 and
36232         UTF-{16,32}{BE,LE}.
36233         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
36234         * lib/iconv_close.c: New file.
36235         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
36236         gl_FUNC_ICONV_OPEN.
36237         (gl_FUNC_ICONV_OPEN): Use it.
36238         (gl_FUNC_ICONV_OPEN_UTF): New macro.
36239         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
36240         and REPLACE_ICONV_UTF.
36241         * modules/iconv_open (Depends-on): Add c-strcase.
36242         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
36243         ICONV_CONST.
36244         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
36245
36246 2007-10-13  Albert Chin  <china@thewrittenword.com>
36247             Bruno Haible  <bruno@clisp.org>
36248
36249         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
36250         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
36251
36252 2007-10-13  Bruno Haible  <bruno@clisp.org>
36253
36254         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
36255         defined, use the ISO C99 inline semantics.
36256         * lib/argp.h (ARGP_EI): Likewise.
36257
36258 2007-10-13  Bruno Haible  <bruno@clisp.org>
36259
36260         Handle 'inline' change in gcc 4.3.0.
36261         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
36262         argp_fmtstream_write, argp_fmtstream_set_lmargin,
36263         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
36264         argp_fmtstream_point): Disable 'extern' declaration if the function
36265         definition is going to be provided inline.
36266         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
36267         semantics, not the ISO C99 inline semantics.
36268         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
36269         'extern' declaration if the function definition is going to be provided
36270         inline.
36271         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
36272         the GNU C inline semantics, not the ISO C99 inline semantics. With
36273         GCC 4.2, avoid a warning.
36274
36275 2007-10-13  Bruno Haible  <bruno@clisp.org>
36276
36277         * lib/freading.h (freading): Enable the use of __freading for
36278         glibc >= 2.7.
36279         * lib/freading.c (freading): Likewise.
36280
36281 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
36282
36283         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
36284         "warning: C99 inline functions are not supported; using GNU89".
36285
36286 2007-10-12  Bruno Haible  <bruno@clisp.org>
36287
36288         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
36289         of 2.
36290         * tests/test-ceilf2.c: New file.
36291         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
36292
36293         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
36294         * modules/ceilf-tests: Update.
36295
36296 2007-10-12  Bruno Haible  <bruno@clisp.org>
36297
36298         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
36299         of 2.
36300         * tests/test-floorf2.c: New file.
36301         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
36302
36303         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
36304         * modules/floorf-tests: Update.
36305
36306 2007-10-12  Bruno Haible  <bruno@clisp.org>
36307
36308         * tests/test-trunc2.c: New file.
36309         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
36310
36311         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
36312         * modules/trunc-tests: Update.
36313
36314 2007-10-12  Bruno Haible  <bruno@clisp.org>
36315
36316         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
36317         of 2.
36318         * tests/test-truncf2.c: New file.
36319         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
36320
36321         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
36322         * modules/truncf-tests: Update.
36323
36324 2007-10-11  Eric Blake  <ebb9@byu.net>
36325
36326         Don't claim strerror is broken on Interix.
36327         * doc/functions/strerror.texi (strerror): Known broken systems are
36328         now Solaris 8, and not Interix.
36329         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
36330         Interix on cross-compile.
36331         Reported by Martin Koeppe in
36332         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
36333
36334 2007-10-11  Bruno Haible  <bruno@clisp.org>
36335
36336         * modules/i-ring-tests: New file.
36337         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
36338         instead of assert.
36339
36340 2007-10-11  Bruno Haible  <bruno@clisp.org>
36341
36342         * modules/filenamecat-tests: New file.
36343         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
36344         * lib/filenamecat.c: Remove test code.
36345
36346 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
36347
36348         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
36349
36350         * lib/strerror.c: Include <string.h> always, to test interface,
36351         and to remove the need for the dummy.
36352         Include intprops.h to compute width instead of doing it ourselves
36353         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
36354         (strerror): Define it to return NULL if there's no system strerror.
36355         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
36356         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
36357         ancient pre-strerror Unix systems well any more.  Saying "unknown
36358         system error" is enough.
36359         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
36360         simpler strerror.c implementation.
36361         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
36362         Simplify the tests to reflect the simpler strerror implementation.
36363         * modules/strerror (Depends-on): Add intprops.
36364
36365 2007-10-09  Eric Blake  <ebb9@byu.net>
36366
36367         Silence test-fpending.
36368         * modules/fpending-tests (Files): Add wrapper script.
36369         * tests/test-fpending.sh: New file.
36370
36371 2007-10-09  Bruno Haible  <bruno@clisp.org>
36372
36373         * MODULES.html.sh (func_module): Don't create a hyperlink for
36374         function names like 'printf_frexp'.
36375         (Misc): Add crc, memxor.
36376         (Characteristics of floating types): New section.
36377         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
36378         isnanf-nolibm, signbit, trunc, truncf, truncl.
36379         (Enhancements for ISO C 99 functions): New subsection Input/output.
36380         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
36381         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
36382         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
36383         (Compatibility checks for POSIX:2001 functions): Add clock-time.
36384         (Enhancements for POSIX:2001 functions): Add chdir-long.
36385         (File system functions): Add areadlink, chdir-safer, read-file.
36386         Remove cycle-check.
36387         (File system as inode set): New section.
36388         (Date and time): Add gethrxtime.
36389         (Multithreading): Add openmp.
36390         (Internationalization functions): Add localename.
36391         (Unicode string functions): Add unistr/u*-mbsnlen.
36392         (Support for maintaining and releasing projects): Add git-version-gen.
36393         (Lone files): Remove directories.
36394
36395 2007-10-08  Ben Pfaff  <blp@gnu.org>
36396
36397         * lib/xmalloca.h: Fix typo in comment.
36398
36399 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
36400
36401         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
36402         when avoiding problems with integer overflow.  Use a portable test
36403         instead.
36404
36405 2007-10-08  Simon Josefsson  <simon@josefsson.org>
36406
36407         * modules/dummy (License): Change to LGPLv2+.
36408         * modules/float (License): Likewise
36409         * modules/realloc (License): Likewise
36410         * modules/stdlib (License): Likewise
36411
36412 2007-10-07  Bruno Haible  <bruno@clisp.org>
36413
36414         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
36415         * floor.c (TWO_MANT_DIG): Likewise.
36416         * ceil.c (TWO_MANT_DIG): Likewise.
36417         Reported by Ben Pfaff.
36418
36419 2007-10-07  Bruno Haible  <bruno@clisp.org>
36420
36421         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
36422         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
36423         * lib/frexp.c (FUNC): Likewise.
36424         * lib/printf-frexp.h (printf_frexp): Likewise.
36425         * lib/printf-frexpl.h (printf_frexpl): Likewise.
36426         * lib/printf-frexp.c (FUNC): Likewise.
36427         Suggested by Jim Meyering.
36428
36429 2007-10-07  Jim Meyering  <meyering@redhat.com>
36430
36431         Make xnanosleep's integer overflow test more robust.
36432         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
36433         so that gcc-4.3.0 doesn't optimize away this test for overflow.
36434
36435 2007-10-07  Bruno Haible  <bruno@clisp.org>
36436
36437         * NEWS: Mention the license change.
36438
36439         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
36440         abbreviations in the modules files.
36441
36442         Change copyright notice from GPLv2+ to GPLv3+.
36443         * README: Change copyright notice.
36444         * MODULES.html.sh: Likewise.
36445         * build-aux/bootstrap.conf: Likewise.
36446         * build-aux/config.libpath: Likewise.
36447         * build-aux/csharpcomp.sh.in: Likewise.
36448         * build-aux/csharpexec.sh.in: Likewise.
36449         * build-aux/install-reloc: Likewise.
36450         * build-aux/javacomp.sh.in: Likewise.
36451         * build-aux/javaexec.sh.in: Likewise.
36452         * build-aux/ldd.sh.in: Likewise.
36453         * build-aux/reloc-ldflags: Likewise.
36454         * build-aux/relocatable.sh.in: Likewise.
36455         * build-aux/x-to-1.in: Likewise.
36456         * check-module: Likewise.
36457         * config/srclistvars.sh: Likewise.
36458         * gnulib-tool: Likewise.
36459         * lib/acl-internal.h: Likewise.
36460         * lib/acl.c: Likewise.
36461         * lib/acl.h: Likewise.
36462         * lib/acl_entries.c: Likewise.
36463         * lib/areadlink-with-size.c: Likewise.
36464         * lib/areadlink.c: Likewise.
36465         * lib/areadlink.h: Likewise.
36466         * lib/argmatch.c: Likewise.
36467         * lib/argmatch.h: Likewise.
36468         * lib/argp-ba.c: Likewise.
36469         * lib/argp-eexst.c: Likewise.
36470         * lib/argp-fmtstream.c: Likewise.
36471         * lib/argp-fmtstream.h: Likewise.
36472         * lib/argp-fs-xinl.c: Likewise.
36473         * lib/argp-help.c: Likewise.
36474         * lib/argp-namefrob.h: Likewise.
36475         * lib/argp-parse.c: Likewise.
36476         * lib/argp-pin.c: Likewise.
36477         * lib/argp-pv.c: Likewise.
36478         * lib/argp-pvh.c: Likewise.
36479         * lib/argp-xinl.c: Likewise.
36480         * lib/argp.h: Likewise.
36481         * lib/at-func.c: Likewise.
36482         * lib/atanl.c: Likewise.
36483         * lib/backupfile.c: Likewise.
36484         * lib/backupfile.h: Likewise.
36485         * lib/basename.c: Likewise.
36486         * lib/binary-io.h: Likewise.
36487         * lib/byteswap.in.h: Likewise.
36488         * lib/c-stack.c: Likewise.
36489         * lib/c-stack.h: Likewise.
36490         * lib/c-strcasestr.c: Likewise.
36491         * lib/c-strcasestr.h: Likewise.
36492         * lib/c-strstr.c: Likewise.
36493         * lib/c-strstr.h: Likewise.
36494         * lib/c-strtod.c: Likewise.
36495         * lib/calloc.c: Likewise.
36496         * lib/canon-host.c: Likewise.
36497         * lib/canon-host.h: Likewise.
36498         * lib/canonicalize-lgpl.c: Likewise.
36499         * lib/canonicalize.c: Likewise.
36500         * lib/canonicalize.h: Likewise.
36501         * lib/ceil.c: Likewise.
36502         * lib/ceilf.c: Likewise.
36503         * lib/ceill.c: Likewise.
36504         * lib/chdir-long.c: Likewise.
36505         * lib/chdir-long.h: Likewise.
36506         * lib/chdir-safer.c: Likewise.
36507         * lib/chdir-safer.h: Likewise.
36508         * lib/chown.c: Likewise.
36509         * lib/classpath.c: Likewise.
36510         * lib/classpath.h: Likewise.
36511         * lib/clean-temp.c: Likewise.
36512         * lib/clean-temp.h: Likewise.
36513         * lib/cloexec.c: Likewise.
36514         * lib/close-stream.c: Likewise.
36515         * lib/closein.c: Likewise.
36516         * lib/closein.h: Likewise.
36517         * lib/closeout.c: Likewise.
36518         * lib/closeout.h: Likewise.
36519         * lib/concat-filename.c: Likewise.
36520         * lib/copy-file.c: Likewise.
36521         * lib/copy-file.h: Likewise.
36522         * lib/count-one-bits.h: Likewise.
36523         * lib/crc.c: Likewise.
36524         * lib/crc.h: Likewise.
36525         * lib/creat-safer.c: Likewise.
36526         * lib/csharpcomp.c: Likewise.
36527         * lib/csharpcomp.h: Likewise.
36528         * lib/csharpexec.c: Likewise.
36529         * lib/csharpexec.h: Likewise.
36530         * lib/cycle-check.c: Likewise.
36531         * lib/cycle-check.h: Likewise.
36532         * lib/diacrit.c: Likewise.
36533         * lib/diacrit.h: Likewise.
36534         * lib/diffseq.h: Likewise.
36535         * lib/dirchownmod.c: Likewise.
36536         * lib/dirent.in.h: Likewise.
36537         * lib/dirfd.c: Likewise.
36538         * lib/dirfd.h: Likewise.
36539         * lib/dirname.c: Likewise.
36540         * lib/dirname.h: Likewise.
36541         * lib/dummy.c: Likewise.
36542         * lib/dup-safer.c: Likewise.
36543         * lib/dup2.c: Likewise.
36544         * lib/eealloc.h: Likewise.
36545         * lib/error.c: Likewise.
36546         * lib/error.h: Likewise.
36547         * lib/euidaccess.c: Likewise.
36548         * lib/exclude.c: Likewise.
36549         * lib/exclude.h: Likewise.
36550         * lib/execute.c: Likewise.
36551         * lib/execute.h: Likewise.
36552         * lib/exitfail.c: Likewise.
36553         * lib/exitfail.h: Likewise.
36554         * lib/expl.c: Likewise.
36555         * lib/fatal-signal.c: Likewise.
36556         * lib/fatal-signal.h: Likewise.
36557         * lib/fbufmode.c: Likewise.
36558         * lib/fbufmode.h: Likewise.
36559         * lib/fchdir.c: Likewise.
36560         * lib/fchmodat.c: Likewise.
36561         * lib/fchownat.c: Likewise.
36562         * lib/fcntl--.h: Likewise.
36563         * lib/fcntl-safer.h: Likewise.
36564         * lib/fcntl.in.h: Likewise.
36565         * lib/fd-safer.c: Likewise.
36566         * lib/fflush.c: Likewise.
36567         * lib/file-has-acl.c: Likewise.
36568         * lib/file-set.c: Likewise.
36569         * lib/file-type.c: Likewise.
36570         * lib/file-type.h: Likewise.
36571         * lib/fileblocks.c: Likewise.
36572         * lib/filemode.c: Likewise.
36573         * lib/filemode.h: Likewise.
36574         * lib/filename.h: Likewise.
36575         * lib/filenamecat.c: Likewise.
36576         * lib/filenamecat.h: Likewise.
36577         * lib/findprog.c: Likewise.
36578         * lib/findprog.h: Likewise.
36579         * lib/float.in.h: Likewise.
36580         * lib/floor.c: Likewise.
36581         * lib/floorf.c: Likewise.
36582         * lib/floorl.c: Likewise.
36583         * lib/fopen-safer.c: Likewise.
36584         * lib/fopen.c: Likewise.
36585         * lib/fpending.c: Likewise.
36586         * lib/fpending.h: Likewise.
36587         * lib/fprintf.c: Likewise.
36588         * lib/fprintftime.h: Likewise.
36589         * lib/fpucw.h: Likewise.
36590         * lib/fpurge.c: Likewise.
36591         * lib/fpurge.h: Likewise.
36592         * lib/freadable.c: Likewise.
36593         * lib/freadable.h: Likewise.
36594         * lib/freadahead.c: Likewise.
36595         * lib/freadahead.h: Likewise.
36596         * lib/freading.c: Likewise.
36597         * lib/freading.h: Likewise.
36598         * lib/free.c: Likewise.
36599         * lib/freopen.c: Likewise.
36600         * lib/frexp.c: Likewise.
36601         * lib/frexpl.c: Likewise.
36602         * lib/fseek.c: Likewise.
36603         * lib/fseterr.c: Likewise.
36604         * lib/fseterr.h: Likewise.
36605         * lib/fstatat.c: Likewise.
36606         * lib/fstrcmp.c: Likewise.
36607         * lib/fstrcmp.h: Likewise.
36608         * lib/fsusage.c: Likewise.
36609         * lib/fsusage.h: Likewise.
36610         * lib/ftell.c: Likewise.
36611         * lib/ftello.c: Likewise.
36612         * lib/fts-cycle.c: Likewise.
36613         * lib/fts.c: Likewise.
36614         * lib/fts_.h: Likewise.
36615         * lib/full-read.c: Likewise.
36616         * lib/full-read.h: Likewise.
36617         * lib/full-write.c: Likewise.
36618         * lib/full-write.h: Likewise.
36619         * lib/fwritable.c: Likewise.
36620         * lib/fwritable.h: Likewise.
36621         * lib/fwriteerror.c: Likewise.
36622         * lib/fwriteerror.h: Likewise.
36623         * lib/fwriting.c: Likewise.
36624         * lib/fwriting.h: Likewise.
36625         * lib/gcd.c: Likewise.
36626         * lib/gcd.h: Likewise.
36627         * lib/getcwd.c: Likewise.
36628         * lib/getdate.h: Likewise.
36629         * lib/getdate.y: Likewise.
36630         * lib/getdomainname.c: Likewise.
36631         * lib/getdomainname.h: Likewise.
36632         * lib/getgroups.c: Likewise.
36633         * lib/gethostname.c: Likewise.
36634         * lib/gethrxtime.c: Likewise.
36635         * lib/gethrxtime.h: Likewise.
36636         * lib/getloadavg.c: Likewise.
36637         * lib/getndelim2.c: Likewise.
36638         * lib/getndelim2.h: Likewise.
36639         * lib/getnline.c: Likewise.
36640         * lib/getnline.h: Likewise.
36641         * lib/getopt.c: Likewise.
36642         * lib/getopt.in.h: Likewise.
36643         * lib/getopt1.c: Likewise.
36644         * lib/getopt_int.h: Likewise.
36645         * lib/getpagesize.h: Likewise.
36646         * lib/getsubopt.c: Likewise.
36647         * lib/gettime.c: Likewise.
36648         * lib/getugroups.c: Likewise.
36649         * lib/getugroups.h: Likewise.
36650         * lib/getusershell.c: Likewise.
36651         * lib/gl_anyavltree_list1.h: Likewise.
36652         * lib/gl_anyavltree_list2.h: Likewise.
36653         * lib/gl_anyhash_list1.h: Likewise.
36654         * lib/gl_anyhash_list2.h: Likewise.
36655         * lib/gl_anylinked_list1.h: Likewise.
36656         * lib/gl_anylinked_list2.h: Likewise.
36657         * lib/gl_anyrbtree_list1.h: Likewise.
36658         * lib/gl_anyrbtree_list2.h: Likewise.
36659         * lib/gl_anytree_list1.h: Likewise.
36660         * lib/gl_anytree_list2.h: Likewise.
36661         * lib/gl_anytree_oset.h: Likewise.
36662         * lib/gl_anytreehash_list1.h: Likewise.
36663         * lib/gl_anytreehash_list2.h: Likewise.
36664         * lib/gl_array_list.c: Likewise.
36665         * lib/gl_array_list.h: Likewise.
36666         * lib/gl_array_oset.c: Likewise.
36667         * lib/gl_array_oset.h: Likewise.
36668         * lib/gl_avltree_list.c: Likewise.
36669         * lib/gl_avltree_list.h: Likewise.
36670         * lib/gl_avltree_oset.c: Likewise.
36671         * lib/gl_avltree_oset.h: Likewise.
36672         * lib/gl_avltreehash_list.c: Likewise.
36673         * lib/gl_avltreehash_list.h: Likewise.
36674         * lib/gl_carray_list.c: Likewise.
36675         * lib/gl_carray_list.h: Likewise.
36676         * lib/gl_linked_list.c: Likewise.
36677         * lib/gl_linked_list.h: Likewise.
36678         * lib/gl_linkedhash_list.c: Likewise.
36679         * lib/gl_linkedhash_list.h: Likewise.
36680         * lib/gl_list.c: Likewise.
36681         * lib/gl_list.h: Likewise.
36682         * lib/gl_oset.c: Likewise.
36683         * lib/gl_oset.h: Likewise.
36684         * lib/gl_rbtree_list.c: Likewise.
36685         * lib/gl_rbtree_list.h: Likewise.
36686         * lib/gl_rbtree_oset.c: Likewise.
36687         * lib/gl_rbtree_oset.h: Likewise.
36688         * lib/gl_rbtreehash_list.c: Likewise.
36689         * lib/gl_rbtreehash_list.h: Likewise.
36690         * lib/gl_sublist.c: Likewise.
36691         * lib/gl_sublist.h: Likewise.
36692         * lib/group-member.c: Likewise.
36693         * lib/group-member.h: Likewise.
36694         * lib/hard-locale.c: Likewise.
36695         * lib/hard-locale.h: Likewise.
36696         * lib/hash-pjw.c: Likewise.
36697         * lib/hash-pjw.h: Likewise.
36698         * lib/hash-triple.c: Likewise.
36699         * lib/hash.c: Likewise.
36700         * lib/hash.h: Likewise.
36701         * lib/human.c: Likewise.
36702         * lib/human.h: Likewise.
36703         * lib/i-ring.c: Likewise.
36704         * lib/i-ring.h: Likewise.
36705         * lib/idcache.c: Likewise.
36706         * lib/imaxabs.c: Likewise.
36707         * lib/imaxdiv.c: Likewise.
36708         * lib/inet_pton.c: Likewise.
36709         * lib/inet_pton.h: Likewise.
36710         * lib/intprops.h: Likewise.
36711         * lib/inttostr.c: Likewise.
36712         * lib/inttostr.h: Likewise.
36713         * lib/inttypes.in.h: Likewise.
36714         * lib/isapipe.c: Likewise.
36715         * lib/isdir.c: Likewise.
36716         * lib/isnan.c: Likewise.
36717         * lib/isnan.h: Likewise.
36718         * lib/isnanf.c: Likewise.
36719         * lib/isnanf.h: Likewise.
36720         * lib/isnanl-nolibm.h: Likewise.
36721         * lib/isnanl.c: Likewise.
36722         * lib/isnanl.h: Likewise.
36723         * lib/javacomp.c: Likewise.
36724         * lib/javacomp.h: Likewise.
36725         * lib/javaexec.c: Likewise.
36726         * lib/javaexec.h: Likewise.
36727         * lib/javaversion.c: Likewise.
36728         * lib/javaversion.h: Likewise.
36729         * lib/javaversion.java: Likewise.
36730         * lib/lbrkprop.h: Likewise.
36731         * lib/lchmod.h: Likewise.
36732         * lib/lchown.c: Likewise.
36733         * lib/ldexpl.c: Likewise.
36734         * lib/linebreak.c: Likewise.
36735         * lib/linebreak.h: Likewise.
36736         * lib/linebuffer.c: Likewise.
36737         * lib/linebuffer.h: Likewise.
36738         * lib/locale.in.h: Likewise.
36739         * lib/logl.c: Likewise.
36740         * lib/long-options.c: Likewise.
36741         * lib/long-options.h: Likewise.
36742         * lib/lstat.c: Likewise.
36743         * lib/lstat.h: Likewise.
36744         * lib/math.in.h: Likewise.
36745         * lib/mbchar.c: Likewise.
36746         * lib/mbchar.h: Likewise.
36747         * lib/mbfile.h: Likewise.
36748         * lib/mbiter.h: Likewise.
36749         * lib/mbscasecmp.c: Likewise.
36750         * lib/mbscasestr.c: Likewise.
36751         * lib/mbschr.c: Likewise.
36752         * lib/mbscspn.c: Likewise.
36753         * lib/mbslen.c: Likewise.
36754         * lib/mbsncasecmp.c: Likewise.
36755         * lib/mbsnlen.c: Likewise.
36756         * lib/mbspbrk.c: Likewise.
36757         * lib/mbspcasecmp.c: Likewise.
36758         * lib/mbsrchr.c: Likewise.
36759         * lib/mbssep.c: Likewise.
36760         * lib/mbsspn.c: Likewise.
36761         * lib/mbsstr.c: Likewise.
36762         * lib/mbstok_r.c: Likewise.
36763         * lib/mbswidth.c: Likewise.
36764         * lib/mbswidth.h: Likewise.
36765         * lib/mbuiter.h: Likewise.
36766         * lib/memcasecmp.c: Likewise.
36767         * lib/memcasecmp.h: Likewise.
36768         * lib/memchr.c: Likewise.
36769         * lib/memcmp.c: Likewise.
36770         * lib/memcoll.c: Likewise.
36771         * lib/memcoll.h: Likewise.
36772         * lib/memcpy.c: Likewise.
36773         * lib/memrchr.c: Likewise.
36774         * lib/mkancesdirs.c: Likewise.
36775         * lib/mkdir-p.c: Likewise.
36776         * lib/mkdir-p.h: Likewise.
36777         * lib/mkdir.c: Likewise.
36778         * lib/mkdirat.c: Likewise.
36779         * lib/mkdtemp.c: Likewise.
36780         * lib/mkstemp-safer.c: Likewise.
36781         * lib/mkstemp.c: Likewise.
36782         * lib/modechange.c: Likewise.
36783         * lib/modechange.h: Likewise.
36784         * lib/mountlist.c: Likewise.
36785         * lib/mountlist.h: Likewise.
36786         * lib/mpsort.c: Likewise.
36787         * lib/nanosleep.c: Likewise.
36788         * lib/obstack.c: Likewise.
36789         * lib/obstack.h: Likewise.
36790         * lib/open-safer.c: Likewise.
36791         * lib/open.c: Likewise.
36792         * lib/openat-die.c: Likewise.
36793         * lib/openat-priv.h: Likewise.
36794         * lib/openat-proc.c: Likewise.
36795         * lib/openat.c: Likewise.
36796         * lib/openat.h: Likewise.
36797         * lib/pagealign_alloc.c: Likewise.
36798         * lib/pagealign_alloc.h: Likewise.
36799         * lib/physmem.c: Likewise.
36800         * lib/physmem.h: Likewise.
36801         * lib/pipe-safer.c: Likewise.
36802         * lib/pipe.c: Likewise.
36803         * lib/pipe.h: Likewise.
36804         * lib/posixtm.c: Likewise.
36805         * lib/posixtm.h: Likewise.
36806         * lib/posixver.c: Likewise.
36807         * lib/printf-frexp.c: Likewise.
36808         * lib/printf-frexp.h: Likewise.
36809         * lib/printf-frexpl.c: Likewise.
36810         * lib/printf-frexpl.h: Likewise.
36811         * lib/printf.c: Likewise.
36812         * lib/progname.c: Likewise.
36813         * lib/progname.h: Likewise.
36814         * lib/progreloc.c: Likewise.
36815         * lib/putenv.c: Likewise.
36816         * lib/quote.c: Likewise.
36817         * lib/quote.h: Likewise.
36818         * lib/quotearg.c: Likewise.
36819         * lib/quotearg.h: Likewise.
36820         * lib/raise.c: Likewise.
36821         * lib/readline.c: Likewise.
36822         * lib/readline.h: Likewise.
36823         * lib/readlink.c: Likewise.
36824         * lib/readtokens.c: Likewise.
36825         * lib/readtokens.h: Likewise.
36826         * lib/readtokens0.c: Likewise.
36827         * lib/readtokens0.h: Likewise.
36828         * lib/readutmp.c: Likewise.
36829         * lib/readutmp.h: Likewise.
36830         * lib/realloc.c: Likewise.
36831         * lib/relocwrapper.c: Likewise.
36832         * lib/rename-dest-slash.c: Likewise.
36833         * lib/rename.c: Likewise.
36834         * lib/rmdir.c: Likewise.
36835         * lib/rpmatch.c: Likewise.
36836         * lib/safe-read.c: Likewise.
36837         * lib/safe-read.h: Likewise.
36838         * lib/safe-write.c: Likewise.
36839         * lib/safe-write.h: Likewise.
36840         * lib/same-inode.h: Likewise.
36841         * lib/same.c: Likewise.
36842         * lib/same.h: Likewise.
36843         * lib/save-cwd.c: Likewise.
36844         * lib/save-cwd.h: Likewise.
36845         * lib/savedir.c: Likewise.
36846         * lib/savedir.h: Likewise.
36847         * lib/savewd.c: Likewise.
36848         * lib/savewd.h: Likewise.
36849         * lib/search.in.h: Likewise.
36850         * lib/setenv.c: Likewise.
36851         * lib/setenv.h: Likewise.
36852         * lib/settime.c: Likewise.
36853         * lib/sh-quote.c: Likewise.
36854         * lib/sh-quote.h: Likewise.
36855         * lib/sig2str.c: Likewise.
36856         * lib/sig2str.h: Likewise.
36857         * lib/signal.in.h: Likewise.
36858         * lib/signbitd.c: Likewise.
36859         * lib/signbitf.c: Likewise.
36860         * lib/signbitl.c: Likewise.
36861         * lib/sigprocmask.c: Likewise.
36862         * lib/sincosl.c: Likewise.
36863         * lib/sleep.c: Likewise.
36864         * lib/sprintf.c: Likewise.
36865         * lib/sqrtl.c: Likewise.
36866         * lib/stat-time.h: Likewise.
36867         * lib/stdio--.h: Likewise.
36868         * lib/stdio-safer.h: Likewise.
36869         * lib/stdlib--.h: Likewise.
36870         * lib/stdlib-safer.h: Likewise.
36871         * lib/stdlib.in.h: Likewise.
36872         * lib/stpcpy.c: Likewise.
36873         * lib/stpncpy.c: Likewise.
36874         * lib/strchrnul.c: Likewise.
36875         * lib/strcspn.c: Likewise.
36876         * lib/strerror.c: Likewise.
36877         * lib/strftime.c: Likewise.
36878         * lib/strftime.h: Likewise.
36879         * lib/striconveh.c: Likewise.
36880         * lib/striconveh.h: Likewise.
36881         * lib/striconveha.c: Likewise.
36882         * lib/striconveha.h: Likewise.
36883         * lib/stripslash.c: Likewise.
36884         * lib/strnlen1.c: Likewise.
36885         * lib/strnlen1.h: Likewise.
36886         * lib/strtod.c: Likewise.
36887         * lib/strtoimax.c: Likewise.
36888         * lib/strtok_r.c: Likewise.
36889         * lib/strtol.c: Likewise.
36890         * lib/strtoll.c: Likewise.
36891         * lib/strtoul.c: Likewise.
36892         * lib/strtoull.c: Likewise.
36893         * lib/sysexits.in.h: Likewise.
36894         * lib/tempname.c: Likewise.
36895         * lib/tempname.h: Likewise.
36896         * lib/timespec.h: Likewise.
36897         * lib/tls.c: Likewise.
36898         * lib/tls.h: Likewise.
36899         * lib/tmpdir.c: Likewise.
36900         * lib/tmpdir.h: Likewise.
36901         * lib/tmpfile-safer.c: Likewise.
36902         * lib/tmpfile.c: Likewise.
36903         * lib/trigl.c: Likewise.
36904         * lib/trigl.h: Likewise.
36905         * lib/trim.c: Likewise.
36906         * lib/trim.h: Likewise.
36907         * lib/trunc.c: Likewise.
36908         * lib/truncf.c: Likewise.
36909         * lib/truncl.c: Likewise.
36910         * lib/tsearch.c: Likewise.
36911         * lib/unicodeio.c: Likewise.
36912         * lib/unicodeio.h: Likewise.
36913         * lib/unistd--.h: Likewise.
36914         * lib/unistd-safer.h: Likewise.
36915         * lib/unistdio/ulc-fprintf.c: Likewise.
36916         * lib/unistdio/ulc-vfprintf.c: Likewise.
36917         * lib/unlinkdir.c: Likewise.
36918         * lib/unlinkdir.h: Likewise.
36919         * lib/unlocked-io.h: Likewise.
36920         * lib/unsetenv.c: Likewise.
36921         * lib/userspec.c: Likewise.
36922         * lib/utime.c: Likewise.
36923         * lib/utimecmp.c: Likewise.
36924         * lib/utimecmp.h: Likewise.
36925         * lib/utimens.c: Likewise.
36926         * lib/verify.h: Likewise.
36927         * lib/verror.c: Likewise.
36928         * lib/verror.h: Likewise.
36929         * lib/version-etc-fsf.c: Likewise.
36930         * lib/version-etc.c: Likewise.
36931         * lib/version-etc.h: Likewise.
36932         * lib/vfprintf.c: Likewise.
36933         * lib/vprintf.c: Likewise.
36934         * lib/vsprintf.c: Likewise.
36935         * lib/w32spawn.h: Likewise.
36936         * lib/wait-process.c: Likewise.
36937         * lib/wait-process.h: Likewise.
36938         * lib/wcwidth.c: Likewise.
36939         * lib/write-any-file.c: Likewise.
36940         * lib/xalloc-die.c: Likewise.
36941         * lib/xalloc.h: Likewise.
36942         * lib/xasprintf.c: Likewise.
36943         * lib/xgetcwd.c: Likewise.
36944         * lib/xgetcwd.h: Likewise.
36945         * lib/xgetdomainname.c: Likewise.
36946         * lib/xgetdomainname.h: Likewise.
36947         * lib/xgethostname.c: Likewise.
36948         * lib/xmalloc.c: Likewise.
36949         * lib/xmalloca.c: Likewise.
36950         * lib/xmalloca.h: Likewise.
36951         * lib/xmemcoll.c: Likewise.
36952         * lib/xnanosleep.c: Likewise.
36953         * lib/xreadlink.c: Likewise.
36954         * lib/xreadlink.h: Likewise.
36955         * lib/xsetenv.c: Likewise.
36956         * lib/xsetenv.h: Likewise.
36957         * lib/xstriconv.c: Likewise.
36958         * lib/xstriconv.h: Likewise.
36959         * lib/xstrndup.c: Likewise.
36960         * lib/xstrndup.h: Likewise.
36961         * lib/xstrtod.c: Likewise.
36962         * lib/xstrtod.h: Likewise.
36963         * lib/xstrtol-error.c: Likewise.
36964         * lib/xstrtol.c: Likewise.
36965         * lib/xstrtol.h: Likewise.
36966         * lib/xtime.h: Likewise.
36967         * lib/xvasprintf.c: Likewise.
36968         * lib/xvasprintf.h: Likewise.
36969         * lib/yesno.c: Likewise.
36970         * lib/yesno.h: Likewise.
36971         * posix-modules: Likewise.
36972         * tests/test-alloca-opt.c: Likewise.
36973         * tests/test-arcfour.c: Likewise.
36974         * tests/test-arctwo.c: Likewise.
36975         * tests/test-argmatch.c: Likewise.
36976         * tests/test-argp-2.sh: Likewise.
36977         * tests/test-argp.c: Likewise.
36978         * tests/test-arpa_inet.c: Likewise.
36979         * tests/test-array_list.c: Likewise.
36980         * tests/test-array_oset.c: Likewise.
36981         * tests/test-atexit.c: Likewise.
36982         * tests/test-avltree_list.c: Likewise.
36983         * tests/test-avltree_oset.c: Likewise.
36984         * tests/test-avltreehash_list.c: Likewise.
36985         * tests/test-base64.c: Likewise.
36986         * tests/test-binary-io.c: Likewise.
36987         * tests/test-byteswap.c: Likewise.
36988         * tests/test-c-ctype.c: Likewise.
36989         * tests/test-c-strcasecmp.c: Likewise.
36990         * tests/test-c-strcasestr.c: Likewise.
36991         * tests/test-c-strncasecmp.c: Likewise.
36992         * tests/test-c-strstr.c: Likewise.
36993         * tests/test-canonicalize-lgpl.c: Likewise.
36994         * tests/test-canonicalize.c: Likewise.
36995         * tests/test-carray_list.c: Likewise.
36996         * tests/test-ceilf.c: Likewise.
36997         * tests/test-ceill.c: Likewise.
36998         * tests/test-count-one-bits.c: Likewise.
36999         * tests/test-crc.c: Likewise.
37000         * tests/test-dirname.c: Likewise.
37001         * tests/test-fbufmode.c: Likewise.
37002         * tests/test-fcntl.c: Likewise.
37003         * tests/test-fflush.c: Likewise.
37004         * tests/test-floorf.c: Likewise.
37005         * tests/test-floorl.c: Likewise.
37006         * tests/test-fopen.c: Likewise.
37007         * tests/test-fprintf-posix.c: Likewise.
37008         * tests/test-fprintf-posix.h: Likewise.
37009         * tests/test-fpurge.c: Likewise.
37010         * tests/test-freadable.c: Likewise.
37011         * tests/test-freadahead.c: Likewise.
37012         * tests/test-freading.c: Likewise.
37013         * tests/test-freopen.c: Likewise.
37014         * tests/test-frexp.c: Likewise.
37015         * tests/test-frexpl.c: Likewise.
37016         * tests/test-fseek.c: Likewise.
37017         * tests/test-fseeko.c: Likewise.
37018         * tests/test-fseterr.c: Likewise.
37019         * tests/test-fstrcmp.c: Likewise.
37020         * tests/test-ftell.c: Likewise.
37021         * tests/test-ftello.c: Likewise.
37022         * tests/test-fwritable.c: Likewise.
37023         * tests/test-fwriting.c: Likewise.
37024         * tests/test-getaddrinfo.c: Likewise.
37025         * tests/test-getpass.c: Likewise.
37026         * tests/test-gettimeofday.c: Likewise.
37027         * tests/test-hmac-md5.c: Likewise.
37028         * tests/test-hmac-sha1.c: Likewise.
37029         * tests/test-iconv.c: Likewise.
37030         * tests/test-iconvme.c: Likewise.
37031         * tests/test-inttypes.c: Likewise.
37032         * tests/test-isnan.c: Likewise.
37033         * tests/test-isnanf.c: Likewise.
37034         * tests/test-isnanl-nolibm.c: Likewise.
37035         * tests/test-isnanl.c: Likewise.
37036         * tests/test-isnanl.h: Likewise.
37037         * tests/test-ldexpl.c: Likewise.
37038         * tests/test-linked_list.c: Likewise.
37039         * tests/test-linkedhash_list.c: Likewise.
37040         * tests/test-locale.c: Likewise.
37041         * tests/test-localename.c: Likewise.
37042         * tests/test-lock.c: Likewise.
37043         * tests/test-lseek.c: Likewise.
37044         * tests/test-malloca.c: Likewise.
37045         * tests/test-math.c: Likewise.
37046         * tests/test-mbscasecmp.c: Likewise.
37047         * tests/test-mbscasestr1.c: Likewise.
37048         * tests/test-mbscasestr2.c: Likewise.
37049         * tests/test-mbscasestr3.c: Likewise.
37050         * tests/test-mbscasestr4.c: Likewise.
37051         * tests/test-mbschr.c: Likewise.
37052         * tests/test-mbscspn.c: Likewise.
37053         * tests/test-mbsncasecmp.c: Likewise.
37054         * tests/test-mbspbrk.c: Likewise.
37055         * tests/test-mbspcasecmp.c: Likewise.
37056         * tests/test-mbsrchr.c: Likewise.
37057         * tests/test-mbsspn.c: Likewise.
37058         * tests/test-mbsstr1.c: Likewise.
37059         * tests/test-mbsstr2.c: Likewise.
37060         * tests/test-mbsstr3.c: Likewise.
37061         * tests/test-md5.c: Likewise.
37062         * tests/test-memmem.c: Likewise.
37063         * tests/test-netinet_in.c: Likewise.
37064         * tests/test-open.c: Likewise.
37065         * tests/test-printf-frexp.c: Likewise.
37066         * tests/test-printf-frexpl.c: Likewise.
37067         * tests/test-printf-posix.c: Likewise.
37068         * tests/test-printf-posix.h: Likewise.
37069         * tests/test-rbtree_list.c: Likewise.
37070         * tests/test-rbtree_oset.c: Likewise.
37071         * tests/test-rbtreehash_list.c: Likewise.
37072         * tests/test-read-file.c: Likewise.
37073         * tests/test-rijndael.c: Likewise.
37074         * tests/test-search.c: Likewise.
37075         * tests/test-signbit.c: Likewise.
37076         * tests/test-sleep.c: Likewise.
37077         * tests/test-snprintf-posix.c: Likewise.
37078         * tests/test-snprintf-posix.h: Likewise.
37079         * tests/test-snprintf.c: Likewise.
37080         * tests/test-sprintf-posix.c: Likewise.
37081         * tests/test-sprintf-posix.h: Likewise.
37082         * tests/test-stat-time.c: Likewise.
37083         * tests/test-stdbool.c: Likewise.
37084         * tests/test-stdint.c: Likewise.
37085         * tests/test-stdio.c: Likewise.
37086         * tests/test-stdlib.c: Likewise.
37087         * tests/test-stpncpy.c: Likewise.
37088         * tests/test-strcasestr.c: Likewise.
37089         * tests/test-striconv.c: Likewise.
37090         * tests/test-striconveh.c: Likewise.
37091         * tests/test-striconveha.c: Likewise.
37092         * tests/test-string.c: Likewise.
37093         * tests/test-sys_select.c: Likewise.
37094         * tests/test-sys_socket.c: Likewise.
37095         * tests/test-sys_stat.c: Likewise.
37096         * tests/test-sys_time.c: Likewise.
37097         * tests/test-sysexits.c: Likewise.
37098         * tests/test-time.c: Likewise.
37099         * tests/test-tls.c: Likewise.
37100         * tests/test-trunc.c: Likewise.
37101         * tests/test-truncf.c: Likewise.
37102         * tests/test-truncl.c: Likewise.
37103         * tests/test-unistd.c: Likewise.
37104         * tests/test-vasnprintf-posix.c: Likewise.
37105         * tests/test-vasnprintf-posix2.c: Likewise.
37106         * tests/test-vasnprintf.c: Likewise.
37107         * tests/test-vasprintf-posix.c: Likewise.
37108         * tests/test-vasprintf.c: Likewise.
37109         * tests/test-verify.c: Likewise.
37110         * tests/test-vfprintf-posix.c: Likewise.
37111         * tests/test-vprintf-posix.c: Likewise.
37112         * tests/test-vsnprintf-posix.c: Likewise.
37113         * tests/test-vsnprintf.c: Likewise.
37114         * tests/test-vsprintf-posix.c: Likewise.
37115         * tests/test-wchar.c: Likewise.
37116         * tests/test-wctype.c: Likewise.
37117         * tests/test-wcwidth.c: Likewise.
37118         * tests/test-xstrtol.c: Likewise.
37119         * tests/test-xvasprintf.c: Likewise.
37120         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37121         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37122         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37123         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37124         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37125         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37126         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37127         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37128         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37129         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37130         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37131         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37132         * tests/uniname/test-uninames.c: Likewise.
37133         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37134         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
37135         * tests/unistdio/test-u16-printf1.h: Likewise.
37136         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37137         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37138         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37139         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37140         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37141         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37142         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37143         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
37144         * tests/unistdio/test-u32-printf1.h: Likewise.
37145         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37146         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37147         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37148         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37149         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37150         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37151         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37152         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
37153         * tests/unistdio/test-u8-printf1.h: Likewise.
37154         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37155         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37156         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37157         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37158         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37159         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37160         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37161         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
37162         * tests/unistdio/test-ulc-printf1.h: Likewise.
37163         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37164         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37165         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37166         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37167         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37168         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37169         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37170         * tests/uniwidth/test-u16-width.c: Likewise.
37171         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37172         * tests/uniwidth/test-u32-width.c: Likewise.
37173         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37174         * tests/uniwidth/test-u8-width.c: Likewise.
37175         * tests/uniwidth/test-uc_width.c: Likewise.
37176         * config/srclist-update: Likewise.
37177         (fixlicense): Update to GPLv3+.
37178
37179         Change copyright notice from LGPLv2.1+ to LGPLv3+.
37180         * tests/test-tsearch.c: Change copyright notice.
37181
37182         Change copyright notice from LGPLv2.0+ to LGPLv3+.
37183         * lib/c-strcaseeq.h: Change copyright notice.
37184         * lib/streq.h: Likewise.
37185         * lib/uniconv.h: Likewise.
37186         * lib/uniconv/u-conv-from-enc.h: Likewise.
37187         * lib/uniconv/u-conv-to-enc.h: Likewise.
37188         * lib/uniconv/u-strconv-from-enc.h: Likewise.
37189         * lib/uniconv/u-strconv-to-enc.h: Likewise.
37190         * lib/uniconv/u16-conv-from-enc.c: Likewise.
37191         * lib/uniconv/u16-conv-to-enc.c: Likewise.
37192         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
37193         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
37194         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
37195         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
37196         * lib/uniconv/u32-conv-from-enc.c: Likewise.
37197         * lib/uniconv/u32-conv-to-enc.c: Likewise.
37198         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
37199         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
37200         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
37201         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
37202         * lib/uniconv/u8-conv-from-enc.c: Likewise.
37203         * lib/uniconv/u8-conv-to-enc.c: Likewise.
37204         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
37205         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
37206         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
37207         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
37208         * lib/uniname.h: Likewise.
37209         * lib/uniname/uniname.c: Likewise.
37210         * lib/unistdio.h: Likewise.
37211         * lib/unistdio/u-asnprintf.h: Likewise.
37212         * lib/unistdio/u-asprintf.h: Likewise.
37213         * lib/unistdio/u-printf-args.c: Likewise.
37214         * lib/unistdio/u-printf-args.h: Likewise.
37215         * lib/unistdio/u-printf-parse.h: Likewise.
37216         * lib/unistdio/u-snprintf.h: Likewise.
37217         * lib/unistdio/u-sprintf.h: Likewise.
37218         * lib/unistdio/u-vasprintf.h: Likewise.
37219         * lib/unistdio/u-vsnprintf.h: Likewise.
37220         * lib/unistdio/u-vsprintf.h: Likewise.
37221         * lib/unistdio/u16-asnprintf.c: Likewise.
37222         * lib/unistdio/u16-asprintf.c: Likewise.
37223         * lib/unistdio/u16-printf-parse.c: Likewise.
37224         * lib/unistdio/u16-snprintf.c: Likewise.
37225         * lib/unistdio/u16-sprintf.c: Likewise.
37226         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
37227         * lib/unistdio/u16-u16-asprintf.c: Likewise.
37228         * lib/unistdio/u16-u16-snprintf.c: Likewise.
37229         * lib/unistdio/u16-u16-sprintf.c: Likewise.
37230         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
37231         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
37232         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
37233         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
37234         * lib/unistdio/u16-vasnprintf.c: Likewise.
37235         * lib/unistdio/u16-vasprintf.c: Likewise.
37236         * lib/unistdio/u16-vsnprintf.c: Likewise.
37237         * lib/unistdio/u16-vsprintf.c: Likewise.
37238         * lib/unistdio/u32-asnprintf.c: Likewise.
37239         * lib/unistdio/u32-asprintf.c: Likewise.
37240         * lib/unistdio/u32-printf-parse.c: Likewise.
37241         * lib/unistdio/u32-snprintf.c: Likewise.
37242         * lib/unistdio/u32-sprintf.c: Likewise.
37243         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
37244         * lib/unistdio/u32-u32-asprintf.c: Likewise.
37245         * lib/unistdio/u32-u32-snprintf.c: Likewise.
37246         * lib/unistdio/u32-u32-sprintf.c: Likewise.
37247         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
37248         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
37249         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
37250         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
37251         * lib/unistdio/u32-vasnprintf.c: Likewise.
37252         * lib/unistdio/u32-vasprintf.c: Likewise.
37253         * lib/unistdio/u32-vsnprintf.c: Likewise.
37254         * lib/unistdio/u32-vsprintf.c: Likewise.
37255         * lib/unistdio/u8-asnprintf.c: Likewise.
37256         * lib/unistdio/u8-asprintf.c: Likewise.
37257         * lib/unistdio/u8-printf-parse.c: Likewise.
37258         * lib/unistdio/u8-snprintf.c: Likewise.
37259         * lib/unistdio/u8-sprintf.c: Likewise.
37260         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
37261         * lib/unistdio/u8-u8-asprintf.c: Likewise.
37262         * lib/unistdio/u8-u8-snprintf.c: Likewise.
37263         * lib/unistdio/u8-u8-sprintf.c: Likewise.
37264         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
37265         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
37266         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
37267         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
37268         * lib/unistdio/u8-vasnprintf.c: Likewise.
37269         * lib/unistdio/u8-vasprintf.c: Likewise.
37270         * lib/unistdio/u8-vsnprintf.c: Likewise.
37271         * lib/unistdio/u8-vsprintf.c: Likewise.
37272         * lib/unistdio/ulc-asnprintf.c: Likewise.
37273         * lib/unistdio/ulc-asprintf.c: Likewise.
37274         * lib/unistdio/ulc-printf-parse.c: Likewise.
37275         * lib/unistdio/ulc-snprintf.c: Likewise.
37276         * lib/unistdio/ulc-sprintf.c: Likewise.
37277         * lib/unistdio/ulc-vasnprintf.c: Likewise.
37278         * lib/unistdio/ulc-vasprintf.c: Likewise.
37279         * lib/unistdio/ulc-vsnprintf.c: Likewise.
37280         * lib/unistdio/ulc-vsprintf.c: Likewise.
37281         * lib/unistr.h: Likewise.
37282         * lib/unistr/u-cpy-alloc.h: Likewise.
37283         * lib/unistr/u-cpy.h: Likewise.
37284         * lib/unistr/u-endswith.h: Likewise.
37285         * lib/unistr/u-move.h: Likewise.
37286         * lib/unistr/u-set.h: Likewise.
37287         * lib/unistr/u-startswith.h: Likewise.
37288         * lib/unistr/u-stpcpy.h: Likewise.
37289         * lib/unistr/u-stpncpy.h: Likewise.
37290         * lib/unistr/u-strcat.h: Likewise.
37291         * lib/unistr/u-strcpy.h: Likewise.
37292         * lib/unistr/u-strcspn.h: Likewise.
37293         * lib/unistr/u-strdup.h: Likewise.
37294         * lib/unistr/u-strlen.h: Likewise.
37295         * lib/unistr/u-strncat.h: Likewise.
37296         * lib/unistr/u-strncpy.h: Likewise.
37297         * lib/unistr/u-strnlen.h: Likewise.
37298         * lib/unistr/u-strpbrk.h: Likewise.
37299         * lib/unistr/u-strspn.h: Likewise.
37300         * lib/unistr/u-strstr.h: Likewise.
37301         * lib/unistr/u-strtok.h: Likewise.
37302         * lib/unistr/u16-check.c: Likewise.
37303         * lib/unistr/u16-chr.c: Likewise.
37304         * lib/unistr/u16-cmp.c: Likewise.
37305         * lib/unistr/u16-cpy-alloc.c: Likewise.
37306         * lib/unistr/u16-cpy.c: Likewise.
37307         * lib/unistr/u16-endswith.c: Likewise.
37308         * lib/unistr/u16-mblen.c: Likewise.
37309         * lib/unistr/u16-mbsnlen.c: Likewise.
37310         * lib/unistr/u16-mbtouc-aux.c: Likewise.
37311         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
37312         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
37313         * lib/unistr/u16-mbtouc.c: Likewise.
37314         * lib/unistr/u16-mbtoucr.c: Likewise.
37315         * lib/unistr/u16-move.c: Likewise.
37316         * lib/unistr/u16-next.c: Likewise.
37317         * lib/unistr/u16-prev.c: Likewise.
37318         * lib/unistr/u16-set.c: Likewise.
37319         * lib/unistr/u16-startswith.c: Likewise.
37320         * lib/unistr/u16-stpcpy.c: Likewise.
37321         * lib/unistr/u16-stpncpy.c: Likewise.
37322         * lib/unistr/u16-strcat.c: Likewise.
37323         * lib/unistr/u16-strchr.c: Likewise.
37324         * lib/unistr/u16-strcmp.c: Likewise.
37325         * lib/unistr/u16-strcpy.c: Likewise.
37326         * lib/unistr/u16-strcspn.c: Likewise.
37327         * lib/unistr/u16-strdup.c: Likewise.
37328         * lib/unistr/u16-strlen.c: Likewise.
37329         * lib/unistr/u16-strmblen.c: Likewise.
37330         * lib/unistr/u16-strmbtouc.c: Likewise.
37331         * lib/unistr/u16-strncat.c: Likewise.
37332         * lib/unistr/u16-strncmp.c: Likewise.
37333         * lib/unistr/u16-strncpy.c: Likewise.
37334         * lib/unistr/u16-strnlen.c: Likewise.
37335         * lib/unistr/u16-strpbrk.c: Likewise.
37336         * lib/unistr/u16-strrchr.c: Likewise.
37337         * lib/unistr/u16-strspn.c: Likewise.
37338         * lib/unistr/u16-strstr.c: Likewise.
37339         * lib/unistr/u16-strtok.c: Likewise.
37340         * lib/unistr/u16-to-u32.c: Likewise.
37341         * lib/unistr/u16-to-u8.c: Likewise.
37342         * lib/unistr/u16-uctomb-aux.c: Likewise.
37343         * lib/unistr/u16-uctomb.c: Likewise.
37344         * lib/unistr/u32-check.c: Likewise.
37345         * lib/unistr/u32-chr.c: Likewise.
37346         * lib/unistr/u32-cmp.c: Likewise.
37347         * lib/unistr/u32-cpy-alloc.c: Likewise.
37348         * lib/unistr/u32-cpy.c: Likewise.
37349         * lib/unistr/u32-endswith.c: Likewise.
37350         * lib/unistr/u32-mblen.c: Likewise.
37351         * lib/unistr/u32-mbsnlen.c: Likewise.
37352         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
37353         * lib/unistr/u32-mbtouc.c: Likewise.
37354         * lib/unistr/u32-mbtoucr.c: Likewise.
37355         * lib/unistr/u32-move.c: Likewise.
37356         * lib/unistr/u32-next.c: Likewise.
37357         * lib/unistr/u32-prev.c: Likewise.
37358         * lib/unistr/u32-set.c: Likewise.
37359         * lib/unistr/u32-startswith.c: Likewise.
37360         * lib/unistr/u32-stpcpy.c: Likewise.
37361         * lib/unistr/u32-stpncpy.c: Likewise.
37362         * lib/unistr/u32-strcat.c: Likewise.
37363         * lib/unistr/u32-strchr.c: Likewise.
37364         * lib/unistr/u32-strcmp.c: Likewise.
37365         * lib/unistr/u32-strcpy.c: Likewise.
37366         * lib/unistr/u32-strcspn.c: Likewise.
37367         * lib/unistr/u32-strdup.c: Likewise.
37368         * lib/unistr/u32-strlen.c: Likewise.
37369         * lib/unistr/u32-strmblen.c: Likewise.
37370         * lib/unistr/u32-strmbtouc.c: Likewise.
37371         * lib/unistr/u32-strncat.c: Likewise.
37372         * lib/unistr/u32-strncmp.c: Likewise.
37373         * lib/unistr/u32-strncpy.c: Likewise.
37374         * lib/unistr/u32-strnlen.c: Likewise.
37375         * lib/unistr/u32-strpbrk.c: Likewise.
37376         * lib/unistr/u32-strrchr.c: Likewise.
37377         * lib/unistr/u32-strspn.c: Likewise.
37378         * lib/unistr/u32-strstr.c: Likewise.
37379         * lib/unistr/u32-strtok.c: Likewise.
37380         * lib/unistr/u32-to-u16.c: Likewise.
37381         * lib/unistr/u32-to-u8.c: Likewise.
37382         * lib/unistr/u32-uctomb.c: Likewise.
37383         * lib/unistr/u8-check.c: Likewise.
37384         * lib/unistr/u8-chr.c: Likewise.
37385         * lib/unistr/u8-cmp.c: Likewise.
37386         * lib/unistr/u8-cpy-alloc.c: Likewise.
37387         * lib/unistr/u8-cpy.c: Likewise.
37388         * lib/unistr/u8-endswith.c: Likewise.
37389         * lib/unistr/u8-mblen.c: Likewise.
37390         * lib/unistr/u8-mbsnlen.c: Likewise.
37391         * lib/unistr/u8-mbtouc-aux.c: Likewise.
37392         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
37393         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
37394         * lib/unistr/u8-mbtouc.c: Likewise.
37395         * lib/unistr/u8-mbtoucr.c: Likewise.
37396         * lib/unistr/u8-move.c: Likewise.
37397         * lib/unistr/u8-next.c: Likewise.
37398         * lib/unistr/u8-prev.c: Likewise.
37399         * lib/unistr/u8-set.c: Likewise.
37400         * lib/unistr/u8-startswith.c: Likewise.
37401         * lib/unistr/u8-stpcpy.c: Likewise.
37402         * lib/unistr/u8-stpncpy.c: Likewise.
37403         * lib/unistr/u8-strcat.c: Likewise.
37404         * lib/unistr/u8-strchr.c: Likewise.
37405         * lib/unistr/u8-strcmp.c: Likewise.
37406         * lib/unistr/u8-strcpy.c: Likewise.
37407         * lib/unistr/u8-strcspn.c: Likewise.
37408         * lib/unistr/u8-strdup.c: Likewise.
37409         * lib/unistr/u8-strlen.c: Likewise.
37410         * lib/unistr/u8-strmblen.c: Likewise.
37411         * lib/unistr/u8-strmbtouc.c: Likewise.
37412         * lib/unistr/u8-strncat.c: Likewise.
37413         * lib/unistr/u8-strncmp.c: Likewise.
37414         * lib/unistr/u8-strncpy.c: Likewise.
37415         * lib/unistr/u8-strnlen.c: Likewise.
37416         * lib/unistr/u8-strpbrk.c: Likewise.
37417         * lib/unistr/u8-strrchr.c: Likewise.
37418         * lib/unistr/u8-strspn.c: Likewise.
37419         * lib/unistr/u8-strstr.c: Likewise.
37420         * lib/unistr/u8-strtok.c: Likewise.
37421         * lib/unistr/u8-to-u16.c: Likewise.
37422         * lib/unistr/u8-to-u32.c: Likewise.
37423         * lib/unistr/u8-uctomb-aux.c: Likewise.
37424         * lib/unistr/u8-uctomb.c: Likewise.
37425         * lib/unitypes.h: Likewise.
37426         * lib/uniwidth.h: Likewise.
37427         * lib/uniwidth/cjk.h: Likewise.
37428         * lib/uniwidth/u16-strwidth.c: Likewise.
37429         * lib/uniwidth/u16-width.c: Likewise.
37430         * lib/uniwidth/u32-strwidth.c: Likewise.
37431         * lib/uniwidth/u32-width.c: Likewise.
37432         * lib/uniwidth/u8-strwidth.c: Likewise.
37433         * lib/uniwidth/u8-width.c: Likewise.
37434         * lib/uniwidth/width.c: Likewise.
37435
37436 2007-10-07  Bruno Haible  <bruno@clisp.org>
37437
37438         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
37439         The file is still under LGPL (see modules/inttypes).
37440
37441 2007-10-06  Bruno Haible  <bruno@clisp.org>
37442
37443         * modules/trunc (Dependencies): Add 'extensions'.
37444         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
37445         Reported by Ben Pfaff <blp@gnu.org>.
37446
37447 2007-10-06  Bruno Haible  <bruno@clisp.org>
37448
37449         * modules/freopen-tests: New file.
37450         * tests/test-freopen.c: New file.
37451
37452         * modules/fopen-tests: New file.
37453         * tests/test-fopen.c: New file.
37454
37455         * modules/fopen: New file.
37456         * lib/fopen.c: New file.
37457         * m4/fopen.m4: New file.
37458         * modules/freopen: New file.
37459         * lib/freopen.c: New file.
37460         * m4/freopen.m4: New file.
37461         * lib/stdio.in.h (fopen, freopen): New declarations.
37462         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
37463         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
37464         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
37465         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
37466         * doc/functions/fopen.texi: Mention the 'fopen' module.
37467         * doc/functions/freopen.texi: Mention the 'freopen' module.
37468
37469 2007-10-06  Bruno Haible  <bruno@clisp.org>
37470
37471         * modules/open-tests: New file.
37472         * tests/test-open.c: New file.
37473
37474         * modules/open: New file.
37475         * lib/open.c: New file.
37476         * m4/open.m4: New file.
37477         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
37478         lib/open.c does.
37479         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
37480         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
37481         macros.
37482         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
37483         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
37484         REPLACE_OPEN.
37485         * doc/functions/open.texi: Mention the 'open' module.
37486
37487 2007-10-04  Bruno Haible  <bruno@clisp.org>
37488
37489         * modules/ceill-tests: New file.
37490         * tests/test-ceill.c: New file.
37491
37492         * modules/ceill: New file.
37493         * lib/ceill.c: Replace entire file.
37494         * m4/ceill.m4: New file.
37495         * lib/math.in.h (ceill): Replace declaration.
37496         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
37497         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
37498         * doc/functions/ceill.texi: Mention the 'ceill' module.
37499         * modules/mathl (Files): Remove lib/ceill.c.
37500         (Depends-on): Add ceill.
37501
37502 2007-10-04  Bruno Haible  <bruno@clisp.org>
37503
37504         * modules/ceilf-tests: New file.
37505         * tests/test-ceilf.c: New file.
37506
37507         * modules/ceilf: New file.
37508         * lib/ceil.c: New file.
37509         * lib/ceilf.c: New file.
37510         * m4/ceilf.m4: New file.
37511         * lib/math.in.h (ceilf): New declaration.
37512         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
37513         HAVE_DECL_CEILF.
37514         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
37515         HAVE_DECL_CEILF.
37516         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
37517
37518 2007-10-04  Bruno Haible  <bruno@clisp.org>
37519
37520         * modules/floorl-tests: New file.
37521         * tests/test-floorl.c: New file.
37522
37523         * modules/floorl: New file.
37524         * lib/floorl.c: Replace entire file.
37525         * m4/floorl.m4: New file.
37526         * lib/math.in.h (floorl): Replace declaration.
37527         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
37528         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
37529         * doc/functions/floorl.texi: Mention the 'floorl' module.
37530         * modules/mathl (Files): Remove lib/floorl.c.
37531         (Depends-on): Add floorl.
37532
37533 2007-10-04  Bruno Haible  <bruno@clisp.org>
37534
37535         * modules/floorf-tests: New file.
37536         * tests/test-floorf.c: New file.
37537
37538         * modules/floorf: New file.
37539         * lib/floor.c: New file.
37540         * lib/floorf.c: New file.
37541         * m4/floorf.m4: New file.
37542         * lib/math.in.h (floorf): New declaration.
37543         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
37544         HAVE_DECL_FLOORF.
37545         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
37546         HAVE_DECL_FLOORF.
37547         * doc/functions/floorf.texi: Mention the 'floorf' module.
37548
37549 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
37550             Bruno Haible  <bruno@clisp.org>
37551
37552         Advertise for the Git server instead of the CVS server.
37553         * doc/gnulib-intro.texi (Steady Development): Mention the Git
37554         repository instead of the CVS one.
37555         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
37556         about all VCS systems generically.
37557         * doc/gnulib.texi (Introduction): Capitalize `Git'.
37558
37559 2007-10-04  Bruno Haible  <bruno@clisp.org>
37560
37561         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
37562         means.
37563         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
37564
37565 2007-10-04  Bruno Haible  <bruno@clisp.org>
37566
37567         * modules/truncl-tests: New file.
37568         * tests/test-truncl.c: New file.
37569
37570         * modules/truncl: New file.
37571         * lib/truncl.c: New file.
37572         * m4/truncl.m4: New file.
37573         * lib/math.in.h (truncl): New declaration.
37574         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
37575         HAVE_DECL_TRUNCL.
37576         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
37577         HAVE_DECL_TRUNCL.
37578         * doc/functions/truncl.texi: Mention the 'truncl' module.
37579
37580 2007-10-04  Bruno Haible  <bruno@clisp.org>
37581
37582         * modules/truncf-tests: New file.
37583         * tests/test-truncf.c: New file.
37584
37585         * modules/truncf: New file.
37586         * lib/trunc.c: Make paramerizable through USE_* macros.
37587         * lib/truncf.c: New file.
37588         * m4/truncf.m4: New file.
37589         * lib/math.in.h (truncf): New declaration.
37590         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
37591         HAVE_DECL_TRUNCF.
37592         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
37593         HAVE_DECL_TRUNCF.
37594         * doc/functions/truncf.texi: Mention the 'truncf' module.
37595
37596 2007-10-03  Bruno Haible  <bruno@clisp.org>
37597
37598         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
37599         augmentation also for tests modules.
37600         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
37601         * modules/atexit-tests (Makefile.am): Likewise.
37602         * modules/binary-io-tests (Makefile.am): Likewise.
37603         * modules/c-strcase-tests (Makefile.am): Likewise.
37604         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
37605         * modules/canonicalize-tests (Makefile.am): Likewise.
37606         * modules/closein-tests (Makefile.am): Likewise.
37607         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37608         * modules/freadahead-tests (Makefile.am): Likewise.
37609         * modules/fseek-tests (Makefile.am): Likewise.
37610         * modules/fseeko-tests (Makefile.am): Likewise.
37611         * modules/ftell-tests (Makefile.am): Likewise.
37612         * modules/ftello-tests (Makefile.am): Likewise.
37613         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
37614         * modules/isnanl-tests (Makefile.am): Likewise.
37615         * modules/lseek-tests (Makefile.am): Likewise.
37616         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37617         * modules/mbscasestr-tests (Makefile.am): Likewise.
37618         * modules/mbschr-tests (Makefile.am): Likewise.
37619         * modules/mbscspn-tests (Makefile.am): Likewise.
37620         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37621         * modules/mbspbrk-tests (Makefile.am): Likewise.
37622         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37623         * modules/mbsrchr-tests (Makefile.am): Likewise.
37624         * modules/mbsspn-tests (Makefile.am): Likewise.
37625         * modules/mbsstr-tests (Makefile.am): Likewise.
37626         * modules/printf-posix-tests (Makefile.am): Likewise.
37627         * modules/snprintf-posix-tests (Makefile.am): Likewise.
37628         * modules/sprintf-posix-tests (Makefile.am): Likewise.
37629         * modules/tsearch-tests (Makefile.am): Likewise.
37630         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37631         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37632         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37633         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37634         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37635         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37636         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37637         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37638         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
37639         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
37640         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37641         * modules/xstrtol-tests (Makefile.am): Likewise.
37642         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37643         * modules/yesno-tests (Makefile.am): Likewise.
37644
37645 2007-10-03  Bruno Haible  <bruno@clisp.org>
37646
37647         * modules/trunc-tests: New file.
37648         * tests/test-trunc.c: New file.
37649
37650         * modules/trunc: New file.
37651         * lib/trunc.c: New file.
37652         * m4/trunc.m4: New file.
37653         * lib/math.in.h (trunc): New declaration.
37654         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
37655         HAVE_DECL_TRUNC.
37656         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
37657         HAVE_DECL_TRUNC.
37658         * doc/functions/trunc.texi: Mention the 'trunc' module.
37659
37660 2007-10-03  Bruno Haible  <bruno@clisp.org>
37661
37662         * tests/test-fpending.c: New file, mostly copied
37663         from coreutils/lib/t-fpending.c.
37664         * modules/fpending-tests: New file.
37665
37666 2007-10-03  Bruno Haible  <bruno@clisp.org>
37667
37668         Port the stdio extensions to QNX (untested).
37669         * lib/fseterr.c (fseterr): Add support for QNX.
37670         * lib/fbufmode.c (fbufmode): Likewise.
37671         * lib/freadable.c (freadable): Likewise.
37672         * lib/fwritable.c (fwritable): Likewise.
37673         * lib/freading.c (freading): Likewise.
37674         * lib/fwriting.c (fwriting): Likewise.
37675         * lib/freadahead.c (freadahed): Likewise.
37676         * lib/fpurge.c (fpurge): Likewise.
37677         * lib/fseeko.c (rpl_fseeko): Likewise.
37678
37679 2007-10-03  Bruno Haible  <bruno@clisp.org>
37680             Jim Meyering  <jim@meyering.net>
37681             Eric Blake  <ebb9@byu.net>
37682
37683         * doc/relocatable.texi: Use @command instead of @program.
37684
37685 2007-10-02  Jim Meyering  <jim@meyering.net>
37686
37687         Perform one more "_.h" -> ".in.h" substitution.
37688         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
37689         instead of unistd_.h here, too.
37690
37691 2007-10-01  Bruno Haible  <bruno@clisp.org>
37692
37693         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
37694         Needed for the alloca-opt module.
37695
37696 2007-09-30  Bruno Haible  <bruno@clisp.org>
37697
37698         * lib/alloca.in.h: Renamed from lib/alloca_.h.
37699         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
37700         alloca_.h.
37701         * lib/argz.in.h: Renamed from lib/argz_.h.
37702         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
37703         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
37704         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
37705         byteswap_.h.
37706         * lib/dirent.in.h: Renamed from lib/dirent_.h.
37707         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
37708         dirent_.h.
37709         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
37710         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
37711         fcntl_.h.
37712         * lib/float.in.h: Renamed from lib/float_.h.
37713         * modules/float (Files, Makefile.am): Use float.in.h instead of
37714         float_.h.
37715         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
37716         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
37717         fnmatch_.h.
37718         * lib/getopt.in.h: Renamed from lib/getopt_.h.
37719         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
37720         getopt_.h.
37721         * lib/glob.in.h: Renamed from lib/glob_.h.
37722         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
37723         * lib/iconv.in.h: Renamed from lib/iconv_.h.
37724         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
37725         iconv_.h.
37726         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
37727         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
37728         inttypes_.h.
37729         * lib/locale.in.h: Renamed from lib/locale_.h.
37730         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
37731         locale_.h.
37732         * lib/math.in.h: Renamed from lib/math_.h.
37733         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
37734         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
37735         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
37736         of netinet_in_.h. Add dependency.
37737         * lib/poll.in.h: Renamed from lib/poll_.h.
37738         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
37739         * lib/search.in.h: Renamed from lib/search_.h.
37740         * modules/search (Files, Makefile.am): Use search.in.h instead of
37741         search_.h.
37742         * lib/signal.in.h: Renamed from lib/signal_.h.
37743         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
37744         _signal.h.
37745         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
37746         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
37747         stdbool_.h.
37748         * lib/stdint.in.h: Renamed from lib/stdint_.h.
37749         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
37750         stdint_.h.
37751         * lib/stdio.in.h: Renamed from lib/stdio_.h.
37752         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
37753         stdio_.h.
37754         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
37755         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
37756         stdlib_.h.
37757         * lib/string.in.h: Renamed from lib/string_.h.
37758         * modules/string (Files, Makefile.am): Use string.in.h instead of
37759         string_.h.
37760         * doc/gnulib-tool.texi (Initial import): Update.
37761         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
37762         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
37763         of sys_select_.h. Add dependency.
37764         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
37765         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
37766         of sys_socket_.h.
37767         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
37768         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
37769         sys_stat_.h.
37770         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
37771         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
37772         sys_time_.h.
37773         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
37774         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
37775         sysexits_.h.
37776         * lib/time.in.h: Renamed from lib/time_.h.
37777         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
37778         * lib/unistd.in.h: Renamed from lib/unistd_.h.
37779         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
37780         unistd_.h.
37781         * lib/wchar.in.h: Renamed from lib/wchar_.h.
37782         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
37783         wchar_.h.
37784         * lib/wctype.in.h: Renamed from lib/wctype_.h.
37785         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
37786         wctype_.h.
37787         * build-aux/bootstrap (slurp): Update.
37788         * lib/.cppi-disable: Update.
37789
37790 2007-09-30  Bruno Haible  <bruno@clisp.org>
37791
37792         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
37793         Needed on BeOS.
37794
37795 2007-09-30  Bruno Haible  <bruno@clisp.org>
37796
37797         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
37798
37799 2007-09-29  Bruno Haible  <bruno@clisp.org>
37800
37801         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
37802
37803 2007-09-29  Bruno Haible  <bruno@clisp.org>
37804
37805         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
37806         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
37807         * build-aux/install-reloc: Compile also areadlink.c.
37808         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
37809
37810 2007-09-29  Bruno Haible  <bruno@clisp.org>
37811
37812         * gnulib-tool (func_emit_initmacro_done): Indentation.
37813
37814 2007-09-29  Bruno Haible  <bruno@clisp.org>
37815
37816         * README: Add CVS checkout update instructions.
37817         Info from Bob Proulx <bob@proulx.com>.
37818
37819 2007-09-28  Eric Blake  <ebb9@byu.net>
37820
37821         Provide move-if-change.
37822         * build-aux/move-if-change: New file, based on best practice
37823         rather than any canonical upstream location.
37824
37825 2007-09-28  Jim Meyering  <jim@meyering.net>
37826
37827         Fix canonicalize loop-detection corner case.
37828         Do not attempt to stat the symlink values stored via seen_triple.
37829         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
37830         on linux-2.6.18, (but not 2.6.22).
37831         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
37832         triple_compare.  The former compares dev,ino,filename, while the latter
37833         would actually stat dirname(filename) when dev and ino were equal.
37834         * lib/hash-triple.c: Install <string.h>.
37835         (STREQ): Define.
37836         (triple_compare_ino_str): New function.
37837         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
37838
37839 2007-09-28  Eric Blake  <ebb9@byu.net>
37840
37841         Enforce that AC_REPLACE_FUNCS files exist.
37842         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
37843         override check for typos.
37844
37845         Fix test-closein on Solaris 10.
37846         * tests/test-closein.c (main): Don't assume stdin can be inherited
37847         closed on all systems.
37848         * tests/test-closein.sh: Likewise.
37849         Reported by Piotr Tarnowski.
37850
37851 2007-09-28  Jim Meyering  <jim@meyering.net>
37852
37853         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
37854
37855 2007-09-27  Jim Meyering  <jim@meyering.net>
37856
37857         canonicalize: Avoid a false-positive cycle failure.
37858         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
37859         Sort.  Remove cycle-check.
37860         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
37861         not cycle-check.h.
37862         (seen_triple): New function.
37863         (canonicalize_filename_mode): Use it instead of cycle-check.
37864         * tests/test-canonicalize.c: Add a test for this bug.
37865         * tests/test-canonicalize.sh: Set up and run the test.
37866
37867         New module, file-set, from coreutils.
37868         * modules/file-set: Define it.
37869         * lib/file-set.c, lib/file-set.h: Implement.
37870
37871         New module, hash-triple, from coreutils.
37872         * modules/hash-triple: Define it.
37873         * lib/hash-triple.c, lib/hash-triple.h: Implement.
37874
37875 2007-09-25  Eric Blake  <ebb9@byu.net>
37876
37877         Fix strerror on Interix.
37878         * lib/string_.h (strerror): Declare replacement.
37879         * doc/functions/strerror.texi (strerror): Document the Interix
37880         shortcoming.
37881         * modules/string (Makefile.am): Support new hooks.
37882         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
37883         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
37884         gl_FUNC_STRERROR_SEPARATE.
37885         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
37886         * lib/strerror.c (rpl_strerror): Provide replacement.
37887         * modules/strerror (Depends-on): Add string.
37888         (configure.ac): Detect use of module.
37889         * tests/test-strerror.c: New file.
37890         * modules/strerror-tests: New test module.
37891         * modules/argp (Depends-on): Add strerror.
37892         * modules/error (Depends-on): Likewise.
37893         Reported by Martin Koeppe.
37894
37895 2007-09-24  Bruno Haible  <bruno@clisp.org>
37896
37897         * README: Update git instructions.
37898
37899 2007-09-24  Eric Blake  <ebb9@byu.net>
37900
37901         Revert fpending breakage from 2007-09-08.
37902         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
37903         __fpending.c.
37904
37905 2007-09-24  Jim Meyering  <jim@meyering.net>
37906
37907         filenamecat.c: Add a test.
37908         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
37909         showing how the function works when DIR is the empty string.
37910
37911 2007-09-21  Simon Josefsson  <simon@josefsson.org>
37912
37913         * tests/test-canonicalize.sh: Turn on executable bit.
37914
37915 2007-09-19  Eric Blake  <ebb9@byu.net>
37916
37917         * README: Update CVS instructions.
37918
37919 2007-09-18  Bruno Haible  <bruno@clisp.org>
37920
37921         * modules/areadlink: New file.
37922         * lib/areadlink.h (areadlink): New declaration.
37923         * lib/areadlink.c: New file, based on lib/xreadlink.c.
37924
37925 2007-09-17  Jim Meyering  <jim@meyering.net>
37926
37927         * lib/savewd.c (ESTALE) [!defined]: Define.
37928         Reported to be required on Interix by Martin Koeppe.
37929
37930 2007-09-17  Bruno Haible  <bruno@clisp.org>
37931
37932         * gnulib-tool (func_version): Use $version.
37933
37934 2007-09-16  Bruno Haible  <bruno@clisp.org>
37935
37936         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
37937         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
37938         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
37939         Reported by Greg Schafer <gschafer@zip.com.au>.
37940
37941 2007-09-15  Bruno Haible  <bruno@clisp.org>
37942
37943         * gnulib-tool (sed): Try a little harder to make bash understand the
37944         alias.
37945         Reported by Bruce Korb <bruce.korb@gmail.com>.
37946
37947 2007-09-13  Eric Blake  <ebb9@byu.net>
37948
37949         * ChangeLog: Remove conflict markers.
37950
37951 2007-09-13  Simon Josefsson  <simon@josefsson.org>
37952
37953         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
37954         Reported by Bruno Haible <bruno@clisp.org>.
37955
37956 2007-09-12  Bruno Haible  <bruno@clisp.org>
37957
37958         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
37959         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
37960         is not defined.
37961
37962 2007-09-12  Eric Blake  <ebb9@byu.net>
37963
37964         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
37965         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
37966         Autoconf definition.
37967         * modules/euidaccess (Depends-on): Add extensions, for
37968         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
37969         * modules/fnmatch (Depends-on): Likewise.
37970         * modules/getaddrinfo (Depends-on): Likewise.
37971         * modules/getdelim (Depends-on): Likewise.
37972         * modules/getline (Depends-on): Likewise.
37973         * modules/getsubopt (Depends-on): Likewise.
37974         * modules/gettext (Depends-on): Likewise.
37975         * modules/group-member (Depends-on): Likewise.
37976         * modules/mbchar (Depends-on): Likewise.
37977         * modules/memmem (Depends-on): Likewise.
37978         * modules/mempcpy (Depends-on): Likewise.
37979         * modules/memrchr (Depends-on): Likewise.
37980         * modules/pagealign_alloc (Depends-on): Likewise.
37981         * modules/readutmp (Depends-on): Likewise.
37982         * modules/stpcpy (Depends-on): Likewise.
37983         * modules/stpncpy (Depends-on): Likewise.
37984         * modules/strchrnul (Depends-on): Likewise.
37985         * modules/strndup (Depends-on): Likewise.
37986         * modules/strsep (Depends-on): Likewise.
37987         * modules/strverscmp (Depends-on): Likewise.
37988         * modules/vasprintf (Depends-on): Likewise.
37989         * modules/wcwidth (Depends-on): Likewise.
37990         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
37991         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
37992         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
37993         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
37994         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
37995         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
37996         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
37997         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
37998         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
37999         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
38000         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38001         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
38002         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
38003         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
38004         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
38005         * m4/readutmp.m4 (gl_READUTMP): Likewise.
38006         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38007         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
38008         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38009         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
38010         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38011         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
38012         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
38013         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
38014         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
38015         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38016         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
38017         so that lock.m4 can be used in gettext without extensions module.
38018
38019 2007-09-11  Bruno Haible  <bruno@clisp.org>
38020
38021         * m4/isc-posix.m4: Remove file.
38022         Suggested by Eric Blake.
38023
38024 2007-09-11  Eric Blake  <ebb9@byu.net>
38025
38026         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
38027
38028 2007-09-10  Bruno Haible  <bruno@clisp.org>
38029
38030         * posix-modules: Fix typo in error message.
38031         Reported by Matt <mkraai@beckman.com>.
38032
38033 2007-09-09  Bruno Haible  <bruno@clisp.org>
38034
38035         * doc/functions/getdelim.texi: Update list of platforms lacking the
38036         function.
38037         * doc/functions/getline.texi: Likewise.
38038
38039 2007-09-09  Jim Meyering  <jim@meyering.net>
38040
38041         * lib/hash.c (hash_initialize): Detect calloc failure.
38042         Reported by Bruno Haible.
38043
38044 2007-09-09  Bruno Haible  <bruno@clisp.org>
38045
38046         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
38047         malloc or realloc fails.
38048
38049 2007-09-09  Bruno Haible  <bruno@clisp.org>
38050
38051         * modules/getcwd (Depends-on): Add malloc-posix.
38052         * modules/glob (Depends-on): Likewise.
38053         * modules/putenv (Depends-on): Likewise.
38054         * modules/strdup (Depends-on): Likewise.
38055         * modules/getdelim (Depends-on): Add realloc-posix.
38056         * modules/read-file (Depends-on): Likewise.
38057
38058 2007-09-09  Bruno Haible  <bruno@clisp.org>
38059
38060         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
38061         (gl_FUNC_MALLOC_POSIX): Require it.
38062         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
38063         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
38064         * modules/realloc (Files): Add m4/malloc.m4.
38065         * modules/calloc (Files): Likewise.
38066
38067 2007-09-09  Bruno Haible  <bruno@clisp.org>
38068
38069         * modules/malloc-posix: New file.
38070         * modules/malloc (Depends-on): Add malloc-posix.
38071         * lib/malloc.c: Include errno.h.
38072         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
38073         and a POSIX-compatible malloc into a single function. Set ENOMEM
38074         when returning NULL.
38075         * m4/malloc.m4: New file.
38076         * doc/functions/malloc.texi: Mention the malloc-posix module.
38077         * lib/stdlib_.h (malloc): New declaration.
38078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38079         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
38080         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
38081         and HAVE_MALLOC_POSIX.
38082
38083 2007-09-09  Bruno Haible  <bruno@clisp.org>
38084
38085         * modules/realloc-posix: New file.
38086         * modules/realloc (Depends-on): Add realloc-posix.
38087         * lib/realloc.c: Include errno.h.
38088         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
38089         and a POSIX-compatible realloc into a single function. Set ENOMEM
38090         when returning NULL.
38091         * m4/realloc.m4: New file.
38092         * doc/functions/realloc.texi: Mention the realloc-posix module.
38093         * lib/stdlib_.h (realloc): New declaration.
38094         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38095         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
38096         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
38097         and HAVE_REALLOC_POSIX.
38098
38099 2007-09-09  Bruno Haible  <bruno@clisp.org>
38100
38101         * modules/calloc-posix: New file.
38102         * modules/calloc (Depends-on): Add calloc-posix.
38103         * lib/calloc.c: Include errno.h.
38104         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
38105         and a POSIX-compatible calloc into a single function. Set ENOMEM
38106         when returning NULL.
38107         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
38108         * doc/functions/calloc.texi: Mention the calloc-posix module.
38109         * lib/stdlib_.h (calloc): New declaration.
38110         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38111         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
38112         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
38113         and HAVE_CALLOC_POSIX.
38114
38115 2007-09-09  Bruno Haible  <bruno@clisp.org>
38116
38117         Allow for modules to show an arbitrary notice.
38118         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
38119         * gnulib-tool: New option --extract-notice.
38120         (func_usage): Document it.
38121         (sed_extract_prog): Update.
38122         (func_get_notice): New function.
38123         (func_modules_notice): New function.
38124         (func_import, func_create_testdir): Invoke it.
38125         Suggested by Jim Meyering.
38126
38127 2007-09-09  Bruno Haible  <bruno@clisp.org>
38128
38129         * gnulib-tool: New options --verbose, --quiet.
38130         (func_usage): Document them.
38131         (verbose): New variable.
38132         (func_execute_command): New function.
38133         (func_import): Don't show the module list and the file list if
38134         $verbose < 0.
38135         (func_create_testdir): Likewise. Use func_execute_command.
38136         (func_create_megatestdir): Use func_execute_command.
38137
38138 2007-09-08  Bruno Haible  <bruno@clisp.org>
38139
38140         * gnulib-tool (func_import): Prefer rsync over wget when available,
38141         for fetching the PO files.
38142
38143 2007-09-08  Bruno Haible  <bruno@clisp.org>
38144
38145         * posix-modules: New file. Portions copied from gnulib-tool.
38146         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
38147
38148 2007-09-08  Jim Meyering  <jim@meyering.net>
38149
38150         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
38151         * lib/fpending.h: Rename from __fpending.h.
38152         * lib/fpending.c: Rename from __fpending.c.
38153         Include "fpending.h", not "__fpending.h".
38154         * lib/__fpending.h, lib/__fpending.c: Remove files.
38155         * modules/fpending (Files): Reflect new file names.
38156         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
38157
38158 2007-09-08  Bruno Haible  <bruno@clisp.org>
38159
38160         * m4/inttypes-h.m4: Remove stub file.
38161
38162 2007-09-07  Simon Josefsson  <simon@josefsson.org>
38163
38164         * doc/headers/stdint.texi: Discuss #include_next issue.
38165
38166 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
38167
38168         * build-aux/bootstrap: Remove obsolete comment about wget --help.
38169
38170 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38171
38172         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
38173         in variable name.
38174
38175 2007-09-03  Jim Meyering  <jim@meyering.net>
38176
38177         New module: git-version-gen.
38178         * modules/git-version-gen: New file.
38179
38180         Import changes from coreutils for bootstrap script.
38181
38182         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
38183
38184         bootstrap: uses rsync to download the .po files
38185         * build-aux/bootstrap (po_download_command_format): New global.
38186         (download_po_files): Use rsync.
38187         (update_po_files): Don't remove .po files after download,
38188         so future rsync runs can take advantage of the copies.
38189
38190         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
38191
38192         Solve the unnecessary-.po-file-regeneration problem once and for all.
38193         * build-aux/bootstrap (download_po_files): New function, renamed from
38194         get_translations.  Now, downloads, but doesn't update LINGUAS.
38195         (update_po_files): New function.
38196
38197         bootstrap: Ignore more.
38198         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
38199         uniwidth to e.g., lib/.gitignore.
38200         (slurp): Handle the sys_stat_.h -> sys mapping, too.
38201
38202         * build-aux/bootstrap: New setting: vc_ignore.
38203         (insert_sorted_if_absent): Create $file if absent.
38204         Adapt to new, possibly empty, list: $vc_ignore.
38205
38206         bootstrap: generate more ignorable names
38207         * build-aux/bootstrap (slurp): When generating ignorable names,
38208         also map .sin to .sed, .gperf to .c, and .y to .c.
38209
38210 2007-09-03  Jim Meyering  <jim@meyering.net>
38211
38212         * build-aux/git-version-gen: New file, from coreutils.  For details, see
38213         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
38214
38215 2007-09-02  Bruno Haible  <bruno@clisp.org>
38216
38217         Fix mis-recognition of 'mcs' on QNX 6.
38218         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
38219         output contains the string "Mono".
38220         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
38221         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
38222
38223 2007-09-01  Bruno Haible  <bruno@clisp.org>
38224
38225         Fix collision between uniwidth/* and linebreak modules.
38226         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
38227         u32_width): Remove declarations.
38228         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
38229         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
38230         streq3, streq2, streq1, streq0): Remove functions.
38231         (STREQ): Remove macro.
38232         (is_cjk_encoding): Remove function.
38233         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
38234         (uc_width, u8_width, u16_width, u32_width): Remove functions.
38235         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
38236         * NEWS: Document the change.
38237
38238 2007-09-01  Bruno Haible  <bruno@clisp.org>
38239
38240         * lib/streq.h: Add double-inclusion guard.
38241
38242 2007-09-01  Karl Berry  <karl@gnu.org>
38243
38244         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
38245
38246 2007-08-28  Jim Meyering  <jim@meyering.net>
38247
38248         Rename mreadlink_with_size to areadlink_with_size.
38249         * NEWS: Document the change.
38250         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
38251         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
38252         * lib/mreadlink.h: Rename this to...
38253         * lib/areadlink.h: ...this.
38254         * modules/mreadlink-with-size: Rename this to...
38255         * modules/areadlink-with-size: ...this.
38256         * lib/canonicalize.c: Reflect the renaming.
38257         * modules/canonicalize: Likewise.
38258
38259 2007-08-26  Bruno Haible  <bruno@clisp.org>
38260
38261         * gnulib-tool (func_import): When deciding which files to remove,
38262         consider also dangling symbolic links.
38263         Reported by Eric Blake.
38264
38265 2007-08-26  Bruno Haible  <bruno@clisp.org>
38266
38267         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
38268
38269 2007-08-23  Simon Josefsson  <simon@josefsson.org>
38270
38271         * lib/readline.c: Don't include getline.h, the prototype is now
38272         found in stdio.h.
38273
38274 2007-08-23  Jim Meyering  <jim@meyering.net>
38275
38276         Getdelim touchup.
38277         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
38278         around the funlockfile call, since funlockfile never sets errno.
38279         Don't set errno upon failed realloc.
38280
38281 2007-08-22  Eric Blake  <ebb9@byu.net>
38282
38283         Getline touchups.
38284         * lib/getdelim.c (getdelim): Revert regression that required *n to
38285         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
38286         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
38287         getdelim, rather than whether implementation is missing.
38288         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
38289         * lib/stdio_.h (getline): Also declare if replacement is
38290         required.
38291         * doc/functions/getdelim.texi: New file.
38292         * doc/functions/getline.texi: Likewise.
38293         * doc/gnulib.texi (Function Substitutes): Add new files.
38294         Reported by Bruno Haible.
38295
38296 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
38297
38298         * users.txt: Add Guile.
38299
38300 2007-08-22  Eric Blake  <ebb9@byu.net>
38301
38302         * tests/test-getdelim.c (main): Use remove, not unlink.
38303         * tests/test-getline.c (main): Likewise.
38304
38305         Move getline and getdelim into stdio.h, per POSIX 200x.
38306         * modules/getline (Files): Remove getline.h.
38307         (Depends-on): Add stdio.
38308         (configure.ac): Add module indicator.
38309         * modules/getdelim (Files): Remove getdelim.h.
38310         (Depends-on): Add stdio.
38311         (configure.ac): Add module indicator.
38312         * modules/stdio (Makefile.am): Work with new indicators.
38313         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38314         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
38315         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38316         * lib/getdelim.h: Delete.
38317         * lib/getline.h: Delete.
38318         * lib/stdio_.h (getdelim, getline): Declare.
38319         * modules/getdelim-tests: New module.
38320         * modules/getline-tests: Likewise.
38321         * tests/test-getdelim.c: New file.
38322         * tests/test-getline.c: Likewise.
38323         * NEWS: Document the change.
38324         * lib/getline.c: Update choice of header.
38325         * lib/csharpcomp.c: Likewise.
38326         * lib/getpass.c: Likewise.
38327         * lib/javacomp.c: Likewise.
38328         * lib/javaversion.c: Likewise.
38329         * lib/yesno.c: Likewise.
38330         * lib/getdelim.c: Likewise.
38331         (getdelim): Set errno on failure, and avoid memory leak.
38332
38333 2007-08-19  Bruno Haible  <bruno@clisp.org>
38334
38335         * modules/closein (Depends-on): Add freadahead.
38336         * lib/closein.c: Include freadahead.h.
38337         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
38338         is zero.
38339
38340 2007-08-19  Bruno Haible  <bruno@clisp.org>
38341
38342         * modules/freadahead-tests: New file.
38343         * tests/test-freadahead.sh: New file.
38344         * tests/test-freadahead.c: New file.
38345
38346         * modules/freadahead: New file.
38347         * lib/freadahead.h: New file.
38348         * lib/freadahead.c: New file.
38349         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
38350         fbufmode, fpurge, freadable, fwritable.
38351
38352 2007-08-19  Eric Blake  <ebb9@byu.net>
38353
38354         Test yesno in combination with closein.
38355         * lib/yesno.c (yesno): Document use of stdin.
38356         * modules/yesno-tests (Files): New module.
38357         * tests/test-yesno.c (main): New file.
38358         * tests/test-yesno.sh: Likewise.
38359
38360 2007-08-19  Bruno Haible  <bruno@clisp.org>
38361
38362         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
38363         * lib/fseeko.c (rpl_fseeko): Likewise.
38364         * lib/fseterr.c (fseterr): Likewise.
38365
38366 2007-08-19  Bruno Haible  <bruno@clisp.org>
38367
38368         * tests/test-lseek.c (main): Disable a test for BeOS.
38369         * doc/functions/lseek.texi: Document the BeOS bug.
38370
38371 2007-08-19  Bruno Haible  <bruno@clisp.org>
38372             Eric Blake  <ebb9@byu.net>
38373
38374         * lib/lseek.c: Include <sys/stat.h>.
38375         (rpl_lseek): Add workaround code also for Unix platforms.
38376         Needed for BeOS.
38377         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
38378         * doc/functions/lseek.texi: Document BeOS definiency.
38379
38380 2007-08-18  Bruno Haible  <bruno@clisp.org>
38381
38382         * modules/fstrcmp-tests: New file.
38383         * tests/test-fstrcmp.c: New file.
38384
38385 2007-08-18  Bruno Haible  <bruno@clisp.org>
38386
38387         * modules/fstrcmp: New file, from GNU gettext with modifications.
38388         * lib/fstrcmp.h: New file, from GNU gettext.
38389         * lib/fstrcmp.c: New file, from GNU gettext.
38390         * MODULES.html.sh (String handling): Add fstrcmp.
38391
38392 2007-08-18  Bruno Haible  <bruno@clisp.org>
38393
38394         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
38395         'bool'.
38396         (diag, compareseq): Remove const from the ctxt argument.
38397         (USE_HEURISTIC): Undefine at the end.
38398
38399 2007-08-18  Jim Meyering  <jim@meyering.net>
38400
38401         New file: lib/idcache.h
38402         * NEWS: Mention the addition.
38403         * modules/idcache (Files): Add lib/idcache.h
38404         * lib/idcache.c: Include "idcache.h".
38405         Don't include <sys/types.h>.
38406         Add a FIXME comment.
38407         Move file-scoped "static" declarations to the top.
38408         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
38409
38410 2007-08-17  Bruno Haible  <bruno@clisp.org>
38411         and Paul Eggert  <eggert@cs.ucla.edu>
38412
38413         * MODULES.html.sh: Add diffseq.
38414         * modules/diffseq: New file.
38415         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
38416         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
38417
38418 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
38419
38420         Import changes from coreutils for bootstrap script.
38421
38422         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
38423
38424         * build-aux/bootstrap (slurp): Work even in environments where
38425         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
38426         current code does not slurp files whose names start with ".", and
38427         this looks like it might be a troublesome area.
38428
38429         2007-07-11  Jim Meyering  <jim@meyering.net>
38430
38431         If there's a GPL vN copyright comment, require that N == 3.
38432
38433         2007-07-08  Jim Meyering  <jim@meyering.net>
38434
38435         Run the coreutils-specific code only if tests/Makefile.am.in exists.
38436         * build-aux/bootstrap (mam_template): Move definition out of loop.
38437
38438         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
38439
38440         * build-aux/bootstrap (symlink_to_dir): Rename function from
38441         symlink_to_gnulib.  Add a directory parameter.  Update all
38442         callers.
38443         (cp_mark_as_generated): Also check for -- and link to -- files in
38444         gl/.
38445
38446         2007-07-08  Jim Meyering  <jim@meyering.net>
38447
38448         Adapt to deeper hierarchy in gnulib.
38449         * build-aux/bootstrap (symlink_to_dir): If the destination
38450         directory doesn't exist, create it. This is required at least for
38451         "lib/uniwidth/cjk.h".
38452
38453         2007-05-15  Jim Meyering  <jim@meyering.net>
38454
38455         * build-aux/bootstrap: Now that generated Makefile.am files
38456         are no longer under version control, they must be created at
38457         bootstrap time.
38458
38459 2007-08-14  Ben Pfaff  <blp@gnu.org>
38460
38461         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
38462
38463 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
38464
38465         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
38466         given the changes below.
38467         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
38468         even on hosts that have padding bits beyond the supported 64.
38469
38470 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
38471
38472         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
38473         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
38474         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
38475         depends on it.
38476         (xstrtol_error): Remove.
38477         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
38478         but with a different signature.
38479         (ATTRIBUTE_NORETURN, __attribute__): New macros.
38480         * lib/xstrtol-error.c: Include exitfail.h.
38481         (xstrtol_fatal): New function, with a different signature from the
38482         old xstrtol_error, so that the caller need not worry about passing
38483         in an exit status, or about storage management of the option argument.
38484         (xstrtol_error): Now a static function.  Redo signature to
38485         implement xstrtol_fatal.  Output the correct number of hyphens in
38486         front of the option so that the caller need not worry about
38487         storage management.
38488         (N_): New macro.
38489         (_): Remove; not used now.
38490         * modules/xstrtol: Depend on getopt.
38491         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
38492         of old STRTOL_FATAL_ERROR macro.
38493         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
38494         of test program.
38495         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
38496         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
38497
38498 2007-08-08  Eric Blake  <ebb9@byu.net>
38499
38500         * lib/xstrtol-error.c: Add missing include.
38501
38502         Move xstrtol messages into gnulib domain, when --pobase is used.
38503         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
38504         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
38505         * modules/xstrtol (Files): Distribute new file.
38506         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
38507         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
38508         * tests/test-xstrtol.c: ...into new file.
38509         * tests/test-xstrtoul.c: Also test xstrtoul.
38510         * tests/test-xstrtoimax.c: Also test xstrtoimax.
38511         * tests/test-xstrtoumax.c: Also test xstrtoumax.
38512         * tests/test-xstrtol.sh: Drive the tests.
38513         * tests/test-xstrtoimax.sh: Likewise.
38514         * tests/test-xstrtoumax.sh: Likewise.
38515         * modules/xstrtol-tests: New module.
38516         * modules/xstrtoimax-tests: Likewise.
38517         * modules/xstrtoumax-tests: Likewise.
38518
38519 2007-08-08  Jim Meyering  <jim@meyering.net>
38520
38521         New function: mfile_name_concat.
38522         * lib/filenamecat.c (mfile_name_concat): New function, just like
38523         file_name_concat, but return NULL upon failure rather than exiting
38524         with a diagnostic.
38525         * lib/filenamecat.h: Declare it.
38526
38527 2007-08-07  Bruno Haible  <bruno@clisp.org>
38528
38529         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
38530         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
38531         warning from gcc.
38532         Reported by Eric Blake.
38533
38534 2007-08-07  Simon Josefsson  <simon@josefsson.org>
38535
38536         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
38537         * modules/crypto/arcfour (License): Likewise.
38538         * modules/crypto/des-tests (License): Likewise.
38539         * modules/crypto/gc-arctwo-tests (License): Likewise.
38540         * modules/crypto/gc-des-tests (License): Likewise.
38541         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
38542         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
38543         * modules/crypto/gc-md2-tests (License): Likewise.
38544         * modules/crypto/gc-md4-tests (License): Likewise.
38545         * modules/crypto/gc-md5-tests (License): Likewise.
38546         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
38547         * modules/crypto/gc-rijndael-tests (License): Likewise.
38548         * modules/crypto/gc-sha1-tests (License): Likewise.
38549         * modules/crypto/gc-tests (License): Likewise.
38550         * modules/crypto/hmac-md5 (License): Likewise.
38551         * modules/crypto/hmac-sha1 (License): Likewise.
38552         * modules/crypto/md2-tests (License): Likewise.
38553         * modules/crypto/md4-tests (License): Likewise.
38554         * modules/crypto/md5 (License): Likewise.
38555         * modules/crypto/rijndael (License): Likewise.
38556         * modules/crypto/sha1 (License): Likewise.
38557         * modules/memxor (License): Likewise.
38558
38559 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
38560         and Bruno Haible  <bruno@clisp.org>
38561
38562         * NEWS: Describe interface changes to human, xstrtol.
38563         * lib/human.h: Include <xstrtol.h>.
38564         (human_options): Return enum strtol_error, not int.  Remove
38565         bool arg; take int * instead.
38566         * lib/human.c: Don't include "gettext.h".
38567         (_): Remove; no longer used.
38568         Don't include <xstrtol.h>, since human.h does it.
38569         (human_options): Adjust to abovementioned interface changes.
38570         Do not report error to stderr; that's now the caller's
38571         responsibility.
38572         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
38573         interface change.
38574         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
38575         Str, Argument_type_string.  All uses changed.  Put " argument"
38576         in diagnostics to make them clearer.  Change wording of suffix
38577         message for clarity.
38578         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
38579         Argument_type_string.
38580         (STRTOL_FATAL_WARN): Remove; no longer used.
38581         * modules/human (Depends-on): Remove gettext-h.
38582
38583 2007-08-06  Simon Josefsson  <simon@josefsson.org>
38584
38585         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
38586
38587 2007-07-31  Bruno Haible  <bruno@clisp.org>
38588
38589         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
38590         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
38591         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
38592
38593 2007-07-31  Bruno Haible  <bruno@clisp.org>
38594
38595         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
38596         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
38597
38598 2007-07-30  Bruno Haible  <bruno@clisp.org>
38599
38600         * modules/base64 (License): Use the synonymous term "LGPLv2+".
38601         * modules/c-ctype (License): Likewise.
38602         * modules/c-strcase (License): Likewise.
38603         * modules/check-version (License): Likewise.
38604         * modules/iconv (License): Likewise.
38605         * modules/iconv_open (License): Likewise.
38606         * modules/read-file (License): Likewise.
38607         * modules/striconv (License): Likewise.
38608         * modules/strverscmp (License): Likewise.
38609         * modules/vasprintf (License): Likewise.
38610         * modules/crypto/des (License): Likewise.
38611         * modules/crypto/gc (License): Likewise.
38612         * modules/crypto/gc-arcfour (License): Likewise.
38613         * modules/crypto/gc-arctwo (License): Likewise.
38614         * modules/crypto/gc-des (License): Likewise.
38615         * modules/crypto/gc-hmac-md5 (License): Likewise.
38616         * modules/crypto/gc-hmac-sha1 (License): Likewise.
38617         * modules/crypto/gc-md2 (License): Likewise.
38618         * modules/crypto/gc-md4 (License): Likewise.
38619         * modules/crypto/gc-md5 (License): Likewise.
38620         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
38621         * modules/crypto/gc-random (License): Likewise.
38622         * modules/crypto/gc-rijndael (License): Likewise.
38623         * modules/crypto/gc-sha1 (License): Likewise.
38624         * modules/crypto/md2 (License): Likewise.
38625         * modules/crypto/md4 (License): Likewise.
38626
38627 2007-07-30  Jim Meyering  <jim@meyering.net>
38628
38629         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
38630         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
38631         it has valid stat data.  This bug would cause du not to count the
38632         sizes of inaccessible directories.
38633         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
38634         in <http://bugzilla.redhat.com/250077>.
38635
38636 2007-07-25  Peter O'Gorman  <peter@pogma.com>
38637             Bruno Haible  <bruno@clisp.org>
38638
38639         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
38640         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
38641         #include_next, gives a diagnostic about it, but reports no error in
38642         the exit code.
38643         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
38644
38645 2007-07-24  Ben Pfaff  <blp@gnu.org>
38646
38647         Improve name: "count-one-bits" is better than "popcount".
38648         * MODULES.html.sh: Update name.
38649         * lib/popcount.h: Renamed lib/count-one-bits.h.
38650         (popcount): Renamed count_one_bits.
38651         (popcountl): Renamed count_one_bits_l.
38652         (popcountll): Renamed count_one_bits_ll.
38653         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
38654         * modules/popcount: Renamed module/count-one-bits.
38655         * modules/popcount-tests: Renamed module/count-one-bits-tests.
38656         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
38657
38658 2007-07-23  Ben Pfaff  <blp@gnu.org>
38659
38660         * lib/popcount.h (popcount32): Reduce size of constants, to allow
38661         better code generation, and add U to large constants to avoid
38662         warnings, in non-GCC case.
38663         Suggested by Bruno Haible.
38664
38665 2007-07-23  Ben Pfaff  <blp@gnu.org>
38666
38667         * lib/popcount.h: Use verify_true instead of if...abort.
38668         * modules/popcount: Depend on verify module.
38669         Suggested by Jim Meyering.
38670
38671 2007-07-23  Bruno Haible  <bruno@clisp.org>
38672
38673         * gnulib-tool (func_import): Create a .cvsignore file also when the
38674         directory is not yet in CVS but the toplevel directory is. When
38675         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
38676         Reported by Karl Berry.
38677
38678 2007-07-22  Ben Pfaff  <blp@gnu.org>
38679
38680         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
38681         case.
38682         Suggested by Eric Blake.
38683
38684 2007-07-22  Ben Pfaff  <blp@gnu.org>
38685
38686         New module: popcount.
38687         * MODULES.html.sh: Add popcount.
38688         * modules/popcount: New file.
38689         * modules/popcount-tests: New file.
38690         * tests/test-popcount.c: New file.
38691         * lib/popcount.h: New file.
38692         * m4/popcount.m4: New file.
38693
38694 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
38695
38696         * build-aux/announce-gen: Update to GPLv3.
38697
38698         * build-aux/config.guess: Update from config.
38699
38700 2007-07-21  Bruno Haible  <bruno@clisp.org>
38701
38702         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
38703         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
38704
38705 2007-07-20  Jim Meyering  <jim@meyering.net>
38706
38707         * check-module: Diagnose a self-dependency.
38708
38709 2007-07-19  Bruno Haible  <bruno@clisp.org>
38710
38711         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
38712         empty.
38713         Reported by Eric Blake.
38714
38715 2007-07-18  Bruno Haible  <bruno@clisp.org>
38716
38717         * gnulib-tool: New options --po-base, --po-domain.
38718         (func_usage): Document them.
38719         (pobase, po_domain): New variables.
38720         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
38721         DEFAULT_TEXT_DOMAIN.
38722         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
38723         (func_import): Consider pobase and po_domain. Create a po/ directory.
38724         (func_create_testdir): Set pobase and po_domain to empty.
38725         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
38726         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
38727
38728 2007-07-18  Bruno Haible  <bruno@clisp.org>
38729
38730         * gnulib-tool (func_get_automake_snippet): Synthesize also an
38731         EXTRA_DIST augmentation for files in build-aux/.
38732
38733 2007-07-16  Bruno Haible  <bruno@clisp.org>
38734
38735         * modules/lseek (License): Use the synonymous term "LGPLv2+".
38736         * modules/getdelim (License): Likewise.
38737
38738 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38739
38740         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
38741         * modules/d-type (License): Likewise.
38742         * modules/extensions (License): Likewise.
38743         * modules/fnmatch (License): Likewise.
38744         * modules/fseeko (License): Likewise.
38745         * modules/getaddrinfo (License): Likewise.
38746         * modules/getline (License): Likewise.
38747         * modules/getlogin_r (License): Likewise.
38748         * modules/getpass (License): Likewise.
38749         * modules/gettimeofday (License): Likewise.
38750         * modules/glob (License): Likewise.
38751         * modules/inet_ntop (License): Likewise.
38752         * modules/malloc (License): Likewise.
38753         * modules/malloca (License): Likewise.
38754         * modules/memmem (License): Likewise.
38755         * modules/mempcpy (License): Likewise.
38756         * modules/memset (License): Likewise.
38757         * modules/minmax (License): Likewise.
38758         * modules/mktime (License): Likewise.
38759         * modules/netinet_in (License): Likewise.
38760         * modules/pathmax (License): Likewise.
38761         * modules/poll (License): Likewise.
38762         * modules/regex (License): Likewise.
38763         * modules/snprintf (License): Likewise.
38764         * modules/stdbool (License): Likewise.
38765         * modules/stdint (License): Likewise.
38766         * modules/stdio (License): Likewise.
38767         * modules/strcase (License): Likewise.
38768         * modules/strcasestr (License): Likewise.
38769         * modules/strdup (License): Likewise.
38770         * modules/string (License): Likewise.
38771         * modules/strndup (License): Likewise.
38772         * modules/strnlen (License): Likewise.
38773         * modules/strpbrk (License): Likewise.
38774         * modules/strptime (License): Likewise.
38775         * modules/strsep (License): Likewise.
38776         * modules/sys_select (License): Likewise.
38777         * modules/sys_socket (License): Likewise.
38778         * modules/sys_stat (License): Likewise.
38779         * modules/sys_time (License): Likewise.
38780         * modules/time (License): Likewise.
38781         * modules/time_r (License): Likewise.
38782         * modules/timegm (License): Likewise.
38783         * modules/unistd (License): Likewise.
38784         * modules/vsnprintf (License): Likewise.
38785         * modules/wctype (License): Likewise.
38786
38787 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38788
38789         * modules/argz (License): LGPLv2+.
38790
38791 2007-07-15  Karl Berry  <karl@gnu.org>
38792
38793         * doc/gnulib.texi: revise node structure per new fdl.texi.
38794
38795 2007-07-14  Bruno Haible  <bruno@clisp.org>
38796
38797         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
38798         the output file.
38799         * lib/uniname/uninames.h: Regenerated.
38800
38801 2007-07-14  Karl Berry  <karl@gnu.org>
38802
38803         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
38804         omitting sectioning and index commands.
38805
38806 2007-07-13  Bruno Haible  <bruno@clisp.org>
38807
38808         New gnulib-tool option --more-symlinks.
38809         * gnulib-tool (func_usage): Document --more-symlinks.
38810         (do_copyrights): New variable.
38811         Recognize option --more-symlinks.
38812         (func_import): Don't add a copyright notice transform to
38813         sed_transform_lib_file if do_copyrights is empty.
38814
38815 2007-07-13  Bruno Haible  <bruno@clisp.org>
38816
38817         * lib/vasnprintf.c (decimal_point_char): Define also if
38818         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
38819         && !NEED_PRINTF_DIRECTIVE_A.
38820         Reported by Clemens Koller <clemens.koller@anagramm.de> via
38821         Gary V. Vaughan <gary@gnu.org>.
38822
38823 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
38824
38825         * lib/inttypes_.h: Undo previous change, since it was fixed
38826         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
38827
38828 2007-07-13  Bruno Haible  <bruno@clisp.org>
38829
38830         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
38831         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
38832
38833 2007-07-13  Jim Meyering  <jim@meyering.net>
38834
38835         df: Don't fail for Tru64's "file-on-file mount".
38836         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
38837         so we fall through and use statfs instead.  Details here:
38838         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
38839         Reported by Albert Chin.
38840
38841 2007-07-13  Bruno Haible  <bruno@clisp.org>
38842
38843         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
38844         * modules/configmake (License): Likewise.
38845         * modules/gettext (License): Likewise.
38846         * modules/gettext-h (License): Likewise.
38847         * modules/include_next (License): Likewise.
38848         * modules/link-warning (License): Likewise.
38849         * modules/localcharset (License): Likewise.
38850         * modules/localename (License): Likewise.
38851         * modules/lock (License): Likewise.
38852         * modules/relocatable-lib-lgpl (License): Likewise.
38853         * modules/size_max (License): Likewise.
38854         * modules/vasnprintf (License): Likewise.
38855         * modules/wchar (License): Likewise.
38856         * modules/xsize (License): Likewise.
38857
38858 2007-07-13  Bruno Haible  <bruno@clisp.org>
38859
38860         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
38861         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
38862
38863 2007-07-12  Bruno Haible  <bruno@clisp.org>
38864
38865         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
38866         in the modules files.
38867
38868 2007-07-11  Karl Berry  <karl@gnu.org>
38869
38870         * MODULES.html.sh (func_module): use
38871          sed -e '\|^'"${includefile}"'$|d'
38872          instead of /.../d, to avoid errors on $includefile's containing /.
38873
38874 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
38875
38876         * gnulib-tool (func_import): Avoid duplication of --avoid
38877         statements
38878         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
38879         names to `_' in variable names.
38880
38881 2007-07-10  Eric Blake  <ebb9@byu.net>
38882
38883         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
38884         * NEWS: Document this change.
38885
38886 2007-07-08  Bruno Haible  <bruno@clisp.org>
38887
38888         Update to Unicode 5.0.
38889         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
38890         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
38891         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
38892         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
38893         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
38894         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
38895         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
38896         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
38897         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
38898         U+10A3F, U+1D242..U+1D244.
38899         (nonspacing_table_ind): Update.
38900         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
38901         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
38902
38903 2007-07-08  Bruno Haible  <bruno@clisp.org>
38904
38905         Update to Unicode 5.0.
38906         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
38907         code transform. Extend the name index field of unicode_name_to_code and
38908         unicode_code_to_name from 16 to 24 bits.
38909         * lib/uniname/uniname.c (unicode_character_name,
38910         unicode_name_character): Add the range 0x12xxx to the code transform.
38911         * lib/uniname/uninames.h: Regenerated.
38912         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
38913
38914 2007-07-07  Bruno Haible  <bruno@clisp.org>
38915
38916         * modules/wcwidth-tests: New file.
38917         * tests/test-wcwidth.c: New file.
38918
38919         Work around MacOS X wcwidth() bug.
38920         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
38921         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
38922         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
38923         original wcwidth in non-UTF-8 locales.
38924         * modules/wcwidth (Depends-on): Add localcharset, streq,
38925         uniwidth/width.
38926         * doc/functions/wcwidth.texi: Update.
38927
38928 2007-07-07  Bruno Haible  <bruno@clisp.org>
38929
38930         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
38931         (wcwidth): New declaration.
38932         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
38933         macros.
38934         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
38935         here. Prepare for creating <wchar.h> unconditionally.
38936         * modules/wchar (Depends-on): Add link-warning.
38937         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
38938         REPLACE_WCWIDTH, and GL_LINK_WARNING.
38939         * lib/wcwidth.h: Remove file.
38940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
38941         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
38942         * modules/wcwidth (Files): Remove lib/wcwidth.h.
38943         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
38944         (Include): Replace wcwidth.h with <wchar.h>.
38945         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
38946         * lib/mbchar.h: Don't include wcwidth.h.
38947         * lib/mbswidth.c: Likewise.
38948         * NEWS: Mention the change.
38949
38950 2007-07-07  Bruno Haible  <bruno@clisp.org>
38951
38952         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
38953         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
38954         definition with an external declaration.
38955         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
38956         defined as a function. Remove AC_C_INLINE requirement.
38957         * modules/wcwidth (Files): Add lib/wcwidth.c.
38958         (Makefile.am): Remove redundant statement.
38959
38960 2007-07-07  Bruno Haible  <bruno@clisp.org>
38961
38962         * MODULES.html.sh (Unicode string functions): Add the new modules.
38963
38964         * tests/uniwidth/test-u32-strwidth.c: New file.
38965         * modules/uniwidth/u32-strwidth-tests: New file.
38966
38967         * lib/uniwidth/u32-strwidth.c: New file.
38968         * modules/uniwidth/u32-strwidth: New file.
38969
38970         * tests/uniwidth/test-u16-strwidth.c: New file.
38971         * modules/uniwidth/u16-strwidth-tests: New file.
38972
38973         * lib/uniwidth/u16-strwidth.c: New file.
38974         * modules/uniwidth/u16-strwidth: New file.
38975
38976         * tests/uniwidth/test-u8-strwidth.c: New file.
38977         * modules/uniwidth/u8-strwidth-tests: New file.
38978
38979         * lib/uniwidth/u8-strwidth.c: New file.
38980         * modules/uniwidth/u8-strwidth: New file.
38981
38982         * tests/uniwidth/test-u32-width.c: New file.
38983         * modules/uniwidth/u32-width-tests: New file.
38984
38985         * lib/uniwidth/u32-width.c: New file.
38986         * modules/uniwidth/u32-width: New file.
38987
38988         * tests/uniwidth/test-u16-width.c: New file.
38989         * modules/uniwidth/u16-width-tests: New file.
38990
38991         * lib/uniwidth/u16-width.c: New file.
38992         * modules/uniwidth/u16-width: New file.
38993
38994         * tests/uniwidth/test-u8-width.c: New file.
38995         * modules/uniwidth/u8-width-tests: New file.
38996
38997         * lib/uniwidth/u8-width.c: New file.
38998         * modules/uniwidth/u8-width: New file.
38999
39000         * tests/uniwidth/test-uc_width.c: New file.
39001         * modules/uniwidth/width-tests: New file.
39002
39003         * lib/uniwidth/width.c: New file, from GNU libiconv.
39004         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
39005         * modules/uniwidth/width: New file.
39006
39007         * lib/uniwidth.h: New file, from GNU libiconv.
39008         * modules/uniwidth/base: New file.
39009
39010 2007-07-07  Bruno Haible  <bruno@clisp.org>
39011
39012         * lib/uniname.h: New file, from GNU gettext.
39013         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
39014         * lib/uniname/uninames.h: New file, from GNU gettext.
39015         * lib/uniname/uniname.c: New file, from GNU gettext.
39016         * tests/uniname/test-uninames.sh: New file.
39017         * tests/uniname/test-uninames.c: New file, from GNU gettext.
39018         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
39019         * modules/uniname/base: New file.
39020         * modules/uniname/uniname: New file.
39021         * modules/uniname/uniname-tests: New file.
39022         * MODULES.html.sh (Unicode string functions): Add the new modules.
39023
39024 2007-07-06  Bruno Haible  <bruno@clisp.org>
39025
39026         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
39027
39028 2007-07-06  Bruno Haible  <bruno@clisp.org>
39029
39030         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
39031         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
39032         includes <cygwin/sys_time.h> which includes <sys/select.h> which
39033         include <sys/time.h>.
39034         Reported by Eric Blake.
39035
39036 2007-07-06  Eric Blake  <ebb9@byu.net>
39037
39038         Fix testing canonicalize on cygwin.
39039         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
39040         Revert patch from 2007-06-19.
39041         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
39042         canonicalize module is also in use.
39043         * tests/test-canonicalize.c: New file.
39044         * tests/test-canonicalize.sh: Likewise.
39045         * modules/canonicalize-tests: Likewise.
39046
39047 2007-07-06  Jim Meyering  <jim@meyering.net>
39048
39049         * lib/getugroups.c (getugroups): Detect getgrent failure.
39050         Adjust comment to reflect reality: this function may return -1.
39051
39052 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
39053
39054         * build-aux/bootstrap (TP_URL,get_translations): Update to use
39055         the new TP address.
39056         (usage): Fix typo
39057         (gnulib_mk): New variable.
39058
39059 2007-07-05  Jim Meyering  <jim@meyering.net>
39060
39061         Don't let endgrent clobber errno, no matter how improbable.
39062         * lib/getugroups.c (getugroups): Save and restore errno around
39063         endgrent call.
39064
39065         Close the group DB even when failing with 2^31 or more members.
39066         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
39067
39068 2007-07-04  Jim Meyering  <jim@meyering.net>
39069
39070         * lib/getugroups.h: New file.
39071         * lib/getugroups.c: Include "getugroups.h".
39072         Remove uses of "register" keyword.
39073         Move local variable, "cp", down into scope where used.
39074         Give "username" parameter the "const" attribute.
39075         * modules/getugroups (Files): Add lib/getugroups.h
39076
39077 2007-07-04  Karl Berry  <karl@gnu.org>
39078
39079         * MODULES.html.sh (func_all_modules): Complete rename of
39080         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
39081
39082 2007-07-02  Bruno Haible  <bruno@clisp.org>
39083
39084         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
39085         mode, when inttypes.h comes from gnulib.
39086         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39087
39088 2007-07-02  Simon Josefsson  <simon@josefsson.org>
39089
39090         * NEWS: Mention lgpl module name change.
39091
39092         * modules/lgpl-2.1: Renamed from lgpl.
39093
39094         * NEWS: Mention gpl module name change.
39095
39096         * modules/gpl-3.0: New file, based on gpl-2.0.
39097
39098         * modules/gpl-2.0: Renamed from gpl.
39099
39100         * modules/gpl: Fix filename, doc/gpl.texi is now found at
39101         doc/gpl-2.0.texi.
39102
39103 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
39104
39105         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
39106         #define __STDC_LIMIT_MACROS temporarily while including
39107         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
39108         Problem reported by Joel E. Denny in
39109         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
39110
39111 2007-07-01  Bruno Haible  <bruno@clisp.org>
39112
39113         * lib/unistdio.h: New file.
39114         * lib/unistdio/u-asnprintf.h: New file.
39115         * lib/unistdio/u-asprintf.h: New file.
39116         * lib/unistdio/u-printf-args.c: New file.
39117         * lib/unistdio/u-printf-args.h: New file.
39118         * lib/unistdio/u-printf-parse.h: New file.
39119         * lib/unistdio/u-snprintf.h: New file.
39120         * lib/unistdio/u-sprintf.h: New file.
39121         * lib/unistdio/u-vasprintf.h: New file.
39122         * lib/unistdio/u-vsnprintf.h: New file.
39123         * lib/unistdio/u-vsprintf.h: New file.
39124         * lib/unistdio/ulc-asnprintf.c: New file.
39125         * lib/unistdio/ulc-asprintf.c: New file.
39126         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
39127         * lib/unistdio/ulc-printf-parse.c: New file.
39128         * lib/unistdio/ulc-snprintf.c: New file.
39129         * lib/unistdio/ulc-sprintf.c: New file.
39130         * lib/unistdio/ulc-vasnprintf.c: New file.
39131         * lib/unistdio/ulc-vasprintf.c: New file.
39132         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
39133         * lib/unistdio/ulc-vsnprintf.c: New file.
39134         * lib/unistdio/ulc-vsprintf.c: New file.
39135         * lib/unistdio/u8-asnprintf.c: New file.
39136         * lib/unistdio/u8-asprintf.c: New file.
39137         * lib/unistdio/u8-printf-parse.c: New file.
39138         * lib/unistdio/u8-snprintf.c: New file.
39139         * lib/unistdio/u8-sprintf.c: New file.
39140         * lib/unistdio/u8-vasnprintf.c: New file.
39141         * lib/unistdio/u8-vasprintf.c: New file.
39142         * lib/unistdio/u8-vsnprintf.c: New file.
39143         * lib/unistdio/u8-vsprintf.c: New file.
39144         * lib/unistdio/u8-u8-asnprintf.c: New file.
39145         * lib/unistdio/u8-u8-asprintf.c: New file.
39146         * lib/unistdio/u8-u8-snprintf.c: New file.
39147         * lib/unistdio/u8-u8-sprintf.c: New file.
39148         * lib/unistdio/u8-u8-vasnprintf.c: New file.
39149         * lib/unistdio/u8-u8-vasprintf.c: New file.
39150         * lib/unistdio/u8-u8-vsnprintf.c: New file.
39151         * lib/unistdio/u8-u8-vsprintf.c: New file.
39152         * lib/unistdio/u16-asnprintf.c: New file.
39153         * lib/unistdio/u16-asprintf.c: New file.
39154         * lib/unistdio/u16-printf-parse.c: New file.
39155         * lib/unistdio/u16-snprintf.c: New file.
39156         * lib/unistdio/u16-sprintf.c: New file.
39157         * lib/unistdio/u16-vasnprintf.c: New file.
39158         * lib/unistdio/u16-vasprintf.c: New file.
39159         * lib/unistdio/u16-vsnprintf.c: New file.
39160         * lib/unistdio/u16-vsprintf.c: New file.
39161         * lib/unistdio/u16-u16-asnprintf.c: New file.
39162         * lib/unistdio/u16-u16-asprintf.c: New file.
39163         * lib/unistdio/u16-u16-snprintf.c: New file.
39164         * lib/unistdio/u16-u16-sprintf.c: New file.
39165         * lib/unistdio/u16-u16-vasnprintf.c: New file.
39166         * lib/unistdio/u16-u16-vasprintf.c: New file.
39167         * lib/unistdio/u16-u16-vsnprintf.c: New file.
39168         * lib/unistdio/u16-u16-vsprintf.c: New file.
39169         * lib/unistdio/u32-asnprintf.c: New file.
39170         * lib/unistdio/u32-asprintf.c: New file.
39171         * lib/unistdio/u32-printf-parse.c: New file.
39172         * lib/unistdio/u32-snprintf.c: New file.
39173         * lib/unistdio/u32-sprintf.c: New file.
39174         * lib/unistdio/u32-vasnprintf.c: New file.
39175         * lib/unistdio/u32-vasprintf.c: New file.
39176         * lib/unistdio/u32-vsnprintf.c: New file.
39177         * lib/unistdio/u32-vsprintf.c: New file.
39178         * lib/unistdio/u32-u32-asnprintf.c: New file.
39179         * lib/unistdio/u32-u32-asprintf.c: New file.
39180         * lib/unistdio/u32-u32-snprintf.c: New file.
39181         * lib/unistdio/u32-u32-sprintf.c: New file.
39182         * lib/unistdio/u32-u32-vasnprintf.c: New file.
39183         * lib/unistdio/u32-u32-vasprintf.c: New file.
39184         * lib/unistdio/u32-u32-vsnprintf.c: New file.
39185         * lib/unistdio/u32-u32-vsprintf.c: New file.
39186         * tests/unistdio/test-ulc-asnprintf1.c: New file.
39187         * tests/unistdio/test-ulc-asnprintf1.h: New file.
39188         * tests/unistdio/test-ulc-printf1.h: New file.
39189         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
39190         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
39191         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
39192         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
39193         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
39194         * tests/unistdio/test-ulc-vasprintf1.c: New file.
39195         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
39196         * tests/unistdio/test-ulc-vsprintf1.c: New file.
39197         * tests/unistdio/test-u8-asnprintf1.c: New file.
39198         * tests/unistdio/test-u8-asnprintf1.h: New file.
39199         * tests/unistdio/test-u8-printf1.h: New file.
39200         * tests/unistdio/test-u8-vasnprintf1.c: New file.
39201         * tests/unistdio/test-u8-vasnprintf2.c: New file.
39202         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
39203         * tests/unistdio/test-u8-vasnprintf3.c: New file.
39204         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
39205         * tests/unistdio/test-u8-vasprintf1.c: New file.
39206         * tests/unistdio/test-u8-vsnprintf1.c: New file.
39207         * tests/unistdio/test-u8-vsprintf1.c: New file.
39208         * tests/unistdio/test-u16-asnprintf1.c: New file.
39209         * tests/unistdio/test-u16-asnprintf1.h: New file.
39210         * tests/unistdio/test-u16-printf1.h: New file.
39211         * tests/unistdio/test-u16-vasnprintf1.c: New file.
39212         * tests/unistdio/test-u16-vasnprintf2.c: New file.
39213         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
39214         * tests/unistdio/test-u16-vasnprintf3.c: New file.
39215         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
39216         * tests/unistdio/test-u16-vasprintf1.c: New file.
39217         * tests/unistdio/test-u16-vsnprintf1.c: New file.
39218         * tests/unistdio/test-u16-vsprintf1.c: New file.
39219         * tests/unistdio/test-u32-asnprintf1.c: New file.
39220         * tests/unistdio/test-u32-asnprintf1.h: New file.
39221         * tests/unistdio/test-u32-printf1.h: New file.
39222         * tests/unistdio/test-u32-vasnprintf1.c: New file.
39223         * tests/unistdio/test-u32-vasnprintf2.c: New file.
39224         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
39225         * tests/unistdio/test-u32-vasnprintf3.c: New file.
39226         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
39227         * tests/unistdio/test-u32-vasprintf1.c: New file.
39228         * tests/unistdio/test-u32-vsnprintf1.c: New file.
39229         * tests/unistdio/test-u32-vsprintf1.c: New file.
39230         * modules/unistdio/base: New file.
39231         * modules/unistdio/u-printf-args: New file.
39232         * modules/unistdio/ulc-asnprintf: New file.
39233         * modules/unistdio/ulc-asprintf: New file.
39234         * modules/unistdio/ulc-fprintf: New file.
39235         * modules/unistdio/ulc-printf-parse: New file.
39236         * modules/unistdio/ulc-snprintf: New file.
39237         * modules/unistdio/ulc-sprintf: New file.
39238         * modules/unistdio/ulc-vasnprintf: New file.
39239         * modules/unistdio/ulc-vasprintf: New file.
39240         * modules/unistdio/ulc-vfprintf: New file.
39241         * modules/unistdio/ulc-vsnprintf: New file.
39242         * modules/unistdio/ulc-vsprintf: New file.
39243         * modules/unistdio/u8-asnprintf: New file.
39244         * modules/unistdio/u8-asprintf: New file.
39245         * modules/unistdio/u8-printf-parse: New file.
39246         * modules/unistdio/u8-snprintf: New file.
39247         * modules/unistdio/u8-sprintf: New file.
39248         * modules/unistdio/u8-vasnprintf: New file.
39249         * modules/unistdio/u8-vasprintf: New file.
39250         * modules/unistdio/u8-vsnprintf: New file.
39251         * modules/unistdio/u8-vsprintf: New file.
39252         * modules/unistdio/u8-u8-asnprintf: New file.
39253         * modules/unistdio/u8-u8-asprintf: New file.
39254         * modules/unistdio/u8-u8-snprintf: New file.
39255         * modules/unistdio/u8-u8-sprintf: New file.
39256         * modules/unistdio/u8-u8-vasnprintf: New file.
39257         * modules/unistdio/u8-u8-vasprintf: New file.
39258         * modules/unistdio/u8-u8-vsnprintf: New file.
39259         * modules/unistdio/u8-u8-vsprintf: New file.
39260         * modules/unistdio/u16-asnprintf: New file.
39261         * modules/unistdio/u16-asprintf: New file.
39262         * modules/unistdio/u16-printf-parse: New file.
39263         * modules/unistdio/u16-snprintf: New file.
39264         * modules/unistdio/u16-sprintf: New file.
39265         * modules/unistdio/u16-vasnprintf: New file.
39266         * modules/unistdio/u16-vasprintf: New file.
39267         * modules/unistdio/u16-vsnprintf: New file.
39268         * modules/unistdio/u16-vsprintf: New file.
39269         * modules/unistdio/u16-u16-asnprintf: New file.
39270         * modules/unistdio/u16-u16-asprintf: New file.
39271         * modules/unistdio/u16-u16-snprintf: New file.
39272         * modules/unistdio/u16-u16-sprintf: New file.
39273         * modules/unistdio/u16-u16-vasnprintf: New file.
39274         * modules/unistdio/u16-u16-vasprintf: New file.
39275         * modules/unistdio/u16-u16-vsnprintf: New file.
39276         * modules/unistdio/u16-u16-vsprintf: New file.
39277         * modules/unistdio/u32-asnprintf: New file.
39278         * modules/unistdio/u32-asprintf: New file.
39279         * modules/unistdio/u32-printf-parse: New file.
39280         * modules/unistdio/u32-snprintf: New file.
39281         * modules/unistdio/u32-sprintf: New file.
39282         * modules/unistdio/u32-vasnprintf: New file.
39283         * modules/unistdio/u32-vasprintf: New file.
39284         * modules/unistdio/u32-vsnprintf: New file.
39285         * modules/unistdio/u32-vsprintf: New file.
39286         * modules/unistdio/u32-u32-asnprintf: New file.
39287         * modules/unistdio/u32-u32-asprintf: New file.
39288         * modules/unistdio/u32-u32-snprintf: New file.
39289         * modules/unistdio/u32-u32-sprintf: New file.
39290         * modules/unistdio/u32-u32-vasnprintf: New file.
39291         * modules/unistdio/u32-u32-vasprintf: New file.
39292         * modules/unistdio/u32-u32-vsnprintf: New file.
39293         * modules/unistdio/u32-u32-vsprintf: New file.
39294         * modules/unistdio/ulc-asnprintf-tests: New file.
39295         * modules/unistdio/ulc-vasnprintf-tests: New file.
39296         * modules/unistdio/ulc-vasprintf-tests: New file.
39297         * modules/unistdio/ulc-vsnprintf-tests: New file.
39298         * modules/unistdio/ulc-vsprintf-tests: New file.
39299         * modules/unistdio/u8-asnprintf-tests: New file.
39300         * modules/unistdio/u8-vasnprintf-tests: New file.
39301         * modules/unistdio/u8-vasprintf-tests: New file.
39302         * modules/unistdio/u8-vsnprintf-tests: New file.
39303         * modules/unistdio/u8-vsprintf-tests: New file.
39304         * modules/unistdio/u16-asnprintf-tests: New file.
39305         * modules/unistdio/u16-vasnprintf-tests: New file.
39306         * modules/unistdio/u16-vasprintf-tests: New file.
39307         * modules/unistdio/u16-vsnprintf-tests: New file.
39308         * modules/unistdio/u16-vsprintf-tests: New file.
39309         * modules/unistdio/u32-asnprintf-tests: New file.
39310         * modules/unistdio/u32-vasnprintf-tests: New file.
39311         * modules/unistdio/u32-vasprintf-tests: New file.
39312         * modules/unistdio/u32-vsnprintf-tests: New file.
39313         * modules/unistdio/u32-vsprintf-tests: New file.
39314         * MODULES.html.sh (Unicode string functions): Add the new modules.
39315
39316 2007-07-01  Bruno Haible  <bruno@clisp.org>
39317
39318         * lib/sprintf.c (sprintf): Limit the available length estimation,
39319         to avoid address wraparound.
39320         * lib/vsprintf.c (vsprintf): Likewise.
39321         * modules/sprintf-posix (Dependencies): Add stdint.
39322         * modules/vsprintf-posix (Dependencies): Likewise.
39323
39324 2007-07-01  Bruno Haible  <bruno@clisp.org>
39325
39326         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
39327         Windows PATH as well. Conservative double-quoting. Comments.
39328
39329 2007-07-01  Bruno Haible  <bruno@clisp.org>
39330             Eric Blake  <ebb9@byu.net>
39331             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39332
39333         * gnulib-tool (self_abspathname): Fix algorithm to cope with
39334         empty components in $PATH, denoting '.'.
39335
39336 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39337
39338         * gnulib-tool: Fix indentation.
39339         (func_create_megatestdir): Likewise.
39340         Report by Bruno Haible.
39341
39342 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39343
39344         Sync from Automake.
39345         * build-aux/gnupload: Fix shell portability issues with for loops.
39346         Report by Karl Berry.
39347
39348 2007-06-29  Simon Josefsson  <simon@josefsson.org>
39349
39350         * build-aux/maint.mk (POURL): Use translationproject.org.
39351
39352 2007-06-27  Simon Josefsson  <simon@josefsson.org>
39353             Bruno Haible  <bruno@clisp.org>
39354
39355         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
39356         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
39357         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
39358         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
39359         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
39360
39361 2007-06-27  Bruno Haible  <bruno@clisp.org>
39362
39363         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
39364         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
39365
39366 2007-06-26  Karl Berry  <karl@gnu.org>
39367
39368         * MODULES.html.sh: remove xreadlink-with-size.
39369
39370 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39371
39372         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
39373         method that I hope also handles the double-include problem noted
39374         by Bruno Haible in
39375         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
39376
39377 2007-06-23  Bruno Haible  <bruno@clisp.org>
39378
39379         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39380         Don't let the 'mostlyclean' target fail if the last subdirectory could
39381         not be removed.
39382         Reported by Karl Berry.
39383
39384 2007-06-23  Bruno Haible  <bruno@clisp.org>
39385
39386         * gnulib-tool (echo): Add a speedier workaround for ksh.
39387         * tests/test-echo.sh: Likewise.
39388
39389 2007-06-23  Bruno Haible  <bruno@clisp.org>
39390
39391         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
39392         * tests/test-echo.sh: Likewise.
39393
39394 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39395
39396         * gnulib-tool (IFS): Initialize early, so we don't set it to
39397         empty later.
39398         (self_abspathname): Rewrite algorithm to set it, reindent.
39399         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
39400         (func_create_megatestdir): Merge some sed scripts.
39401
39402 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39403
39404         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
39405         exposed by Sun Studio 11 cc on Solaris 8.
39406
39407 2007-06-22  Bruno Haible  <bruno@clisp.org>
39408
39409         * gnulib-tool (echo): Ensure the echo primitive does not interpret
39410         backslashes.
39411         * tests/test-echo.sh: New file.
39412
39413 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39414
39415         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
39416         simplify `sed_replace_build_aux' scripts, they are portable but
39417         echoing them with `echo' is not.
39418         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
39419
39420 2007-06-21  Karl Berry  <karl@gnu.org>
39421
39422         * config/srclist.txt: guess we can't handle the licenses via
39423         srclist at the moment.
39424
39425 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39426
39427         * MODULES.html.sh: Add include_next.
39428         * modules/include_next: New file.
39429
39430 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39431
39432         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
39433         INCLUDE_NEXT.
39434         (gl_CHECK_NEXT_HEADERS): New macro.
39435         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
39436         the obsolescent gl_ABSOLUTE_HEADER.
39437         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
39438         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
39439         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39440         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39441         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
39442         * m4/math_h.m4 (gl_MATH_H): Likewise.
39443         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
39444         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39445         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
39446         * m4/stdint.m4 (gl_STDINT_H): Likewise.
39447         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
39448         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
39449         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
39450         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39451         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
39452         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
39453         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39454         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39455         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
39456         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
39457         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39458         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39459         * m4/inttypes.m4 (gl_INTTYPES_H): Define
39460         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
39461         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
39462         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
39463         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
39464         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
39465         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
39466         * lib/float_.h: Likewise.
39467         * lib/inttypes_.h: Likewise.
39468         * lib/math_.h: Likewise.
39469         * lib/search_.h: Likewise.
39470         * lib/signal_.h: Likewise.
39471         * lib/stdint_.h: Likewise.
39472         * lib/stdio_.h: Likewise.
39473         * lib/stdlib_.h: Likewise.
39474         * lib/string_.h: Likewise.
39475         * lib/sys_stat_.h: Likewise.
39476         * lib/sys_time_.h: Likewise.
39477         * lib/time_.h: Likewise.
39478         * lib/unistd_.h: Likewise.
39479         * lib/wchar_.h: Likewise.
39480         * lib/wctype_.h: Likewise.
39481         * lib/dirent_.h: Likewise.
39482         * lib/iconv_.h: Likewise.
39483         * lib/locale_.h: Likewise.
39484         * lib/netinet_in_.h: Likewise.
39485         * lib/sys_select_.h: Likewise.
39486         * lib/sys_socket_.h: Likewise.
39487         * lib/sysexits_.h: Likewise.
39488         * modules/fcntl (Depends-on): Depend on include_next, not
39489         absolute_header.
39490         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
39491         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
39492         * modules/fchdir: Likewise.
39493         * modules/float: Likewise.
39494         * modules/iconv_open: Likewise.
39495         * modules/inttypes: Likewise.
39496         * modules/locale: Likewise.
39497         * modules/math: Likewise.
39498         * modules/netinet_in: Likewise.
39499         * modules/search: Likewise.
39500         * modules/signal: Likewise.
39501         * modules/stdint: Likewise.
39502         * modules/stdio: Likewise.
39503         * modules/stdlib: Likewise.
39504         * modules/string: Likewise.
39505         * modules/sys_select: Likewise.
39506         * modules/sys_socket: Likewise.
39507         * modules/sys_stat: Likewise.
39508         * modules/sys_time: Likewise.
39509         * modules/sysexits: Likewise.
39510         * modules/time: Likewise.
39511         * modules/unistd: Likewise.
39512         * modules/wchar: Likewise.
39513         * modules/wctype: Likewise.
39514         * modules/sys_stat: Change maintainer to "all".
39515         * modules/unistd: Likewise.
39516
39517 2007-06-20  Karl Berry  <karl@gnu.org>
39518
39519         * config/srclist.txt: track www changes in license files.
39520
39521 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
39522
39523         * build-aux/bootstrap: Remove stray dot.
39524         Make sure build_aux settings are honored when linking
39525         gnulib_extra_files.
39526
39527 2007-06-19  Eric Blake  <ebb9@byu.net>
39528
39529         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
39530         Allow compilation on cygwin.
39531
39532 2007-06-19  Jim Meyering  <jim@meyering.net>
39533
39534         xreadlink-with-size: Remove module.  No longer used.
39535         Ex-callers now use xreadlink or mreadlink-with-size.
39536         * modules/xreadlink-with-size: Remove module.
39537         * lib/xreadlink-with-size.c: Remove file.
39538         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
39539         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
39540         just before the function definition *is* accurate.
39541
39542         Eliminate one way canonicalize_filename_mode could exit.
39543         * lib/canonicalize.c (canonicalize_filename_mode):
39544         Use mreadlink_with_size, not xreadlink_with_size.
39545
39546 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
39547
39548         Detect porting problems to FreeBSD/arm, which has time_t wider than
39549         long int.  Original problem reported for GNU diff by Xin Li in
39550         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
39551         * modules/getdate (Depends-on): Add intprops, verify.
39552         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
39553         is an integer type no wider than long int.
39554
39555 2007-06-18  Jim Meyering  <jim@meyering.net>
39556
39557         New module: mreadlink-with-size.
39558         * MODULES.html.sh: Add mreadlink-with-size.
39559         * modules/mreadlink-with-size: New module
39560         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
39561         not xreadlink-with-size.
39562         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
39563
39564 2007-06-16  Bruno Haible  <bruno@clisp.org>
39565
39566         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
39567         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
39568         Reported by Gary V. Vaughan <gary@gnu.org>.
39569
39570 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
39571
39572         Revamp lchown so that it lives in unistd.h where it belongs.
39573         * lib/lchown.h: Remove.
39574         * lib/dirchownmod.c: Don't include lib/lchown.h.
39575         * lib/fchownat.c: Likewise.
39576         * lib/openat.c: Likewise.
39577         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
39578         does not follow symlinks.
39579         (EOPNOTSUPP): Define if not defined.
39580         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
39581         is defined to 0.
39582         (lchown): New decl.
39583         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
39584         Do not check for lchown decl.
39585         Set REPLACE_LCHOWN.
39586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
39587         REPLACE_LCHOWN.
39588         * modules/chown: Make it clear it follows symlinks.
39589         * modules/lchown: Make it clear it doesn't follow symlinks.
39590         (Files): Remove lib/lchown.h
39591         (Depends-on): Add unistd.
39592         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
39593         (Include): Include <unistd.h>, not "lchown.h".
39594         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
39595         REPLACE_LCHOWN.
39596
39597 2007-06-15  Jim Meyering  <jim@meyering.net>
39598
39599         Change license (GPL to LGPL) of fsusage and dependents.
39600         * modules/fsusage (License): Change to LGPL.
39601         * modules/full-read (License): Likewise.
39602         * modules/full-write (License): Likewise.
39603         * modules/safe-read (License): Likewise.
39604         * modules/safe-write (License): Likewise.
39605
39606 2007-06-14  Ben Pfaff  <blp@gnu.org>
39607
39608         Missing part of allocsa -> malloca transition.
39609         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
39610         gl_MALLOCA.
39611
39612 2007-06-12  Bruno Haible  <bruno@clisp.org>
39613
39614         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
39615         to ia64, x86_64, i386.
39616         Reported by Eric Blake.
39617
39618 2007-06-12  Bruno Haible  <bruno@clisp.org>
39619
39620         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
39621         cross-compiling to x86_64.
39622
39623 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
39624
39625         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
39626         glitch reported by Ralf Wildenhues in
39627         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
39628
39629         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
39630         Vin Shelton.
39631
39632 2007-06-11  Bruno Haible  <bruno@clisp.org>
39633
39634         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
39635         replacement string.
39636         Reported by Eric Blake.
39637
39638 2007-06-10  Bruno Haible  <bruno@clisp.org>
39639
39640         Prepare vasnprintf code for use with Unicode strings.
39641         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
39642         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
39643         TYPE_U32_STRING.
39644         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
39645         a_u32_string variants.
39646         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
39647         * lib/printf-args.c: Don't include config.h and the specification
39648         header if PRINTF_FETCHARGS is already defined.
39649         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
39650         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
39651         TYPE_U16_STRING, TYPE_U32_STRING.
39652         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
39653         u16_directive, u16_directives, u32_directive, u32_directives): New
39654         types.
39655         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
39656         New declarations.
39657         * lib/printf-parse.c: Don't include config.h and the specification
39658         header if PRINTF_PARSE is already defined. Eliminate the set of
39659         parameters for WIDE_CHAR_VERSION; the user of this file must provide
39660         them now. Include c-ctype.h.
39661         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
39662         directive and CHAR_T_ONLY_ASCII.
39663         * lib/vasnprintf.c: Don't include config.h and the specification header
39664         if VASNPRINTF is already defined.
39665         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
39666         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
39667         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
39668         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
39669         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
39670         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
39671         code accordingly.
39672         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
39673         pad_ourselves also in this case, with the 'c' and 's' directives, and
39674         with a different notion of "width".
39675         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
39676
39677 2007-06-10  Bruno Haible  <bruno@clisp.org>
39678
39679         * modules/unistr/u32-mbsnlen: New file.
39680         * lib/unistr/u32-mbsnlen.c: New file.
39681
39682         * modules/unistr/u16-mbsnlen: New file.
39683         * lib/unistr/u16-mbsnlen.c: New file.
39684
39685         * modules/unistr/u8-mbsnlen: New file.
39686         * lib/unistr/u8-mbsnlen.c: New file.
39687
39688         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
39689         declarations.
39690
39691 2007-06-10  Bruno Haible  <bruno@clisp.org>
39692
39693         * lib/string_.h (mbsnlen): New declaration.
39694         * lib/mbsnlen.c: New file.
39695         * m4/mbsnlen.m4: New file.
39696         * modules/mbsnlen: New file.
39697         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
39698         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
39699         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
39700
39701 2007-06-10  Bruno Haible  <bruno@clisp.org>
39702
39703         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
39704
39705 2007-06-10  Bruno Haible  <bruno@clisp.org>
39706
39707         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
39708         * lib/mbuiter.h: Likewise.
39709
39710 2007-06-10  Bruno Haible  <bruno@clisp.org>
39711
39712         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
39713         declaration.
39714
39715 2007-06-10  Karl Berry  <karl@gnu.org>
39716
39717         * config/srclist.txt: remove gettext entries, Bruno prefers
39718         to update individually.
39719
39720 2007-06-10  Bruno Haible  <bruno@clisp.org>
39721
39722         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
39723         'maxlen'. Ensure only length + width bytes are allocated, not
39724         length + 1 + width.
39725
39726 2007-06-09  Bruno Haible  <bruno@clisp.org>
39727
39728         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
39729         (CHAR_T): Remove macro.
39730         (VASNPRINTF): Update.
39731
39732 2007-06-09  Bruno Haible  <bruno@clisp.org>
39733
39734         * MODULES.html.sh (Unicode string functions): Add the new modules.
39735
39736         * modules/uniconv/u32-conv-to-enc: New file.
39737         * lib/uniconv/u32-conv-to-enc.c: New file.
39738         * modules/uniconv/u32-conv-to-enc-tests: New file.
39739         * tests/uniconv/test-u32-conv-to-enc.c: New file.
39740
39741         * modules/uniconv/u16-conv-to-enc: New file.
39742         * lib/uniconv/u16-conv-to-enc.c: New file.
39743         * lib/uniconv/u-conv-to-enc.h: New file.
39744         * modules/uniconv/u16-conv-to-enc-tests: New file.
39745         * tests/uniconv/test-u16-conv-to-enc.c: New file.
39746
39747         * modules/uniconv/u8-conv-to-enc: New file.
39748         * lib/uniconv/u8-conv-to-enc.c: New file.
39749         * modules/uniconv/u8-conv-to-enc-tests: New file.
39750         * tests/uniconv/test-u8-conv-to-enc.c: New file.
39751
39752         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
39753         u32_conv_to_encoding): New declarations.
39754
39755 2007-06-09  Bruno Haible  <bruno@clisp.org>
39756
39757         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
39758
39759 2007-06-09  Bruno Haible  <bruno@clisp.org>
39760
39761         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
39762         * modules/malloca: Renamed from modules/allocsa, updated.
39763         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
39764         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
39765         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
39766         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
39767         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
39768         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
39769         * modules/xmalloca: Renamed from modules/xallocsa, updated.
39770         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
39771         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
39772         * modules/c-strcasestr (Depends-on): Update.
39773         * lib/c-strcasestr.c: Update.
39774         * modules/c-strstr (Depends-on): Update.
39775         * lib/c-strstr.c: Update.
39776         * modules/canonicalize-lgpl (Depends-on): Update.
39777         * lib/canonicalize-lgpl.c: Update.
39778         * modules/clean-temp (Depends-on): Update.
39779         * lib/clean-temp.c: Update.
39780         * modules/csharpcomp (Depends-on): Update.
39781         * lib/csharpcomp.c: Update.
39782         * modules/csharpexec (Depends-on): Update.
39783         * lib/csharpexec.c: Update.
39784         * modules/javacomp (Depends-on): Update.
39785         * lib/javacomp.c: Update.
39786         * modules/javaexec (Depends-on): Update.
39787         * lib/javaexec.c: Update.
39788         * modules/mbscasestr (Depends-on): Update.
39789         * lib/mbscasestr.c: Update.
39790         * modules/mbsstr (Depends-on): Update.
39791         * lib/mbsstr.c: Update.
39792         * modules/setenv (Depends-on): Update.
39793         * lib/setenv.c: Update.
39794         * modules/strcasestr (Depends-on): Update.
39795         * lib/strcasestr.c: Update.
39796         * modules/striconveha (Depends-on): Update.
39797         * lib/striconveha.c: Update.
39798         * modules/relocatable-prog-wrapper (Files): Update.
39799         * lib/relocwrapper.c: Update.
39800         * build-aux/install-reloc: Update.
39801         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
39802
39803 2007-06-08  Bruno Haible  <bruno@clisp.org>
39804
39805         Port to uClibc.
39806         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
39807         * lib/fpurge.c (fpurge): Likewise.
39808         * lib/freading.c (freading): Likewise.
39809         * lib/fseeko.c (rpl_fseeko): Likewise.
39810         * lib/fseterr.c (fseterr): Likewise.
39811         * lib/fwriting.c (fwriting): Likewise.
39812         * tests/test-fflush.c (main): Avoid a failure on uClibc.
39813
39814 2007-06-08  Bruno Haible  <bruno@clisp.org>
39815
39816         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
39817         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
39818         * modules/gettext (Files): Add m4/intlmacosx.m4.
39819
39820 2007-06-07  Bruno Haible  <bruno@clisp.org>
39821
39822         * modules/localename-tests: New file.
39823         * tests/test-localename.c: New file.
39824
39825         New module 'localename'.
39826         * lib/localename.h: New file.
39827         * lib/localename.c: New file, from GNU gettext.
39828         * m4/localename.m4: New file.
39829         * modules/localename: New file.
39830
39831 2007-06-07  Bruno Haible  <bruno@clisp.org>
39832
39833         Work around the lack of <wchar.h> on some builds of uClibc.
39834         * doc/headers/wchar.texi: Update.
39835         * lib/wchar_.h: Include <wchar.h> only if it exists.
39836         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
39837         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
39838         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
39839         doesn't exist.
39840         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
39841         * modules/mbfile (Depends-on): Add wchar.
39842         * modules/mbiter (Depends-on): Likewise.
39843         * modules/mbuiter (Depends-on): Likewise.
39844         Reported by Simon Josefsson.
39845
39846 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
39847
39848         Work around problem reported by Steven M. Schweda in
39849         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
39850         Tru64 5.1B with the Compaq compiler environment installed declares
39851         an 'isblank' function but does not define it in the C library.
39852         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
39853         * lib/regex_internal.h (isblank): Likewise.
39854         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
39855         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39856
39857 2007-06-05  Bruno Haible  <bruno@clisp.org>
39858
39859         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
39860         ia64.
39861         * modules/printf-safe: New file.
39862         * modules/fprintf-posix (Depends-on): Add printf-safe.
39863         * modules/printf-posix (Depends-on): Likewise.
39864         * modules/snprintf-posix (Depends-on): Likewise.
39865         * modules/sprintf-posix (Depends-on): Likewise.
39866         * modules/vasnprintf-posix (Depends-on): Likewise.
39867         * modules/vasprintf-posix (Depends-on): Likewise.
39868         * modules/vfprintf-posix (Depends-on): Likewise.
39869         * modules/vprintf-posix (Depends-on): Likewise.
39870         * modules/vsnprintf-posix (Depends-on): Likewise.
39871         * modules/vsprintf-posix (Depends-on): Likewise.
39872         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
39873         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
39874         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
39875         "no" on i386, x86_64, ia64.
39876         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
39877         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39878         on i386, x86_64, ia64.
39879         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
39880         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39881         on i386, x86_64, ia64.
39882         * tests/test-vasnprintf-posix.c: Include float.h.
39883         (LDBL80_WORDS): New macro.
39884         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39885         on i386, x86_64, ia64.
39886         * tests/test-vasprintf-posix.c: Include float.h.
39887         (LDBL80_WORDS): New macro.
39888         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39889         on i386, x86_64, ia64.
39890         * tests/test-snprintf-posix.c: Include float.h.
39891         * tests/test-sprintf-posix.c: Likewise.
39892         * tests/test-vsnprintf-posix.c: Likewise.
39893         * tests/test-vsprintf-posix.c: Likewise.
39894
39895 2007-06-05  Bruno Haible  <bruno@clisp.org>
39896
39897         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
39898         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
39899         non-IEEE numbers on i386, x86_64, ia64.
39900         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
39901         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
39902         * tests/test-isnanl.h: Include float.h.
39903         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
39904
39905 2007-06-05  Bruno Haible  <bruno@clisp.org>
39906
39907         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
39908         also the %a / %A. Handle the %a / %A code before this extra handling.
39909
39910 2007-06-05  Bruno Haible  <bruno@clisp.org>
39911
39912         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
39913         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
39914
39915 2007-06-05  Bruno Haible  <bruno@clisp.org>
39916
39917         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
39918         typo in variable name.
39919
39920 2007-06-05  Eric Blake  <ebb9@byu.net>
39921
39922         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
39923         Reported by Simon Josefsson.
39924
39925 2007-06-04  Bruno Haible  <bruno@clisp.org>
39926
39927         Avoid test failures on some PowerPC platforms.
39928         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
39929         Define differently for PowerPC.
39930         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
39931         Reported by Gary V. Vaughan <gary@gnu.org>.
39932
39933 2007-06-02  Bruno Haible  <bruno@clisp.org>
39934
39935         Fix test-stdint failure on FreeBSD/ia64.
39936         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
39937         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
39938         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
39939         * doc/headers/stdint.texi: Update.
39940
39941 2007-06-01  Bruno Haible  <bruno@clisp.org>
39942
39943         * tests/test-binary-io.c (main): Pass a third argument to open().
39944         Reported by Gary V. Vaughan <gary@gnu.org>.
39945
39946 2007-06-01  Bruno Haible  <bruno@clisp.org>
39947
39948         * doc/functions/frexpl.texi: Update for mingw.
39949
39950 2007-06-01  Bruno Haible  <bruno@clisp.org>
39951
39952         * tests/test-lseek.c (main): Disable test of errno for invalid third
39953         argument.
39954         * doc/functions/lseek.texi: Update.
39955         Reported by Gary V. Vaughan <gary@gnu.org>.
39956
39957 2007-05-28  Bruno Haible  <bruno@clisp.org>
39958
39959         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
39960
39961 2007-05-31  Eric Blake  <ebb9@byu.net>
39962
39963         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
39964         cross compiling.
39965
39966 2007-05-30  Eric Blake  <ebb9@byu.net>
39967         and Bruno Haible  <bruno@clisp.org>
39968
39969         Work around mingw test failures exposed by m4-1.4.9b.
39970         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
39971         * tests/test-unistd.c: Disable uid_t and git_t tests for the
39972         moment.
39973
39974 2007-05-30  Bruno Haible  <bruno@clisp.org>
39975
39976         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
39977         assuming that they are closed. Needed on HP-UX 11.
39978
39979 2007-05-29  Bruno Haible  <bruno@clisp.org>
39980
39981         Fix a problem with #include_next.
39982         * lib/dirent_.h: Split the double-inclusion guard.
39983         * lib/fcntl_.h: Likewise.
39984         * lib/float_.h: Likewise.
39985         * lib/iconv_.h: Likewise.
39986         * lib/inttypes_.h: Likewise.
39987         * lib/locale_.h: Likewise.
39988         * lib/math_.h: Likewise.
39989         * lib/netinet_in_.h: Likewise.
39990         * lib/search_.h: Likewise.
39991         * lib/signal_.h: Likewise.
39992         * lib/stdint_.h: Likewise.
39993         * lib/stdio_.h: Likewise.
39994         * lib/stdlib_.h: Likewise.
39995         * lib/string_.h: Likewise.
39996         * lib/sys_select_.h: Likewise.
39997         * lib/sys_socket_.h: Likewise.
39998         * lib/sys_stat_.h: Likewise.
39999         * lib/sys_time_.h: Likewise.
40000         * lib/sysexits_.h: Likewise.
40001         * lib/time_.h: Likewise.
40002         * lib/unistd_.h: Likewise.
40003         * lib/wchar_.h: Likewise.
40004         * lib/wctype_.h: Likewise.
40005
40006 2007-05-29  Bruno Haible  <bruno@clisp.org>
40007
40008         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
40009         for the moment.
40010
40011 2007-05-29  Bruno Haible  <bruno@clisp.org>
40012
40013         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
40014         invocation.
40015         Reported by Eric Blake.
40016
40017 2007-05-29  Bruno Haible  <bruno@clisp.org>
40018
40019         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
40020         compiling case.
40021
40022 2007-05-29  Eric Blake  <ebb9@byu.net>
40023             Bruno Haible  <bruno@clisp.org>
40024
40025         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
40026         cross compiles.
40027
40028 2007-05-28  Eric Blake  <ebb9@byu.net>
40029
40030         * modules/closein-tests (test_closein_LDADD): Support test on
40031         cygwin with libtool.
40032
40033 2007-05-28  Bruno Haible  <bruno@clisp.org>
40034
40035         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
40036         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40037         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40038         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40039         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40040         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40041         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40042         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40043         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40044
40045 2007-05-28  Eric Blake  <ebb9@byu.net>
40046
40047         Unconditionally include <config.h> in unit tests.
40048         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
40049         * tests/test-allocsa.c, tests/test-arcfour.c,
40050         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
40051         tests/test-array_list.c, tests/test-array_oset.c,
40052         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
40053         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
40054         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
40055         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
40056         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
40057         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
40058         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
40059         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
40060         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
40061         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
40062         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
40063         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
40064         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
40065         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
40066         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
40067         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
40068         test-md5.c, test-memmem.c, test-printf-posix.c,
40069         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
40070         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
40071         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
40072         test-strcasestr.c, test-striconv.c, test-striconveh.c,
40073         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
40074         test-vasnprintf-posix2.c, test-vasnprintf.c,
40075         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
40076         test-vfprintf-posix.c, test-vprintf-posix.c,
40077         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
40078         test-xvasprintf.c: Likewise.
40079
40080 2007-05-28  Bruno Haible  <bruno@clisp.org>
40081
40082         * gnulib-tool (func_import): Remember the --with-tests command-line
40083         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
40084         Reported by Eric Blake.
40085
40086 2007-05-28  Bruno Haible  <bruno@clisp.org>
40087
40088         * modules/ftell-tests: New file.
40089         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
40090         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
40091
40092         * lib/ftell.c: New file.
40093         * modules/ftell: New file.
40094         * m4/ftell.m4: New file.
40095         * doc/functions/ftell.texi: Update.
40096         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
40097         REPLACE_FTELL.
40098         * lib/stdio_.h (rpl_ftell): New declaration.
40099         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
40100         REPLACE_FTELL.
40101
40102 2007-05-28  Eric Blake  <ebb9@byu.net>
40103
40104         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
40105
40106 2007-05-28  Bruno Haible  <bruno@clisp.org>
40107
40108         * modules/fseek-tests: New file.
40109         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
40110         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
40111
40112         * lib/fseek.c: New file.
40113         * modules/fseek: New file.
40114         * m4/fseek.m4: New file.
40115         * doc/functions/fseek.texi: Update.
40116         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
40117         REPLACE_FSEEK.
40118         * lib/stdio_.h (rpl_fseek): New declaration.
40119         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
40120         REPLACE_FSEEK.
40121
40122 2007-05-28  Bruno Haible  <bruno@clisp.org>
40123
40124         * lib/stdio_.h (fflush): More comments.
40125
40126 2007-05-28  Bruno Haible  <bruno@clisp.org>
40127
40128         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
40129         runtime test.
40130
40131 2007-05-28  Eric Blake  <ebb9@byu.net>
40132
40133         Improve lseek module.
40134         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
40135         * lib/unistd_.h (lseek): Scale back link warning message.
40136         * tests/test-lseek.c: Beef up test.
40137         * tests/test-lseek.sh: Exercise more facets of lseek.
40138         Reported by Bruno Haible.
40139
40140 2007-05-28  Bruno Haible  <bruno@clisp.org>
40141
40142         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
40143         to define.
40144
40145 2007-05-27  Bruno Haible  <bruno@clisp.org>
40146
40147         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
40148
40149 2007-05-27  Bruno Haible  <bruno@clisp.org>
40150
40151         * modules/openmp: New file.
40152         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
40153         Noah Misch.
40154
40155 2007-05-26  Bruno Haible  <bruno@clisp.org>
40156
40157         * modules/chdir-long (Depends-on): Add fchdir.
40158         * modules/chdir-safer (Depends-on): Likewise.
40159         * modules/fts (Depends-on): Likewise.
40160         * modules/fts-lgpl (Depends-on): Likewise.
40161         * modules/openat (Depends-on): Likewise.
40162         * modules/savewd (Depends-on): Likewise.
40163
40164 2007-05-24  Eric Blake  <ebb9@byu.net>
40165
40166         Fix lseek on mingw.
40167         * modules/lseek: New module.
40168         * m4/lseek.m4: New file.
40169         * lib/lseek.c: New file.
40170         * modules/lseek-tests: New file.
40171         * tests/test-lseek.c: New file.
40172         * tests/test-lseek.sh: New file.
40173         * MODULES.html.sh: Document lseek module.
40174         * modules/fflush (Depends-on): Add lseek, fseeko.
40175         * modules/fseeko (Depends-on): Likewise.
40176         * modules/ftello (Depends-on): Likewise.
40177         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
40178         broken.
40179         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
40180         broken.
40181         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
40182         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
40183         * lib/ftello.c (rpl_ftello): Likewise.
40184         * tests/test-fseeko.c (main): Test this.
40185         * tests/test-fseeko.sh: Likewise.
40186         * tests/test-ftello.c (main): Likewise.
40187         * tests/test-ftello.sh: Likewise.
40188         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
40189         implies replacing fseek.
40190         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
40191         HAVE_FTELLO.
40192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
40193         * modules/unistd (Makefile.am): Likewise.
40194         * lib/unistd_.h (lseek): Declare a replacement.
40195         * doc/functions/lseek.texi (lseek): Document this fix.
40196         * doc/functions/fseek.texi (fseek): Likewise.
40197         * doc/functions/ftell.texi (ftell): Likewise.
40198
40199 2007-05-24  Bruno Haible  <bruno@clisp.org>
40200
40201         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
40202         in the printed representation of a NaN.
40203         * tests/test-vasprintf-posix.c (test_function): Likewise.
40204         * tests/test-snprintf-posix.h (test_function): Likewise.
40205         * tests/test-sprintf-posix.h (test_function): Likewise.
40206         Reported by Eric Blake.
40207
40208 2007-05-23  Eric Blake  <ebb9@byu.net>
40209
40210         Fix fseeko/ftello on cygwin 1.5.24.
40211         * doc/functions/fseeko.texi (fseeko): Document the fix.
40212         * doc/functions/ftello.texi (ftello): Document the fix.
40213         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
40214         * doc/functions/stdout.text (stdout): New file.
40215         * doc/functions/stderr.text (stderr): New file.
40216         * doc/gnulib.texi (Function Substitutes): Use new files.
40217         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
40218         prior to 1.7.0.
40219         * tests/test-ftello.c (main): Likewise for ftello.
40220         * tests/test-fseeko.sh: New file.
40221         * tests/test-ftello.sh: New file.
40222         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
40223         with seekable stdin.
40224         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
40225         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
40226         (gl_REPLACE_FSEEKO): New macro.
40227         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
40228         * modules/fseeko (Files): Distribute fseeko.c.
40229         * modules/ftello (Files): Distribute ftello.c.
40230         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
40231         mode.
40232         * lib/ftello.c (rpl_ftello): New file.
40233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
40234         fseeko, ftello.
40235         (gl_STDIN_LARGE_OFFSET): New macro.
40236         * modules/stdio (Makefile.am): Perform the replacement.
40237         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
40238
40239 2007-05-23  Bruno Haible  <bruno@clisp.org>
40240
40241         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
40242         GNULIB_POSIXCHECK is defined.
40243
40244 2007-05-21  Bruno Haible  <bruno@clisp.org>
40245
40246         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
40247         Check also the output for NaN arguments. When cross-compiling, guess
40248         no on IRIX.
40249         * lib/vasnprintf.c: Update comments.
40250         * tests/test-vasnprintf-posix.c (strisnan): New function.
40251         (test_function): Use it.
40252         * tests/test-vasprintf-posix.c (strisnan): New function.
40253         (test_function): Use it.
40254         * tests/test-snprintf-posix.h (strisnan): New function.
40255         (test_function): Use it.
40256         * tests/test-sprintf-posix.h (strisnan): New function.
40257         (test_function): Use it.
40258         Reported by Eric Blake.
40259
40260 2007-05-20  Bruno Haible  <bruno@clisp.org>
40261
40262         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
40263         numbers that fails on BeOS.
40264         * doc/functions/frexpl.texi: Update.
40265
40266 2007-05-20  Jim Meyering  <jim@meyering.net>
40267
40268         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
40269         forced upon us by glibc-2.6.
40270
40271 2007-05-20  Bruno Haible  <bruno@clisp.org>
40272
40273         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
40274         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
40275         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
40276         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
40277         NEED_PRINTF_INFINITE.
40278         (is_infinitel): New function.
40279         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
40280         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
40281         gl_PREREQ_VASNPRINTF_INFINITE.
40282         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
40283         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40284         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
40285         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
40286         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
40287         gl_PREREQ_VASNPRINTF_INFINITE.
40288         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40289         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40290         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40291         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40292         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40293         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40294         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40295         * doc/functions/fprintf.texi: Update.
40296         * doc/functions/printf.texi: Update.
40297         * doc/functions/snprintf.texi: Update.
40298         * doc/functions/sprintf.texi: Update.
40299         * doc/functions/vfprintf.texi: Update.
40300         * doc/functions/vprintf.texi: Update.
40301         * doc/functions/vsnprintf.texi: Update.
40302         * doc/functions/vsprintf.texi: Update.
40303
40304 2007-05-20  Bruno Haible  <bruno@clisp.org>
40305
40306         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
40307         was not found in libc.
40308         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
40309
40310 2007-05-20  Bruno Haible  <bruno@clisp.org>
40311
40312         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
40313         printed as "-nan" instead of "nan".
40314         * tests/test-vasprintf-posix.c (test_function): Likewise.
40315         * tests/test-snprintf-posix.h (test_function): Likewise.
40316         * tests/test-sprintf-posix.h (test_function): Likewise.
40317         Needed for HP-UX 11.
40318
40319 2007-05-20  Jim Meyering  <jim@meyering.net>
40320
40321         Fix buggy test for the fchownat-deref bug.
40322         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
40323         symlink required for the run-test.  Without it, this test would
40324         always declare that fchownat doesn't work, and client code would
40325         unnecessarily use the replacement function with fixed libc.
40326         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
40327         Reported by Greg Schafer.
40328
40329 2007-05-19  Bruno Haible  <bruno@clisp.org>
40330
40331         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
40332         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
40333         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
40334         Needed for IRIX 6.5 and Solaris 2.5.1.
40335
40336 2007-05-19  Bruno Haible  <bruno@clisp.org>
40337
40338         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
40339         (test_function): Skip tests involving -0.0 on platforms where
40340         -0.0 = 0.0.
40341         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
40342         (test_function): Skip tests involving -0.0 on platforms where
40343         -0.0 = 0.0.
40344         * tests/test-snprintf-posix.h (have_minus_zero): New function.
40345         (test_function): Skip tests involving -0.0 on platforms where
40346         -0.0 = 0.0.
40347         * tests/test-sprintf-posix.h (have_minus_zero): New function.
40348         (test_function): Skip tests involving -0.0 on platforms where
40349         -0.0 = 0.0.
40350         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
40351         tests.
40352         * tests/test-printf-posix.h (test_function): Likewise.
40353         * tests/test-printf-posix.output: Remove all -0.0 related results.
40354         Needed for IRIX 6.5.
40355
40356 2007-05-19  Bruno Haible  <bruno@clisp.org>
40357
40358         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
40359         printed as "nan0x7fffffff" instead of "nan".
40360         * tests/test-vasprintf-posix.c (test_function): Likewise.
40361         * tests/test-snprintf-posix.h (test_function): Likewise.
40362         * tests/test-sprintf-posix.h (test_function): Likewise.
40363         * tests/test-fprintf-posix.h (NaN): Remove macro.
40364         (test_function): Remove all NaN related tests.
40365         * tests/test-printf-posix.h (NaN): Remove macro.
40366         (test_function): Remove all NaN related tests.
40367         * tests/test-printf-posix.output: Remove all NaN related results.
40368         Needed for IRIX 6.5.
40369
40370 2007-05-19  Bruno Haible  <bruno@clisp.org>
40371
40372         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
40373         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
40374
40375 2007-05-19  Bruno Haible  <bruno@clisp.org>
40376
40377         * lib/float_.h: New file.
40378         * m4/float_h.m4: New file.
40379         * modules/float: New file.
40380         * modules/isnanl (Dependencies): Add float.
40381         * modules/isnanl-nolibm (Dependencies): Likewise.
40382         * modules/mathl (Dependencies): Likewise.
40383         * modules/printf-frexpl (Dependencies): Likewise.
40384         * modules/signbit (Dependencies): Likewise.
40385         * modules/vasnprintf (Dependencies): Likewise.
40386         * doc/headers/float.texi: Update.
40387
40388 2007-05-19  Jim Meyering  <jim@meyering.net>
40389
40390         * lib/utimens.c (gl_futimens): Rename from futimens,
40391         now that glibc-2.6 declares futimens.
40392         * lib/utimens.h: Likewise.
40393
40394 2007-05-19  Bruno Haible  <bruno@clisp.org>
40395
40396         Avoid test failures on mingw.
40397         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
40398         * tests/test-printf-posix.sh: Likewise.
40399         * tests/test-vfprintf-posix.sh: Likewise.
40400         * tests/test-vprintf-posix.sh: Likewise.
40401
40402 2007-05-19  Bruno Haible  <bruno@clisp.org>
40403
40404         Fix *printf result for NaN, Inf, -0.0 on mingw.
40405         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
40406         * lib/vasnprintf.c: Include math.h and isnan.h.
40407         (is_infinite_or_zero): New function.
40408         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
40409         values in the %f, %F, %e, %E, %g, %G directives.
40410         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
40411         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40412         gl_PRINTF_INFINITE and test its result. Invoke
40413         gl_PREREQ_VASNPRINTF_INFINITE.
40414         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40415         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40416         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40417         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40418         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40419         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40420         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40421         * doc/functions/fprintf.texi: Update.
40422         * doc/functions/printf.texi: Update.
40423         * doc/functions/snprintf.texi: Update.
40424         * doc/functions/sprintf.texi: Update.
40425         * doc/functions/vfprintf.texi: Update.
40426         * doc/functions/vprintf.texi: Update.
40427         * doc/functions/vsnprintf.texi: Update.
40428         * doc/functions/vsprintf.texi: Update.
40429
40430 2007-05-19  Bruno Haible  <bruno@clisp.org>
40431
40432         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
40433         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
40434         Instead of multiplying with 10^k, set extra_zeroes to k.
40435         (scale10_round_long_double): Remove function.
40436
40437 2007-05-18  Bruno Haible  <bruno@clisp.org>
40438
40439         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
40440         introduced on 2007-05-06.
40441
40442 2007-05-18  Bruno Haible  <bruno@clisp.org>
40443
40444         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
40445         %g directives.
40446         * tests/test-vasprintf-posix.c (test_function): Likewise.
40447         * tests/test-snprintf-posix.h (test_function): Likewise.
40448         * tests/test-sprintf-posix.h (test_function): Likewise.
40449
40450 2007-05-18  Bruno Haible  <bruno@clisp.org>
40451
40452         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
40453         (strmatch): New function.
40454         (test_function): Test the %f directive on numbers of various exponents.
40455         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
40456         (strmatch): New function.
40457         (test_function): Test the %f directive on numbers of various exponents.
40458         * tests/test-snprintf-posix.h (strmatch): New function.
40459         (test_function): Test the %f directive on numbers of various exponents.
40460         * tests/test-sprintf-posix.h (strmatch): New function.
40461         (test_function): Test the %f directive on numbers of various exponents.
40462         * tests/test-snprintf-posix.c (SIZEOF): New macro.
40463         * tests/test-sprintf-posix.c (SIZEOF): New macro.
40464         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
40465         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
40466
40467 2007-05-18  Bruno Haible  <bruno@clisp.org>
40468
40469         Add support for 'long double' number output.
40470         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
40471         * lib/vasnprintf.c: Include math.h and float+.h.
40472         (mp_limb_t): New type.
40473         (GMP_LIMB_BITS): New macro.
40474         (mp_twolimb_t): New type.
40475         (GMP_TWOLIMB_BITS): New macro.
40476         (mpn_t): New type.
40477         (multiply, divide, convert_to_decimal, decode_long_double,
40478         scale10_round_long_double, scale10_round_decimal_long_double,
40479         floorlog10l): New functions.
40480         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
40481         for the %f, %F, %e, %E, %g, %G directives.
40482         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
40483         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40484         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
40485         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
40486         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40487         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40488         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40489         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40490         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40491         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40492         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40493         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
40494         * modules/snprintf-posix (Depends-on): Likewise.
40495         * modules/sprintf-posix (Depends-on): Likewise.
40496         * modules/vasnprintf-posix (Depends-on): Likewise.
40497         * modules/vasprintf-posix (Depends-on): Likewise.
40498         * modules/vfprintf-posix (Depends-on): Likewise.
40499         * modules/vsnprintf-posix (Depends-on): Likewise.
40500         * modules/vsprintf-posix (Depends-on): Likewise.
40501         * modules/vasnprintf (Files): Add lib/float+.h.
40502         * doc/functions/fprintf.texi: Update.
40503         * doc/functions/printf.texi: Update.
40504         * doc/functions/snprintf.texi: Update.
40505         * doc/functions/sprintf.texi: Update.
40506         * doc/functions/vfprintf.texi: Update.
40507         * doc/functions/vprintf.texi: Update.
40508         * doc/functions/vsnprintf.texi: Update.
40509         * doc/functions/vsprintf.texi: Update.
40510
40511 2007-05-18  Bruno Haible  <bruno@clisp.org>
40512
40513         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
40514
40515 2007-05-18  Bruno Haible  <bruno@clisp.org>
40516
40517         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
40518         for printing 64-bit integers. Needed for mingw.
40519
40520 2007-05-18  Bruno Haible  <bruno@clisp.org>
40521
40522         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
40523         gl_FUNC_FREXPL_WORKS.
40524         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
40525
40526 2007-05-18  Bruno Haible  <bruno@clisp.org>
40527
40528         * modules/frexpl-nolibm-tests: New file.
40529
40530         * modules/frexpl-nolibm: New file.
40531         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
40532
40533 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
40534
40535         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
40536         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
40537         GCC 4.2, which otherwise issues a lot of warnings.
40538         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
40539         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
40540         Likewise.
40541         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
40542         * modules/iconv_open (iconv.h): Likewise.
40543         * modules/locale (locale.h): Likewise.
40544         * modules/netinet_in (netinet/in.h): Likewise.
40545         * modules/sys_select (sys_select.h): Likewise.
40546         * modules/sys_socket (sys/socket.h): Likewise.
40547         * modules/sys_stat (sys/stat.h): Likewise.
40548         * modules/sysexits (sysexits.h): Likewise.
40549         * modules/unistd (unistd.h): Likewise.
40550
40551 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40552
40553         * modules/closein-tests (Makefile.am): Distribute
40554         `test-closein.sh'.
40555
40556 2007-05-17  Bruno Haible  <bruno@clisp.org>
40557
40558         * tests/test-printf-posix.output: Renamed from
40559         tests/test-fprintf-posix.out.
40560         * modules/fprintf-posix-tests: Update.
40561         * modules/printf-posix-tests: Update.
40562         * modules/vfprintf-posix-tests: Update.
40563         * modules/vprintf-posix-tests: Update.
40564         * tests/test-fprintf-posix.sh: Update.
40565         * tests/test-printf-posix.sh: Update.
40566         * tests/test-vfprintf-posix.sh: Update.
40567         * tests/test-vprintf-posix.sh: Update.
40568         Reported by Ralf Wildenhues.
40569
40570 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
40571
40572         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
40573         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
40574         GCC 4.2, which otherwise issues a lot of warnings.
40575         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
40576         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
40577         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
40578         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
40579         it should no longer be needed.
40580         * lib/string_.h: Likewise.
40581         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
40582         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
40583         * modules/inttypes (inttypes.h): Likewise.
40584         * modules/math (math.h): Likewise.
40585         * modules/search (search.h): Likewise.
40586         * modules/signal (signal.h): Likewise.
40587         * modules/stdint (stdint.h): Likewise.
40588         * modules/stdio (stdio.h): Likewise.
40589         * modules/stdlib (stdlib.h): Likewise.
40590         * modules/string (string.h): Likewise.
40591         * modules/sys_time (sys/time.h): Likewise.
40592         * modules/time (time.h): Likewise.
40593         * modules/wchar (wchar.h): Likewise.
40594         * modules/wctype (wtype.h): Likewise.
40595
40596 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40597
40598         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
40599
40600 2007-05-13  Bruno Haible  <bruno@clisp.org>
40601
40602         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
40603         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40604         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
40605         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40606         (gl_PREREQ_STRTOK_R): Don't require it here.
40607
40608 2007-05-13  Bruno Haible  <bruno@clisp.org>
40609
40610         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
40611         when used in C++ mode.
40612
40613 2007-05-12  Bruno Haible  <bruno@clisp.org>
40614
40615         * lib/linebuffer.h: Tweak doc.
40616         * lib/linebuffer.c: Likewise.
40617
40618 2007-05-12  James Youngman  <jay@gnu.org>
40619
40620         * lib/linebuffer.c (readlinebuffer_delim): New function,
40621         like readlinebuffer, but use a caller-specified delimiter.
40622         (readlinebuffer): Just call readlinebuffer_delim with '\n'
40623         as the delimiter.
40624         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
40625
40626 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40627
40628         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
40629         * modules/openat (Files): Remove openat-die.c.
40630         (Depends-on): Add openat-die.
40631         * modules/openat-die: New module.
40632
40633 2007-05-06  Bruno Haible  <bruno@clisp.org>
40634
40635         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
40636         Update with info about Cygwin.
40637         * doc/functions/fprintf.texi: Update.
40638         * doc/functions/printf.texi: Update.
40639         * doc/functions/snprintf.texi: Update.
40640         * doc/functions/sprintf.texi: Update.
40641         * doc/functions/vfprintf.texi: Update.
40642         * doc/functions/vprintf.texi: Update.
40643         * doc/functions/vsnprintf.texi: Update.
40644         * doc/functions/vsprintf.texi: Update.
40645         Reported by Eric Blake.
40646
40647 2007-05-06  Bruno Haible  <bruno@clisp.org>
40648
40649         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
40650         padding ourselves for the floating-point directives.
40651         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
40652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
40653         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40654         gl_PRINTF_FLAG_ZERO and test its result. Invoke
40655         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
40656         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40657         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
40658         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40659         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40660         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40661         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40662         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40663         * tests/test-snprintf-posix.h (test_function): Also check the width
40664         and some flags in the %f directive.
40665         * tests/test-sprintf-posix.h (test_function): Likewise.
40666         * tests/test-vasnprintf-posix.c (test_function): Likewise.
40667         * tests/test-vasprintf-posix.c (test_function): Likewise.
40668         * doc/functions/fprintf.texi: Update.
40669         * doc/functions/printf.texi: Update.
40670         * doc/functions/snprintf.texi: Update.
40671         * doc/functions/sprintf.texi: Update.
40672         * doc/functions/vfprintf.texi: Update.
40673         * doc/functions/vprintf.texi: Update.
40674         * doc/functions/vsnprintf.texi: Update.
40675         * doc/functions/vsprintf.texi: Update.
40676
40677 2007-05-06  Bruno Haible  <bruno@clisp.org>
40678
40679         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
40680         pass the ' flag character to sprintf or snprintf.
40681         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
40682         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
40683         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40684         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
40685         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
40686         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40687         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
40688         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40689         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40690         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40691         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40692         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40693         * tests/test-snprintf-posix.h (test_function): Also check the grouping
40694         flag.
40695         * tests/test-sprintf-posix.h (test_function): Likewise.
40696         * tests/test-vasnprintf-posix.c (test_function): Likewise.
40697         * tests/test-vasprintf-posix.c (test_function): Likewise.
40698         * doc/functions/fprintf.texi: Update.
40699         * doc/functions/printf.texi: Update.
40700         * doc/functions/snprintf.texi: Update.
40701         * doc/functions/sprintf.texi: Update.
40702         * doc/functions/vfprintf.texi: Update.
40703         * doc/functions/vprintf.texi: Update.
40704         * doc/functions/vsnprintf.texi: Update.
40705         * doc/functions/vsprintf.texi: Update.
40706
40707 2007-05-01  Bruno Haible  <bruno@clisp.org>
40708
40709         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
40710
40711 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
40712
40713         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
40714         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
40715
40716 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
40717
40718         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
40719         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
40720         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
40721
40722 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
40723
40724         * lib/argp-help.c (struct hol_entry): New member `ord'.
40725         (HOL_ENTRY_PTRCMP): Use ord for comparison
40726         (hol_sort): Initialize ord.
40727
40728 2007-05-01  Bruno Haible  <bruno@clisp.org>
40729
40730         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
40731         Reported by Eric Blake.
40732         * doc/gnulib.texi (Function Substitutes): Update.
40733
40734 2007-05-01  Bruno Haible  <bruno@clisp.org>
40735
40736         * doc/functions.texi: Remove file, now redundant through
40737         doc/functions/*.texi.
40738
40739 2007-05-01  Bruno Haible  <bruno@clisp.org>
40740
40741         * modules/argp (Depends-on): Add sleep.
40742
40743 2007-05-01  Bruno Haible  <bruno@clisp.org>
40744
40745         * modules/sleep-tests: New file.
40746         * tests/test-sleep.c: New file.
40747
40748         * modules/sleep: New file.
40749         * lib/sleep.c: New file.
40750         * m4/sleep.m4: New file.
40751         * lib/unistd_.h (sleep): New declaration.
40752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
40753         HAVE_SLEEP.
40754         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
40755         * doc/functions/sleep.texi: Document the sleep module.
40756
40757 2007-05-01  Bruno Haible  <bruno@clisp.org>
40758
40759         * lib/sigprocmask.h: Remove file.
40760         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
40761         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
40762         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
40763         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
40764         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
40765         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
40766         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
40767         HAVE_SIGSET_T as a shell variable.
40768         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
40769         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
40770         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
40771         (Depends-on): Add signal. Remove verify.
40772         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
40773         (Include): Mention <signal.h> instead of sigprocmask.h.
40774         * NEWS: Mention the change.
40775         * lib/fatal-signal.c: Don't include sigprocmask.h.
40776
40777 2007-05-01  Bruno Haible  <bruno@clisp.org>
40778
40779         * modules/signal: New file.
40780         * lib/signal_.h: New file.
40781         * m4/signal_h.m4: New file.
40782
40783 2007-05-01  Bruno Haible  <bruno@clisp.org>
40784
40785         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
40786         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
40787         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
40788         HAVE_WCTYPE_CTMP_BUG into wctype.h.
40789
40790 2007-05-01  Bruno Haible  <bruno@clisp.org>
40791
40792         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
40793         configure time.
40794         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
40795         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
40796         * modules/sys_stat (Makefile.am): Substitute their values into
40797         sys/stat.h.
40798
40799 2007-05-01  Bruno Haible  <bruno@clisp.org>
40800
40801         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
40802         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
40803         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
40804
40805 2007-05-01  Bruno Haible  <bruno@clisp.org>
40806
40807         * doc/header/assert.texi: Undo last change: don't mention the gnulib
40808         'assert' module here.
40809
40810 2007-05-01  Bruno Haible  <bruno@clisp.org>
40811
40812         * doc/functions/*.texi: New files.
40813         * doc/functions/google-ranking.txt: New file.
40814         * doc/gnulib.texi (Function Substitutes): New chapter.
40815         (ctime, inet_ntoa): Remove sections.
40816         * doc/ctime.texi: Remove file.
40817         * doc/inet_ntoa.texi: Remove file.
40818         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
40819         dependencies.
40820         (%.info): New rule, specifying a --reference-limit.
40821
40822 2007-05-01  Bruno Haible  <bruno@clisp.org>
40823
40824         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
40825
40826 2007-05-01  Bruno Haible  <bruno@clisp.org>
40827
40828         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
40829         the portability of 'mkdir' to mingw systems.
40830
40831 2007-05-01  Bruno Haible  <bruno@clisp.org>
40832
40833         * doc/headers/google-ranking.txt: New file.
40834
40835 2007-04-30  Eric Blake  <ebb9@byu.net>
40836
40837         Prefer fseeko to fseek.
40838         * modules/getpass (Depends-on): Add fseeko.
40839         * lib/getpass.c (getpass): Use fseeko, not fseek.
40840
40841 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
40842
40843         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
40844         assumes the sorting is stable, while most qsort implementations
40845         are not.  Use argument addresses to ensure they never compare as
40846         equal.
40847
40848         * tests/test-argp-2.sh (usage-indent test): Fix output
40849         (func_compare): Restore diff options
40850         * tests/test-argp.c: Restore #include "progname.h"
40851
40852 2007-04-29  Bruno Haible  <bruno@clisp.org>
40853
40854         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
40855         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40856         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
40857         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40858         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
40859         (configure.ac): Define CHECK_SNPRINTF_POSIX.
40860         (TESTS, check_PROGRAMS): Add test-snprintf.
40861         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
40862         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
40863         (TESTS, check_PROGRAMS): Add test-vsnprintf.
40864         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
40865         assertions that fail on HP-UX, OSF/1, or IRIX.
40866         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
40867
40868 2007-04-29  Bruno Haible  <bruno@clisp.org>
40869
40870         * MODULES.html.sh (posix_functions): Remove 'contents'.
40871
40872 2007-04-29  Karl Berry  <karl@gnu.org>
40873
40874         * config/srclist.txt (gendocs_template_min): new entry.
40875
40876 2007-04-29  Bruno Haible  <bruno@clisp.org>
40877
40878         Work around fpurge bug on BSD systems.
40879         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
40880         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
40881         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
40882         fpurge to rpl_fpurge if the system already has this function.
40883         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
40884         the case where the system already has this function. Correct invariants
40885         on BSD systems.
40886         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
40887         BSD systems.
40888
40889 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40890
40891         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
40892         proposed by Sven Verdoolaege.
40893
40894         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
40895         options.
40896         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
40897         (usage and help tests): Update
40898
40899 2007-04-29  Bruno Haible  <bruno@clisp.org>
40900
40901         * tests/test-fflush.c (main): Use a file of size 17, not 10.
40902         Print more information in case of failure. Disable a test on BeOS.
40903
40904 2007-04-29  Bruno Haible  <bruno@clisp.org>
40905
40906         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
40907         This helps debugging on systems on which no gdb is available.
40908
40909 2007-04-29  Bruno Haible  <bruno@clisp.org>
40910
40911         * lib/freading.h: Improve comments.
40912         * lib/fwriting.h: Likewise.
40913         * tests/test-freading.c (main): Don't check freading immediately after
40914         repositioning. Needed for glibc.
40915
40916 2007-04-29  Bruno Haible  <bruno@clisp.org>
40917
40918         * lib/freading.c (freading): Trivial simplification.
40919
40920 2007-04-28  Bruno Haible  <bruno@clisp.org>
40921
40922         * tests/test-fwriting.c (main): Also test the interaction between
40923         fflush and fwriting.
40924         * modules/fwriting-tests (Depends-on): Add fflush.
40925
40926         * tests/test-freading.c (main): Also test the interaction between
40927         fflush and freading.
40928         * modules/freading-tests (Depends-on): Add fflush.
40929
40930 2007-04-28  Bruno Haible  <bruno@clisp.org>
40931
40932         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
40933         fseeko and ftello.
40934         Suggested by Eric Blake.
40935
40936 2007-04-28  Jim Meyering  <jim@meyering.net>
40937
40938         Avoid false-negative in gl_STDINT_H's C99 conformance test.
40939         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
40940         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
40941
40942 2007-04-27  Eric Blake  <ebb9@byu.net>
40943
40944         * doc/headers/assert.texi (assert.h): Document assert module use.
40945
40946 2007-04-27  Bruno Haible  <bruno@clisp.org>
40947
40948         * doc/headers/*.texi: New files.
40949         * doc/gnulib.texi (Header File Substitutes): New chapter.
40950         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
40951         dependencies.
40952         (standards.info ,standards.html, standards.dvi): Update dependencies.
40953         (mostlyclean, clean): New targets.
40954
40955 2007-04-27  Bruno Haible  <bruno@clisp.org>
40956
40957         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
40958         * modules/sysexits (Files, Makefile.am): Update.
40959
40960         * lib/sys_socket_.h: Renamed from lib/socket_.h.
40961         * modules/sys_socket (Files, Makefile.am): Update.
40962
40963         * lib/sys_stat_.h: Renamed from lib/stat_.h.
40964         * modules/sys_stat (Files, Makefile.am): Update.
40965
40966 2007-04-27  Eric Blake  <ebb9@byu.net>
40967
40968         * lib/freading.h: Improve comments.
40969         * lib/fwriting.h: Likewise.
40970         * lib/fflush.c: Likewise.
40971
40972         Fix closein for mingw.
40973         * modules/closein-tests: Add tests for closein.
40974         * tests/test-closein.c: New file.
40975         * tests/test-closein.sh: Likewise.
40976         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
40977         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
40978
40979 2007-04-27  Bruno Haible  <bruno@clisp.org>
40980
40981         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
40982         version is < 6.
40983         * lib/math_.h [__DECC]: Likewise.
40984         * lib/stdio_.h [__DECC]: Likewise.
40985         * lib/stdlib_.h [__DECC]: Likewise.
40986         * lib/string_.h [__DECC]: Likewise.
40987         * lib/time_.h [__DECC]: Likewise.
40988         * lib/wchar_.h [__DECC]: Likewise.
40989         * lib/wctype_.h [__DECC]: Likewise.
40990
40991 2007-04-27  Bruno Haible  <bruno@clisp.org>
40992
40993         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
40994
40995 2007-04-27  Bruno Haible  <bruno@clisp.org>
40996
40997         * lib/fflush.c: Add comments.
40998         * modules/fpurge-tests (Depends-on): Add fflush.
40999         * modules/freadable-tests (Depends-on): Likewise.
41000         * modules/fwritable-tests (Depends-on): Likewise.
41001
41002 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
41003
41004         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
41005         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
41006         Report by Bruno Haible <bruno@clisp.org>.
41007
41008 2007-04-26  Eric Blake  <ebb9@byu.net>
41009
41010         Fix fflush on mingw.
41011         * modules/fflush (Depends-on): Add freading.
41012         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
41013         but unread data.
41014
41015 2007-04-26  Eric Blake  <ebb9@byu.net>
41016         and Bruno Haible  <bruno@clisp.org>
41017
41018         Implement freading and fwriting.
41019         * lib/freading.c: New file.
41020         * lib/freading.h: Likewise.
41021         * m4/freading.m4: Likewise.
41022         * modules/freading: Likewise.
41023         * modules/freading-tests: Likewise.
41024         * tests/test-freading.c: Likewise.
41025         * lib/fwriting.c: New file.
41026         * lib/fwriting.h: Likewise.
41027         * m4/fwriting.m4: Likewise.
41028         * modules/fwriting: Likewise.
41029         * modules/fwriting-tests: Likewise.
41030         * tests/test-fwriting.c: Likewise.
41031         * MODULES.html.sh (File stream based Input/Output): Mention them.
41032
41033 2007-04-26  Bruno Haible  <bruno@clisp.org>
41034
41035         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
41036         'long' when we assume it.
41037         Suggested by Eric Blake.
41038
41039 2007-04-26  Bruno Haible  <bruno@clisp.org>
41040
41041         Ensure fseeko, ftello are declared on glibc systems.
41042         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
41043         * modules/fseeko (configure.ac-early): Likewise.
41044         * modules/ftello (configure.ac-early): Likewise.
41045         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
41046         AC_FUNC_FSEEKO for this.
41047         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
41048         (gl_CHECK_FSEEKO): Remove macro.
41049
41050 2007-04-26  Bruno Haible  <bruno@clisp.org>
41051
41052         * tests/test-fflush.c (main): Also check the ftell result after
41053         fflush and fseek/fseeko.
41054         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
41055         file descriptor position cache in the stream.
41056         * lib/fseeko.c (rpl_fseeko): Likewise.
41057
41058 2007-04-26  Bruno Haible  <bruno@clisp.org>
41059
41060         * modules/fflush-tests (Depends-on): Add fseeko.
41061
41062 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
41063             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41064
41065         * lib/argz_.h: ensure error_t definition is obtained in same
41066         mechanism system argz.h would have.
41067         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
41068         argz facilities are known bad.  Err on the side of caution if
41069         cross-compiling.
41070
41071 2007-04-25  Eric Blake  <ebb9@byu.net>
41072
41073         * lib/fpurge.c (includes): Use stdlib.h for free.
41074         * tests/test-fflush.c (main): Also test fflush-fseeko.
41075
41076 2007-04-25  Bruno Haible  <bruno@clisp.org>
41077
41078         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
41079         * lib/fseeko.c: New file.
41080         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
41081         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
41082         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
41083         gl_FUNC_FSEEKO.
41084         (gl_FUNC_FSEEKO): Invoke it.
41085         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
41086         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
41087         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
41088
41089 2007-04-25  Bruno Haible  <bruno@clisp.org>
41090
41091         * modules/fflush (Depends-on): Add ftello.
41092
41093 2007-04-25  Bruno Haible  <bruno@clisp.org>
41094
41095         * modules/ftello-tests: New file.
41096         * tests/test-ftello.c: New file.
41097
41098         * modules/ftello: New file.
41099         * m4/ftello.m4: New file.
41100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
41101         HAVE_FTELLO.
41102         * lib/stdio_.h (ftello): New declaration.
41103         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
41104         HAVE_FTELLO.
41105
41106 2007-04-25  Bruno Haible  <bruno@clisp.org>
41107
41108         * modules/fseeko-tests: New file.
41109         * tests/test-fseeko.c: New file.
41110
41111         * modules/fseeko: New file.
41112         * m4/fseeko.m4: New file.
41113         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
41114         HAVE_FSEEKO.
41115         * lib/stdio_.h (fseeko): New declaration.
41116         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
41117         HAVE_FSEEKO.
41118
41119 2007-04-25  Bruno Haible  <bruno@clisp.org>
41120
41121         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
41122
41123 2007-04-25  Bruno Haible  <bruno@clisp.org>
41124
41125         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
41126         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
41127         * tests/test-unistd.c: Likewise.
41128         * tests/test-fcntl.c: Likewise.
41129
41130 2007-04-23  Eric Blake  <ebb9@byu.net>
41131
41132         * lib/fflush.c: Fix missing include.
41133         Reported by Bruno Haible.
41134
41135 2007-04-23  Bruno Haible  <bruno@clisp.org>
41136
41137         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
41138         Reported by Eric Blake.
41139
41140 2007-04-23  Bruno Haible  <bruno@clisp.org>
41141
41142         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
41143
41144 2007-04-23  Bruno Haible  <bruno@clisp.org>
41145
41146         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
41147
41148 2007-04-23  Bruno Haible  <bruno@clisp.org>
41149
41150         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
41151         Needed on HP-UX 11.
41152
41153 2007-04-16  Eric Blake  <ebb9@byu.net>
41154
41155         Make fflush rely on fpurge.
41156         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
41157         open coding all variants.
41158         * modules/fflush (Depends-on): Add fpurge and unistd.
41159         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
41160         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
41161
41162         Fix --with-tests compilation on cygwin.
41163         * modules/argmatch-tests (Makefile.am): List gnulib library first
41164         in LDADD.
41165         * modules/argp-tests (Makefile.am): Likewise.
41166         * modules/array-list-tests (Makefile.am): Likewise.
41167         * modules/array-oset-tests (Makefile.am): Likewise.
41168         * modules/avltree-list-tests (Makefile.am): Likewise.
41169         * modules/avltree-oset-tests (Makefile.am): Likewise.
41170         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41171         * modules/carray-list-tests (Makefile.am): Likewise.
41172         * modules/dirname-tests (Makefile.am): Likewise.
41173         * modules/frexp-tests (Makefile.am): Likewise.
41174         * modules/isnanl-tests (Makefile.am): Likewise.
41175         * modules/linked-list-tests (Makefile.am): Likewise.
41176         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41177         * modules/lock-tests (Makefile.am): Likewise.
41178         * modules/rbtree-list-tests (Makefile.am): Likewise.
41179         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41180         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41181         * modules/tls-tests (Makefile.am): Likewise.
41182         * modules/tsearch-tests (Makefile.am): Likewise.
41183         * modules/xvasprintf-tests (Makefile.am): Likewise.
41184
41185         Fix fpurge for cygwin.
41186         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
41187         value.
41188         * modules/fpurge-tests (Depends-on): Clean up trash.
41189
41190 2007-04-16  Simon Josefsson  <simon@josefsson.org>
41191
41192         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
41193
41194         * m4/autobuild.m4: Re-indent.
41195
41196 2007-04-13  Bruno Haible  <bruno@clisp.org>
41197
41198         * modules/fpurge-tests: New file.
41199         * tests/test-fpurge.c: New file.
41200
41201         * modules/fpurge: New file.
41202         * lib/fpurge.h: New file.
41203         * lib/fpurge.c: New file.
41204         * m4/fpurge.m4: New file.
41205
41206 2007-04-13  Bruno Haible  <bruno@clisp.org>
41207
41208         * modules/fbufmode-tests: New file.
41209         * tests/test-fbufmode.c: New file.
41210
41211         * modules/fbufmode: New file.
41212         * lib/fbufmode.h: New file.
41213         * lib/fbufmode.c: New file.
41214         * m4/fbufmode.m4: New file.
41215
41216 2007-04-13  Bruno Haible  <bruno@clisp.org>
41217
41218         * modules/fwritable-tests: New file.
41219         * tests/test-fwritable.c: New file.
41220
41221         * modules/fwritable: New file.
41222         * lib/fwritable.h: New file.
41223         * lib/fwritable.c: New file.
41224         * m4/fwritable.m4: New file.
41225
41226 2007-04-13  Bruno Haible  <bruno@clisp.org>
41227
41228         * modules/freadable-tests: New file.
41229         * tests/test-freadable.c: New file.
41230
41231         * modules/freadable: New file.
41232         * lib/freadable.h: New file.
41233         * lib/freadable.c: New file.
41234         * m4/freadable.m4: New file.
41235
41236 2007-04-13  Bruno Haible  <bruno@clisp.org>
41237
41238         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
41239         MOSTLYCLEANFILES.
41240
41241 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
41242
41243         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
41244         gzip bootstrap.conf to avoid dragging in i18n machinery.
41245         (gnulib_tool_option): Use it.
41246
41247 2007-04-13  Bruno Haible  <bruno@clisp.org>
41248
41249         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
41250         %F directives.
41251         * tests/test-vasprintf-posix.c (test_function): Likewise.
41252         * tests/test-snprintf-posix.h (test_function): Likewise.
41253         * tests/test-sprintf-posix.h (test_function): Likewise.
41254         * tests/test-fprintf-posix.h (test_function): Likewise.
41255         * tests/test-printf-posix.h (test_function): Likewise.
41256         * tests/test-fprintf-posix.out: Likewise.
41257
41258 2007-04-13  Bruno Haible  <bruno@clisp.org>
41259
41260         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
41261         * modules/tls-tests (configure.ac): Likewise.
41262         Reported by Arto C. Nirkko <anirkko@insel.ch>.
41263
41264 2007-04-13  Bruno Haible  <bruno@clisp.org>
41265
41266         * lib/tls.c (glthread_tls_get): Fix return type.
41267         Patch by Arto C. Nirkko <anirkko@insel.ch>.
41268
41269 2007-04-12  Eric Blake  <ebb9@byu.net>
41270
41271         * modules/gettime (Depends-on): Remove gettime.
41272         Reported by Dmitry V. Levin.
41273
41274 2007-04-12  Bruno Haible  <bruno@clisp.org>
41275
41276         * modules/fflush (Include): Mention <stdio.h>.
41277         * modules/strtoimax (Include): Mention <inttypes.h>.
41278         * modules/strtoumax (Include): Likewise.
41279
41280 2007-04-12  Eric Blake  <ebb9@byu.net>
41281
41282         * .cvsignore: New file.
41283         * .gitignore: Likewise.
41284
41285 2007-04-12  Bruno Haible  <bruno@clisp.org>
41286
41287         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
41288         not before, since $(LDADD) often contains libgnu.a.
41289         * modules/striconv-tests (test_striconv_LDADD): Likewise.
41290         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
41291         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
41292         Needed on Cygwin.
41293
41294 2007-04-12  Eric Blake  <ebb9@byu.net>
41295
41296         Work around glibc's failure to flush stdin on fclose.
41297         * lib/closein.c (close_stdin): Flush stdin before closing.
41298
41299         Work around glibc's failure to reset seekable stdin on exit.
41300         * modules/closein: New module.
41301         * lib/closein.c: New file.
41302         * lib/closein.h: Likewise.
41303         * m4/closein.m4: Likewise.
41304         * MODULES.html.sh (File stream based Input/Output): Document it.
41305
41306 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41307
41308         * gnulib-tool: Rename generated 'autobuild' script to
41309         'do-autobuild' in --create-megatestdir output.
41310
41311         * doc/gnulib.texi (Build robot for gnulib): Fix.
41312
41313 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41314
41315         * modules/sysexits (Depends-on): Add absolute-header.
41316
41317 2007-04-12  Eric Blake  <ebb9@byu.net>
41318
41319         No need to preserve errno on success.
41320         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
41321         Reported by Bruno Haible.
41322
41323 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41324
41325         * MODULES.html.sh (Support for maintaining and releasing
41326         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
41327
41328 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41329
41330         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
41331
41332 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41333
41334         * modules/autobuild: New module.
41335
41336         * m4/autobuild.m4: New file.
41337
41338 2007-04-11  Bruno Haible  <bruno@clisp.org>
41339
41340         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
41341         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
41342         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
41343         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
41344         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41345         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41346         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41347         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41348         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41349         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41350         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
41351         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41352         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41353         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
41354         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41355         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41356         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
41357         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41358         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41359         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
41360         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41361         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41362         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
41363         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41364         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41365         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
41366         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41367         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41368         Reported by Eric Blake.
41369
41370 2007-04-11  Bruno Haible  <bruno@clisp.org>
41371
41372         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
41373
41374 2007-04-10  Bruno Haible  <bruno@clisp.org>
41375
41376         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
41377         for NaN and Infinity. Needed on FreeBSD 6.1.
41378         * tests/test-vasnprintf-posix.c (test_function): Undo last change
41379         regarding results for "%010a" of Infinity and NaN.
41380         * tests/test-vasprintf-posix.c (test_function): Likewise.
41381         * tests/test-snprintf-posix.h (test_function): Likewise.
41382         * tests/test-sprintf-posix.h (test_function): Likewise.
41383         * tests/test-fprintf-posix.h (test_function): Likewise.
41384         * tests/test-printf-posix.h (test_function): Likewise.
41385         * tests/test-fprintf-posix.out: Likewise.
41386
41387 2007-04-10  Bruno Haible  <bruno@clisp.org>
41388
41389         * modules/locale-tests: New file.
41390         * tests/test-locale.c: New file.
41391
41392         * modules/locale: New file.
41393         * lib/locale_.h: New file.
41394         * m4/locale_h.m4: New file.
41395
41396 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
41397             Bruno Haible  <bruno@clisp.org>
41398
41399         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
41400         be determined, test for availability of the copysignf, copysign,
41401         copysignl functions.
41402         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
41403         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
41404         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
41405
41406 2007-04-09  Eric Blake  <ebb9@byu.net>
41407
41408         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
41409         * modules/stdio (Makefile.am): Support fflush.
41410         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41411         * modules/fflush: New file.
41412         * lib/fflush.c: Likewise.
41413         * m4/fflush.m4: Likewise.
41414         * modules/fflush-tests: New test.
41415         * tests/test-fflush.c: Likewise.
41416         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
41417
41418 2007-04-06  Bruno Haible  <bruno@clisp.org>
41419
41420         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
41421         (VASNPRINTF): Use signbit for faster determination whether to print a
41422         minus sign.
41423         * modules/vasnprintf (Files): Remove lib/float+.h.
41424         * modules/fprintf-posix (Depends-on): Add signbit.
41425         * modules/snprintf-posix (Depends-on): Likewise.
41426         * modules/sprintf-posix (Depends-on): Likewise.
41427         * modules/vasnprintf-posix (Depends-on): Likewise.
41428         * modules/vasprintf-posix (Depends-on): Likewise.
41429         * modules/vfprintf-posix (Depends-on): Likewise.
41430         * modules/vsnprintf-posix (Depends-on): Likewise.
41431         * modules/vsprintf-posix (Depends-on): Likewise.
41432
41433 2007-04-06  Bruno Haible  <bruno@clisp.org>
41434
41435         * tests/test-frexp.c (main): Test also the sign bit of zero results.
41436         * tests/test-frexpl.c (main): Likewise.
41437         * tests/test-ldexpl.c (main): Likewise.
41438         * modules/frexp-tests (Depends-on): Add signbit.
41439         * modules/frexpl-tests (Depdends-on): Likewise.
41440         * modules/ldexpl-tests (Depdends-on): Likewise.
41441
41442 2007-04-06  Bruno Haible  <bruno@clisp.org>
41443
41444         * modules/signbit-tests: New file.
41445         * tests/test-signbit.c: New file.
41446
41447         * modules/signbit: New file.
41448         * lib/signbitf.c: New file.
41449         * lib/signbitd.c: New file.
41450         * lib/signbitl.c: New file.
41451         * m4/signbit.m4: New file.
41452         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
41453         (signbit): New macro.
41454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
41455         REPLACE_SIGNBIT.
41456         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
41457         REPLACE_FREXPL into math.h.
41458
41459 2007-04-06  Bruno Haible  <bruno@clisp.org>
41460
41461         * modules/isnanf-nolibm-tests: New file.
41462         * tests/test-isnanf.c: New file.
41463
41464         * modules/isnanf-nolibm: New file.
41465         * lib/isnanf.h: New file.
41466         * lib/isnanf.c: New file.
41467         * lib/isnan.c: Consider the USE_FLOAT macro.
41468         * m4/isnanf.m4: New file.
41469
41470 2007-04-06  Bruno Haible  <bruno@clisp.org>
41471
41472         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
41473         (Link): New section.
41474
41475         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
41476
41477 2007-04-06  Bruno Haible  <bruno@clisp.org>
41478
41479         Assume the 'long double' type.
41480         * m4/longdouble.m4: Remove file.
41481         * config/srclist.txt: Don't mention longdouble.m4.
41482         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
41483         * lib/float+.h: Likewise.
41484         * lib/frexp.c: Likewise.
41485         * lib/printf-args.h: Likewise.
41486         * lib/printf-args.c: Likewise.
41487         * lib/printf-frexp.c: Likewise.
41488         * lib/printf-parse.c: Likewise.
41489         * lib/vasnprintf.c: Likewise.
41490         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
41491         * m4/intl.m4: Likewise.
41492         * m4/isnanl.m4: Likewise.
41493         * m4/printf.m4: Likewise.
41494         * m4/printf-frexpl.m4: Likewise.
41495         * m4/vasnprintf.m4: Likewise.
41496         * modules/allocsa (Files): Remove m4/longdouble.m4.
41497         * modules/gettext (Files): Likewise.
41498         * modules/relocatable-prog-wrapper (Files): Likewise.
41499         * modules/vasnprintf (Files): Likewise.
41500         * modules/isnanl (Files): Likewise.
41501         (Include): Simplify.
41502         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
41503         (Include): Simplify.
41504         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
41505         (Include): Simplify.
41506         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
41507         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41508         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
41509         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41510         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
41511         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41512         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
41513         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41514         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
41515         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41516         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
41517         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41518         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
41519         * tests/test-isnanl.c: Likewise.
41520         * tests/test-snprintf-posix.h: Likewise.
41521         * tests/test-sprintf-posix.h: Likewise.
41522         * tests/test-vasnprintf-posix.c: Likewise.
41523         * tests/test-vasnprintf-posix2.c: Likewise.
41524         * tests/test-vasprintf-posix.c: Likewise.
41525
41526 2007-04-06  Bruno Haible  <bruno@clisp.org>
41527
41528         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
41529         * lib/math_.h [__DECC]: Include the overridden include file through
41530         #include_next, outside the double-inclusion guard.
41531         * lib/stdio_.h [__DECC]: Likewise.
41532         * lib/stdlib_.h [__DECC]: Likewise.
41533         * lib/string_.h [__DECC]: Likewise.
41534         * lib/time_.h [__DECC]: Likewise.
41535         * lib/wchar_.h [__DECC]: Likewise.
41536         * lib/wctype_.h [__DECC]: Likewise.
41537         * lib/inttypes_.h [__DECC]: Likewise.
41538         Reported by Albert Chin <china@thewrittenword.com> in
41539         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
41540
41541 2007-04-04  Eric Blake  <ebb9@byu.net>
41542
41543         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
41544         1.5.x.
41545
41546 2007-04-04  Bruno Haible  <bruno@clisp.org>
41547
41548         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
41549         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
41550
41551 2007-04-04  Bruno Haible  <bruno@clisp.org>
41552
41553         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
41554         results for "%010a" of Infinity and NaN.
41555         * tests/test-vasprintf-posix.c (test_function): Likewise.
41556         * tests/test-snprintf-posix.h (test_function): Likewise.
41557         * tests/test-sprintf-posix.h (test_function): Likewise.
41558         * tests/test-fprintf-posix.h (test_function): Remove these tests.
41559         * tests/test-printf-posix.h (test_function): Likewise.
41560         * tests/test-fprintf-posix.out: Update.
41561         Needed for FreeBSD 6.1.
41562
41563 2007-04-04  Bruno Haible  <bruno@clisp.org>
41564
41565         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
41566         directly used by the gnulib modules nor by gnulib-tool.
41567
41568 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
41569
41570         * DEPENDENCIES: Give overall description of version dependency
41571         desirability.  Use more-typical names for apps.
41572         Add shell, coreutils, diffutils, grep, tar, gzip.
41573
41574 2007-04-04  Simon Josefsson  <simon@josefsson.org>
41575
41576         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
41577
41578 2007-04-04  Karl Berry  <karl@gnu.org>
41579
41580         * MODULES.html.sh (func_module): missing '.
41581
41582 2007-04-03  Bruno Haible  <bruno@clisp.org>
41583
41584         * modules/argmatch-tests (Makefile.am): New variable
41585         test_argmatch_LDADD.
41586         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
41587         * modules/array-list-tests (Makefile.am): New variable
41588         test_array_list_LDADD.
41589         * modules/array-oset-tests (Makefile.am): New variable
41590         test_array_oset_LDADD.
41591         * modules/avltree-list-tests (Makefile.am): New variable
41592         test_avltree_list_LDADD.
41593         * modules/avltree-oset-tests (Makefile.am): New variable
41594         test_avltree_oset_LDADD.
41595         * modules/avltreehash-list-tests (Makefile.am): New variable
41596         test_avltreehash_list_LDADD.
41597         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
41598         test_canonicalize_lgpl_LDADD.
41599         * modules/carray-list-tests (Makefile.am): New variable
41600         test_carray_list_LDADD.
41601         * modules/dirname-tests (Makefile.am): New variable
41602         test_dirname_LDADD.
41603         * modules/linked-list-tests (Makefile.am): New variable
41604         test_linked_list_LDADD.
41605         * modules/linkedhash-list-tests (Makefile.am): New variable
41606         test_linkedhash_list_LDADD.
41607         * modules/rbtree-list-tests (Makefile.am): New variable
41608         test_rbtree_list_LDADD.
41609         * modules/rbtree-oset-tests (Makefile.am): New variable
41610         test_rbtree_oset_LDADD.
41611         * modules/rbtreehash-list-tests (Makefile.am): New variable
41612         test_rbtreehash_list_LDADD.
41613         * modules/xvasprintf-tests (Makefile.am): New variable
41614         test_xvasprintf_LDADD.
41615         Reported by Eric Blake.
41616
41617 2007-04-03  Eric Blake  <ebb9@byu.net>
41618
41619         * DEPENDENCIES: Weaken m4 requirements.
41620
41621 2007-04-03  Bruno Haible  <bruno@clisp.org>
41622
41623         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
41624         * modules/isnanl-tests (configure.ac): Likewise.
41625
41626 2007-04-03  Ben Pfaff  <blp@gnu.org>
41627
41628         * modules/iconv_open: Add $(srcdir)/ to source directory
41629         references in Makefile fragments that call gperf, to fix VPATH
41630         builds.
41631
41632 2007-04-03  Bruno Haible  <bruno@clisp.org>
41633
41634         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
41635         * lib/ldexpl.c: Undo last change.
41636
41637 2007-04-03  Bruno Haible  <bruno@clisp.org>
41638
41639         * modules/printf-frexpl (Depends-on): Undo last change.
41640         (Files): Add m4/ldexpl.m4.
41641
41642 2007-04-03  Bruno Haible  <bruno@clisp.org>
41643
41644         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
41645         * modules/isnanl (Link): New section.
41646
41647         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
41648         * modules/frexp (Link): New section.
41649
41650         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
41651         * modules/frexpl (Link): New section.
41652
41653         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
41654         * modules/ldexpl (Link): New section.
41655
41656 2007-04-03  Bruno Haible  <bruno@clisp.org>
41657
41658         * modules/TEMPLATE-EXTENDED: New file.
41659         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
41660
41661 2007-04-03  Bruno Haible  <bruno@clisp.org>
41662
41663         * DEPENDENCIES: New file.
41664         Suggested by Simon Josefsson.
41665
41666 2007-04-03  Bruno Haible  <bruno@clisp.org>
41667
41668         * doc/gnulib.texi: Escape @.
41669
41670 2007-04-03  James Youngman  <jay@gnu.org>
41671         and Paul Eggert  <eggert@cs.ucla.edu>
41672
41673         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
41674         birthtime on all systems that have birthtime, not just those which
41675         use st_birthtimensec rather than st_birthtim.  Putting zero in
41676         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
41677         that the birth time is not available for files on an NFS mount.
41678
41679 2007-04-03  Simon Josefsson  <simon@josefsson.org>
41680
41681         * modules/memxor: Move back from crypto/, suggested by Bruno.
41682         * modules/crypto/hmac-sha1: Fix memxor dependency.
41683
41684         * modules/crypto/gc: Moved from ../.
41685
41686 2007-04-02  Eric Blake  <ebb9@byu.net>
41687
41688         * lib/ldexpl.c (includes): Avoid libm.
41689
41690         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
41691
41692 2007-04-02  Bruno Haible  <bruno@clisp.org>
41693
41694         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
41695         on IRIX.
41696
41697 2007-04-02  Bruno Haible  <bruno@clisp.org>
41698
41699         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
41700         x86 or x86_64 platforms running MacOS X.
41701         Reported by Ryan Schmidt <@ryandesign.com>.
41702
41703 2007-04-02  Bruno Haible  <bruno@clisp.org>
41704
41705         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
41706         i386.
41707
41708 2007-04-01  Simon Josefsson  <simon@josefsson.org>
41709
41710         * modules/crypto/arcfour: Moved from ../.
41711         * modules/crypto/arcfour-tests: Moved from ../.
41712         * modules/crypto/arctwo: Moved from ../.
41713         * modules/crypto/arctwo-tests: Moved from ../.
41714         * modules/crypto/des: Moved from ../.
41715         * modules/crypto/des-tests: Moved from ../.
41716         * modules/crypto/gc-arcfour: Moved from ../.
41717         * modules/crypto/gc-arcfour-tests: Moved from ../.
41718         * modules/crypto/gc-arctwo: Moved from ../.
41719         * modules/crypto/gc-arctwo-tests: Moved from ../.
41720         * modules/crypto/gc-des: Moved from ../.
41721         * modules/crypto/gc-des-tests: Moved from ../.
41722         * modules/crypto/gc-hmac-md5: Moved from ../.
41723         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
41724         * modules/crypto/gc-hmac-sha1: Moved from ../.
41725         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
41726         * modules/crypto/gc-md2: Moved from ../.
41727         * modules/crypto/gc-md2-tests: Moved from ../.
41728         * modules/crypto/gc-md4: Moved from ../.
41729         * modules/crypto/gc-md4-tests: Moved from ../.
41730         * modules/crypto/gc-md5: Moved from ../.
41731         * modules/crypto/gc-md5-tests: Moved from ../.
41732         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
41733         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
41734         * modules/crypto/gc-random: Moved from ../.
41735         * modules/crypto/gc-rijndael: Moved from ../.
41736         * modules/crypto/gc-rijndael-tests: Moved from ../.
41737         * modules/crypto/gc-sha1: Moved from ../.
41738         * modules/crypto/gc-sha1-tests: Moved from ../.
41739         * modules/crypto/gc-tests: Moved from ../.
41740         * modules/crypto/hmac-md5: Moved from ../.
41741         * modules/crypto/hmac-md5-tests: Moved from ../.
41742         * modules/crypto/hmac-sha1: Moved from ../.
41743         * modules/crypto/hmac-sha1-tests: Moved from ../.
41744         * modules/crypto/md2: Moved from ../.
41745         * modules/crypto/md2-tests: Moved from ../.
41746         * modules/crypto/md4: Moved from ../.
41747         * modules/crypto/md4-tests: Moved from ../.
41748         * modules/crypto/md5: Moved from ../.
41749         * modules/crypto/md5-tests: Moved from ../.
41750         * modules/crypto/memxor: Moved from ../.
41751         * modules/crypto/rijndael: Moved from ../.
41752         * modules/crypto/rijndael-tests: Moved from ../.
41753         * modules/crypto/sha1: Moved from ../.
41754
41755 2007-03-30  James Youngman  <jay@gnu.org>
41756
41757         * tests/test-stat-time.c (prepare_test): use chmod() rather than
41758         rename() to change the ctime of a file (because ctime is unaffected
41759         by rename on jfs2 on AIX 5.1).
41760         (main): Start by doing cleanup, in case a previous run failed leaving
41761         test files behind.
41762
41763 2007-03-31  Bruno Haible  <bruno@clisp.org>
41764
41765         Support old proprietary implementations of iconv.
41766         * modules/iconv_open: New file.
41767         * lib/iconv_.h: New file.
41768         * m4/iconv_h.m4: New file.
41769         * lib/iconv_open.c: New file.
41770         * lib/iconv_open-aix.gperf: New file.
41771         * lib/iconv_open-hpux.gperf: New file.
41772         * lib/iconv_open-irix.gperf: New file.
41773         * lib/iconv_open-osf.gperf: New file.
41774         * m4/iconv_open.m4: New file.
41775         * modules/linebreak (Depends-on): Add iconv_open.
41776         * modules/striconv (Depends-on): Likewise.
41777         * modules/striconveh (Depends-on): Likewise.
41778         * modules/unicodeio (Depends-on): Likewise.
41779         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
41780         (iconv_t)(-1).
41781         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
41782         conversion if cd is (iconv_t)(-1).
41783         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
41784         is not possible.
41785
41786 2007-03-31  Bruno Haible  <bruno@clisp.org>
41787
41788         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
41789         work on Solaris either. Protect also second use of "autodetect_jp".
41790
41791 2007-03-31  Bruno Haible  <bruno@clisp.org>
41792
41793         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
41794         the function is not present.
41795
41796 2007-03-31  Bruno Haible  <bruno@clisp.org>
41797
41798         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
41799         the function is not present.
41800
41801 2007-03-31  Bruno Haible  <bruno@clisp.org>
41802
41803         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
41804         a bug in HP-UX iconv_open().
41805
41806 2007-03-31  Bruno Haible  <bruno@clisp.org>
41807
41808         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
41809         (Mathematics <math.h>): New section, add fpieee.
41810         (Input/output <stdio.h>): Add fseterr.
41811         (Mathematics <math.h>): New section, add printf-frexp.
41812         (Container data structures): Add sublist.
41813         (Core language properties): Add fpucw, inline.
41814         (Functions for greatest-width integer types <inttypes.h>): Add
41815         imaxabs, imaxdiv, inttypes.
41816         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
41817         isnanl-nolibm, ldexp.
41818         (Mathematics <math.h>): New section, add printf-frexpl.
41819         (Support for systems lacking POSIX:2001): Add fprintf-posix,
41820         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
41821         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
41822         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
41823         (Unicode string functions): Add unistr/u*-mbtoucr.
41824         (Java): Add javacomp-script, javaexec-script.
41825         (C#): Add csharpcomp-script, csharpexec-script.
41826         (Support for building libraries and executables): Add havelib,
41827         relocatable-*.
41828         (Support for maintaining and releasing projects): Renamed from
41829         'Support for maintaining and release projects'. Add announce-gen.
41830
41831 2007-03-31  Bruno Haible  <bruno@clisp.org>
41832
41833         * README: Talk primarily about git.
41834         (git and CVS): Renamed from CVS.
41835         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
41836         gnulib is available through git.
41837         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
41838
41839 2007-03-30  Bruno Haible  <bruno@clisp.org>
41840
41841         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
41842         * lib/poll_.h: Likewise.
41843         * lib/stat_.h: Likewise.
41844         * lib/sys_time_.h: Likewise.
41845         * lib/sysexit_.h: Likewise.
41846         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
41847         * lib/stdbool_.h: Likewise.
41848         * lib/byteswap_.h: Add double-inclusion guard.
41849
41850 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
41851
41852         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
41853
41854 2007-03-30  Karl Berry  <karl@gnu.org>
41855
41856         * config/srclist-update: double space after USA in the license
41857         substitution, since that's how it's usually (?) written.
41858
41859 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41860
41861         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
41862         reported by Bruno Haible.
41863
41864 2007-03-29  Bruno Haible  <bruno@clisp.org>
41865
41866         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
41867         a bug in AIX iconv().
41868
41869 2007-03-29  Bruno Haible  <bruno@clisp.org>
41870
41871         * modules/ldexpl-tests: New file.
41872         * tests/test-ldexpl.c: New file.
41873
41874 2007-03-29  Bruno Haible  <bruno@clisp.org>
41875
41876         * lib/ldexpl.c: Include fpucw.h.
41877         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
41878         multiplication.
41879         * modules/ldexpl (Depends-on): Add fpucw.
41880
41881 2007-03-29  Bruno Haible  <bruno@clisp.org>
41882
41883         * modules/ldexpl: New file.
41884         * m4/ldexpl.m4: New file.
41885         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
41886         set.
41887         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
41888         REPLACE_LDEXPL.
41889         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
41890         REPLACE_LDEXPL.
41891         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
41892         gl_FUNC_LDEXPL_WORKS.
41893         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
41894         * modules/mathl (Files): Remove lib/ldexpl.c.
41895         (Depends-on): Add ldexpl.
41896
41897 2007-03-29  Bruno Haible  <bruno@clisp.org>
41898
41899         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
41900
41901 2007-03-29  Bruno Haible  <bruno@clisp.org>
41902
41903         * tests/test-striconveh.c (main): Don't assume that a direct conversion
41904         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
41905         and possibly also HP-UX.
41906         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
41907         work on AIX, IRIX, HP-UX, OSF/1.
41908         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41909         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41910         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41911         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41912         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
41913         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41914
41915 2007-03-29  Bruno Haible  <bruno@clisp.org>
41916
41917         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
41918
41919 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
41920
41921         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
41922         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
41923
41924 2007-03-29  Eric Blake  <ebb9@byu.net>
41925
41926         * lib/acl-internal.h: Remove redundant include.
41927         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
41928         Cygwin when a file is locked.
41929
41930 2007-03-29  Bruno Haible  <bruno@clisp.org>
41931
41932         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
41933         file.
41934         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
41935
41936 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
41937
41938         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
41939         try to remove a parent directory if the child couldn't be removed
41940         (except for the first rmdir, which could fail because the child
41941         doesn't exist).  Problem reported by Jeff Blaine in
41942         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
41943
41944 2007-03-28  Bruno Haible  <bruno@clisp.org>
41945
41946         * lib/striconveh.c (utf8conv_carefully): New function.
41947         (mem_cd_iconveh_internal): Invoke it.
41948
41949 2007-03-28  Bruno Haible  <bruno@clisp.org>
41950
41951         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
41952         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
41953         input.
41954         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
41955         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
41956         unistr/u8-uctomb.
41957
41958 2007-03-28  Bruno Haible  <bruno@clisp.org>
41959
41960         * modules/unistr/u8-mbtoucr: New file.
41961         * lib/unistr/u8-mbtoucr.c: New file.
41962         * modules/unistr/u16-mbtoucr: New file.
41963         * lib/unistr/u16-mbtoucr.c: New file.
41964         * modules/unistr/u16-mbtoucr: New file.
41965         * lib/unistr/u16-mbtoucr.c: New file.
41966         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
41967
41968 2007-03-27  Simon Josefsson  <simon@josefsson.org>
41969             Bruno Haible  <bruno@clisp.org>
41970
41971         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
41972         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
41973         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
41974
41975         * m4/stdio_h.m4: Add stubs for vasprintf too.
41976
41977         * modules/stdio: Support vasprintf in sed command.
41978
41979         * modules/vasprintf: Depend on stdio for prototypes.  Remove
41980         vasprintf.h.  Add stdio module indicator.
41981
41982         * lib/stdio_.h: Declare asprintf and vasprintf, based on
41983         vasprintf.h.
41984
41985         * lib/vasprintf.h: File removed.
41986
41987         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
41988         * lib/vasprintf.c: Ditto.
41989         * lib/xvasprintf.c: Ditto.
41990         * tests/test-vasprintf-posix.c: Ditto.
41991         * tests/test-vasprintf.c: Ditto.
41992
41993 2007-03-27  Bruno Haible  <bruno@clisp.org>
41994
41995         Make vasnprintf multithread-safe.
41996         * lib/vasnprintf.c (decimal_point_char): New function.
41997         (VASNPRINTF): Use it.
41998         Suggested by Simon Josefsson.
41999
42000 2007-03-27  Eric Blake  <ebb9@byu.net>
42001
42002         Support sub-second birthtime on cygwin.
42003         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
42004         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
42005         (get_stat_birthtime): Also work with st_birthtim.
42006
42007 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42008
42009         * lib/stat-time.h (USE_BIRTHTIME): Remove.
42010         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
42011         (get_stat_birthtime_ns): Do not try to use "spare" fields.
42012         (get_stat_birthtime_ns): Simplify compile-time tests.
42013         (get_stat_birthtime): Change the API to look like
42014         get_stat_mtime etc., except return a negative tv_nsec on error.
42015         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
42016         Don't check for "spare" fields.
42017         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
42018         or for struct stat.st_birthtime, as these tests aren't used.
42019         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
42020
42021 2007-03-27  Bruno Haible  <bruno@clisp.org>
42022
42023         * lib/stat-time.h: Include <sys/stat.h>.
42024
42025 2007-03-27  James Youngman  <jay@gnu.org>
42026
42027         * lib/stat-time.h (get_stat_birthtime): New function for
42028           retrieving st_birthtime as provided by UFS2 (hence *BSD).
42029         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
42030           and its variants.
42031         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
42032         * modules/stat-time-test: New file.
42033         * tests/test-stat-time.c: New test, devised by Bruno Haible.
42034
42035 2007-03-26  Bruno Haible  <bruno@clisp.org>
42036
42037         Better support of signalling NaNs.
42038         * lib/atanl.c: Include isnanl.h.
42039         (atanl): Perform test for NaN at the beginning of the function and
42040         through a call to isnanl.
42041         * lib/cosl.c: Include isnanl.h.
42042         (cosl): Perform test for NaN at the beginning of the function and
42043         through a call to isnanl.
42044         * lib/ldexpl.c: Include isnanl.h.
42045         (ldexpl): Perform test for NaN through a call to isnanl.
42046         * lib/logl.c: Include isnanl.h.
42047         (logl): Perform test for NaN at the beginning of the function and
42048         through a call to isnanl.
42049         * lib/sinl.c: Include isnanl.h.
42050         (sinl): Perform test for NaN at the beginning of the function and
42051         through a call to isnanl.
42052         * lib/sqrtl.c: Include isnanl.h.
42053         (sqrtl): Perform test for NaN at the beginning of the function and
42054         through a call to isnanl.
42055         * lib/tanl.c: Include isnanl.h.
42056         (tanl): Perform test for NaN at the beginning of the function and
42057         through a call to isnanl.
42058         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
42059         * modules/mathl (Depends-on): Add isnanl.
42060
42061 2007-03-26  Eric Blake  <ebb9@byu.net>
42062
42063         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
42064         regression in logic sense of previous patch.
42065
42066 2007-03-26  Bruno Haible  <bruno@clisp.org>
42067
42068         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
42069         unportable shell command "if ! ...".
42070         Reported by Ralf Wildenhues.
42071
42072 2007-03-25  Bruno Haible  <bruno@clisp.org>
42073
42074         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
42075         <sysexits.h> file, and only add EX_CONFIG.
42076         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
42077         absolute file name and whether it is sufficient. Substitute also
42078         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
42079         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
42080         ABSOLUTE_SYSEXITS_H into sysexits.h.
42081
42082 2007-03-25  Bruno Haible  <bruno@clisp.org>
42083
42084         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
42085         hints is NULL.
42086
42087 2007-03-25  Bruno Haible  <bruno@clisp.org>
42088
42089         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
42090         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
42091
42092 2007-03-25  Bruno Haible  <bruno@clisp.org>
42093
42094         * lib/vasnprintf.c: Include langinfo.h.
42095         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
42096         multithread-safe.
42097         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
42098         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
42099         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42100         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42101         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42102         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42103         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42104         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
42105         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42106         Reported by Simon Josefsson.
42107
42108 2007-03-25  Bruno Haible  <bruno@clisp.org>
42109
42110         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
42111         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
42112         * modules/vasnprintf (Depends-on): Add stdint.
42113
42114 2007-03-25  Bruno Haible  <bruno@clisp.org>
42115
42116         * modules/fpieee: New file.
42117         * m4/fpieee.m4: New file.
42118         * modules/isnan-nolibm (Depends-on): Add fpieee.
42119         * modules/isnanl-nolibm (Depends-on): Add fpieee.
42120         * modules/isnanl (Depends-on): Add fpieee.
42121
42122 2007-03-25  Bruno Haible  <bruno@clisp.org>
42123
42124         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
42125
42126 2007-03-25  Bruno Haible  <bruno@clisp.org>
42127
42128         Avoid test failures on IRIX 6.5.
42129         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
42130         (main): Use it.
42131         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
42132         macros.
42133         (main): Use them.
42134
42135 2007-03-25  Bruno Haible  <bruno@clisp.org>
42136
42137         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
42138         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
42139         exists but doesn't work.
42140         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
42141         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
42142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
42143         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
42144
42145 2007-03-25  Bruno Haible  <bruno@clisp.org>
42146
42147         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
42148         returns inf. Needed on IRIX 6.5.
42149
42150 2007-03-25  Bruno Haible  <bruno@clisp.org>
42151
42152         * tests/test-frexpl.c: Include isnanl-nolibm.h.
42153         (main): Use isnanl instead of x != x idiom.
42154         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
42155
42156         * tests/test-frexp.c: Include isnan.h.
42157         (main): Use isnan instead of x != x idiom.
42158         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
42159
42160 2007-03-25  Bruno Haible  <bruno@clisp.org>
42161
42162         * tests/test-frexp.c (NaN): New function/macro.
42163         (main): Use it instead of 0.0 / 0.0.
42164         * tests/test-isnan.c (NaN): New function/macro.
42165         (main): Use it instead of 0.0 / 0.0.
42166         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
42167         (test_function): Use it instead of 0.0 / 0.0.
42168         * tests/test-vasprintf-posix.c (NaN): New function/macro.
42169         (test_function): Use it instead of 0.0 / 0.0.
42170         * tests/test-snprintf-posix.h (NaN): New function/macro.
42171         (test_function): Use it instead of 0.0 / 0.0.
42172         * tests/test-sprintf-posix.h (NaN): New function/macro.
42173         (test_function): Use it instead of 0.0 / 0.0.
42174         * tests/test-fprintf-posix.h (NaN): New function/macro.
42175         (test_function): Use it instead of 0.0 / 0.0.
42176         * tests/test-printf-posix.h (NaN): New function/macro.
42177         (test_function): Use it instead of 0.0 / 0.0.
42178
42179         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
42180
42181 2007-03-25  Bruno Haible  <bruno@clisp.org>
42182
42183         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
42184
42185 2007-03-25  Bruno Haible  <bruno@clisp.org>
42186
42187         * lib/regexec.c (merge_state_with_log): Make static.
42188
42189 2007-03-25  Bruno Haible  <bruno@clisp.org>
42190
42191         * lib/trigl.c (kernel_rem_pio2): Make static.
42192
42193 2007-03-25  Bruno Haible  <bruno@clisp.org>
42194
42195         * lib/sincosl.c (sincosl_table): Make static.
42196
42197 2007-03-25  Bruno Haible  <bruno@clisp.org>
42198
42199         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
42200         if the compiler does not support C99.
42201
42202 2007-03-25  Bruno Haible  <bruno@clisp.org>
42203
42204         * modules/time (Makefile.am): Ensure all rule action lines start with a
42205         tab.
42206
42207 2007-03-24  Bruno Haible  <bruno@clisp.org>
42208
42209         * modules/tsearch-tests: New file.
42210         * tests/test-tsearch.sh: New file.
42211         * tests/test-tsearch.c: New file, mostly copied from glibc.
42212
42213         * modules/search-tests: New file.
42214         * tests/test-search.c: New file.
42215
42216         * modules/search: New file.
42217         * lib/search_.h: New file, incorporating lib/tsearch.h.
42218         * m4/search_h.m4: New file.
42219         * lib/tsearch.h: Remove file.
42220         * lib/tsearch.c: Include search.h instead of tsearch.h.
42221         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
42222         HAVE_TSEARCH.
42223         * modules/tsearch (Files): Remove lib/tsearch.h.
42224         (Depends-on): Add search.
42225         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
42226         (Include): Change tsearch.h into search.h.
42227
42228 2007-03-24  Bruno Haible  <bruno@clisp.org>
42229
42230         * modules/fpucw: New file.
42231         * lib/fpucw.h: New file.
42232         * lib/frexp.c: Include fpucw.h.
42233         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
42234         (FUNC): Use them.
42235         * lib/printf-frexp.c: Include fpucw.h.
42236         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
42237         (FUNC): Use them.
42238         * lib/vasnprintf.c: Include fpucw.h.
42239         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
42240         'long double' calculations.
42241         * tests/test-frexpl.c: Include fpucw.h.
42242         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
42243         * tests/test-printf-frexpl.c: Include fpucw.h.
42244         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
42245         * modules/frexpl (Depends-on): Add fpucw.
42246         * modules/printf-frexpl (Depends-on): Likewise.
42247         * modules/fprintf-posix (Depends-on): Likewise.
42248         * modules/snprintf-posix (Depends-on): Likewise.
42249         * modules/sprintf-posix (Depends-on): Likewise.
42250         * modules/vasnprintf-posix (Depends-on): Likewise.
42251         * modules/vasprintf-posix (Depends-on): Likewise.
42252         * modules/vfprintf-posix (Depends-on): Likewise.
42253         * modules/vsnprintf-posix (Depends-on): Likewise.
42254         * modules/vsprintf-posix (Depends-on): Likewise.
42255         * modules/frexpl-tests (Depends-on): Likewise.
42256         * modules/printf-frexpl-tests (Depends-on): Likewise.
42257
42258 2007-03-24  Bruno Haible  <bruno@clisp.org>
42259
42260         * lib/float+.h: New file.
42261         * lib/isnan.c: Include float+.h.
42262         (SIZE): New macro.
42263         (FUNC): Compare only SIZE bytes of the value.
42264         * lib/vasnprintf.c: Include float+.h.
42265         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
42266         SIZEOF_LDBL or SIZEOF_DBL bytes.
42267         * modules/isnan-nolibm (Files): Add lib/float+.h.
42268         * modules/isnanl-nolibm (Files): Add lib/float+.h.
42269         * modules/isnanl (Files): Add lib/float+.h.
42270         * modules/vasnprintf (Files): Add lib/float+.h.
42271
42272 2007-03-24  Bruno Haible  <bruno@clisp.org>
42273
42274         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
42275         include isnanl-nolibm.h.
42276
42277 2007-03-24  Bruno Haible  <bruno@clisp.org>
42278
42279         * tests/test-read-file.c (main): Don't produce spurious output for
42280         expected situations. Make the test fail if it encountered unexpected
42281         results.
42282
42283 2007-03-24  Bruno Haible  <bruno@clisp.org>
42284
42285         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
42286         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
42287
42288 2007-03-24  Bruno Haible  <bruno@clisp.org>
42289
42290         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
42291
42292 2007-03-24  Bruno Haible  <bruno@clisp.org>
42293
42294         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
42295         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
42296
42297         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
42298         * modules/utf8-ucs4: Turn into a symbolic link to module
42299         unistr/u8-mbtouc.
42300
42301         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
42302         utf8-ucs4-unsafe.
42303         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
42304         unistr/u8-mbtouc-unsafe.
42305
42306         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
42307         * modules/utf16-ucs4: Turn into a symbolic link to module
42308         unistr/u16-mbtouc.
42309
42310         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
42311         utf16-ucs4-unsafe.
42312         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
42313         unistr/u16-mbtouc-unsafe.
42314
42315         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
42316         * modules/ucs4-utf8: Turn into a symbolic link to module
42317         unistr/u8-ubtomb.
42318
42319         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
42320         * modules/ucs4-utf16: Turn into a symbolic link to module
42321         unistr/u16-ubtomb.
42322
42323 2007-03-24  Bruno Haible  <bruno@clisp.org>
42324
42325         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
42326         Enable the function only if HAVE_INLINE.
42327         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
42328         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
42329         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
42330         Enable the function only if HAVE_INLINE.
42331         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
42332         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
42333         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
42334         Enable the function only if HAVE_INLINE.
42335         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
42336         Enable the function only if HAVE_INLINE.
42337         * modules/utf8-ucs4: Update.
42338         * modules/utf8-ucs4-unsafe: Update.
42339         * modules/utf16-ucs4: Update.
42340         * modules/utf16-ucs4-unsafe: Update.
42341         * modules/ucs4-utf8: Update.
42342         * modules/ucs4-utf16: Update.
42343
42344 2007-03-24  Bruno Haible  <bruno@clisp.org>
42345
42346         * lib/utf8-ucs4.h: Remove file.
42347         * lib/utf8-ucs4-unsafe.h: Remove file.
42348         * lib/utf16-ucs4.h: Remove file.
42349         * lib/utf16-ucs4-unsafe.h: Remove file.
42350         * lib/ucs4-utf8.h: Remove file.
42351         * lib/ucs4-utf16.h: Remove file.
42352         * lib/unistr.h: Include their previous contents.
42353         * m4/utf-ucs4.m4: Remove file.
42354         * m4/ucs4-utf.m4: Remove file.
42355         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
42356         (Depends-on): Add unistr/base.
42357         (configure.ac): Remove gl_UTF_UCS4.
42358         (Makefile.am): Update.
42359         (Include): Change to unistr.h.
42360         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
42361         (Depends-on): Add unistr/base.
42362         (configure.ac): Remove gl_UTF_UCS4.
42363         (Makefile.am): Update.
42364         (Include): Change to unistr.h.
42365         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
42366         (Depends-on): Add unistr/base.
42367         (configure.ac): Remove gl_UTF_UCS4.
42368         (Makefile.am): Update.
42369         (Include): Change to unistr.h.
42370         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
42371         (Depends-on): Add unistr/base.
42372         (configure.ac): Remove gl_UTF_UCS4.
42373         (Makefile.am): Update.
42374         (Include): Change to unistr.h.
42375         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
42376         (Depends-on): Add unistr/base.
42377         (configure.ac): Remove gl_UCS4_UTF.
42378         (Makefile.am): Update.
42379         (Include): Change to unistr.h.
42380         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
42381         (Depends-on): Add unistr/base.
42382         (configure.ac): Remove gl_UCS4_UTF.
42383         (Makefile.am): Update.
42384         (Include): Change to unistr.h.
42385         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
42386         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
42387         utf8-ucs4-unsafe.h.
42388         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
42389         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
42390         utf16-ucs4-unsafe.h.
42391         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
42392         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
42393         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
42394         * lib/unistr/u8-strchr.c: Likewise.
42395         * lib/unistr/u8-strrchr.c: Likewise.
42396         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
42397         * lib/unistr/u16-strchr.c: Likewise.
42398         * lib/unistr/u16-strrchr.c: Likewise.
42399         * lib/striconveh.c: Update.
42400         * lib/linebreak.c: Update.
42401
42402 2007-03-24  Bruno Haible  <bruno@clisp.org>
42403
42404         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
42405         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
42406
42407 2007-03-22  Bruno Haible  <bruno@clisp.org>
42408
42409         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
42410
42411 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
42412
42413         * MODULES.html.sh (File system functions): New module write-any-file.
42414         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
42415         * m4/write-any-file.m4: New files.
42416
42417 2007-03-23  Eric Blake  <ebb9@byu.net>
42418
42419         * gnulib-tool: Rearrange space-tab sequences, since some editors
42420         like to eat them.
42421
42422 2007-03-23  Eric Blake  <ebb9@byu.net>
42423
42424         * lib/version-etc.c (version_etc_va): Update license wording to
42425         be more concise.  Recommended by Richard Stallman.
42426
42427 2007-03-22  Bruno Haible  <bruno@clisp.org>
42428
42429         * lib/poll.c (MSG_PEEK): New fallback definition.
42430
42431 2007-03-22  Bruno Haible  <bruno@clisp.org>
42432
42433         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
42434         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
42435         (main): Update.
42436         Fixes a compilation error on BeOS.
42437
42438 2007-03-22  Bruno Haible  <bruno@clisp.org>
42439
42440         * modules/frexpl-tests: New file.
42441         * tests/test-frexpl.c: New file.
42442
42443         * modules/frexpl: New file.
42444         * m4/frexpl.m4: New file.
42445         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
42446         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
42447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
42448         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
42449         (Depends-on): Add frexpl. Remove isnanl-nolibm.
42450         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
42451
42452 2007-03-22  Bruno Haible  <bruno@clisp.org>
42453
42454         * lib/frexpl.c: Share code with lib/frexp.c.
42455         * modules/mathl (Files): Add lib/frexp.c.
42456         (Depends-on): Add isnanl-nolibm.
42457
42458 2007-03-22  Bruno Haible  <bruno@clisp.org>
42459
42460         * modules/printf-frexp (Files): Add m4/frexp.m4.
42461         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
42462         only if the found frexp function actually works.
42463
42464 2007-03-22  Bruno Haible  <bruno@clisp.org>
42465
42466         * lib/frexp.c: Remove older implementation that uses divisions.
42467
42468 2007-03-21  Bruno Haible  <bruno@clisp.org>
42469
42470         * modules/frexp-tests: New file.
42471         * tests/test-frexp.c: New file.
42472
42473         * modules/frexp: New file.
42474         * lib/frexp.c: New file.
42475         * m4/frexp.m4: New file.
42476         * lib/math_.h (frexp): New declaration.
42477         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
42478         REPLACE_FREXP.
42479         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
42480
42481 2007-03-21  Bruno Haible  <bruno@clisp.org>
42482
42483         * modules/isnanl-tests: New file.
42484         * tests/test-isnanl.c: New file.
42485
42486         * modules/isnanl: New file.
42487         * lib/isnanl.h: New file.
42488         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
42489         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
42490         gl_FUNC_ISNANL_WORKS.
42491         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
42492         New macros.
42493
42494 2007-03-21  Bruno Haible  <bruno@clisp.org>
42495
42496         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
42497         lib/isnanl.h.
42498         (Include): Update.
42499         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
42500         * lib/vasnprintf.c: Update.
42501         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
42502         tests/test-isnanl.h, remove tests/test-isnanl.c.
42503         (Makefile.am): Update.
42504         * tests/test-isnanl-nolibm.c: New file.
42505         * tests/test-isnanl.h: New file.
42506         * tests/test-isnanl.c: Remove file.
42507
42508 2007-03-21  Jim Meyering  <jim@meyering.net>
42509
42510         When trying to open ".", treat ESTALE like EACCES.
42511         * lib/savewd.c (savewd_save): Resort to forking not just upon
42512         failure with EACCES, but also when errno is ESTALE.
42513
42514 2007-03-20  Bruno Haible  <bruno@clisp.org>
42515
42516         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
42517         Needed on AIX 5.1. Reported by Matthew Woehlke.
42518
42519 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42520
42521         Suggestions by Bruno Haible:
42522         * lib/acl-internal.h: Include "gettext.h" rather than rolling
42523         our own.
42524         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
42525         * modules/acl (Depends-on): Add gettext.
42526
42527 2007-03-19  Bruno Haible  <bruno@clisp.org>
42528
42529         * modules/iconvme: Remove file.
42530         * lib/iconvme.h: Remove file.
42531         * lib/iconvme.c: Remove file.
42532         * m4/iconvme.m4: Remove file.
42533
42534 2007-03-19  Bruno Haible  <bruno@clisp.org>
42535
42536         * doc/relocatable-maint.texi: Break long shell script line.
42537         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
42538
42539 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42540
42541         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
42542         handle file_has_acl.
42543         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
42544         * lib/acl.c: Move header inclusions and related macro defns into
42545         lib/acl-internal.h.
42546         (S_ISLNK): Remove defn, since that's now done for us.
42547         (file_has_acl): Move to lib/file-has-acl.c.
42548         Call acl_trivial if available.  This is the crucial part of the fix.
42549         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
42550         shared within the library.  Rewrite a bit, partly to make it compatible
42551         with the GNU coding style.
42552         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
42553         Remove unnecessary double-quotes.
42554         Don't test for acl_to_text; the build will catch that.
42555         Replace acl_entries if it doesn't exist and it is needed.
42556         Check for -lsec and acl_trivial (as used on Solaris 10).
42557         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
42558         lib/file-has-acl.c.
42559         (Depends-on): Add sys_stat, for S_ISLNK.
42560
42561 2007-03-19  Ben Pfaff  <blp@gnu.org>
42562
42563         * doc/gnulib.texi: Fix typos.
42564         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
42565
42566 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42567
42568         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
42569         If size is zero here, buf must be zero.
42570
42571 2007-03-19  Simon Josefsson  <simon@josefsson.org>
42572
42573         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
42574         <bruno@clisp.org>.
42575
42576 2007-03-18  Bruno Haible  <bruno@clisp.org>
42577
42578         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
42579         Suggested by Eric Blake.
42580
42581 2007-03-18  Ben Pfaff  <blp@gnu.org>
42582
42583         * doc/relocatable.texi: Recommend using as prefix a directory
42584         that does not exist and will never be created.  Based on
42585         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
42586         and others.
42587
42588 2007-03-17  Bruno Haible  <bruno@clisp.org>
42589
42590         * lib/fchownat.c: Include lchown.h.
42591
42592 2007-03-17  Bruno Haible  <bruno@clisp.org>
42593
42594         Fix endless loop when the given allocated size was > INT_MAX.
42595         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
42596         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
42597         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
42598         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
42599         * lib/sprintf.c (sprintf): Likewise.
42600
42601 2007-03-17  Bruno Haible  <bruno@clisp.org>
42602
42603         * tests/test-argp-2.sh (func_compare): Output a context diff.
42604
42605 2007-03-17  Bruno Haible  <bruno@clisp.org>
42606
42607         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
42608         locale's decimal-point character.
42609
42610 2007-03-17  Bruno Haible  <bruno@clisp.org>
42611
42612         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
42613         before comparing it. Needed because on some platforms (e.g. x86) a
42614         'long double' occupies less bytes than sizeof (long double).
42615
42616 2007-03-17  Bruno Haible  <bruno@clisp.org>
42617
42618         * tests/test-crc.c (main): Make printf statements 64-bit clean.
42619         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
42620         * tests/test-getaddrinfo.c (simple): Likewise.
42621         * tests/test-read-file.c (main): Likewise.
42622
42623 2007-03-17  Bruno Haible  <bruno@clisp.org>
42624
42625         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
42626
42627 2007-03-17  Bruno Haible  <bruno@clisp.org>
42628
42629         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
42630         unused variable.
42631
42632 2007-03-17  Bruno Haible  <bruno@clisp.org>
42633
42634         * tests/test-c-strcasecmp.c: Include c-strcase.h.
42635         * tests/test-c-strncasecmp.c: Likewise.
42636
42637 2007-03-17  Bruno Haible  <bruno@clisp.org>
42638
42639         * modules/stdlib (Depends-on): Add unistd.
42640         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
42641         Needed for MacOS X 10.3.
42642
42643 2007-03-17  Bruno Haible  <bruno@clisp.org>
42644
42645         * lib/unistr/u-strdup.h: Include <stdlib.h>.
42646
42647 2007-03-17  Bruno Haible  <bruno@clisp.org>
42648
42649         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
42650
42651 2007-03-17  Bruno Haible  <bruno@clisp.org>
42652
42653         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
42654         to reflect files copied from gnulib (with or without modifications).
42655         Suggested by Jim Meyering.
42656
42657 2007-03-17  Eric Blake  <ebb9@byu.net>
42658
42659         * NEWS: Document stdlib change from 2007-02-18.
42660
42661 2007-03-17  Jim Meyering  <jim@meyering.net>
42662
42663         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
42664         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
42665         someone uses a name containing shell meta-characters.
42666         Reported by Alfred M. Szmidt.
42667
42668         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
42669
42670 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
42671
42672         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
42673         and copy gettext configuration files only if configure.ac contains
42674         a use of AM_GNU_GETTEXT_VERSION.
42675
42676 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
42677
42678         * build-aux/bootstrap (gnulib_name): New variable.
42679         (gnulib_tool_options): Use it.
42680
42681 2007-03-13  Simon Josefsson  <simon@josefsson.org>
42682
42683         * tests/test-des.c: Use new namespace.
42684
42685 2007-03-15  Bruno Haible  <bruno@clisp.org>
42686
42687         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
42688         Reported by James Youngman <jay@gnu.org>.
42689
42690 2007-03-15  Bruno Haible  <bruno@clisp.org>
42691
42692         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
42693         declared prototype. Needed with cc on OSF/1 5.1.
42694
42695 2007-03-15  Bruno Haible  <bruno@clisp.org>
42696
42697         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
42698         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
42699         (struct gl_list_implementation): Add dispose_fn argument to the
42700         'create_empty', 'create' methods.
42701         (struct gl_list_impl_base): Add field 'dispose_fn'.
42702         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
42703         argument.
42704         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
42705         dispose_fn argument.
42706         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
42707         dispose_fn on the dropped values.
42708         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
42709         dispose_fn argument.
42710         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
42711         dropped values.
42712         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
42713         (gl_tree_remove_node): Call dispose_fn on the dropped value.
42714         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
42715         (gl_tree_remove_node): Call dispose_fn on the dropped value.
42716         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
42717         argument.
42718         (gl_tree_list_free): Call dispose_fn on the dropped values.
42719         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
42720         the dropped values.
42721         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42722         Add dispose_fn argument.
42723         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
42724         Call dispose_fn on the dropped values.
42725         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
42726         Add dispose_fn argument.
42727         (gl_sublist_create): Initialize the 'dispose_fn' field.
42728         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
42729         * tests/test-array_list.c (main): Update.
42730         * tests/test-carray_list.c (main): Update.
42731         * tests/test-avltree_list.c (main): Update.
42732         * tests/test-rbtree_list.c (main): Update.
42733         * tests/test-avltreehash_list.c (main): Update.
42734         * tests/test-rbtreehash_list.c (main): Update.
42735         * tests/test-linked_list.c (main): Update.
42736         * tests/test-linkedhash_list.c (main): Update.
42737         * tests/test-array_oset.c (main): Update.
42738
42739 2007-03-15  Bruno Haible  <bruno@clisp.org>
42740
42741         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
42742         (gl_oset_create_empty): Add dispose_fn argument.
42743         (struct gl_oset_implementation): Add dispose_fn argument to
42744         'create_empty' method.
42745         (struct gl_oset_impl_base): Add dispose_fn field.
42746         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
42747         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
42748         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
42749         values.
42750         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
42751         (gl_tree_oset_free): Call dispose_fn on the dropped values.
42752         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
42753         dropped value.
42754         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
42755         dropped value.
42756         * tests/test-array_oset.c (main): Update.
42757         * tests/test-avltree_oset.c (main): Update.
42758         * tests/test-rbtree_oset.c (main): Update.
42759         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
42760
42761 2007-03-13  Bruno Haible  <bruno@clisp.org>
42762
42763         * tests/test-stdbool.c (i): Update after last patch.
42764
42765 2007-03-12  Bruno Haible  <bruno@clisp.org>
42766
42767         * lib/quotearg.c: Include <wctype.h> early, before the definition of
42768         the iswprint macro. Needed on Solaris 2.5.1.
42769
42770 2007-03-12  Bruno Haible  <bruno@clisp.org>
42771
42772         * tests/test-printf-frexp.c (main): Declare x as volatile.
42773
42774 2007-03-12  Simon Josefsson  <simon@josefsson.org>
42775
42776         * doc/gnulib.texi (Build robot for gnulib): New section.
42777
42778 2007-03-12  Jim Meyering  <jim@meyering.net>
42779
42780         * build-aux/bootstrap: New file.
42781         * build-aux/bootstrap.conf: New file, from coreutils.
42782
42783 2007-03-11  Bruno Haible  <bruno@clisp.org>
42784
42785         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
42786
42787 2007-03-12  Simon Josefsson  <simon@josefsson.org>
42788
42789         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
42790         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
42791         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
42792
42793 2007-03-11  Bruno Haible  <bruno@clisp.org>
42794
42795         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
42796         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
42797
42798 2007-03-11  Bruno Haible  <bruno@clisp.org>
42799
42800         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
42801         formula. Needed for SunPRO C 5.0.
42802
42803 2007-03-11  Bruno Haible  <bruno@clisp.org>
42804
42805         * modules/long-options (Depends-on): Add getopt.
42806
42807 2007-03-11  Bruno Haible  <bruno@clisp.org>
42808
42809         * modules/modechange (Depends-on): Add stdbool.
42810
42811 2007-03-11  Bruno Haible  <bruno@clisp.org>
42812
42813         * modules/i-ring (Depends-on): Add stdbool.
42814
42815 2007-03-11  Bruno Haible  <bruno@clisp.org>
42816
42817         * modules/gc-des (Depends-on): Add stdbool.
42818
42819 2007-03-11  Bruno Haible  <bruno@clisp.org>
42820
42821         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
42822
42823 2007-03-11  Bruno Haible  <bruno@clisp.org>
42824
42825         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
42826
42827 2007-03-11  Bruno Haible  <bruno@clisp.org>
42828
42829         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
42830
42831 2007-03-11  Bruno Haible  <bruno@clisp.org>
42832
42833         * lib/vasnprintf.c (sprintf): Undefine.
42834
42835 2007-03-11  Bruno Haible  <bruno@clisp.org>
42836
42837         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
42838         initializers in SunPRO C and Compaq C compilers.
42839
42840 2007-03-11  Bruno Haible  <bruno@clisp.org>
42841
42842         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
42843         decrementing code ANSI C compliant.
42844
42845 2007-03-11  Bruno Haible  <bruno@clisp.org>
42846
42847         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
42848         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
42849
42850 2007-03-11  Bruno Haible  <bruno@clisp.org>
42851
42852         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
42853         <stdbool.h> substitute doesn't pass.
42854
42855 2007-03-11  Bruno Haible  <bruno@clisp.org>
42856
42857         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
42858
42859 2007-03-11  Bruno Haible  <bruno@clisp.org>
42860
42861         * gnulib-tool (func_create_megatestdir): Create also an autobuild
42862         script, for submission to autobuild.josefsson.org.
42863
42864 2007-03-10  Bruno Haible  <bruno@clisp.org>
42865
42866         * modules/canonicalize-lgpl-tests: New file.
42867         * tests/test-canonicalize-lgpl.sh: New file.
42868         * tests/test-canonicalize-lgpl.c: New file.
42869
42870         * modules/c-strcase-tests: New file.
42871         * tests/test-c-strcase.sh: New file.
42872         * tests/test-c-strcasecmp.c: New file.
42873         * tests/test-c-strncasecmp.c: New file.
42874
42875         * modules/atexit-tests: New file.
42876         * tests/test-atexit.sh: New file.
42877         * tests/test-atexit.c: New file.
42878
42879 2007-03-10  Bruno Haible  <bruno@clisp.org>
42880
42881         * tests/test-binary-io.sh: Use temporary filenames that are not so
42882         likely to clash with those of other tests (in a parallel make).
42883         * tests/test-binary-io.c: Likewise.
42884
42885 2007-03-10  Bruno Haible  <bruno@clisp.org>
42886
42887         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
42888         fallback; use #error instead.
42889         Suggested by Simon Josefsson.
42890
42891 2007-03-10  Bruno Haible  <bruno@clisp.org>
42892
42893         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
42894         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
42895         first and the last.
42896
42897 2007-03-10  Bruno Haible  <bruno@clisp.org>
42898
42899         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
42900
42901 2007-03-10  Bruno Haible  <bruno@clisp.org>
42902
42903         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
42904         "make distcheck".
42905         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
42906         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
42907         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
42908
42909 2007-03-10  Bruno Haible  <bruno@clisp.org>
42910
42911         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
42912         variable.
42913         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
42914         variable.
42915
42916 2007-03-09  Eric Blake  <ebb9@byu.net>
42917         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
42918
42919         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
42920         types are not being provided by gnulib.
42921         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
42922         types are supported.
42923
42924 2007-03-10  Bruno Haible  <bruno@clisp.org>
42925
42926         * lib/stdio_.h (__attribute__): New macro.
42927         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
42928         vsprintf): Specify __attribute__ __format__ for GCC.
42929         Suggested by Eric Blake.
42930
42931 2007-03-09  Bruno Haible  <bruno@clisp.org>
42932
42933         * modules/printf-posix-tests: New file.
42934         * tests/test-printf-posix.sh: New file.
42935         * tests/test-printf-posix.c: New file.
42936
42937         * modules/printf-posix: New file.
42938         * lib/printf.c: New file.
42939         * m4/printf-posix-rpl.m4: New file.
42940         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
42941         REPLACE_PRINTF.
42942         * lib/stdio_.h (printf): New declaration.
42943         (format, __format__, ____printf____, ____scanf____, ____strftime____,
42944         ____strfmon____): New macros.
42945         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
42946         REPLACE_PRINTF.
42947
42948 2007-03-09  Bruno Haible  <bruno@clisp.org>
42949
42950         * tests/test-vasnprintf-posix2.sh: New file.
42951         * tests/test-vasnprintf-posix2.c: New file.
42952         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
42953         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
42954         (Makefile.am): Activate test-vasnprintf-posix2.sh.
42955
42956         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
42957         a locale dependent decimal point, rather than always '.'.
42958
42959 2007-03-09  Eric Blake  <ebb9@byu.net>
42960
42961         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
42962         spite of platforms like Tandem/NSK that define it to -1.
42963
42964 2007-03-08  Bruno Haible  <bruno@clisp.org>
42965
42966         * modules/vprintf-posix-tests: New file.
42967         * tests/test-vprintf-posix.sh: New file.
42968         * tests/test-vprintf-posix.c: New file.
42969         * tests/test-printf-posix.h: New file.
42970
42971         * modules/vprintf-posix: New file.
42972         * lib/vprintf.c: New file.
42973         * m4/vprintf-posix.m4: New file.
42974         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
42975         REPLACE_VPRINTF.
42976         * lib/stdio_.h (vprintf): New declaration.
42977         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
42978         REPLACE_VPRINTF.
42979
42980 2007-03-08  Bruno Haible  <bruno@clisp.org>
42981
42982         * modules/fprintf-posix-tests: New file.
42983         * tests/test-fprintf-posix.sh: New file.
42984         * tests/test-fprintf-posix.c: New file.
42985
42986         * modules/fprintf-posix: New file.
42987         * lib/fprintf.c: New file.
42988         * m4/fprintf-posix.m4: New file.
42989         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
42990         REPLACE_FPRINTF.
42991         * lib/stdio_.h (fprintf): New declaration.
42992         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
42993         REPLACE_FPRINTF.
42994
42995 2007-03-08  Bruno Haible  <bruno@clisp.org>
42996
42997         * modules/vfprintf-posix-tests: New file.
42998         * tests/test-vfprintf-posix.sh: New file.
42999         * tests/test-vfprintf-posix.c: New file.
43000         * tests/test-fprintf-posix.h: New file.
43001         * tests/test-fprintf-posix.out: New file.
43002
43003         * modules/vfprintf-posix: New file.
43004         * lib/vfprintf.c: New file.
43005         * m4/vfprintf-posix.m4: New file.
43006         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
43007         REPLACE_VFPRINTF.
43008         * lib/stdio_.h (vfprintf): New declaration.
43009         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
43010         REPLACE_VFPRINTF.
43011
43012 2007-03-08  Bruno Haible  <bruno@clisp.org>
43013
43014         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
43015
43016 2007-03-08  Bruno Haible  <bruno@clisp.org>
43017
43018         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
43019         instead of 'expr' invocations.
43020         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43021         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43022         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43023         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43024         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43025         Suggested by Paul Eggert.
43026
43027 2007-03-08  Bruno Haible  <bruno@clisp.org>
43028
43029         * modules/fseterr-tests: New file.
43030         * tests/test-fseterr.c: New file.
43031
43032         * modules/fseterr: New file.
43033         * lib/fseterr.h: New file.
43034         * lib/fseterr.c: New file.
43035
43036 2007-03-08  Bruno Haible  <bruno@clisp.org>
43037
43038         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
43039         * lib/getopt_.h: Likewise.
43040         * lib/mbswidth.h: Likewise.
43041         * lib/setenv.h: Likewise.
43042         * lib/vasnprintf.h: Likewise.
43043         * lib/vasprintf.h: Likewise.
43044         * lib/verror.h: Likewise.
43045         * lib/xsetenv.h: Likewise.
43046         * lib/xvasprintf.h: Likewise.
43047
43048 2007-03-08  Jim Meyering  <jim@meyering.net>
43049
43050         * users.txt: Add parted.
43051
43052         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
43053
43054 2007-03-07  Bruno Haible  <bruno@clisp.org>
43055
43056         * m4/printf.m4: Make the shell script snippets copy&pastable.
43057
43058 2007-03-02  Bruno Haible  <bruno@clisp.org>
43059
43060         * lib/netinet_in_.h: New file.
43061         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
43062         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
43063         * modules/netinet_in (Files): Add lib/netinet_in_.h.
43064         (Depends-on): Add absolute-header.
43065         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
43066         into netinet/in.h.
43067
43068 2007-03-03  Bruno Haible  <bruno@clisp.org>
43069
43070         * lib/sys_select_.h: New file.
43071         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
43072         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
43073         * modules/sys_select (Files): Add lib/sys_select_.h.
43074         (Depends-on): Add absolute-header.
43075         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
43076         into sys/select.h.
43077
43078 2007-03-02  Bruno Haible  <bruno@clisp.org>
43079
43080         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
43081         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
43082         values.
43083         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
43084         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
43085         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
43086         * modules/sys_socket (Depends-on): Add absolute-header.
43087         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
43088         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
43089         (Include): Remove requirement of inclusion of <sys/types.h>.
43090
43091 2007-03-02  Bruno Haible  <bruno@clisp.org>
43092
43093         * lib/byteswap_.h (bswap_32): Fix formula.
43094
43095 2007-03-06  Bruno Haible  <bruno@clisp.org>
43096
43097         * modules/sprintf-posix-tests: New file.
43098         * tests/test-sprintf-posix.c: New file.
43099
43100         * modules/sprintf-posix: New file.
43101         * lib/sprintf.c: New file.
43102         * m4/sprintf-posix.m4: New file.
43103         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
43104         REPLACE_SPRINTF.
43105         * lib/stdio_.h (sprintf): New declaration.
43106         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
43107         REPLACE_SPRINTF.
43108
43109 2007-03-06  Bruno Haible  <bruno@clisp.org>
43110
43111         * modules/vsprintf-posix-tests: New file.
43112         * tests/test-vsprintf-posix.c: New file.
43113         * tests/test-sprintf-posix.h: New file.
43114
43115         * modules/vsprintf-posix: New file.
43116         * lib/vsprintf.c: New file.
43117         * m4/vsprintf-posix.m4: New file.
43118         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
43119         REPLACE_VSPRINTF.
43120         * lib/stdio_.h (vsprintf): New declaration.
43121         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
43122         REPLACE_VSPRINTF.
43123
43124 2007-03-06  Bruno Haible  <bruno@clisp.org>
43125
43126         * modules/vsnprintf (Depend-on): Remove minmax.
43127
43128 2007-03-06  Bruno Haible  <bruno@clisp.org>
43129
43130         * modules/snprintf-posix-tests: New file.
43131         * tests/test-snprintf-posix.c: New file.
43132
43133         * modules/snprintf-posix: New file.
43134         * m4/snprintf-posix.m4: New file.
43135         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
43136         gl_FUNC_SNPRINTF.
43137         (gl_FUNC_SNPRINTF): Invoke it.
43138         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
43139         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
43140         is set.
43141         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
43142
43143 2007-03-06  Bruno Haible  <bruno@clisp.org>
43144
43145         * modules/vsnprintf-posix-tests: New file.
43146         * tests/test-vsnprintf-posix.c: New file.
43147         * tests/test-snprintf-posix.h: New file.
43148
43149         * modules/vsnprintf-posix: New file.
43150         * m4/vsnprintf-posix.m4: New file.
43151         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
43152         gl_FUNC_VSNPRINTF.
43153         (gl_FUNC_VSNPRINTF): Invoke it.
43154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
43155         * lib/stdio_.h (vsnprintf): Define as a replacement if
43156         REPLACE_VSNPRINTF is set.
43157         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
43158
43159 2007-03-06  Bruno Haible  <bruno@clisp.org>
43160
43161         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
43162         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
43163
43164 2007-03-06  Bruno Haible  <bruno@clisp.org>
43165
43166         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
43167         (asinl): Declare also if HAVE_DECL_ASINL is set.
43168         (atanl): Declare also if HAVE_DECL_ATANL is set.
43169         (ceill): Declare also if HAVE_DECL_CEILL is set.
43170         (cosl): Declare also if HAVE_DECL_COSL is set.
43171         (expl): Declare also if HAVE_DECL_EXPL is set.
43172         (floorl): Declare also if HAVE_DECL_FLOORL is set.
43173         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
43174         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
43175         (logl): Declare also if HAVE_DECL_LOGL is set.
43176         (sinl): Declare also if HAVE_DECL_SINL is set.
43177         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
43178         (tanl): Declare also if HAVE_DECL_TANL is set.
43179         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
43180         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
43181         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
43182         declaration of frexpl, ldexpl.
43183         * modules/printf-frexpl (Depends-on): Add math.
43184         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
43185
43186 2007-03-05  Bruno Haible  <bruno@clisp.org>
43187
43188         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
43189         frexpl and ldexpl are declared.
43190         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
43191
43192 2007-03-05  Bruno Haible  <bruno@clisp.org>
43193
43194         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
43195         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
43196
43197 2007-03-05  Bruno Haible  <bruno@clisp.org>
43198
43199         * lib/stdio_.h: Include <stddef.h>.
43200
43201 2007-03-05  Bruno Haible  <bruno@clisp.org>
43202
43203         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
43204
43205 2007-03-05  Bruno Haible  <bruno@clisp.org>
43206
43207         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
43208         NetBSD 4, from Ralf Wildenhues.
43209
43210 2007-03-04  Bruno Haible  <bruno@clisp.org>
43211
43212         * lib/vasprintf.h: Update #if logic for the case when the functions
43213         exist but are overridden.
43214
43215 2007-03-04  Bruno Haible  <bruno@clisp.org>
43216
43217         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
43218         implementations: glibc-2.4 and MacOS X 10.3.
43219         * tests/test-vasnprintf-posix.c (test_function): Test also the case
43220         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
43221         * tests/test-vasprintf-posix.c (test_function): Likewise.
43222
43223 2007-03-04  Bruno Haible  <bruno@clisp.org>
43224
43225         * modules/vasprintf-posix-tests: New file.
43226         * tests/test-vasprintf-posix.c: New file.
43227
43228         * modules/vasprintf-posix: New file.
43229         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
43230         defined.
43231         * m4/vasprintf-posix.m4: New file.
43232         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
43233         gl_FUNC_VASPRINTF.
43234         (gl_FUNC_VASPRINTF): Invoke it.
43235         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
43236         here.
43237         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
43238
43239 2007-03-04  Bruno Haible  <bruno@clisp.org>
43240
43241         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
43242         REPLACE_GETTIMEOFDAY.
43243         * modules/sys_time (Makefile.am): Likewise.
43244         * m4/sys_time_h.m4: Likewise.
43245         * m4/gettimeofday.m4: Likewise.
43246
43247 2007-03-04  Bruno Haible  <bruno@clisp.org>
43248
43249         * modules/vasnprintf-posix-tests: New file.
43250         * tests/test-vasnprintf-posix.c: New file.
43251
43252         * modules/vasnprintf-posix: New file.
43253         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
43254         printf-frexpl.h.
43255         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
43256         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
43257         REPLACE_VASNPRINTF is defined.
43258         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
43259         gl_FUNC_VASNPRINTF.
43260         (gl_FUNC_VASNPRINTF): Invoke it.
43261         * m4/vasnprintf-posix.m4: New file.
43262         * m4/printf.m4: New file.
43263
43264 2007-03-04  Bruno Haible  <bruno@clisp.org>
43265
43266         Compile progreloc.c only if --enable-relocatable is specified.
43267         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
43268         if --enable-relocatable was specified.
43269         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
43270         lib_SOURCES.
43271
43272 2007-03-04  Jim Meyering  <jim@meyering.net>
43273
43274         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
43275         Use it consistently, rather than enumerating errno constants.
43276
43277 2007-03-04  Bruno Haible  <bruno@clisp.org>
43278
43279         * modules/xvasprintf-tests: New file.
43280         * tests/test-xvasprintf.c: New file.
43281
43282         * modules/vasprintf-tests: New file.
43283         * tests/test-vasprintf.c: New file.
43284
43285         * modules/vasnprintf-tests: New file.
43286         * tests/test-vasnprintf.c: New file.
43287
43288         * modules/vsnprintf-tests: New file.
43289         * tests/test-vsnprintf.c: New file.
43290
43291         * modules/snprintf-tests: New file.
43292         * tests/test-snprintf.c: New file.
43293
43294 2007-03-04  Bruno Haible  <bruno@clisp.org>
43295
43296         Compile relocatable.c only if --enable-relocatable is specified.
43297         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
43298         gl_RELOCATABLE_LIBRARY.
43299         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
43300         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
43301         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
43302         gl_RELOCATABLE_LIBRARY.
43303         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
43304         (Makefile.am): Remove lib_SOURCES.
43305         * modules/relocatable-lib-lgpl (configure.ac): Invoke
43306         gl_RELOCATABLE_LIBRARY.
43307         (Makefile.am): Remove lib_SOURCES.
43308         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
43309         always.
43310         * modules/relocatable-prog-wrapper (configure.ac): Invoke
43311         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
43312
43313 2007-03-04  Bruno Haible  <bruno@clisp.org>
43314
43315         * modules/argmatch-tests: New file.
43316         * tests/test-argmatch.c: New file.
43317
43318         * tests/test-allocsa.c (main): Halve the number of loop runs.
43319
43320         * modules/alloca-opt-tests: New file.
43321         * tests/test-alloca-opt.c: New file.
43322
43323 2007-03-04  Jim Meyering  <jim@meyering.net>
43324
43325         Work around difference between Linux ACLs and Solaris 10 ZFS.
43326         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
43327         for EINVAL.
43328
43329 2007-03-03  Bruno Haible  <bruno@clisp.org>
43330
43331         * modules/relocatable-prog (Depends-on): Add back progreloc's
43332         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
43333
43334 2007-03-03  Bruno Haible  <bruno@clisp.org>
43335
43336         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
43337         * modules/relocatable-lib: New file.
43338
43339 2007-03-03  Bruno Haible  <bruno@clisp.org>
43340
43341         * modules/relocatable-prog: Renamed from modules/relocatable.
43342         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
43343
43344 2007-03-03  Bruno Haible  <bruno@clisp.org>
43345
43346         * modules/relocatable-script (Files): Add doc/relocatable.texi,
43347         m4/relocatable-lib.m4.
43348         (Depends-on): Remove 'relocatable'.
43349         (configure.ac): Add gl_RELOCATABLE_NOP.
43350
43351 2007-03-03  Bruno Haible  <bruno@clisp.org>
43352
43353         * modules/relocatable-prog-wrapper: New file.
43354         * modules/relocatable (Depends-on): Add it. Remove all other
43355         dependencies except progname.
43356         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
43357
43358         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
43359         (gl_FUNC_STRERROR): Nop.
43360         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
43361
43362         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
43363         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
43364
43365         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
43366         (gl_FUNC_READLINK): Update.
43367
43368         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
43369
43370 2007-03-03  Bruno Haible  <bruno@clisp.org>
43371
43372         * lib/xreadlink.c: Include <unistd.h> unconditionally.
43373         * modules/xreadlink (Depends-on): Add unistd.
43374         * modules/xreadlink-with-size (Depends-on): Likewise.
43375
43376 2007-03-03  Bruno Haible  <bruno@clisp.org>
43377
43378         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
43379         extracted from gt_FUNC_SETENV.
43380         (gt_FUNC_SETENV): Remove macro.
43381         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
43382         remove gt_FUNC_SETENV.
43383
43384 2007-03-03  Bruno Haible  <bruno@clisp.org>
43385
43386         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
43387         ENABLE_RELOCATABLE here.
43388         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
43389
43390 2007-03-03  Bruno Haible  <bruno@clisp.org>
43391
43392         * modules/rbtreehash-list-tests (Depends-on): Add progname.
43393         * tests/test-rbtreehash_list.c: Include progname.h.
43394         (main): Call set_program_name.
43395
43396         * modules/rbtree-oset-tests (Depends-on): Add progname.
43397         * tests/test-rbtree_oset.c: Include progname.h.
43398         (main): Call set_program_name.
43399
43400         * modules/rbtree-list-tests (Depends-on): Add progname.
43401         * tests/test-rbtree_list.c: Include progname.h.
43402         (main): Call set_program_name.
43403
43404         * modules/linked-list-tests (Depends-on): Add progname.
43405         * tests/test-linked_list.c: Include progname.h.
43406         (main): Call set_program_name.
43407
43408 2007-03-03  Bruno Haible  <bruno@clisp.org>
43409
43410         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
43411         All uses of __restrict changed to _Restrict_.
43412         * lib/glob_.h (__restrict): Remove macro.
43413
43414 2007-03-02  Bruno Haible  <bruno@clisp.org>
43415
43416         * modules/gettext (configure.ac): Require gettext infrastructure
43417         from version 0.16.1.
43418
43419 2007-03-02  Bruno Haible  <bruno@clisp.org>
43420
43421         * modules/linkedhash-list-tests (Depends-on): Add progname.
43422         * tests/test-linkedhash_list.c: Include progname.h.
43423         (main): Call set_program_name.
43424
43425         * modules/carray-list-tests (Depends-on): Add progname.
43426         * tests/test-carray_list.c: Include progname.h.
43427         (main): Call set_program_name.
43428
43429         * modules/avltreehash-list-tests (Depends-on): Add progname.
43430         * tests/test-avltreehash_list.c: Include progname.h.
43431         (main): Call set_program_name.
43432
43433         * modules/avltree-oset-tests (Depends-on): Add progname.
43434         * tests/test-avltree_oset.c: Include progname.h.
43435         (main): Call set_program_name.
43436
43437         * modules/avltree-list-tests (Depends-on): Add progname.
43438         * tests/test-avltree_list.c: Include progname.h.
43439         (main): Call set_program_name.
43440
43441         * modules/array-oset-tests (Depends-on): Add progname.
43442         * tests/test-array_oset.c: Include progname.h.
43443         (main): Call set_program_name.
43444
43445         * modules/array-list-tests (Depends-on): Add progname.
43446         * tests/test-array_list.c: Include progname.h.
43447         (main): Call set_program_name.
43448
43449         * modules/argp-tests (Depends-on): Add progname.
43450         * tests/test-argp.c: Include argp.h first. Include progname.h.
43451         (main): Call set_program_name.
43452
43453 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
43454
43455         * doc/gnulib-tool.texi (Initial import): Reword description of
43456         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
43457         limited effect even if defined after the first system include.
43458
43459 2007-03-01  Bruno Haible  <bruno@clisp.org>
43460
43461         * build-aux/config.libpath: Update to libtool-1.5.22.
43462         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43463
43464 2007-03-01  Bruno Haible  <bruno@clisp.org>
43465
43466         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
43467         foo_CFLAGS.
43468         Reported by Ralf Wildenhues.
43469
43470 2007-03-01  Bruno Haible  <bruno@clisp.org>
43471
43472         * build-aux/install-reloc: Remove object files left over by some
43473         compilers.
43474         Reported by Ralf Wildenhues.
43475
43476 2007-03-01  Bruno Haible  <bruno@clisp.org>
43477
43478         * build-aux/install-reloc: Break long lines.
43479
43480 2007-03-01  Bruno Haible  <bruno@clisp.org>
43481
43482         * doc/relocatable.texi: Document that it may not work on OpenBSD.
43483         Reported by Ralf Wildenhues.
43484
43485 2007-03-01  Bruno Haible  <bruno@clisp.org>
43486
43487         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
43488         include ordering constraints.
43489
43490 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43491
43492         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
43493         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
43494         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
43495         as another example.
43496         * lib/time_.h: Fix misspelling.
43497         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
43498         Require gl_HEADER_TIME_H_DEFAULTS.
43499         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
43500         * m4/time_r.m4 (gl_TIME_R): Likewise.
43501         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
43502
43503 2007-03-01  Bruno Haible  <bruno@clisp.org>
43504
43505         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
43506         * m4/utimens.m4 (gl_UTIMENS): Likewise.
43507
43508 2007-03-01  Jim Meyering  <jim@meyering.net>
43509
43510         * modules/xreadlink (Maintainer): Add my name.
43511         * modules/xreadlink-with-size (Depends-on): Alphabetize.
43512
43513 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
43514             Bruno Haible  <bruno@clisp.org>
43515
43516         * build-aux/install-reloc: Compile also c-ctype.c.
43517         * build-aux/relocatable.sh.in: New file.
43518         * doc/relocatable.texi: New file.
43519         * doc/relocatable-maint.texi: New file.
43520         * doc/gnulib.texi: Include relocatable-maint.texi.
43521         * lib/progreloc.c: Include unistd.h unconditionally.
43522         * lib/relocwrapper.c: Include unistd.h unconditionally.
43523         Include c-ctype.h.
43524         (add_dotbin): Use c_tolower.
43525         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
43526         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
43527         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
43528         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
43529         to m4/relocatable-lib.m4.
43530         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
43531         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
43532         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
43533         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
43534         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
43535         * modules/relocatable: New file.
43536         * modules/relocatable-lib: New file.
43537         * modules/relocatable-script: New file.
43538
43539 2007-02-28  Bruno Haible  <bruno@clisp.org>
43540
43541         Import --enable-relocatable infrastructure.
43542         * build-aux/config.libpath: New file, from GNU gettext.
43543         * build-aux/install-reloc: New file, from GNU gettext.
43544         * build-aux/reloc-ldflags: New file, from GNU gettext.
43545         * lib/relocatable.h: New file, from GNU gettext.
43546         * lib/relocatable.c: New file, from GNU gettext.
43547         * lib/relocwrapper.c: New file, from GNU gettext.
43548         * m4/relocatable.m4: New file, from GNU gettext.
43549
43550 2007-02-28  Bruno Haible  <bruno@clisp.org>
43551
43552         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
43553
43554         * modules/xreadlink: New file, from GNU gettext with modifications.
43555         * lib/xreadlink.c: New file, from GNU gettext.
43556         * lib/xreadlink.h: Add comments.
43557         (xreadlink): New declaration.
43558
43559         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
43560         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
43561         lib/xreadlink-with-size.c.
43562         (configure.ac): Remove gl_XREADLINK invocation.
43563         (Makefile.am): Augment lib_SOURCES.
43564         * m4/xreadlink.m4: Remove file.
43565         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
43566         (xreadlink_with_size): Renamed from xreadink.
43567         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
43568         * modules/canonicalize (Depends-on): Replace xreadlink with
43569         xreadlink-with-size.
43570         * lib/canonicalize.c (canonicalize_filename_mode): Update.
43571
43572 2007-02-25  Jim Meyering  <jim@meyering.net>
43573
43574         * build-aux/announce-gen: When complaining about excess arguments,
43575         list them.
43576
43577 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
43578
43579         * README: Document signed integer overflow situation more
43580         accurately.
43581
43582 2007-02-25  Bruno Haible  <bruno@clisp.org>
43583
43584         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
43585         'a' or 'A' conversion.
43586
43587 2007-02-25  Bruno Haible  <bruno@clisp.org>
43588
43589         * modules/filename: Renamed from modules/pathname.
43590         (Files): Replace lib/pathname.h with lib/filename.h. Replace
43591         lib/concatpath.c with lib/concat-filename.c.
43592         (Makefile.am): Update.
43593         (Include): Replace pathname.h with filename.h.
43594         * lib/filename.h: Renamed from lib/pathname.h.
43595         (concatenated_filename): Renamed from concatenated_pathname.
43596         * lib/concat-filename.c: Renamed from lib/concatpath.c.
43597         (concatenated_filename): Renamed from concatenated_pathname.
43598         * lib/findprog.c: Include filename.h instead of pathname.h.
43599         (find_in_path): Update.
43600         * lib/javacomp.c: Include filename.h instead of pathname.h.
43601         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
43602         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
43603         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
43604         is_oldgcj_14_13_usable, is_javac_usable): Update.
43605         * lib/javaexec.c: Include filename.h instead of pathname.h.
43606         (execute_java_class): Update.
43607         * modules/findprog: Update.
43608         * modules/javacomp: Update.
43609         * modules/javaexec: Update.
43610         * MODULES.html.sh (File system functions): Add 'filename', remove
43611         'pathname'.
43612
43613 2007-02-25  Bruno Haible  <bruno@clisp.org>
43614
43615         * modules/printf-frexpl-tests: New file.
43616         * tests/test-printf-frexpl.c: New file.
43617
43618         * modules/printf-frexpl: New file.
43619         * lib/printf-frexpl.h: New file.
43620         * lib/printf-frexpl.c: New file.
43621         * m4/printf-frexpl.m4: New file.
43622
43623 2007-02-25  Bruno Haible  <bruno@clisp.org>
43624
43625         * modules/printf-frexp-tests: New file.
43626         * tests/test-printf-frexp.c: New file.
43627
43628         * modules/printf-frexp: New file.
43629         * lib/printf-frexp.h: New file.
43630         * lib/printf-frexp.c: New file.
43631         * m4/printf-frexp.m4: New file.
43632
43633 2007-02-25  Bruno Haible  <bruno@clisp.org>
43634
43635         Assume automake >= 1.10 for the tests.
43636         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
43637         * modules/arctwo-tests: Likewise.
43638         * modules/argp-tests: Likewise.
43639         * modules/avltree-list-tests: Likewise.
43640         * modules/avltree-oset-tests: Likewise.
43641         * modules/avltreehash-list-tests: Likewise.
43642         * modules/carray-list-tests: Likewise.
43643         * modules/crc-tests: Likewise.
43644         * modules/des-tests: Likewise.
43645         * modules/gc-arcfour-tests: Likewise.
43646         * modules/gc-arctwo-tests: Likewise.
43647         * modules/gc-des-tests: Likewise.
43648         * modules/gc-hmac-md5-tests: Likewise.
43649         * modules/gc-hmac-sha1-tests: Likewise.
43650         * modules/gc-md2-tests: Likewise.
43651         * modules/gc-md4-tests: Likewise.
43652         * modules/gc-md5-tests: Likewise.
43653         * modules/gc-pbkdf2-sha1-tests: Likewise.
43654         * modules/gc-rijndael-tests: Likewise.
43655         * modules/gc-sha1-tests: Likewise.
43656         * modules/gc-tests: Likewise.
43657         * modules/getaddrinfo-tests: Likewise.
43658         * modules/hmac-md5-tests: Likewise.
43659         * modules/hmac-sha1-tests: Likewise.
43660         * modules/linked-list-tests: Likewise.
43661         * modules/linkedhash-list-tests: Likewise.
43662         * modules/lock-tests: Likewise.
43663         * modules/md2-tests: Likewise.
43664         * modules/md4-tests: Likewise.
43665         * modules/md5-tests: Likewise.
43666         * modules/rbtree-list-tests: Likewise.
43667         * modules/rbtree-oset-tests: Likewise.
43668         * modules/rbtreehash-list-tests: Likewise.
43669         * modules/read-file-tests: Likewise.
43670         * modules/rijndael-tests: Likewise.
43671         * modules/stdint-tests: Likewise.
43672         * modules/tls-tests: Likewise.
43673
43674 2007-02-24  Bruno Haible  <bruno@clisp.org>
43675
43676         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
43677         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
43678         function; instead check whether isnan with a double argument links.
43679         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
43680         function; instead check whether isnan with a 'long double' argument
43681         links.
43682         Reported by Eric Blake <ebb9@byu.net>.
43683
43684 2007-02-24  Bruno Haible  <bruno@clisp.org>
43685
43686         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
43687         defined.
43688         * lib/isnanl.c: Remove all code. Just include isnan.c.
43689         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
43690
43691 2007-02-25  Jim Meyering  <jim@meyering.net>
43692
43693         Avoid conflicting types for 'unsetenv' on FreeBSD.
43694         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
43695         conflicting with FreeBSD's (5.0 and 6.1) function declaration
43696         in stdlib.h.
43697
43698 2007-02-24  Bruno Haible  <bruno@clisp.org>
43699
43700         * modules/isnanl-nolibm-tests: New file.
43701         * tests/test-isnanl.c: New file.
43702
43703         * modules/isnanl-nolibm: New file.
43704         * lib/isnanl.h: New file.
43705         * lib/isnanl.c: New file.
43706         * m4/isnanl.m4: New file.
43707
43708 2007-02-24  Bruno Haible  <bruno@clisp.org>
43709
43710         * modules/isnan-nolibm-tests: New file.
43711         * tests/test-isnan.c: New file.
43712
43713         * modules/isnan-nolibm: New file.
43714         * lib/isnan.h: New file.
43715         * lib/isnan.c: New file.
43716         * m4/isnan.m4: New file.
43717
43718 2007-02-24  Bruno Haible  <bruno@clisp.org>
43719
43720         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
43721         assume that an exponent fits in 20 bits.
43722
43723 2007-02-24  Jim Meyering  <jim@meyering.net>
43724
43725         * m4/regex.m4: Update the description of the configure-time option,
43726         --without-included-regex, to state accurately what the defaults are,
43727         and perhaps to give people an idea why using this option is risky.
43728
43729 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43730
43731         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
43732         loops on small arguments.  This attempts to avoid the problem
43733         Bruno Haible reported for AIX 4.3.2 in
43734         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
43735
43736 2007-02-23  Bruno Haible  <bruno@clisp.org>
43737
43738         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
43739         Needed for help2man.
43740
43741 2007-02-23  Karl Berry  <karl@gnu.org>
43742
43743         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
43744         exists, foo.h should be cvs-ignored, not committed.
43745
43746 2007-02-23  Eric Blake  <ebb9@byu.net>
43747
43748         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
43749         * lib/stat-time.h (includes): Likewise.
43750         * lib/utimecmp.c (includes): Likewise.
43751         * lib/utimens.h (includes): Likewise.
43752         * lib/getdate.y (includes): Also include "timespec.h" for use
43753         internal to the module.
43754         * modules/utimens (Depends-on): Revert yesterday's patch.
43755         * modules/nanosleep (Depends-on): Add missing dependency.
43756
43757 2007-02-22  Bruno Haible  <bruno@clisp.org>
43758
43759         * lib/glob.c: Don't include getlogin_r.h.
43760
43761 2007-02-22  Jim Meyering  <jim@meyering.net>
43762
43763         * modules/utimens (Depends-on): Add timespec, required for
43764         utimens.h's inclusion of timespec.h.
43765
43766 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
43767
43768         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
43769         long unreadable paths in GNU/Linux.  Problem reported by Andreas
43770         Schwab in
43771         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
43772         I'll try to think of a better way to fix the Solaris problem.
43773
43774         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
43775         like glibc; on Solaris 10, it fails with errno == EINVAL.
43776         POSIX says the behavior is unspecified if the first argument is NULL,
43777         so play it safe and never pass NULL to the system getcwd.
43778
43779 2007-02-21  Jim Meyering  <jim@meyering.net>
43780
43781         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
43782         of gettimeofday.  It would conflict with the one now always
43783         provided via sys_time_.h.  Reported by Matthew Woehlke, as
43784         an IRIX 6.5 build failure.
43785
43786 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43787
43788         Minor fixups to port to Solaris 10 with Sun C 5.8.
43789         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
43790         * modules/getcwd (Depends-on): Add dirfd.
43791         * lib/putenv.c (putenv): #undef it.
43792         (rpl_putenv): New decl.
43793         (malloc, free): Include <stdlib.h> rather than prototyping separately.
43794
43795 2007-02-20  Bruno Haible  <bruno@clisp.org>
43796
43797         * modules/stdio-tests: New file.
43798         * tests/test-stdio.c: New file.
43799
43800         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
43801         (Depends-on): Add stdio.
43802         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
43803         (Include): Use <stdio.h> instead of vsnprintf.h.
43804         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
43805         HAVE_DECL_VSNPRINTF.
43806         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
43807
43808         * modules/snprintf (Files): Remove lib/snprintf.h.
43809         (Depends-on): Add stdio.
43810         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
43811         (Include): Use <stdio.h> instead of snprintf.h.
43812         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
43813         HAVE_DECL_SNPRINTF.
43814         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
43815         * lib/getaddrinfo.c: Likewise.
43816
43817         * modules/stdio: New file.
43818         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
43819         * lib/snprintf.h: Remove file.
43820         * lib/vsnprintf.h: Remove file.
43821         * lib/.cppi-disable: Remove snprintf.h.
43822         * m4/stdio_h.m4: New file.
43823         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
43824
43825 2007-02-20  Jim Meyering  <jim@meyering.net>
43826
43827         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
43828         used by e.g., mingw.  From Bruno Haible.
43829
43830 2007-02-19  Bruno Haible  <bruno@clisp.org>
43831
43832         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
43833         warnings.
43834         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43835
43836 2007-02-19  Bruno Haible  <bruno@clisp.org>
43837
43838         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
43839         from mingw users.
43840
43841 2007-02-19  Bruno Haible  <bruno@clisp.org>
43842
43843         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
43844         warnings.
43845         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
43846
43847 2007-02-19  Jim Meyering  <jim@meyering.net>
43848
43849         Don't use FD after a successful "fdopendir (fd)".
43850         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
43851         Reset it by calling dirfd on the just-obtained DIR*.
43852
43853         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
43854         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
43855
43856 2007-02-18  Bruno Haible  <bruno@clisp.org>
43857
43858         * lib/readlink.c: Include <unistd.h>.
43859         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
43860         HAVE_READLINK.
43861         * modules/readlink (Depends-on): Add unistd.
43862         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43863         (Include): Add <unistd.h>.
43864
43865         * lib/getlogin_r.h: Remove file.
43866         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
43867         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
43868         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
43869         HAVE_DECL_GETLOGIN_R.
43870         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
43871         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43872         (Include): Use <unistd.h> instead of getlogin_r.h.
43873
43874         * lib/getcwd.h: Remove file.
43875         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
43876         * lib/xgetcwd.c: Likewise.
43877         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
43878         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
43879         * modules/getcwd (Files): Remove lib/getcwd.h.
43880         (Depends-on): Add unistd.
43881         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43882         (Include): Use <unistd.h> instad of getcwd.h.
43883
43884         * lib/ftruncate.c: Include <unistd.h> first.
43885         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
43886         Set HAVE_FTRUNCATE.
43887         * modules/ftruncate (Depends-on): Add unistd.
43888         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43889
43890         * lib/fchdir.c: Include <unistd.h> first.
43891         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
43892         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
43893         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
43894         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43895         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
43896
43897         * lib/dup2.c: Include <unistd.h> first.
43898         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
43899         HAVE_DUP2.
43900         * modules/dup2 (Depends-on): Add unistd.
43901         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43902
43903         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
43904         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
43905         REPLACE_CHOWN. Don't define chown as a macro here.
43906         * modules/chown (Depends-on): Add unistd.
43907         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43908
43909         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
43910         Add definition for GL_LINK_WARNING.
43911         (chown, dup2): New declarations.
43912         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
43913         link warning.
43914         (ftruncate): New declaration.
43915         (getcwd): New declaration, taken from old getcwd.h.
43916         (getlogin_r): New declaration, taken from old getlogin_r.h.
43917         (readlink): New declaration.
43918         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
43919         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
43920         (gl_PREREQ_UNISTD): Remove macro.
43921         (gl_UNISTD_MODULE_INDICATOR): New macro.
43922         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
43923         many new variables. Don't set UNISTD_H.
43924         * modules/unistd (Description): Change.
43925         (Depends-on): Add link-warning.
43926         (configure.ac): Update.
43927         (Makefile.am): Create unistd.h always. Substitute many new variables
43928         into it.
43929
43930 2007-02-18  Bruno Haible  <bruno@clisp.org>
43931
43932         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
43933         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
43934         HAVE_GETSUBOPT.
43935         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
43936         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
43937         * lib/getsubopt.h: Remove file.
43938         * modules/getsubopt (Files): Remove lib/getsubopt.h.
43939         (Depends-on): Add stdlib.
43940         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43941         (Includes): Use <stdlib.h> instead of getsubopt.h.
43942         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
43943         Set HAVE_GETSUBOPT.
43944         * lib/getsubopt.c: Don't include getsubopt.h.
43945
43946 2007-02-18  Bruno Haible  <bruno@clisp.org>
43947
43948         * modules/fchdir (Depends-on): Add dup2.
43949
43950 2007-02-18  Bruno Haible  <bruno@clisp.org>
43951
43952         * lib/stdlib_.h: Handle glibc's special invocation convention
43953         specially.
43954
43955 2007-02-18  Bruno Haible  <bruno@clisp.org>
43956
43957         * modules/stdlib-tests: New file.
43958         * tests/test-stdlib.c: New file.
43959
43960         * modules/mkstemp (Files): Remove lib/mkstemp.h.
43961         (Depends-on): Add stdlib.
43962         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43963         (Includes): Use <stdlib.h> instead of mkstemp.h.
43964         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
43965         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
43966         * lib/mkstemp.c: Don't include mkstemp.h.
43967         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
43968         * lib/stdlib--.h: Don't include mkstemp.h.
43969
43970         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
43971         (Depends-on): Add stdlib.
43972         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43973         (Includes): Use <stdlib.h> instead of mkdtemp.h.
43974         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
43975         HAVE_MKDTEMP.
43976         * lib/mkdtemp.c: Don't include mkdtemp.h.
43977         * lib/clean-temp.c: Don't include mkdtemp.h.
43978
43979         * modules/exit (Files): Remove lib/exit.h.
43980         (Depends-on): Add stdlib.
43981         (Makefile.am): Remove lib_SOURCES.
43982         (Include): Use <stdlib.h> instead of exit.h.
43983         * lib/argmatch.c: Don't include exit.h.
43984         * lib/execute.c: Likewise.
43985         * lib/pagealign_alloc.c: Likewise.
43986         * lib/pipe.c: Likewise.
43987         * lib/wait-process.c: Likewise.
43988         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
43989         * lib/exitfail.c: Likewise.
43990         * lib/savewd.c: Likewise.
43991         * lib/xsetenv.c: Likewise.
43992
43993         * modules/stdlib: New file.
43994         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
43995         and extra comments about mkstemp().
43996         * lib/exit.h: Remove file.
43997         * lib/mkdtemp.h: Remove file.
43998         * lib/mkstemp.h: Remove file.
43999         * m4/stdlib_h.m4: New file.
44000         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
44001
44002 2007-02-18  Bruno Haible  <bruno@clisp.org>
44003
44004         * modules/math-tests: New file.
44005         * tests/test-math.c: New file.
44006
44007         * modules/math: New file.
44008         * modules/mathl (Files): Remove lib/mathl.h.
44009         (Depends-on): Add math.
44010         (Makefile.am): Don't mention mathl.h.
44011         (Include): Use <math.h> instead of mathl.h.
44012         * lib/math_.h: New file.
44013         * lib/mathl.h: Remove file.
44014         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
44015         mathl.h.
44016         * lib/asinl.c: Likewise.
44017         * lib/atanl.c: Likewise.
44018         * lib/ceill.c: Likewise.
44019         * lib/cosl.c: Likewise.
44020         * lib/expl.c: Likewise.
44021         * lib/floorl.c: Likewise.
44022         * lib/frexpl.c: Likewise.
44023         * lib/ldexpl.c: Likewise.
44024         * lib/logl.c: Likewise.
44025         * lib/sincosl.c: Likewise.
44026         * lib/sinl.c: Likewise.
44027         * lib/sqrtl.c: Likewise.
44028         * lib/tanl.c: Likewise.
44029         * lib/trigl.c: Likewise.
44030         * m4/math_h.m4: New file.
44031         * MODULES.html.sh (Mathematics): Add math.
44032
44033 2007-02-17  Bruno Haible  <bruno@clisp.org>
44034
44035         * modules/wctype-tests: New file.
44036         * tests/test-wctype.c: New file.
44037
44038         * modules/wchar-tests: New file.
44039         * tests/test-wchar.c: New file.
44040
44041         * modules/unistd-tests: New file.
44042         * tests/test-unistd.c: New file.
44043
44044         * modules/time-tests: New file.
44045         * tests/test-time.c: New file.
44046
44047         * modules/sysexits-tests: New file.
44048         * tests/test-sysexits.c: New file.
44049
44050         * modules/sys_time-tests: New file.
44051         * tests/test-sys_time.c: New file.
44052
44053         * modules/sys_stat-tests: New file.
44054         * tests/test-sys_stat.c: New file.
44055
44056         * modules/sys_socket-tests: New file.
44057         * tests/test-sys_socket.c: New file.
44058
44059         * modules/sys_select-tests: New file.
44060         * tests/test-sys_select.c: New file.
44061
44062         * modules/string-tests: New file.
44063         * tests/test-string.c: New file.
44064
44065         * modules/stdbool-tests: New file.
44066         * tests/test-stdbool.c: New file.
44067
44068         * modules/netinet_in-tests: New file.
44069         * tests/test-netinet_in.c: New file.
44070
44071         * modules/inttypes-tests: New file.
44072         * tests/test-inttypes.c: New file.
44073
44074         * modules/fcntl-tests: New file.
44075         * tests/test-fcntl.c: New file.
44076
44077         * modules/byteswap-tests: New file.
44078         * tests/test-byteswap.c: New file.
44079
44080         * modules/arpa_inet-tests: New file.
44081         * tests/test-arpa_inet.c: New file.
44082
44083 2007-02-17  Bruno Haible  <bruno@clisp.org>
44084
44085         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
44086         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
44087         if the corresponding module is not enabled. Emit link warnings if
44088         the function is used nevertheless.
44089         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
44090         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
44091         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
44092         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
44093         * modules/inttypes (Depends-on): Add link-warning.
44094         (Makefile.am): Copy the contents of build-aux/link-warning.h into
44095         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
44096         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
44097         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
44098         * modules/imaxdiv (configure.ac): Likewise.
44099         * modules/strtoimax (configure.ac): Likewise.
44100         * modules/strtoumax (configure.ac): Likewise.
44101
44102 2007-02-17  Bruno Haible  <bruno@clisp.org>
44103
44104         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
44105         gl_STRING_MODULE_INDICATOR_DEFAULTS.
44106         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
44107         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
44108
44109 2007-02-17  Bruno Haible  <bruno@clisp.org>
44110
44111         * modules/link-warning: New file.
44112         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
44113         * lib/string_.h (GL_LINK_WARNING): Remove definition.
44114         * modules/string (Depends-on): Add link-warning.
44115         (Makefile.am): Copy the contents of build-aux/link-warning.h into
44116         string.h.
44117         * MODULES.html.sh (Support for building libraries and executables): Add
44118         link-warning.
44119
44120 2007-02-17  Bruno Haible  <bruno@clisp.org>
44121
44122         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
44123         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
44124         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
44125         long lines.
44126
44127 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
44128             Bruno Haible  <bruno@clisp.org>
44129
44130         * modules/tmpfile: New file.
44131         * lib/tmpfile.c: New file.
44132         * m4/tmpfile.m4: New file.
44133         * MODULES.html.sh (func_all_modules): New section "Input/output".
44134
44135 2007-02-15  Bruno Haible  <bruno@clisp.org>
44136
44137         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
44138         (supports_delete_on_close): New function.
44139         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
44140
44141 2007-02-14  Bruno Haible  <bruno@clisp.org>
44142
44143         * modules/mbspcasecmp-tests: New file.
44144         * tests/test-mbspcasecmp.sh: New file.
44145         * tests/test-mbspcasecmp.c: New file.
44146
44147         New module mbspcasecmp.
44148         * modules/mbspcasecmp: New file.
44149         * lib/mbspcasecmp.c: New file.
44150         * lib/string_.h (strncasecmp): Change warning message.
44151         (mbspcasecmp): New declaration.
44152         * m4/mbspcasecmp.m4: New file.
44153         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44154         GNULIB_MBSPCASECMP.
44155         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
44156         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
44157
44158 2007-02-14  Bruno Haible  <bruno@clisp.org>
44159
44160         * modules/mbsncasecmp-tests: New file.
44161         * tests/test-mbsncasecmp.sh: New file.
44162         * tests/test-mbsncasecmp.c: New file.
44163
44164         New module mbsncasecmp.
44165         * modules/mbsncasecmp: New file.
44166         * lib/mbsncasecmp.c: New file.
44167         * lib/string_.h (mbsncasecmp): New declaration.
44168         * m4/mbsncasecmp.m4: New file.
44169         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44170         GNULIB_MBSNCASECMP.
44171         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
44172         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
44173
44174 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
44175
44176         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
44177         Verify that it doesn't overlap with our flags.
44178         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
44179         do not have the desired effect in multibyte locales; instead, use
44180         mbscasecmp.
44181         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
44182         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
44183         we don't require GNU fnmatch ourselves (if our users require it, they
44184         should do so explicitly).
44185
44186         Fix regex code so it doesn't rely on strcasecmp.
44187         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
44188         Otherwise, include gnulib's langinfo.h.
44189         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
44190         undesirable behavior in non-C locales.  Instead, rely on localecharset.
44191         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
44192         * modules/regex (FILES): Remove m4/codeset.m4.
44193         (Depends-on): Add localcharset.  Remove strcase.
44194
44195 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44196
44197         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
44198         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
44199
44200 2007-02-13  Bruno Haible  <bruno@clisp.org>
44201
44202         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
44203         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44204
44205 2007-02-12  Bruno Haible  <bruno@clisp.org>
44206
44207         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
44208         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
44209         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
44210         time warning rather than a link error.
44211
44212 2007-02-12  Bruno Haible  <bruno@clisp.org>
44213
44214         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
44215         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44216         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44217
44218 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
44219
44220         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
44221         args, not 2.
44222
44223 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
44224
44225         New module 'time', so that apps can include <time.h> as per
44226         POSIX and GNU instead of separate include files like time_r.h
44227         and timegm.h.  This implementation tries out a simpler approach
44228         for replacing decls in standard include files (as compared to
44229         the string module), somewhat as an experiment.
44230
44231         * config/srclist.txt: Comment out mktime.c for now.
44232         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
44233         since it doesn't apply any more.  Use generic wording instead.
44234         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
44235         'time'.
44236         * lib/time_.h, m4/time_h.m4, modules/time: New files.
44237         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
44238         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
44239         Don't include <sys/types.h>; no longer needed since we assume C89.
44240         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
44241         * lib/strftime.c: Likewise.
44242         * lib/time_r.c: Likewise.
44243         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
44244         * lib/nanosleep.c: Include <time.h> first, to check interface.
44245         * lib/strptime.c: Likewise.
44246         * lib/time_r.c: Likewise.
44247         * lib/timegm.c: Likewise.
44248         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
44249         needed.
44250         * lib/timegm.c: Don't include timegm.h; no longer needed.
44251         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
44252         time.h now handles any problems in that area.
44253         (struct timespec, nanosleep): Remove; time.h now arranges for these.
44254         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
44255         that time.h defines struct timespec.
44256         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
44257         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
44258         handles that.
44259         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
44260         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
44261         needed.  Set REPLACE_LOCALTIME.
44262         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
44263         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
44264         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
44265         nanosleep; time_h.m4 now does that.  Don't require
44266         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
44267         module handles this now.
44268         * modules/getdate (Depends-on): Remove timespec.  Add time.
44269         * modules/nanosleep (Depends-on): Likewise.
44270         * modules/stat-time (Depends-on): Likewise.
44271         * modules/nanosleep (Include): Include time.h, not timespec.h.
44272         * modules/strptime (Files): Remove lib/strptime.h.
44273         (Depends-on): Add extensions, time.
44274         (Include): Include time.h, not strptime.h.
44275         * modules/time_r (Files): Remove lib/time_r.h.
44276         (Depends-on): Add time.
44277         (Include): Include time.h, not time_r.h.
44278         * modules/timegm: Likewise.
44279         * modules/timespec (Description): Now does timespec-related decls
44280         of our own, instead of struct timespec itself.
44281         (Depends-on): Add time; remove extensions.
44282         (Maintainer): Add self.
44283         * modules/utimecmp (Depends-on): Add time; remove timespec.
44284         * modules/utimens (Depends-on): Likewise.
44285         * modules/xnanosleep (Depends-on): Likewise.
44286
44287 2007-02-11  Bruno Haible  <bruno@clisp.org>
44288
44289         * lib/c-strstr.c: Include allocsa.h.
44290         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44291         * lib/c-strcasestr.c: Include allocsa.h.
44292         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44293         * lib/strcasestr.c: Include allocsa.h.
44294         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44295         * lib/mbsstr.c: Include allocsa.h.
44296         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
44297         allocsa/freesa instead of malloc/free.
44298         * lib/mbscasestr.c: Include allocsa.h.
44299         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
44300         allocsa/freesa instead of malloc/free.
44301         * modules/c-strstr (Depends-on): Add allocsa.
44302         * modules/c-strcasestr (Depends-on): Likewise.
44303         * modules/strcasestr (Depends-on): Likewise.
44304         * modules/mbsstr (Depends-on): Likewise.
44305         * modules/mbscasestr (Depends-on): Likewise.
44306
44307 2007-02-11  Bruno Haible  <bruno@clisp.org>
44308
44309         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
44310
44311         * modules/mbsspn-tests: New file.
44312         * tests/test-mbsspn.sh: New file.
44313         * tests/test-mbsspn.c: New file.
44314
44315 2007-02-11  Bruno Haible  <bruno@clisp.org>
44316
44317         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
44318
44319         * modules/mbspbrk-tests: New file.
44320         * tests/test-mbspbrk.sh: New file.
44321         * tests/test-mbspbrk.c: New file.
44322
44323 2007-02-11  Bruno Haible  <bruno@clisp.org>
44324
44325         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
44326         unneeded cast.
44327
44328         * modules/mbscspn-tests: New file.
44329         * tests/test-mbscspn.sh: New file.
44330         * tests/test-mbscspn.c: New file.
44331
44332 2007-02-11  Bruno Haible  <bruno@clisp.org>
44333
44334         * modules/mbscasecmp-tests: New file.
44335         * tests/test-mbscasecmp.sh: New file.
44336         * tests/test-mbscasecmp.c: New file.
44337
44338 2007-02-11  Bruno Haible  <bruno@clisp.org>
44339
44340         Ensure O(n) worst-case complexity of mbscasestr.
44341         * lib/mbscasestr.c: Include stdbool.h.
44342         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
44343         functions.
44344         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
44345         the bookkeeping indicates that it's worth it.
44346         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
44347
44348         * modules/mbscasestr-tests: New file.
44349         * tests/test-mbscasestr1.c: New file.
44350         * tests/test-mbscasestr2.sh: New file.
44351         * tests/test-mbscasestr2.c: New file.
44352         * tests/test-mbscasestr3.sh: New file.
44353         * tests/test-mbscasestr3.c: New file.
44354         * tests/test-mbscasestr4.sh: New file.
44355         * tests/test-mbscasestr4.c: New file.
44356         * m4/locale-tr.m4: New file.
44357
44358 2007-02-11  Bruno Haible  <bruno@clisp.org>
44359
44360         Ensure O(n) worst-case complexity of mbsstr.
44361         * lib/mbsstr.c: Include stdbool.h.
44362         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
44363         functions.
44364         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
44365         bookkeeping indicates that it's worth it.
44366         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
44367
44368         * modules/mbsstr-tests: New file.
44369         * tests/test-mbsstr1.c: New file.
44370         * tests/test-mbsstr2.sh: New file.
44371         * tests/test-mbsstr2.c: New file.
44372         * tests/test-mbsstr3.sh: New file.
44373         * tests/test-mbsstr3.c: New file.
44374         * m4/locale-fr.m4: New file.
44375
44376 2007-02-11  Bruno Haible  <bruno@clisp.org>
44377
44378         * lib/mbsrchr.c (mbsrchr): Fix bug.
44379
44380         * modules/mbsrchr-tests: New file.
44381         * tests/test-mbsrchr.sh: New file.
44382         * tests/test-mbsrchr.c: New file.
44383
44384 2007-02-11  Bruno Haible  <bruno@clisp.org>
44385
44386         * lib/mbschr.c (mbschr): Fix bug.
44387
44388         * modules/mbschr-tests: New file.
44389         * tests/test-mbschr.sh: New file.
44390         * tests/test-mbschr.c: New file.
44391         * m4/locale-zh.m4: New file.
44392
44393 2007-02-11  Bruno Haible  <bruno@clisp.org>
44394
44395         Support for copying multibyte string iterators.
44396         * lib/mbiter.h: Include <string.h>.
44397         (mbiter_multi_copy): New function.
44398         (mbi_copy): New macro.
44399         * lib/mbuiter.h: Include <string.h>.
44400         (mbuiter_multi_copy): New function.
44401         (mbui_copy): New macro.
44402
44403 2007-02-11  Bruno Haible  <bruno@clisp.org>
44404
44405         New module mbslen.
44406         * modules/mbslen: New file.
44407         * lib/mbslen.c: New file.
44408         * lib/string_.h (mbslen): New declaration.
44409         * m4/mbslen.m4: New file.
44410         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44411         GNULIB_MBSLEN.
44412         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
44413         * MODULES.html.sh (Internationalization functions): Add mbslen.
44414
44415 2007-02-11  Bruno Haible  <bruno@clisp.org>
44416
44417         Ensure O(n) worst-case complexity of strcasestr substitute.
44418         * lib/strcasestr.c: Include stdbool.h.
44419         (knuth_morris_pratt): New function.
44420         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
44421         bookkeeping indicates that it's worth it.
44422         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
44423
44424         * modules/strcasestr-tests: New file.
44425         * tests/test-strcasestr.c: New file.
44426
44427 2007-02-11  Bruno Haible  <bruno@clisp.org>
44428
44429         Ensure O(n) worst-case complexity of c_strcasestr.
44430         * lib/c-strcasestr.c: Include stdbool.h, string.h.
44431         (knuth_morris_pratt): New function.
44432         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
44433         the bookkeeping indicates that it's worth it.
44434         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
44435
44436         * modules/c-strcasestr-tests: New file.
44437         * tests/test-c-strcasestr.c: New file.
44438
44439 2007-02-11  Bruno Haible  <bruno@clisp.org>
44440
44441         Ensure O(n) worst-case complexity of c_strstr.
44442         * lib/c-strstr.c: Include stdbool.h, string.h.
44443         (knuth_morris_pratt): New function.
44444         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
44445         bookkeeping indicates that it's worth it.
44446         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
44447
44448         * lib/c-strstr.c: Complete rewrite for maintainability.
44449
44450         * modules/c-strstr-tests: New file.
44451         * tests/test-c-strstr.c: New file.
44452
44453 2007-02-11  Bruno Haible  <bruno@clisp.org>
44454
44455         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
44456         5.2.1 and earlier, whereby \055 was treated just like the range
44457         delimiter '-'.
44458         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
44459
44460 2007-02-08  Bruno Haible  <bruno@clisp.org>
44461
44462         * modules/regex (Depends-on): Add stdbool.
44463         Reported by Dalibor Topic <robilad@kaffe.org>.
44464
44465 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
44466
44467         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
44468         Prefer returning from main to exiting from it.
44469         Remove unnecessary parens after sizeof.
44470
44471 2007-02-05  Bruno Haible  <bruno@clisp.org>
44472
44473         New module mbssep.
44474         * modules/mbssep: New file.
44475         * lib/mbssep.c: New file.
44476         * lib/string_.h (strsep): Add a conditional link warning.
44477         (mbssep): New declaration.
44478         * m4/mbssep.m4: New file.
44479         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44480         GNULIB_MBSSEP.
44481         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
44482         * MODULES.html.sh (Internationalization functions): Add mbssep.
44483
44484 2007-02-05  Bruno Haible  <bruno@clisp.org>
44485
44486         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
44487         Optimize search in case of 1 delimiter.
44488
44489 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
44490
44491         * lib/acl.h: Include sys/types.h before sys/acl.h.
44492
44493 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
44494
44495         Merge upstream fix for glibc bugzilla #3957:
44496
44497         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
44498
44499         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
44500         bit for RE_HAT_LISTS_NOT_NEWLINE.
44501         (build_charclass_op): Remove bogus comment.
44502
44503 2007-02-05  Simon Josefsson  <simon@josefsson.org>
44504
44505         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
44506
44507 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
44508
44509         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
44510         * lib/memmem.c [!defined _LIBC]: Include config.h.
44511
44512 2007-02-04  Bruno Haible  <bruno@clisp.org>
44513
44514         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
44515         warning message.
44516
44517 2007-02-04  Bruno Haible  <bruno@clisp.org>
44518
44519         New module mbstok_r.
44520         * modules/mbstok_r: New file.
44521         * lib/mbstok_r.c: New file.
44522         * lib/string_.h (strtok_r): Change argument names to match the
44523         comments. Add a conditional link warning.
44524         (mbstok_r): New declaration.
44525         * m4/mbstok_r.m4: New file.
44526         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44527         GNULIB_MBSTOK_R.
44528         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
44529         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
44530
44531 2007-02-04  Bruno Haible  <bruno@clisp.org>
44532
44533         New module mbsspn.
44534         * modules/mbsspn: New file.
44535         * lib/mbsspn.c: New file.
44536         * lib/string_.h (strspn): Add a conditional link warning.
44537         (mbsspn): New declaration.
44538         * m4/mbsspn.m4: New file.
44539         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44540         GNULIB_MBSSPN.
44541         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
44542         * MODULES.html.sh (Internationalization functions): Add mbsspn.
44543
44544 2007-02-04  Bruno Haible  <bruno@clisp.org>
44545
44546         New module mbspbrk.
44547         * modules/mbspbrk: New file.
44548         * lib/mbspbrk.c: New file.
44549         * lib/string_.h (strpbrk): Add a conditional link warning.
44550         (mbspbrk): New declaration.
44551         * m4/mbspbrk.m4: New file.
44552         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44553         GNULIB_MBSPBRK.
44554         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
44555         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
44556
44557 2007-02-04  Bruno Haible  <bruno@clisp.org>
44558
44559         New module mbscspn.
44560         * modules/mbscspn: New file.
44561         * lib/mbscspn.c: New file.
44562         * lib/string_.h (strcspn): Add a conditional link warning.
44563         (mbscspn): New declaration.
44564         * m4/mbscspn.m4: New file.
44565         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44566         GNULIB_MBSCSPN.
44567         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
44568         * MODULES.html.sh (Internationalization functions): Add mbscspn.
44569
44570 2007-02-04  Bruno Haible  <bruno@clisp.org>
44571
44572         New module mbscasestr, reduced goal of strcasestr.
44573         * modules/mbscasestr: New file.
44574         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
44575         (mbscasestr): Renamed from strcasestr.
44576         * lib/strcasestr.c: Don't include mbuiter.h.
44577         (strcasestr): Remove support for multibyte locales.
44578         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
44579         Change the conditional link warning.
44580         (mbscasestr): New declaration.
44581         * m4/mbscasestr.m4: New file.
44582         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
44583         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
44584         REPLACE_STRCASESTR.
44585         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
44586         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44587         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
44588         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
44589         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
44590         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
44591         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
44592         (Depends-on): Remove mbuiter.
44593         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
44594
44595 2007-02-04  Bruno Haible  <bruno@clisp.org>
44596
44597         Simplify handling of strncasecmp.
44598         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
44599         the conditional link warning.
44600         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44601         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
44602         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
44603         * modules/strcase (configure.ac): Don't invoke
44604         gl_STRING_MODULE_INDICATOR.
44605         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
44606
44607 2007-02-04  Bruno Haible  <bruno@clisp.org>
44608
44609         New module mbscasecmp, reduced goal of strcasecmp.
44610         * modules/mbscasecmp: New file.
44611         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
44612         (mbscasecmp): Renamed from strcasecmp.
44613         * lib/strcasecmp.c: Don't include mbuiter.h.
44614         (strcasecmp): Remove support for multibyte locales.
44615         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
44616         Change the conditional link warning.
44617         (mbscasecmp): New declaration.
44618         * m4/mbscasecmp.m4: New file.
44619         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
44620         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
44621         REPLACE_STRCASECMP.
44622         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
44623         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44624         GNULIB_MBSCASECMP.
44625         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
44626         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
44627         * modules/strcase (Files): Remove m4/mbrtowc.m4.
44628         (Depends-on): Remove mbuiter.
44629         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
44630
44631 2007-02-04  Bruno Haible  <bruno@clisp.org>
44632
44633         New module mbsstr. Remove module strstr.
44634         * modules/mbsstr: New file.
44635         * modules/strstr: Remove file.
44636         * lib/mbsstr.c: Renamed from lib/strstr.c.
44637         (mbsstr): Renamed from strstr.
44638         * lib/string_.h (strstr): Remove declaration. Change the conditional
44639         link warning.
44640         (mbsstr): New declaration.
44641         * m4/mbsstr.m4: New file.
44642         * m4/strstr.m4: Remove file.
44643         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
44644         REPLACE_STRSTR.
44645         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
44646         Don't initialize GNULIB_STRSTR.
44647         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
44648         substitute GNULIB_STRSTR and REPLACE_STRSTR.
44649         * MODULES.html.sh (Internationalization functions): Add mbsstr.
44650         (Support for systems lacking ANSI C 89): Remove strstr.
44651
44652 2007-02-04  Bruno Haible  <bruno@clisp.org>
44653
44654         New module mbsrchr.
44655         * modules/mbsrchr: New file.
44656         * lib/mbsrchr.c: New file.
44657         * lib/string_.h (strrchr): Add a conditional link warning.
44658         (mbsrchr): New declaration.
44659         * m4/mbsrchr.m4: New file.
44660         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44661         GNULIB_MBSRCHR.
44662         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
44663         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
44664
44665 2007-02-04  Bruno Haible  <bruno@clisp.org>
44666
44667         New module mbschr.
44668         * modules/mbschr: New file.
44669         * lib/mbschr.c: New file.
44670         * lib/string_.h (strchr): Add a conditional link warning.
44671         (mbschr): New declaration.
44672         * m4/mbschr.m4: New file.
44673         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44674         GNULIB_MBSCHR.
44675         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
44676         * MODULES.html.sh (Internationalization functions): Add mbschr.
44677
44678 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
44679
44680         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
44681
44682         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
44683
44684 2007-02-04  Bruno Haible  <bruno@clisp.org>
44685
44686         New module description section 'configure.ac-early'.
44687         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
44688         (func_get_autoconf_early_snippet): New function.
44689         (func_import, func_create_testdir): Use it. Remove special cases for
44690         modules 'extensions' and 'lock'.
44691         * modules/extensions (configure.ac-early): Require
44692         gl_USE_SYSTEM_EXTENSIONS.
44693         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
44694
44695 2007-02-04  Bruno Haible  <bruno@clisp.org>
44696
44697         Make use of gcj-4.3's -fsource and -ftarget option.
44698         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
44699         and if so try the options -fsource and -ftarget.
44700         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
44701         source_version, ftarget_option, target_version arguments.
44702         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
44703         (is_envjavac_oldgcj_14_14_usable): Renamed from
44704         is_envjavac_gcj_14_14_usable.
44705         (is_envjavac_oldgcj_14_13_usable): Renamed from
44706         is_envjavac_gcj_14_13_usable.
44707         (is_gcj_present): Update.
44708         (is_gcj_43, is_gcj43_usable): New functions.
44709         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
44710         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
44711         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
44712         try the options -fsource and -ftarget.
44713
44714 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
44715
44716         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
44717         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
44718         larger value.
44719
44720 2007-02-03  Jim Meyering  <jim@meyering.net>
44721
44722         Give tools a better chance to allocate space for very large buffers.
44723         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
44724
44725         Make pwd and readlink work also when run with an unreadable parent dir
44726         on systems with openat support.
44727         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
44728         provided getcwd function, even when we have openat support.
44729         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
44730
44731 2007-02-02  Bruno Haible  <bruno@clisp.org>
44732
44733         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
44734         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
44735         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
44736         portability problems if one of these functions is only used on specific
44737         platforms.
44738         Reported by Paul Eggert.
44739
44740 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
44741
44742         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
44743         is causing more trouble than it's curing.
44744         * lib/regex_internal.h (__mempcpy): Remove.
44745         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
44746         (and make the code a tad smaller to boot).
44747         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
44748
44749 2007-02-02  Jim Meyering  <jim@meyering.net>
44750
44751         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
44752         section, not in the Makefile.am: one.
44753
44754 2007-02-02  Eric Blake  <ebb9@byu.net>
44755
44756         * lib/strchrnul.c: Always include config.h first.
44757
44758         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
44759         gnulib strstr is not necessary here.
44760
44761 2007-02-02  Simon Josefsson  <simon@josefsson.org>
44762
44763         * m4/socklen.m4: Fix typo.
44764
44765 2007-02-02  Eric Blake  <ebb9@byu.net>
44766
44767         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
44768         * modules/netinet_in (Makefile.am): Likewise.
44769
44770 2007-02-01  Bruno Haible  <bruno@clisp.org>
44771
44772         * lib/string_.h (GL_LINK_WARNING): New macro.
44773         (strcasecmp, strstr, strcasestr): If provided by the system,
44774         conditionally define as a macro that leads to a warning instead of to
44775         an error.
44776         (strncasecmp): Conditionally define as a macro that leads to a warning.
44777
44778 2007-02-01  Karl Berry  <karl@gnu.org>
44779
44780         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
44781
44782 2007-02-01  Bruno Haible  <bruno@clisp.org>
44783
44784         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
44785         renamings.
44786
44787 2007-02-01  Eric Blake  <ebb9@byu.net>
44788
44789         * modules/regex (Depends-on): Revert dependence on mempcpy.
44790         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
44791         module's definition of mempcpy.
44792         Reported by Paul Eggert.
44793
44794 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
44795
44796         * lib/string_.h: If the gnulib module XYZ is not present, undefine
44797         the symbol XYZ before redefining it.  This fixes a problem with
44798         programs that don't use XYZ, when compiled on systems that define
44799         XYZ to something else.
44800
44801 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
44802
44803         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
44804         occurs when "mkdir -m foo" creates a setgid directory that is (1)
44805         writeable to group or other and (2) is intended to have a special
44806         mode bit that is set or cleared.  In such a case, the directory
44807         should be neither group- nor other-writeable until the special
44808         mode bits are right.
44809
44810 2007-01-31  Eric Blake  <ebb9@byu.net>
44811
44812         * modules/mountlist (Depends-on): Add strstr.
44813
44814         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
44815         bug.
44816         * modules/string (Makefile.am): Remove redundant replacement.
44817         * modules/regex (Depends-on): Add mempcpy.
44818
44819 2007-01-31  Bruno Haible  <bruno@clisp.org>
44820
44821         New module description field 'Link'.
44822         * gnulib-tool (func_usage): Document --extract-link-directive.
44823         (sed_extract_prog): Recognize 'Link' directive.
44824         (func_get_link_directive): New function.
44825         (func_import): Show summary of link directives.
44826         Handle --extract-link-directive option.
44827         * modules/acl (Link): New section.
44828         * modules/clock-time (Link): New section.
44829         * modules/euidaccess (Link): New section.
44830         * modules/gettext (Link): New section.
44831         * modules/iconv (Link): New section.
44832         * modules/lock (Link): New section.
44833         * modules/nanosleep (Link): New section.
44834         * modules/readline (Link): New section.
44835
44836 2007-01-27  Bruno Haible  <bruno@clisp.org>
44837
44838         Enforce the use of gnulib modules for unportable <string.h> functions.
44839         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
44840         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
44841         (gl_HEADER_STRING_H_BODY): Require it.
44842         * lib/string_.h: If the gnulib module XYZ is not present, redefine
44843         the symbol XYZ to one that gives a link error.
44844         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
44845         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
44846         * modules/mempcpy (configure.ac): Likewise.
44847         * modules/memrchr (configure.ac): Likewise.
44848         * modules/stpcpy (configure.ac): Likewise.
44849         * modules/stpncpy (configure.ac): Likewise.
44850         * modules/strcase (configure.ac): Likewise.
44851         * modules/strcasestr (configure.ac): Likewise.
44852         * modules/strchrnul (configure.ac): Likewise.
44853         * modules/strdup (configure.ac): Likewise.
44854         * modules/strndup (configure.ac): Likewise.
44855         * modules/strnlen (configure.ac): Likewise.
44856         * modules/strpbrk (configure.ac): Likewise.
44857         * modules/strsep (configure.ac): Likewise.
44858         * modules/strstr (configure.ac): Likewise.
44859         * modules/strtok_r (configure.ac): Likewise.
44860
44861 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
44862
44863         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
44864
44865 2007-01-30  Jim Meyering  <jim@meyering.net>
44866
44867         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
44868
44869 2007-01-29  Bruno Haible  <bruno@clisp.org>
44870
44871         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
44872         * lib/execute.c: Likewise.
44873         * lib/pipe.c: Likewise.
44874         * lib/printf-args.h: Likewise.
44875         * lib/printf-args.c: Likewise.
44876         * lib/printf-parse.c: Likewise.
44877         * lib/vasnprintf.c: Likewise.
44878
44879 2007-01-29  Eric Blake  <ebb9@byu.net>
44880
44881         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
44882         declaration.
44883
44884 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
44885
44886         * lib/strptime.h (strptime): Use 'restrict' for args where
44887         POSIX requires this.
44888         * lib/strptime.c (strptime): Likewise.
44889         Change license notice from LGPL to GPL, since gnulib-tool will
44890         change this as needed.
44891         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
44892         defined.
44893         Include "strptime.h" first, to check interface.
44894         Do not #undef _LIBC and _NL_CURRENT.
44895         Do not include <stdlib.h>; no longer needed.
44896         Include "time_r.h" and declare ptime_locale_status
44897         only if _LIBC is not defined.
44898         (__P): Remove unused macro.
44899         (match_string): Bring back glibc version, but use it only if _LIBC
44900         is defined.
44901         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
44902         Remove unnecessary assertion and abort() call.
44903         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
44904         * m4/strptime.m4: Fix serial number comment.
44905         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
44906         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
44907         (Depends-on): Add time_r.
44908
44909 2007-01-29  Bruno Haible  <bruno@clisp.org>
44910
44911         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44912         strptime.
44913         * modules/strptime (Depends-on): Add stdbool.
44914         * lib/strptime.h: Include <time.h> always. Add comments.
44915
44916 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44917
44918         * modules/strptime: New file.
44919         * lib/strptime.h: New file.
44920         * lib/strptime.c: New file.
44921         * m4/strptime.m4: New file.
44922
44923 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
44924
44925         * MODULES.html.sh: New module mpsort.
44926         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
44927
44928         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
44929         a circularity problem with HP-UX ia64 reported by Bob Proulx in
44930         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
44931         All uses changed.
44932         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
44933         All uses changed.
44934         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
44935         to _Restrict_.
44936         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
44937         the parameter matches the prototype.
44938
44939 2007-01-28  Jim Meyering  <jim@meyering.net>
44940
44941         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
44942         sys/time.h here, reverting that part of the previous patch:
44943         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
44944
44945 2007-01-28  Bruno Haible  <bruno@clisp.org>
44946
44947         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
44948         value of $(SYS_TIME_H).
44949         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
44950         remove it conditionally, too. [added by Jim Meyering]
44951         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
44952         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
44953         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
44954         GETTIMEOFDAY_REPLACEMENT to 1.
44955
44956 2007-01-28  Bruno Haible  <bruno@clisp.org>
44957
44958         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
44959         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
44960         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
44961         Set UNISTD_H instead of UNISTD_H2.
44962         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
44963
44964 2007-01-28  Bruno Haible  <bruno@clisp.org>
44965
44966         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
44967         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
44968
44969 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44970
44971         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
44972         (func_create_testdir): Ensure C locale for `grep' and `tr'
44973         character ranges.
44974         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
44975         ACLOCAL_AMFLAGS parsing state machine.
44976
44977 2007-01-27  Bruno Haible  <bruno@clisp.org>
44978
44979         * modules/unistr/base: Update.
44980
44981 2007-01-27  Bruno Haible  <bruno@clisp.org>
44982
44983         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
44984         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
44985         * modules/unistr/u32-mbtouc-unsafe: Renamed from
44986         modules/unistr/u32-mbtouc.
44987         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
44988         * lib/unistr.h: Update.
44989         * lib/linebreak.c: Update.
44990         * modules/unistr/u32-mbtouc: Renamed from
44991         modules/unistr/u32-mbtouc-safe.
44992         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
44993         * lib/unistr.h: Update.
44994         * lib/unistr/u32-to-u8.c: Update.
44995         * lib/unistr/u32-to-u16.c: Update.
44996
44997 2007-01-27  Bruno Haible  <bruno@clisp.org>
44998
44999         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
45000         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
45001         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
45002         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
45003         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
45004         * modules/unistr/u16-mbtouc-unsafe: Renamed from
45005         modules/unistr/u16-mbtouc.
45006         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
45007         * lib/unistr.h: Update.
45008         * lib/linebreak.c: Update.
45009         * modules/linebreak: Update.
45010         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
45011         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
45012         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
45013         * modules/unistr/u16-mbtouc: Renamed from
45014         modules/unistr/u16-mbtouc-safe.
45015         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
45016         * lib/unistr.h: Update.
45017         * lib/unistr/u16-to-u8.c: Update.
45018         * modules/unistr/u16-to-u8: Update.
45019         * lib/unistr/u16-to-u32.c: Update.
45020         * modules/unistr/u16-to-u32: Update.
45021
45022 2007-01-27  Bruno Haible  <bruno@clisp.org>
45023
45024         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
45025         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
45026         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
45027         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
45028         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
45029         * modules/unistr/u8-mbtouc-unsafe: Renamed from
45030         modules/unistr/u8-mbtouc.
45031         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
45032         * lib/unistr.h: Update.
45033         * lib/striconveh.c: Update.
45034         * modules/striconveh: Update.
45035         * lib/linebreak.c: Update.
45036         * modules/linebreak: Update.
45037         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
45038         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
45039         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
45040         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
45041         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
45042         * lib/unistr.h: Update.
45043         * lib/striconveh.c: Update.
45044         * modules/striconveh: Update.
45045         * lib/unistr/u8-to-u16.c: Update.
45046         * modules/unistr/u8-to-u16: Update.
45047         * lib/unistr/u8-to-u32.c: Update.
45048         * modules/unistr/u8-to-u32: Update.
45049
45050 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45051
45052         Sync from Libtool.
45053         * lib/argz.c: Do not include strings.h nor memory.h, include
45054         string.h unconditionally.  Patch by Simon Josefsson.
45055
45056 2007-01-27  Bruno Haible  <bruno@clisp.org>
45057
45058         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
45059         from gl_HEADER_STRING_H_BODY.
45060         (gl_HEADER_STRING_H_BODY): Require it.
45061         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
45062         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
45063         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
45064         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
45065         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45066         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
45067         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45068         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
45069         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
45070         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45071         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
45072         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
45073         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
45074         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45075         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45076
45077 2007-01-27  Bruno Haible  <bruno@clisp.org>
45078
45079         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
45080         check_PROGRAMS into noinst_PROGRAMS.
45081         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
45082         check_PROGRAMS in this case.
45083         (func_import): Set for_test to false.
45084         (func_create_testdir): Set for_test to true.
45085
45086 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
45087             Bruno Haible  <bruno@clisp.org>
45088
45089         * modules/strcasestr (Files): Remove lib/strcasestr.h.
45090         (Depends-on): Add string.
45091         (Includes): Use <string.h> instead of strcasestr.h.
45092         * modules/string (Makefile.am): Also substitute the value of
45093         REPLACE_STRCASESTR.
45094         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
45095         assume strcasestr is declared in <string.h> not <strings.h>. Also
45096         set REPLACE_STRCASESTR.
45097         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
45098         REPLACE_STRCASESTR.
45099         * lib/strcasestr.h: Remove file.
45100         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
45101         * lib/string_.h (strcasestr): New declaration.
45102
45103 2007-01-27  Bruno Haible  <bruno@clisp.org>
45104
45105         * lib/string_.h: Use 'extern'.
45106
45107 2007-01-27  Jim Meyering  <jim@meyering.net>
45108
45109         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
45110         of set-but-not-used local, "q".
45111
45112         * lib/mempcpy.c: Include <config.h> before <string.h>.
45113         This fixes a compilation error on HP-UX, due to the system's
45114         "restrict"-using mempcpy prototype.
45115
45116 2007-01-26  Bruno Haible  <bruno@clisp.org>
45117
45118         Small optimization.
45119         * lib/javacomp.c: Include c-strstr.h.
45120          (is_envjavac_gcj): Use c_strstr instead of strstr.
45121         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
45122
45123 2007-01-26  Bruno Haible  <bruno@clisp.org>
45124
45125         * MODULES.html.sh (Unicode string functions): Add the new modules.
45126
45127         * modules/uniconv/u32-strconv-to-locale: New file.
45128         * lib/uniconv/u32-strconv-to-locale.c: New file.
45129
45130         * modules/uniconv/u16-strconv-to-locale: New file.
45131         * lib/uniconv/u16-strconv-to-locale.c: New file.
45132
45133         * modules/uniconv/u8-strconv-to-locale: New file.
45134         * lib/uniconv/u8-strconv-to-locale.c: New file.
45135
45136         * modules/uniconv/u32-strconv-from-locale: New file.
45137         * lib/uniconv/u32-strconv-from-locale.c: New file.
45138
45139         * modules/uniconv/u16-strconv-from-locale: New file.
45140         * lib/uniconv/u16-strconv-from-locale.c: New file.
45141
45142         * modules/uniconv/u8-strconv-from-locale: New file.
45143         * lib/uniconv/u8-strconv-from-locale.c: New file.
45144
45145         * modules/uniconv/u32-strconv-to-enc: New file.
45146         * lib/uniconv/u32-strconv-to-enc.c: New file.
45147         * modules/uniconv/u32-strconv-to-enc-tests: New file.
45148         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
45149
45150         * modules/uniconv/u16-strconv-to-enc: New file.
45151         * lib/uniconv/u16-strconv-to-enc.c: New file.
45152         * lib/uniconv/u-strconv-to-enc.h: New file.
45153         * modules/uniconv/u16-strconv-to-enc-tests: New file.
45154         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
45155
45156         * modules/uniconv/u8-strconv-to-enc: New file.
45157         * lib/uniconv/u8-strconv-to-enc.c: New file.
45158         * modules/uniconv/u8-strconv-to-enc-tests: New file.
45159         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
45160
45161         * modules/uniconv/u32-strconv-from-enc: New file.
45162         * lib/uniconv/u32-strconv-from-enc.c: New file.
45163         * modules/uniconv/u32-strconv-from-enc-tests: New file.
45164         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
45165
45166         * modules/uniconv/u16-strconv-from-enc: New file.
45167         * lib/uniconv/u16-strconv-from-enc.c: New file.
45168         * modules/uniconv/u16-strconv-from-enc-tests: New file.
45169         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
45170
45171         * modules/uniconv/u8-strconv-from-enc: New file.
45172         * lib/uniconv/u8-strconv-from-enc.c: New file.
45173         * lib/uniconv/u-strconv-from-enc.h: New file.
45174         * modules/uniconv/u8-strconv-from-enc-tests: New file.
45175         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
45176
45177         * modules/uniconv/u32-conv-from-enc: New file.
45178         * lib/uniconv/u32-conv-from-enc.c: New file.
45179         * modules/uniconv/u32-conv-from-enc-tests: New file.
45180         * tests/uniconv/test-u32-conv-from-enc.c: New file.
45181
45182         * modules/uniconv/u16-conv-from-enc: New file.
45183         * lib/uniconv/u16-conv-from-enc.c: New file.
45184         * lib/uniconv/u-conv-from-enc.h: New file.
45185         * modules/uniconv/u16-conv-from-enc-tests: New file.
45186         * tests/uniconv/test-u16-conv-from-enc.c: New file.
45187
45188         * modules/uniconv/u8-conv-from-enc: New file.
45189         * lib/uniconv/u8-conv-from-enc.c: New file.
45190         * modules/uniconv/u8-conv-from-enc-tests: New file.
45191         * tests/uniconv/test-u8-conv-from-enc.c: New file.
45192
45193         * modules/uniconv/base: New file.
45194         * lib/uniconv.h: New file.
45195
45196 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
45197
45198         * doc/gnulib-tool.texi (Initial import): Update to match current
45199         behavior with strdup module.
45200         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
45201         * lib/memmem.h: Remove; all uses removed.  This is now done
45202         by <string.h>.
45203         * lib/mempcpy.h: Likewise.
45204         * lib/memrchr.h: Likewise.
45205         * lib/stpcpy.h: Likewise.
45206         * lib/stpncpy.h: Likewise.
45207         * lib/strcase.h: Likewise.
45208         * lib/strchrnul.h: Likewise.
45209         * lib/strdup.h: Likewise.
45210         * lib/strndup.h: Likewise.
45211         * lib/strnlen.h: Likewise.
45212         * lib/strpbrk.h: Likewise.
45213         * lib/strsep.h: Likewise.
45214         * lib/strstr.h: Likewise.
45215         * lib/strtok_r.h: Likewise.
45216         * lib/string_.h: New file.
45217         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
45218         Rely on <string.h> instead.
45219         * lib/canon-host.c: Likewise.
45220         * lib/chdir-long.c: Likewise.
45221         * lib/concatpath.c: Likewise.
45222         * lib/exclude.c: Likewise.
45223         * lib/fchdir.c: Likewise.
45224         * lib/getaddrinfo.c: Likewise.
45225         * lib/getcwd.c: Likewise.
45226         * lib/getsubopt.c: Likewise.
45227         * lib/glob.c: Likewise.
45228         * lib/hard-locale.c: Likewise.
45229         * lib/iconvme.c: Likewise.
45230         * lib/javacomp.c: Likewise.
45231         * lib/mempcpy.c: Likewise.
45232         * lib/memrchr.c: Likewise.
45233         * lib/regex_internal.h: Likewise.
45234         * lib/stpncpy.c: Likewise.
45235         * lib/strcasecmp.c: Likewise.
45236         * lib/strchrnul.c: Likewise.
45237         * lib/strdup.c: Likewise.
45238         * lib/striconv.c: Likewise.
45239         * lib/striconveh.c: Likewise.
45240         * lib/striconveha.c: Likewise.
45241         * lib/strncasecmp.c: Likewise.
45242         * lib/strndup.c: Likewise.
45243         * lib/strnlen.c: Likewise.
45244         * lib/strsep.c: Likewise.
45245         * lib/strstr.c: Likewise.
45246         * lib/strtok_r.c: Likewise.
45247         * lib/userspec.c: Likewise.
45248         * lib/w32spawn.h: Likewise.
45249         * lib/xstrndup.c: Likewise.
45250         * lib/mountlist.c (strstr): Remove decl.
45251         * m4/string_h.m4: New file.
45252         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
45253         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
45254         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
45255         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
45256         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
45257         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
45258         Set REPLACE_STRCASECMP if necessary.
45259         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
45260         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
45261         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
45262         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
45263         HAVE_DECL_STRDUP if necessary.
45264         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
45265         since gl_FUNC_STRNDUP does that now.
45266         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
45267         Check for decl here...
45268         (gl_PREREQ_STRNLEN): ... not here.
45269         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
45270         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
45271         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
45272         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
45273         necessary.
45274         * modules/string: New file.
45275         * modules/memmem (Files): Remove special-purpose include file.
45276         (Depends-on): Add string.
45277         (Include): Include <string.h>, not the removed file.
45278         * modules/mempcpy: Likewise.
45279         * modules/memrchr: Likewise.
45280         * modules/stpcpy: Likewise.
45281         * modules/stpncpy: Likewise.
45282         * modules/strcase: Likewise.
45283         * modules/strchrnul: Likewise.
45284         * modules/strdup: Likewise.
45285         * modules/strndup: Likewise.
45286         * modules/strnlen: Likewise.
45287         * modules/strpbrk: Likewise.
45288         * modules/strsep: Likewise.
45289         * modules/strstr: Likewise.
45290         * modules/strtok_r: Likewise.
45291         * tests/test-dirname.c: Don't include "strdup.h", since
45292         <string.h> now suffices.
45293         * tests/test-memmem.c: Don't include "memmem.h", since
45294         <string.h> now suffices.
45295
45296 2007-01-25  Bruno Haible  <bruno@clisp.org>
45297
45298         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
45299         *resultp is 0.
45300
45301         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
45302         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
45303         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
45304         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
45305
45306         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
45307         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
45308         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
45309         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
45310         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
45311         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
45312
45313 2007-01-24  Bruno Haible  <bruno@clisp.org>
45314
45315         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
45316         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
45317         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
45318         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
45319         gl_FUNC_FTS_CORE.
45320         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
45321         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
45322         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
45323         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
45324         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
45325         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
45326         gl_FUNC_FCHOWNAT.
45327         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
45328         gl_FUNC_STRFTIME.
45329         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
45330         Reported by Ralf Wildenhues.
45331
45332 2007-01-24  Bruno Haible  <bruno@clisp.org>
45333
45334         Drop AC_REQUIRE calls that are redundant with the module dependencies.
45335         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
45336         gl_GETADDRINFO.
45337         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
45338         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
45339         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
45340
45341 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
45342
45343         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
45344         Don't use 'exit'; just return from 'main'.
45345         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
45346
45347         * lib/fnmatch_.h: Readjust white space and comments to match
45348         glibc, to avoid spurious diffs.
45349
45350 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45351
45352         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
45353         2004-12-01 change by Jakub Jelinek, since this code won't compile
45354         if !LIBC.  Problem reported by Bob Proulx.
45355
45356 2007-01-23  Bruno Haible  <bruno@clisp.org>
45357
45358         * lib/striconveh.c: Include c-strcaseeq.h.
45359         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
45360         * modules/striconveh (Depends-on): Add c-strcaseeq.
45361
45362 2007-01-23  Bruno Haible  <bruno@clisp.org>
45363
45364         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
45365
45366         * modules/c-strcaseeq: New file.
45367         * lib/c-strcaseeq.h: New file.
45368
45369         * modules/streq: New file.
45370         * lib/streq.h: New file.
45371
45372 2007-01-23  Bruno Haible  <bruno@clisp.org>
45373
45374         * modules/striconveha-tests: New file.
45375         * tests/test-striconveha.c: New file.
45376
45377         * lib/striconveha.h: Include <stdbool.h>.
45378         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
45379         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
45380         (mem_iconveha_notranslit): Renamed from mem_iconveha.
45381         (mem_iconveha): New function.
45382         (str_iconveha_notranslit): Renamed from str_iconveha.
45383         (str_iconveha): New function.
45384         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
45385         c-strcase.
45386
45387 2007-01-23  Bruno Haible  <bruno@clisp.org>
45388
45389         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
45390         encodings without forgiving before trying any encoding with handler.
45391         (str_iconveha): Try all encodings without forgiving before trying any
45392         encoding with handler.
45393
45394 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45395
45396         Import the following changes from libc.
45397
45398         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
45399
45400         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
45401
45402         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
45403
45404         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
45405         normal_bracket label.
45406
45407         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
45408
45409         [BZ #361]
45410         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
45411         to normal_bracket after fetching the next character.
45412
45413 2007-01-22  Bruno Haible  <bruno@clisp.org>
45414
45415         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
45416         argument.
45417         * lib/striconveh.c (iconv_carefully_1): New function.
45418         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
45419         argument.
45420         (str_cd_iconveh): Update.
45421         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
45422         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
45423         * tests/test-striconveh.c (MAGIC): New macro.
45424         (new_offsets): New function.
45425         (main): Test call with and without offsets.
45426
45427 2007-01-22  Bruno Haible  <bruno@clisp.org>
45428
45429         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
45430         * modules/sys_select (Makefile.am): Likewise.
45431         * modules/sys_socket (Makefile.am): Likewise.
45432         * modules/sys_time (Makefile.am): Likewise.
45433
45434 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
45435
45436         * modules/gettimeofday (License): Change from GPL to LGPL, since
45437         gettimeofday is a library function.
45438
45439 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45440
45441         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
45442
45443 2007-01-21  Bruno Haible  <bruno@clisp.org>
45444
45445         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
45446
45447 2007-01-21  Bruno Haible  <bruno@clisp.org>
45448
45449         * modules/striconveha: New file.
45450         * lib/striconveha.h: New file.
45451         * lib/striconveha.c: New file.
45452         * MODULES.html.sh (Internationalization functions): Add striconveha.
45453         * lib/striconv.c (str_iconv): Optimize the case of an empty input
45454         string.
45455         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
45456
45457 2007-01-21  Bruno Haible  <bruno@clisp.org>
45458
45459         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
45460         * lib/striconveh.c (str_iconveh): Likewise.
45461
45462 2007-01-21  Bruno Haible  <bruno@clisp.org>
45463
45464         * lib/striconveh.h (mem_iconveh): New declaration.
45465         * lib/striconveh.c (mem_iconveh): New function.
45466         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
45467
45468 2007-01-21  Bruno Haible  <bruno@clisp.org>
45469
45470         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
45471
45472         * lib/striconveh.h (mem_cd_iconveh): Change specification.
45473         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
45474         original result buffer.
45475         (str_cd_iconveh): Update.
45476         * tests/test-striconveh.c (main): Update.
45477
45478         * lib/striconv.h (mem_cd_iconv): Change specification.
45479         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
45480         result buffer.
45481         (str_cd_iconv): Update.
45482         * tests/test-striconv.c (main): Update.
45483
45484 2007-01-21  Bruno Haible  <bruno@clisp.org>
45485
45486         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
45487
45488 2007-01-20  Jim Meyering  <jim@meyering.net>
45489
45490         * lib/userspec.c (parse_with_separator): If a user or group string
45491         starts with "+", skip the corresponding name-to-ID look-up, since
45492         such a look-up must fail: user and group names may not include "+".
45493
45494 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
45495
45496         * lib/poll.c: Include sys/time.h and time.h unconditionally,
45497         since we now assume the sys_time module.
45498         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
45499         check for sys/time.h; no longer needed.
45500         * modules/poll (Depends-on): Depend on sys_time.
45501
45502 2007-01-18  Bruno Haible  <bruno@clisp.org>
45503
45504         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
45505         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
45506
45507         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
45508         gettimeofday.
45509
45510         * tests/test-gettimeofday.c: Include <time.h>.
45511         (dummy): Remove variable.
45512
45513         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
45514         gl_HEADER_SYS_TIME_H.
45515         (gl_HEADER_SYS_TIME_H): New macro.
45516
45517         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
45518         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45519         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
45520         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
45521         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45522         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
45523         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
45524         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45525         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
45526         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
45527         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45528
45529         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
45530         last change; it caused a compilation error when cross-compiling to
45531         Cygwin.
45532
45533 2007-01-18  Jim Meyering  <jim@meyering.net>
45534
45535         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
45536         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
45537         than the race-prone "test -d sys || mkdir sys".
45538         (configure.ac): Use AC_PROG_MKDIR_P.
45539         * modules/sys_select: Likewise.
45540         * modules/sys_socket: Likewise.
45541         * modules/sys_time: Likewise.
45542
45543 2007-01-18  Eric Blake  <ebb9@byu.net>
45544
45545         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
45546         replace gettimeofday.
45547         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
45548         name, to avoid infinite recursion.
45549
45550 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
45551
45552         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
45553         module sys_time.
45554         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
45555         assume timespec.h defines struct timeval.
45556         * lib/settime.c: Likewise.
45557         * lib/utimens.c: Likewise.
45558         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
45559         since we now assume the gettimeofday module.
45560         * lib/tempname.c (__gen_tempname): Likewise.
45561         * lib/gettimeofday.h: Remove.
45562         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
45563         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
45564         Include <time.h>, for 'time()'.
45565         (localtime_buffer_addr): Also use this workaround if
45566         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
45567         to simplify the uses.  All uses changed.
45568         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
45569         that #undef is inside {}, and 'const' follows type name consistently.
45570         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
45571         (gettimeofday): Do not use the maximum possible value for
45572         tv->tv_usec, since that might break usages other than ls.c.
45573         Instead, we'll leave ls.c alone.  This undoes today's patch
45574         by Bruno.  Add a compile-time warning for 1s-clock resolution;
45575         we've never observed the problem but might as well keep the
45576         canary.
45577         * lib/nanosleep.c: Include timespec.h first, for interface check.
45578         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
45579         now assume the sys_time module.
45580         * lib/tempname.c: Likewise.
45581         * lib/timespec.h: Likewise.
45582         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
45583         needed.
45584         * lib/strftime.c: Likewise.
45585         * lib/timespec.h: Likewise.
45586         * lib/posixtm.c: Include posixtm.h first, for interface check.
45587         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
45588         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
45589         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
45590         * lib/sys_time_.h: New file.
45591         * lib/timespec.h (struct timespec): Use long int, not long.
45592         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
45593         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
45594         Remove obsolescent call to AC_HEADER_TIME.
45595         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
45596         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45597         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
45598         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
45599         Likewise.
45600         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
45601         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
45602         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
45603         into the sys_time module.  Check for gettimeofday just once.
45604         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
45605         for gettimeofday signature to just check the signature.  Merely
45606         compile it, since linking doesn't test signature.  Improve test for
45607         whether gettimeofday.o is actually needed.
45608         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
45609         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
45610         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
45611         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45612         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
45613         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
45614         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
45615         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
45616         than worrying about sys/time.h.
45617         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45618         Don't bother worrying about TIME_WITH_SYS_TIME.
45619         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45620         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
45621         * m4/sys_time_h.m4: New file.
45622         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
45623         Don't include sys/time.h.  Return from main rather than exiting.
45624         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
45625         all uses changed.
45626         * modules/gethrxtime (Depends-on): Add sys_time.
45627         * modules/gettime (Depends-on): Likewise.
45628         * modules/gettimeofday (Depends-on): Likewise.
45629         * modules/nanosleep (Depends-on): Likewise.
45630         * modules/settime (Depends-on): Likewise.
45631         * modules/tempname (Depends-on): Likewise.
45632         * modules/utimens (Depends-on): Likewise.
45633         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
45634         (Include:) Change back to <sys/time.h>.
45635         (Maintainer:) Add self.
45636         * modules/sys_time: New file.
45637         * modules/tempname (Depends-on): Add gettimeofday.
45638         * tests/test-gettimeofday.c: Include <sys/time.h>
45639         rather than gettimeofday.h.
45640
45641 2007-01-17  Bruno Haible  <bruno@clisp.org>
45642
45643         * gnulib-tool (func_get_license): Revert last patch. Instead, let
45644         the license default to GPL.
45645         (func_create_testdir): Don't complain if a module is LGPL and its
45646         tests module depends on GPLed modules.
45647
45648 2007-01-17  Bruno Haible  <bruno@clisp.org>
45649
45650         * lib/gettimeofday.c (gettimeofday): Add code for the case
45651         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
45652         maximum possible value for tv->tv_usec, rather than the minimum one.
45653
45654 2005-10-08  Martin Lambers  <marlam@marlam.de>
45655 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45656 2007-01-16  Bruno Haible  <bruno@clisp.org>
45657
45658         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
45659         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
45660         gl_FUNC_GETTIMEOFDAY.
45661         (Include): Add gettimeofday.h.
45662         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
45663         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
45664         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
45665         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
45666         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
45667         * lib/gettimeofday.h: New file.
45668         * lib/gettimeofday.c: Include <sys/timeb.h>.
45669         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
45670         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45671         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
45672         fall back on time().
45673
45674         * tests/test-gettimeofday.c: New file.
45675         * modules/gettimeofday-tests: New file.
45676
45677 2007-01-16  Eric Blake  <ebb9@byu.net>
45678
45679         * modules/fnmatch (Depends-on): Depend on wchar.
45680         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
45681         * m4/fnmatch.m4: Likewise.
45682         * modules/mbchar (Makefile.am): Assume <wchar.h>.
45683         * m4/mbchar.m4: Likewise.
45684         * modules/mbswidth (Depends-on): Depend on wchar.
45685         * lib/mbswidth.c: Assume <wchar.h>.
45686         * m4/mbswidth.m4: Likewise.
45687         * modules/quotearg (Depends-on): Depend on wchar.
45688         * lib/quotearg.c: Assume <wchar.h>.
45689         * m4/quotearg.m4: Likewise.
45690         * modules/regex (Depends-on): Depend on wchar.
45691         * lib/regex_internal.h: Assume <wchar.h>.
45692         * m4/regex.m4: Likewise.
45693         * modules/stdint (Depends-on): Depend on wchar.
45694         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
45695         * m4/stdint.m4: Likewise.
45696         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
45697         * modules/strftime (Depends-on): Depend on wchar.
45698         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
45699         * modules/strtol (Depends-on): Depend on wchar.
45700         * lib/strtol.c: Assume <wchar.h>.
45701         * modules/wcwidth (Depends-on): Depend on wchar.
45702         * lib/wcwidth.h: Assume <wchar.h>.
45703         * m4/wcwidth.m4: Likewise.
45704
45705 2007-01-16  Bruno Haible  <bruno@clisp.org>
45706
45707         * modules/csharpexec-script: New, created from...
45708         * modules/csharpexec: ... this.
45709
45710 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
45711
45712         * modules/javaexec-script: New, created from...
45713         * modules/javaexec: ... this.
45714
45715 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45716
45717         * modules/poll (Dependencies): Add sys_select.
45718
45719 2007-01-15  Jim Meyering  <jim@meyering.net>
45720
45721         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
45722         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
45723         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
45724         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
45725
45726 2007-01-15  Bruno Haible  <bruno@clisp.org>
45727
45728         * modules/striconveh: New file.
45729         * lib/striconveh.h: New file.
45730         * lib/striconveh.c: New file.
45731         * MODULES.html.sh (Internationalization functions): Add striconveh.
45732
45733         * modules/striconveh-tests: New file.
45734         * tests/test-striconveh.c: New file.
45735
45736 2007-01-15  Bruno Haible  <bruno@clisp.org>
45737
45738         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
45739         not from GNU libiconv or GNU libc.
45740
45741 2007-01-15  Bruno Haible  <bruno@clisp.org>
45742
45743         * doc/gnulib-intro.texi (Copyright): Explain the different license
45744         terms for module descriptions, autoconf macros, tests, documentation.
45745
45746 2007-01-14  Bruno Haible  <bruno@clisp.org>
45747
45748         * modules/striconv-tests: New file.
45749         * tests/test-striconv.c: New file.
45750
45751 2007-01-14  Bruno Haible  <bruno@clisp.org>
45752
45753         * modules/iconv-tests: New file.
45754         * tests/test-iconv.c: New file.
45755
45756 2007-01-14  Bruno Haible  <bruno@clisp.org>
45757
45758         * gnulib-tool (func_get_license): For test modules, use the license of
45759         the main module.
45760
45761 2007-01-14  Bruno Haible  <bruno@clisp.org>
45762
45763         * modules/iconv (Include): Clarify that <iconv.h> can only be included
45764         if iconv is found to exist.
45765
45766 2007-01-14  Bruno Haible  <bruno@clisp.org>
45767
45768         * modules/c-ctype-tests: New file.
45769         * tests/test-c-ctype.c: New file.
45770
45771 2007-01-14  Bruno Haible  <bruno@clisp.org>
45772
45773         * modules/binary-io-tests: New file.
45774         * tests/test-binary-io.sh: New file.
45775         * tests/test-binary-io.c: New file.
45776
45777 2007-01-14  Bruno Haible  <bruno@clisp.org>
45778
45779         * modules/array-oset-tests: New file.
45780         * tests/test-array_oset.c: New file.
45781
45782 2007-01-14  Bruno Haible  <bruno@clisp.org>
45783
45784         * modules/array-list-tests: New file.
45785         * tests/test-array_list.c: New file.
45786
45787 2007-01-14  Bruno Haible  <bruno@clisp.org>
45788
45789         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
45790         and make.
45791         Reported by Simon Josefsson in
45792         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
45793
45794 2007-01-14  Bruno Haible  <bruno@clisp.org>
45795
45796         * modules/allocsa-tests: New file.
45797         * tests/test-allocsa.c: New file.
45798
45799 2007-01-14  Bruno Haible  <bruno@clisp.org>
45800
45801         * modules/fchdir (Depends-on): Add absolute-header.
45802         * modules/unistd (Depends-on): Likewise.
45803
45804 2006-12-30  Bruno Haible  <bruno@clisp.org>
45805
45806         * modules/fchdir: New file.
45807         * modules/unistd (Files): Add lib/unistd_.h.
45808         (Makefile.am): Generate unistd.h from unistd_.h.
45809         * lib/fchdir.c: New file.
45810         * lib/dirent_.h: New file.
45811         * lib/unistd_.h: New file.
45812         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
45813         * m4/fchdir.m4: New file.
45814         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
45815         (gl_HEADER_UNISTD): Invoke it.
45816         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
45817         function.
45818         * lib/backupfile.c (opendir, closedir): Undefine.
45819         * lib/chown.c (open, close): Undefine.
45820         * lib/clean-temp.c (open, close): Undefine.
45821         * lib/copy-file.c (open, close): Undefine.
45822         * lib/execute.c (open, close): Undefine.
45823         * lib/fsusage.c (open, close): Undefine.
45824         * lib/gc-gnulib.c (open, close): Undefine.
45825         * lib/getcwd.c (opendir, closedir): Undefine.
45826         * lib/glob.c (opendir, closedir): Undefine.
45827         * lib/javacomp.c (open, close): Undefine.
45828         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
45829         * lib/openat-proc.c (open, close): Undefine.
45830         * lib/pagealign_alloc.c (open, close): Undefine.
45831         * lib/pipe.c (open, close): Undefine.
45832         * lib/progreloc.c (open, close): Undefine.
45833         * lib/savedir.c (opendir, closedir): Undefine.
45834         * lib/utime.c (open, close): Undefine.
45835         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
45836
45837 2007-01-10  Bruno Haible  <bruno@clisp.org>
45838
45839         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
45840
45841 2007-01-12  Eric Blake  <ebb9@byu.net>
45842
45843         Provide a robust <wchar.h>.  Further simplifications are now
45844         possible in other modules, but not included here.
45845         * modules/wchar: New module.
45846         * m4/wchar.m4: New file.
45847         * lib/wchar_.h: Likewise.
45848         * modules/mbchar (Depends-on): Depend on wchar, as the first use
45849         of the new module.
45850         * MODULES.html.sh (Extended multibyte and wide character utilities):
45851         New section.
45852
45853 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
45854
45855         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
45856         to a reasonable default for memory allocation.
45857         (xreadlink): Don't allocate a huge buffer, to work around a buggy
45858         file system that reports garbage st_size values for symlinks.
45859         Problem reported by Liyang Hu.
45860
45861 2007-01-11  Simon Josefsson  <simon@josefsson.org>
45862
45863         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
45864         Emacs .#* auto-save files).
45865
45866 2007-01-11  Bruno Haible  <bruno@clisp.org>
45867
45868         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
45869         directory.
45870
45871 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45872
45873         Use @...@ consistently in lib/wctype_.h.
45874         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
45875         on it being set to 1 or 0.
45876         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
45877         go back to AC_SUBSTing it.
45878         * modules/wctype (Makefile.am): Undo previous change.
45879
45880 2007-01-10  Eric Blake  <ebb9@byu.net>
45881
45882         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
45883         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
45884         * modules/wctype (Makefile.am): Likewise.
45885         Reported by Chris McGuire.
45886
45887 2007-01-10  Jim Meyering  <jim@meyering.net>
45888
45889         fts.c: a small readability/maintainability improvement
45890         * lib/fts.c (fts_read): Make this code slightly more readable and
45891         maintainable by hoisting the "sp->fts_cur = p" assignments to
45892         immediately follow the statements that set P.  Derived from
45893         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
45894
45895 2007-01-10  Eric Blake  <ebb9@byu.net>
45896
45897         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
45898         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
45899         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45900         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45901         Reported by Chris McGuire.
45902
45903 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45904
45905         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
45906         in sed script.
45907
45908 2007-01-09  Bruno Haible  <bruno@clisp.org>
45909
45910         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
45911         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
45912         variables.
45913         (func_module): Use them.
45914
45915 2007-01-09  Bruno Haible  <bruno@clisp.org>
45916
45917         * modules/unistr/base: New file.
45918         * lib/unistr.h: New file.
45919
45920         * modules/unistr/u8-to-u16: New file.
45921         * lib/unistr/u8-to-u16.c: New file.
45922
45923         * modules/unistr/u8-to-u32: New file.
45924         * lib/unistr/u8-to-u32.c: New file.
45925
45926         * modules/unistr/u16-to-u8: New file.
45927         * lib/unistr/u16-to-u8.c: New file.
45928
45929         * modules/unistr/u16-to-u32: New file.
45930         * lib/unistr/u16-to-u32.c: New file.
45931
45932         * modules/unistr/u32-to-u8: New file.
45933         * lib/unistr/u32-to-u8.c: New file.
45934
45935         * modules/unistr/u32-to-u16: New file.
45936         * lib/unistr/u32-to-u16.c: New file.
45937
45938         * modules/unistr/u8-check: New file.
45939         * modules/unistr/u16-check: New file.
45940         * modules/unistr/u32-check: New file.
45941         * lib/unistr/u8-check.c: New file.
45942         * lib/unistr/u16-check.c: New file.
45943         * lib/unistr/u32-check.c: New file.
45944
45945         * modules/unistr/u8-chr: New file.
45946         * modules/unistr/u16-chr: New file.
45947         * modules/unistr/u32-chr: New file.
45948         * lib/unistr/u8-chr.c: New file.
45949         * lib/unistr/u16-chr.c: New file.
45950         * lib/unistr/u32-chr.c: New file.
45951
45952         * modules/unistr/u8-cmp: New file.
45953         * modules/unistr/u16-cmp: New file.
45954         * modules/unistr/u32-cmp: New file.
45955         * lib/unistr/u8-cmp.c: New file.
45956         * lib/unistr/u16-cmp.c: New file.
45957         * lib/unistr/u32-cmp.c: New file.
45958
45959         * modules/unistr/u8-cpy: New file.
45960         * modules/unistr/u16-cpy: New file.
45961         * modules/unistr/u32-cpy: New file.
45962         * lib/unistr/u8-cpy.c: New file.
45963         * lib/unistr/u16-cpy.c: New file.
45964         * lib/unistr/u32-cpy.c: New file.
45965         * lib/unistr/u-cpy.h: New file.
45966
45967         * modules/unistr/u8-cpy-alloc: New file.
45968         * modules/unistr/u16-cpy-alloc: New file.
45969         * modules/unistr/u32-cpy-alloc: New file.
45970         * lib/unistr/u8-cpy-alloc.c: New file.
45971         * lib/unistr/u16-cpy-alloc.c: New file.
45972         * lib/unistr/u32-cpy-alloc.c: New file.
45973         * lib/unistr/u-cpy-alloc.h: New file.
45974
45975         * modules/unistr/u8-endswith: New file.
45976         * modules/unistr/u16-endswith: New file.
45977         * modules/unistr/u32-endswith: New file.
45978         * lib/unistr/u8-endswith.c: New file.
45979         * lib/unistr/u16-endswith.c: New file.
45980         * lib/unistr/u32-endswith.c: New file.
45981         * lib/unistr/u-endswith.h: New file.
45982
45983         * modules/unistr/u8-mblen: New file.
45984         * modules/unistr/u16-mblen: New file.
45985         * modules/unistr/u32-mblen: New file.
45986         * lib/unistr/u8-mblen.c: New file.
45987         * lib/unistr/u16-mblen.c: New file.
45988         * lib/unistr/u32-mblen.c: New file.
45989
45990         * modules/unistr/u8-mbtouc: New file.
45991         * modules/unistr/u16-mbtouc: New file.
45992         * modules/unistr/u32-mbtouc: New file.
45993         * lib/unistr/u8-mbtouc.c: New file.
45994         * lib/unistr/u16-mbtouc.c: New file.
45995         * lib/unistr/u32-mbtouc.c: New file.
45996
45997         * modules/unistr/u8-mbtouc-safe: New file.
45998         * modules/unistr/u16-mbtouc-safe: New file.
45999         * modules/unistr/u32-mbtouc-safe: New file.
46000         * lib/unistr/u8-mbtouc-safe.c: New file.
46001         * lib/unistr/u16-mbtouc-safe.c: New file.
46002         * lib/unistr/u32-mbtouc-safe.c: New file.
46003
46004         * modules/unistr/u8-move: New file.
46005         * modules/unistr/u16-move: New file.
46006         * modules/unistr/u32-move: New file.
46007         * lib/unistr/u8-move.c: New file.
46008         * lib/unistr/u16-move.c: New file.
46009         * lib/unistr/u32-move.c: New file.
46010         * lib/unistr/u-move.h: New file.
46011
46012         * modules/unistr/u8-next: New file.
46013         * modules/unistr/u16-next: New file.
46014         * modules/unistr/u32-next: New file.
46015         * lib/unistr/u8-next.c: New file.
46016         * lib/unistr/u16-next.c: New file.
46017         * lib/unistr/u32-next.c: New file.
46018
46019         * modules/unistr/u8-prev: New file.
46020         * modules/unistr/u16-prev: New file.
46021         * modules/unistr/u32-prev: New file.
46022         * lib/unistr/u8-prev.c: New file.
46023         * lib/unistr/u16-prev.c: New file.
46024         * lib/unistr/u32-prev.c: New file.
46025
46026         * modules/unistr/u8-set: New file.
46027         * modules/unistr/u16-set: New file.
46028         * modules/unistr/u32-set: New file.
46029         * lib/unistr/u8-set.c: New file.
46030         * lib/unistr/u16-set.c: New file.
46031         * lib/unistr/u32-set.c: New file.
46032         * lib/unistr/u-set.h: New file.
46033
46034         * modules/unistr/u8-startswith: New file.
46035         * modules/unistr/u16-startswith: New file.
46036         * modules/unistr/u32-startswith: New file.
46037         * lib/unistr/u8-startswith.c: New file.
46038         * lib/unistr/u16-startswith.c: New file.
46039         * lib/unistr/u32-startswith.c: New file.
46040         * lib/unistr/u-startswith.h: New file.
46041
46042         * modules/unistr/u8-stpcpy: New file.
46043         * modules/unistr/u16-stpcpy: New file.
46044         * modules/unistr/u32-stpcpy: New file.
46045         * lib/unistr/u8-stpcpy.c: New file.
46046         * lib/unistr/u16-stpcpy.c: New file.
46047         * lib/unistr/u32-stpcpy.c: New file.
46048         * lib/unistr/u-stpcpy.h: New file.
46049
46050         * modules/unistr/u8-stpncpy: New file.
46051         * modules/unistr/u16-stpncpy: New file.
46052         * modules/unistr/u32-stpncpy: New file.
46053         * lib/unistr/u8-stpncpy.c: New file.
46054         * lib/unistr/u16-stpncpy.c: New file.
46055         * lib/unistr/u32-stpncpy.c: New file.
46056         * lib/unistr/u-stpncpy.h: New file.
46057
46058         * modules/unistr/u8-strcat: New file.
46059         * modules/unistr/u16-strcat: New file.
46060         * modules/unistr/u32-strcat: New file.
46061         * lib/unistr/u8-strcat.c: New file.
46062         * lib/unistr/u16-strcat.c: New file.
46063         * lib/unistr/u32-strcat.c: New file.
46064         * lib/unistr/u-strcat.h: New file.
46065
46066         * modules/unistr/u8-strchr: New file.
46067         * modules/unistr/u16-strchr: New file.
46068         * modules/unistr/u32-strchr: New file.
46069         * lib/unistr/u8-strchr.c: New file.
46070         * lib/unistr/u16-strchr.c: New file.
46071         * lib/unistr/u32-strchr.c: New file.
46072
46073         * modules/unistr/u8-strcmp: New file.
46074         * modules/unistr/u16-strcmp: New file.
46075         * modules/unistr/u32-strcmp: New file.
46076         * lib/unistr/u8-strcmp.c: New file.
46077         * lib/unistr/u16-strcmp.c: New file.
46078         * lib/unistr/u32-strcmp.c: New file.
46079
46080         * modules/unistr/u8-strcpy: New file.
46081         * modules/unistr/u16-strcpy: New file.
46082         * modules/unistr/u32-strcpy: New file.
46083         * lib/unistr/u8-strcpy.c: New file.
46084         * lib/unistr/u16-strcpy.c: New file.
46085         * lib/unistr/u32-strcpy.c: New file.
46086         * lib/unistr/u-strcpy.h: New file.
46087
46088         * modules/unistr/u8-strcspn: New file.
46089         * modules/unistr/u16-strcspn: New file.
46090         * modules/unistr/u32-strcspn: New file.
46091         * lib/unistr/u8-strcspn.c: New file.
46092         * lib/unistr/u16-strcspn.c: New file.
46093         * lib/unistr/u32-strcspn.c: New file.
46094         * lib/unistr/u-strcspn.h: New file.
46095
46096         * modules/unistr/u8-strdup: New file.
46097         * modules/unistr/u16-strdup: New file.
46098         * modules/unistr/u32-strdup: New file.
46099         * lib/unistr/u8-strdup.c: New file.
46100         * lib/unistr/u16-strdup.c: New file.
46101         * lib/unistr/u32-strdup.c: New file.
46102         * lib/unistr/u-strdup.h: New file.
46103
46104         * modules/unistr/u8-strlen: New file.
46105         * modules/unistr/u16-strlen: New file.
46106         * modules/unistr/u32-strlen: New file.
46107         * lib/unistr/u8-strlen.c: New file.
46108         * lib/unistr/u16-strlen.c: New file.
46109         * lib/unistr/u32-strlen.c: New file.
46110         * lib/unistr/u-strlen.h: New file.
46111
46112         * modules/unistr/u8-strmblen: New file.
46113         * modules/unistr/u16-strmblen: New file.
46114         * modules/unistr/u32-strmblen: New file.
46115         * lib/unistr/u8-strmblen.c: New file.
46116         * lib/unistr/u16-strmblen.c: New file.
46117         * lib/unistr/u32-strmblen.c: New file.
46118
46119         * modules/unistr/u8-strmbtouc: New file.
46120         * modules/unistr/u16-strmbtouc: New file.
46121         * modules/unistr/u32-strmbtouc: New file.
46122         * lib/unistr/u8-strmbtouc.c: New file.
46123         * lib/unistr/u16-strmbtouc.c: New file.
46124         * lib/unistr/u32-strmbtouc.c: New file.
46125
46126         * modules/unistr/u8-strncat: New file.
46127         * modules/unistr/u16-strncat: New file.
46128         * modules/unistr/u32-strncat: New file.
46129         * lib/unistr/u8-strncat.c: New file.
46130         * lib/unistr/u16-strncat.c: New file.
46131         * lib/unistr/u32-strncat.c: New file.
46132         * lib/unistr/u-strncat.h: New file.
46133
46134         * modules/unistr/u8-strncmp: New file.
46135         * modules/unistr/u16-strncmp: New file.
46136         * modules/unistr/u32-strncmp: New file.
46137         * lib/unistr/u8-strncmp.c: New file.
46138         * lib/unistr/u16-strncmp.c: New file.
46139         * lib/unistr/u32-strncmp.c: New file.
46140
46141         * modules/unistr/u8-strncpy: New file.
46142         * modules/unistr/u16-strncpy: New file.
46143         * modules/unistr/u32-strncpy: New file.
46144         * lib/unistr/u8-strncpy.c: New file.
46145         * lib/unistr/u16-strncpy.c: New file.
46146         * lib/unistr/u32-strncpy.c: New file.
46147         * lib/unistr/u-strncpy.h: New file.
46148
46149         * modules/unistr/u8-strnlen: New file.
46150         * modules/unistr/u16-strnlen: New file.
46151         * modules/unistr/u32-strnlen: New file.
46152         * lib/unistr/u8-strnlen.c: New file.
46153         * lib/unistr/u16-strnlen.c: New file.
46154         * lib/unistr/u32-strnlen.c: New file.
46155         * lib/unistr/u-strnlen.h: New file.
46156
46157         * modules/unistr/u8-strpbrk: New file.
46158         * modules/unistr/u16-strpbrk: New file.
46159         * modules/unistr/u32-strpbrk: New file.
46160         * lib/unistr/u8-strpbrk.c: New file.
46161         * lib/unistr/u16-strpbrk.c: New file.
46162         * lib/unistr/u32-strpbrk.c: New file.
46163         * lib/unistr/u-strpbrk.h: New file.
46164
46165         * modules/unistr/u8-strrchr: New file.
46166         * modules/unistr/u16-strrchr: New file.
46167         * modules/unistr/u32-strrchr: New file.
46168         * lib/unistr/u8-strrchr.c: New file.
46169         * lib/unistr/u16-strrchr.c: New file.
46170         * lib/unistr/u32-strrchr.c: New file.
46171
46172         * modules/unistr/u8-strspn: New file.
46173         * modules/unistr/u16-strspn: New file.
46174         * modules/unistr/u32-strspn: New file.
46175         * lib/unistr/u8-strspn.c: New file.
46176         * lib/unistr/u16-strspn.c: New file.
46177         * lib/unistr/u32-strspn.c: New file.
46178         * lib/unistr/u-strspn.h: New file.
46179
46180         * modules/unistr/u8-strstr: New file.
46181         * modules/unistr/u16-strstr: New file.
46182         * modules/unistr/u32-strstr: New file.
46183         * lib/unistr/u8-strstr.c: New file.
46184         * lib/unistr/u16-strstr.c: New file.
46185         * lib/unistr/u32-strstr.c: New file.
46186         * lib/unistr/u-strstr.h: New file.
46187
46188         * modules/unistr/u8-strtok: New file.
46189         * modules/unistr/u16-strtok: New file.
46190         * modules/unistr/u32-strtok: New file.
46191         * lib/unistr/u8-strtok.c: New file.
46192         * lib/unistr/u16-strtok.c: New file.
46193         * lib/unistr/u32-strtok.c: New file.
46194         * lib/unistr/u-strtok.h: New file.
46195
46196         * modules/unistr/u8-uctomb: New file.
46197         * modules/unistr/u16-uctomb: New file.
46198         * modules/unistr/u32-uctomb: New file.
46199         * lib/unistr/u8-uctomb.c: New file.
46200         * lib/unistr/u16-uctomb.c: New file.
46201         * lib/unistr/u32-uctomb.c: New file.
46202
46203         * MODULES.html.sh (Unicode string functions): Add the new modules.
46204
46205 2007-01-08  Bruno Haible  <bruno@clisp.org>
46206
46207         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
46208         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
46209         subdirectories.
46210
46211 2007-01-08  Karl Berry  <karl@gnu.org>
46212
46213         * doc/error.texi: mention that main() fns must set program_name
46214         when progname is used.
46215
46216 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
46217
46218         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
46219         WCTYPE_H is empty, for the benefit of builds from non-distclean
46220         directories.  Problem reported by Eric Blake in
46221         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
46222
46223 2007-01-08  Bruno Haible  <bruno@clisp.org>
46224
46225         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
46226         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
46227         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
46228         PROVIDE_CANONICALIZE_FILENAME_MODE.
46229         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
46230
46231 2007-01-08  Bruno Haible  <bruno@clisp.org>
46232
46233         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
46234         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
46235         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
46236         * lib/fts.c: Likewise.
46237         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
46238
46239 2006-12-25  Bruno Haible  <bruno@clisp.org>
46240
46241         * modules/utf8-ucs4-safe: New file.
46242         * lib/utf8-ucs4-safe.h: New file.
46243         * lib/unistr/utf8-ucs4-safe.c: New file.
46244
46245         * modules/utf16-ucs4-safe: New file.
46246         * lib/utf16-ucs4-safe.h: New file.
46247         * lib/unistr/utf16-ucs4-safe.c: New file.
46248
46249         * MODULES.html.sh (Unicode string functions): Add the new modules.
46250
46251 2007-01-08  Bruno Haible  <bruno@clisp.org>
46252
46253         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
46254         (Depends-on): Add unitypes.
46255         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
46256         (u8_mbtouc_aux): Move out to separate file.
46257         (u8_mbtouc): Use ucs4_t, uint8_t types.
46258         * lib/unistr/utf8-ucs4.c: New file.
46259
46260         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
46261         (Depends-on): Add unitypes.
46262         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
46263         (u16_mbtouc_aux): Move out to separate file.
46264         (u16_mbtouc): Use ucs4_t, uint16_t types.
46265         * lib/unistr/utf16-ucs4.c: New file.
46266
46267         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
46268         (Depends-on): Add unitypes.
46269         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
46270         (u8_uctomb_aux): Move out to separate file.
46271         (u8_uctomb): Use ucs4_t, uint8_t types.
46272         * lib/unistr/ucs4-utf8.c: New file.
46273
46274         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
46275         (Depends-on): Add unitypes.
46276         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
46277         (u16_uctomb_aux): Move out to separate file.
46278         (u16_uctomb): Use ucs4_t, uint16_t types.
46279         * lib/unistr/ucs4-utf16.c: New file.
46280
46281 2006-12-25  Bruno Haible  <bruno@clisp.org>
46282
46283         * modules/unitypes: New file.
46284         * lib/unitypes.h: New file.
46285         * MODULES.html.sh (func_all_modules): New section "Unicode string
46286         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
46287         this section. Add unitypes.
46288
46289 2007-01-08  Bruno Haible  <bruno@clisp.org>
46290
46291         Avoid variable names that conflict with those from libtool.
46292         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
46293         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
46294         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
46295         library_names_spec to acl_library_names_spec, hardcode_* to
46296         acl_hardcode_*.
46297         Reported by Ralf Wildenhues.
46298
46299 2007-01-08  Bruno Haible  <bruno@clisp.org>
46300
46301         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
46302         definition.
46303         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
46304         definition.
46305         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
46306         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
46307         definition.
46308         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
46309         definition.
46310         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
46311         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
46312         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
46313         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
46314         definition.
46315         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
46316         definition.
46317         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
46318         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
46319         GC_USE_<algorithm>.
46320         * lib/gc-libgcrypt.c: Likewise.
46321         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
46322         * modules/gc-arctwo (configure.ac): Likewise.
46323         * modules/gc-des (configure.ac): Likewise.
46324         * modules/gc-hmac-md5 (configure.ac): Likewise.
46325         * modules/gc-hmac-sha1 (configure.ac): Likewise.
46326         * modules/gc-md2 (configure.ac): Likewise.
46327         * modules/gc-md4 (configure.ac): Likewise.
46328         * modules/gc-md5 (configure.ac): Likewise.
46329         * modules/gc-random (configure.ac): Likewise.
46330         * modules/gc-rijndael (configure.ac): Likewise.
46331         * modules/gc-sha1 (configure.ac): Likewise.
46332
46333 2007-01-08  Bruno Haible  <bruno@clisp.org>
46334
46335         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
46336         macro definition.
46337         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
46338         definition.
46339         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
46340         definition.
46341         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
46342         * modules/fcntl-safer (configure.ac): Likewise.
46343         * modules/fopen-safer (configure.ac): Likewise.
46344         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
46345         GNULIB_FWRITEERROR macro definition.
46346
46347 2007-01-08  Bruno Haible  <bruno@clisp.org>
46348
46349         * m4/gnulib-common.m4: New file.
46350         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
46351         (func_get_filelist): Add m4/gnulib-common.m4.
46352
46353 2007-01-08  Bruno Haible  <bruno@clisp.org>
46354
46355         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
46356         command.
46357
46358 2007-01-08  Jim Meyering  <jim@meyering.net>
46359
46360         Use a more robust test for a "can't happen" condition.
46361         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
46362         narrowed the st_size value.  Presuming the "can't happen" condition
46363         is true, that narrowing could conceivably convert an invalid st_size
46364         value into a valid one.  Instead, use a change based on Matthew
46365         Woehlke's original patch.
46366
46367         Slight readability improvement: use an assert-like macro
46368         in place of literal "abort ()" uses.
46369         * lib/fts.c (fts_assert): Define.
46370         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
46371         Use this macro instead of a bare 'abort'.
46372
46373 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
46374
46375         Don't worry about using IRIX 5.3's wctype.h broken definitions;
46376         simply work around them.
46377         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
46378         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
46379         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
46380         declaring.
46381         Don't bother to define as macros, since the standard doesn't require it.
46382         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
46383         longer worry about IRIX 5.3.
46384         (HAVE_WCTYPE_CTMP_BUG): Remove.
46385
46386 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46387
46388         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
46389         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
46390         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46391         Problems reported by Georg Schwarz for IRIX 5.3.
46392
46393         * gnulib-tool (autoconf_minversion): Take the maximum version number
46394         found, not the minimum.  Problem reported by James Youngman.
46395
46396 2007-01-03  Karl Berry  <karl@gnu.org>
46397
46398         * doc/error.texi: new file, explaining interaction with progname.
46399         * doc/gnulib.texi: include it.  Update copyright.
46400
46401 2007-01-03  Simon Josefsson  <simon@josefsson.org>
46402
46403         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
46404         AC_CANONICAL_HOST, to improve autobuild outputs.
46405
46406 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
46407             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
46408
46409         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
46410         sockets, server sockets, and other file descriptors.  Count errors
46411         to compute the return value.  Reorder the code a bit to be easier
46412         to follow.  Don't set event bits that were not requested (except
46413         POLLERR and POLLHUP).
46414
46415 2007-01-01  Bruno Haible  <bruno@clisp.org>
46416
46417         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
46418
46419 2007-01-03  Jim Meyering  <jim@meyering.net>
46420
46421         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
46422
46423 2007-01-02  Bruno Haible  <bruno@clisp.org>
46424
46425         * modules/settime (Include): Require timespec.h.
46426         * modules/nanosleep (Include): Likewise.
46427
46428 2007-01-01  Bruno Haible  <bruno@clisp.org>
46429
46430         * gnulib-tool (func_emit_copyright_notice): Bump year.
46431         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
46432
46433 2007-01-01  Bruno Haible  <bruno@clisp.org>
46434
46435         Improve support for OpenBSD.
46436         * build-aux/config.rpath (libname_spec): Export.
46437         (library_names_spec): New variable. Export.
46438         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
46439         library_names_spec from the config.rpath output. Locate shared library
46440         through the name pattern in library_names_spec.
46441
46442 2007-01-01  Eric Blake  <ebb9@byu.net>
46443
46444         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
46445
46446 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
46447
46448         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
46449         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
46450         assume the C locale, and avoid an "eval" that could cause trouble.
46451         Problem with SORT reported by Bob Proulx.
46452
46453         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
46454         Define.  Trivial patch from Henning Nielsen Lund, originally
46455         sent to bug-grep@gnu.org today.
46456
46457 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
46458
46459         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
46460         struct stat.  Problem reported by Henning Nielsen Lund.
46461         * lib/acl.c: Include acl.h first, to check interface.  Don't
46462         bother to include sys/types.h and sys/stat.h again.
46463
46464 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
46465
46466         Import the following change from libc; problem reported by
46467         Sven Verdoolaege.
46468
46469         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
46470
46471         [BZ #1373]
46472         * lib/argp.h: Remove __NTH for __argp_usage inline function.
46473
46474 2006-12-28  Jim Meyering  <jim@meyering.net>
46475
46476         * build-aux/announce-gen: Do not assume that the package
46477         builds any of tar.gz, tar.bz2, and .xdelta files.
46478         Suggestion from Simon Josefsson.
46479
46480 2006-12-28  Simon Josefsson  <simon@josefsson.org>
46481
46482         * modules/announce-gen: New file.
46483
46484 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
46485
46486         * lib/mbchar.h: Just include <wctype.h>; the wctype module
46487         handles its gotchas now.
46488         * lib/mbswidth.c: Likewise.
46489         * lib/wcwidth.h: Likewise.
46490         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
46491         and iswcntrl; the wctype module does this stuff now.
46492         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46493         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46494         * modules/mbchar (Depends-on): Add wctype.
46495         * modules/mbswidth (Depends-on): Likewise.
46496         * modules/wcwidth (Depends-on): Likewise.
46497
46498 2006-12-27  Eric Blake  <ebb9@byu.net>
46499
46500         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
46501         module uses more than what <wctype.h> is required to provide.
46502
46503 2006-12-26  Eric Blake  <ebb9@byu.net>
46504
46505         * gnulib-tool (sed_extract_prog): Avoid space-tab.
46506
46507 2006-12-26  Eric Blake  <ebb9@byu.net>
46508
46509         * modules/absolute-header: New module.
46510         * modules/fcntl (Depends-on): Depend on it.
46511         * modules/inttypes (Depends-on): Likewise.
46512         * modules/stdint (Depends-on): Likewise.
46513         * modules/sys_stat (Depends-on): Likewise.
46514         * modules/wctype (Depends-on): Likewise.
46515         * MODULES.html.sh (Support for building libraries and
46516         executables): Document it.
46517
46518 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
46519
46520         * gnulib-tool (SED): Remove, undoing previous change.
46521         The problem was that it broke coreutils on Solaris, because
46522         "sed --posix" leaked into a makefile.
46523         (sed): New alias, if 'alias' and GNU sed.
46524
46525 2006-12-24  Jim Meyering  <jim@meyering.net>
46526
46527         Work around an fchownat bug in glibc-2.4:
46528         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
46529         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
46530         in spite of the -P option.
46531         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
46532         New macros.
46533         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
46534         * modules/openat (Files): Add lib/fchownat.c.
46535         * lib/openat.c (fchownat): Don't define here.  Move to...
46536         * lib/fchownat.c: ...this new file.
46537
46538 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46539
46540         Fix bug reported by Bruno Haible in
46541         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
46542         where quotearg.c didn't compile on Mac OS X 10.2 because it
46543         lacks <wchar.h> and wint_t.
46544         * lib/wctype_.h (__wctype_wint_t): New type.
46545         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
46546         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
46547         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
46548         Arg is now of type __wctype_wint_t, not wint_t.
46549         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
46550         substitute HAVE_WINT_T.
46551         * modules/wctype (Files): Add m4/wint_t.m4.
46552         (wctype.h): Substitute HAVE_WINT_T.
46553
46554 2006-12-23  Bruno Haible  <bruno@clisp.org>
46555
46556         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
46557
46558 2006-12-23  Bruno Haible  <bruno@clisp.org>
46559
46560         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
46561         S_ISLNK.
46562         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
46563         mingw.
46564
46565 2006-12-22  Bruno Haible  <bruno@clisp.org>
46566
46567         * lib/copy-file.c: Include acl.h.
46568         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
46569         Close the file descriptors only after being done with copy_acl.
46570         * modules/copy-file (Depends-on): Add acl.
46571
46572 2006-12-22  Bruno Haible  <bruno@clisp.org>
46573
46574         * gnulib-tool (SED): New variable.
46575         Use $SED instead of sed everywhere.
46576
46577 2006-12-22  Bruno Haible  <bruno@clisp.org>
46578
46579         * modules/no-c++: New file.
46580         * m4/no-c++.m4: New file.
46581         * MODULES.html.sh (Support for building libraries and executables):
46582         Add no-c++.
46583
46584 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
46585
46586         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
46587         Include <limits.h>, and use its INT_MAX to rewrite the
46588         j loop so that it does not overflow 'int'.  Problem reported by
46589         Ralf Wildenhues in
46590         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
46591         Play it safe by shifting left by 1 rather than multiplying by 2,
46592         as GCC is less likely to optimize this away when the value
46593         is signed (when it assumes overflow leads to undefined behavior).
46594         Also, don't assume time_t uses two's complement.
46595
46596 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
46597
46598         * MODULES.html.sh: New module wctype.
46599         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
46600         * lib/fnmatch.c: Don't bother to include <wchar.h> before
46601         <wctype.h>, since the new wctype module should fix this.
46602         * lib/quotearg.c: Include <wctype.h> unconditionally, since
46603         the wctype module should arrange for it.
46604         * lib/regex_internal.h: Likewise.
46605         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
46606         since the wctype module should handle this now.
46607         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
46608         * modules/fnmatch (Depends-on): Add wctype.
46609         * modules/quotearg (Depends-on): Likewise.
46610         * modules/regex (Depends-on): Likewise.
46611
46612 2006-12-19  Bruno Haible  <bruno@clisp.org>
46613
46614         * lib/strdup.h [C++]: Wrap definitions in extern "C".
46615         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
46616
46617 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46618
46619         * modules/savewd (Depends-on): Fix dependency on fcntl.
46620
46621 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46622
46623         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
46624         conforms to C99, rather than relying on the user's environment
46625         setting of STDINT_H.
46626
46627 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46628         and Eric Blake  <ebb9@byu.net>
46629
46630         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
46631         This is more consistent with the other defines here.
46632         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
46633         Port to z/OS.  Problem reported by Paul Gilmartin.
46634         Change local vars to use gl_ prefix rather than ac_.
46635         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
46636         with other defines.
46637         * modules/double-slash-root: New module.
46638         * modules/dirname (Files): Remove m4/double-slash-root.m4.
46639         (Depends-on): Add double-slash-root.
46640         * MODULES.html.sh (File system functions): Mention new module.
46641
46642 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
46643
46644         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
46645         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
46646         This is for the benefit of gzip, which doesn't do i18n.
46647
46648 2006-12-12  Jim Meyering  <jim@meyering.net>
46649
46650         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
46651         Reported by Andreas Schwab <schwab@suse.de>.
46652
46653 2006-12-12  Bruno Haible  <bruno@clisp.org>
46654
46655         Merge these changes.
46656         2006-09-05  Bruno Haible  <bruno@clisp.org>
46657         * lib/iconvme.c (iconv_string): No need to save and restore errno when
46658         iconv_alloc succeeded.
46659         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
46660         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
46661         test for " && dest " at the end - dest is always != NULL there. Call
46662         iconv with 4xNULL arguments initially, to reset the state. Call iconv
46663         with 2xNULL arguments, also to flush the state storage. Handle the
46664         IRIX iconv behaviour. Realloc the final result, to throw away unused
46665         memory.
46666
46667 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
46668
46669         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
46670         and fchmodat unconditionally, since glibc 2.4 has them.
46671         Problem reported by Arkadiusz Miskiewicz.
46672
46673 2006-12-10  Bruno Haible  <bruno@clisp.org>
46674
46675         * gnulib-tool (func_import): Show the include files only for those
46676         modules that are copied and specified.
46677         Reported by Karl Berry.
46678
46679 2006-12-08  Jim Meyering  <jim@meyering.net>
46680
46681         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
46682         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
46683
46684         * build-aux/announce-gen: Add two new options, both optional:
46685         --bootstrap-tools=TOOL_LIST
46686               a comma-separated list of tools, e.g.,
46687               autoconf,automake,bison,gnulib
46688         --gnulib-snapshot-date=DATE
46689               if gnulib is in the bootstrap tool list,
46690               then report this as the snapshot date.
46691               If not specified, use the current date/time.
46692               If you specify a date here, be sure it's UTC.
46693
46694 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46695
46696         * tests/test-argp-2.sh: Fix test to match actual output.
46697         (func_compare): Fix sed script to be portable.
46698
46699 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
46700
46701         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
46702         workaround for this case.  It is not autoconfigured now; offhand
46703         it's hard to see how to autoconfigure it.
46704
46705 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
46706
46707         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
46708         a directory that is about to be chowned.  Such a directory's
46709         initial file permissions should permit the owner only and this
46710         should not be changed until after the chown, since the group and
46711         other bits would be incorrect if they granted permission before
46712         the chown.
46713
46714         Fix porting problem for iswctype reported by Georg Schwarz in:
46715         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
46716         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
46717         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
46718         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
46719         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46720
46721 2006-12-03  Jim Meyering  <jim@meyering.net>
46722
46723         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
46724         p->fts_statp may not yet be defined.
46725         (fts_read): Instead, set it in the caller, once p->fts_statp is
46726         sure to be defined, and corresponds to a top-level directory.
46727         This bug made du -x fail.  Here's the coreutils test case:
46728         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
46729         Reported by Mike Frysinger.
46730
46731 2006-12-01  Jim Meyering  <jim@meyering.net>
46732
46733         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
46734         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
46735         Reported by Simon Josefsson.
46736
46737 2006-11-30  Jim Meyering  <jim@meyering.net>
46738
46739         * m4/warning.m4: Use the all-permissive copyright notice
46740         recommended by RMS (rather than LGPL).
46741         * m4/vararrays.m4: Likewise.
46742         * m4/flexmember.m4: Likewise.
46743
46744 2006-11-29  Bruno Haible  <bruno@clisp.org>
46745
46746         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46747         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
46748         using +=.
46749         Reported by Simon Josefsson <simon@josefsson.org>.
46750
46751 2006-11-28  James Youngman <jay@gnu.org>
46752
46753         * README: Advise users that they might find the bug-gnulib@gnu.org
46754         and autotools-announce@gnu.org mailing lists useful.
46755
46756 2006-11-28  Bruno Haible  <bruno@clisp.org>
46757
46758         * m4/ptrdiff_max.m4: Remove file.
46759
46760 2006-11-21  Bruno Haible  <bruno@clisp.org>
46761
46762         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
46763         _AC_COMPUTE_INT.
46764         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46765         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
46766         _AC_COMPUTE_INT.
46767         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46768         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
46769         _AC_COMPUTE_INT.
46770         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46771
46772 2006-11-28  Jim Meyering  <jim@meyering.net>
46773
46774         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
46775         warning from "gcc -Wshadow" about shadowing the builtin.
46776
46777 2006-11-27  Bruno Haible  <bruno@clisp.org>
46778
46779         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
46780         _AC_COMPUTE_INT.
46781         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46782
46783 2006-11-27  Bruno Haible  <bruno@clisp.org>
46784             Paul Eggert  <eggert@cs.ucla.edu>
46785
46786         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
46787
46788 2006-11-26  Bruno Haible  <bruno@clisp.org>
46789
46790         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46791         noinst_LTLIBRARIES.
46792
46793 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
46794             Bruno Haible  <bruno@clisp.org>
46795
46796         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
46797         if compiling with "gcc -ansi".
46798
46799 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
46800
46801         Fix some incompatibilities with gcc -ansi -pedantic.
46802         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
46803         if compiling pedantically with GCC, unless it's C99 or later.
46804         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
46805         it mishandles gcc -ansi -pedantic as well.
46806         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
46807         if gcc -pedantic.
46808         * lib/regexec.c (check_node_accept_bytes): Don't use auto
46809         initializers for struct if -pedantic, unless it's C99 or later.
46810
46811 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
46812
46813         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
46814         Don't close an fd more than once. Identical atimes indicate
46815         success, not failure.
46816
46817 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
46818
46819         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
46820
46821 2006-11-23  Jim Meyering  <jim@meyering.net>
46822
46823         * build-aux/announce-gen: New file.  From coreutils.
46824
46825 2006-11-22  Jim Meyering  <jim@meyering.net>
46826
46827         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
46828         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
46829         (fts_read): Use a temporary to narrow the overused st_size member
46830         before using it in a switch statement.  Reported by Matthew Woehlke.
46831
46832         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
46833         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
46834
46835 2006-11-20  Bruno Haible  <bruno@clisp.org>
46836
46837         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
46838         changequote instead of pairs of brackets.
46839         Reported by Andreas Schwab <schwab@suse.de>.
46840
46841 2006-11-21  Jim Meyering  <jim@meyering.net>
46842
46843         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
46844         so as to remain compatible with older compilers.
46845         Patch from Michael Deutschmann.
46846
46847 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46848
46849         * MODULES.html.sh (File system functions): Add openat.
46850
46851         * lib/openat.h (rpl_fstatat): New macro, if
46852         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
46853         (fstatat): Define to rpl_fstatat under the same conditions,
46854         unless COMPILING_FSTATAT.
46855         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
46856         seems to have the bug.
46857         * lib/fstatat.c: New file.
46858         * modules/openat (Files): Add it.
46859
46860 2006-11-20  Bruno Haible  <bruno@clisp.org>
46861
46862         * Makefile: New file.
46863
46864 2006-11-20  Jim Meyering  <jim@meyering.net>
46865
46866         The beginnings of syntax-related checks for gnulib.
46867         * lib/Makefile: New file.
46868         * lib/t-idcache: New script.  Ensure that the two halves of
46869         idcache.c stay in sync.
46870
46871         * lib/idcache.c: Adjust comments in user- and group- portions to
46872         be more accurate, and to be consistent with one another.
46873
46874 2006-11-20  Jim Meyering  <jim@meyering.net>
46875
46876         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
46877         continue using the flexible array member (thus, this module performs
46878         half as many malloc calls), with the addition that...
46879         (getgroup, getuser): Consistently record a non-match via an empty
46880         "name" string, and map an empty string match to a NULL return value.
46881         * modules/idcache (Depends-on): Re-add flexmember.
46882
46883         * lib/idcache.c (getuser): Remove all uses of the register keyword.
46884         (getuidbyname, getgroup, getgidbyname): Likewise.
46885
46886         Use cleaner syntax: NULL rather than 0.
46887         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
46888
46889 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46890
46891         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
46892         It mishandled the case where the group was missing.
46893         Problem reported by Greg Schafer.
46894         * modules/idcache: Likewise.
46895
46896 2006-11-18  Jim Meyering  <jim@meyering.net>
46897
46898         * check-module (%exempt_header): Add exception for some
46899         conditionally-included headers.
46900
46901         * modules/i-ring (Depends-on): Add verify.
46902         (License): Change to LGPL.
46903
46904 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46905
46906         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
46907         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
46908         and inttostr.h.  Use snprintf rather than uinttostr, so that
46909         LGPLed code doesn't depend on GPLed.
46910
46911 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46912
46913         * modules/inline (License): Change from GPL to LGPL.
46914
46915 2006-11-17  Jim Meyering  <jim@meyering.net>
46916
46917         * modules/d-type (License): Switch to LGPL.
46918
46919 2006-11-15  Bruno Haible  <bruno@clisp.org>
46920
46921         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
46922
46923 2006-11-15  Eric Blake  <ebb9@byu.net>
46924
46925         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
46926         the module dependency.
46927
46928 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46929             Bruno Haible  <bruno@clisp.org>
46930
46931         * gnulib-tool (func_create_testdir): Add license consistency check.
46932
46933 2006-11-15  Eric Blake  <ebb9@byu.net>
46934
46935         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
46936         random "(cached)" in configure output.
46937
46938 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46939
46940         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
46941         test for conforming inttypes.h is both announced and cached.
46942
46943         * MODULES.html.sh (seen_modules, seen_files): New variables.
46944         (func_module): Rewrite to use a few less gnulib-tool and sed
46945         invocations.  Avoid a couple of quadratic algorithms for ...
46946         (missed_modules, missed_files): ... these, with ...
46947         (func_append, func_tmpdir): ... these new functions, from
46948         gnulib-tool.  Analogously, install traps for cleanup.
46949
46950         * tests/test-gc.c (main): Remove unused variables.
46951         * tests/test-read-file.c: Include stdlib.h, for 'free'.
46952
46953 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
46954
46955         * modules/inttostr (License): Change to LGPL.
46956
46957 2006-11-14  Eric Blake  <ebb9@byu.net>
46958
46959         * modules/tempname (License): Change to LGPL.
46960
46961 2006-11-14  Eric Blake  <ebb9@byu.net>
46962
46963         * doc/functions.texi (Function Portability): *printf functions on
46964         Cygwin now understand all POSIX size specifiers.
46965
46966 2006-11-14  Bruno Haible  <bruno@clisp.org>
46967
46968         * modules/c-ctype (License): Change to LGPL.
46969
46970 2006-11-12  Bruno Haible  <bruno@clisp.org>
46971
46972         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
46973         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
46974         for GNOME libraries, for which the include files are installed in
46975         subdirectories of $prefix/include.
46976
46977 2006-11-12  Bruno Haible  <bruno@clisp.org>
46978
46979         * m4/lib-link.m4: Require at least autoconf-2.54.
46980         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
46981         name to underscores for the --with option.
46982
46983 2006-11-13  Bruno Haible  <bruno@clisp.org>
46984
46985         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
46986         the tests directory.
46987         Reported by Ralf Wildenhues.
46988
46989 2006-11-13  Bruno Haible  <bruno@clisp.org>
46990
46991         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
46992         (func_emit_initmacro_end): Undo the override here.
46993         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
46994         Works around the famous automake error in coreutils.
46995
46996 2006-11-13  Eric Blake  <ebb9@byu.net>
46997
46998         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
46999         element, not its node.
47000
47001 2006-11-12  Bruno Haible  <bruno@clisp.org>
47002
47003         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
47004         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
47005
47006 2006-11-12  Bruno Haible  <bruno@clisp.org>
47007
47008         * gnulib-tool: New option --local-symlink.
47009         (func_usage): Document it.
47010         (lsymbolic): New variable.
47011         (func_import, func_create_testdir): If --symlink was not specified,
47012         test whether --local-symlink was specified and the file comes from
47013         the local_gnulib_dir.
47014
47015 2006-11-12  Bruno Haible  <bruno@clisp.org>
47016
47017         * gnulib-tool (func_ln): New function.
47018         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
47019
47020 2006-11-12  Bruno Haible  <bruno@clisp.org>
47021
47022         Finish support for source files in subdirectories.
47023         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
47024         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
47025         AUTOMAKE_OPTIONS.
47026         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
47027
47028 2006-11-12  Bruno Haible  <bruno@clisp.org>
47029
47030         * gnulib-tool (func_get_automake_snippet): Synthesize also an
47031         EXTRA_lib_SOURCES augmentation.
47032         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
47033
47034 2006-11-12  Jim Meyering  <jim@meyering.net>
47035
47036         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
47037         file descriptors.  This also averts a failure on systems with
47038         native openat support when a traversed directory lacks "x" access.
47039         * lib/fts_.h: Include "i-ring.h"
47040         (struct FTS) [fts_fd_ring]: New member.
47041         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
47042         (FCHDIR): Add parentheses.
47043         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
47044         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
47045         When descending, rather than simply closing the previous
47046         fts_cwd_fd value, push that file descriptor onto the ring.
47047         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
47048         (fts_open): Initialize the new fd_ring member.
47049         (fts_close): Clear the ring.
47050         (fts_safe_changedir): When possible, use our new fd_ring to skip
47051         the diropen and fstat and dev/ino comparison that would normally
47052         accompany a virtual `chdir ("..")'.
47053
47054         * modules/fts (Depends-on): Add i-ring.
47055         * modules/i-ring: New module.
47056         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
47057         * m4/i-ring.m4: New file.
47058
47059 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47060
47061         * gnulib-tool (func_create_testdir): Fix replacement of
47062         `build-aux' in configure.ac.  Run autotools in gltests
47063         subdirectory.
47064         (func_create_testdir, func_create_megatestdir, test): There is
47065         no need for '--force' in most autotool invocations in a new
47066         tree.  Actually fail the whole test if any of the tools, or the
47067         configure or make stages fail.
47068
47069         Sync from Automake.
47070         * build-aux/gnupload: Revert last change.  Add pointer to upload
47071         instructions of the GNU Maintenance Instructions.
47072         Suggestion by Karl Berry.
47073
47074 2006-11-10  Jim Meyering  <jim@meyering.net>
47075
47076         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
47077
47078 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
47079
47080         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
47081         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
47082         (bind_textdomain_codeset) [! ENABLE_NLS]:
47083         Evaluate all the arguments.  That way, callers get compatible behavior
47084         if the arguments have side effects.  Also, it avoids some GCC
47085         diagnostics in some cases; Joel E. Denny reported problems when Bison
47086         was configured with --enable-gcc-warnigs.
47087
47088 2006-11-10  Jim Meyering  <jim@meyering.net>
47089
47090         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
47091         relevant options in CFLAGS (like -O, -fno-inline) are taken into
47092         account.
47093
47094 2006-11-10  Jim Meyering  <jim@meyering.net>
47095
47096         * modules/inline: New file/module.
47097         * modules/xalloc (Files): Remove m4/inline.m4.
47098         (Depends-on): Add inline, instead.
47099         * modules/oset: Likewise.
47100         * modules/list: Likewise.
47101
47102 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
47103
47104         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
47105         Problem reported by Matthew Woehlke.
47106
47107 2006-11-09  Bruno Haible  <bruno@clisp.org>
47108
47109         * lib/tempname.c (gen_tempname): Remove variant that invokes
47110         __gen_tempname.
47111         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
47112         __gen_tempname.
47113
47114 2006-11-08  Bruno Haible  <bruno@clisp.org>
47115
47116         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
47117         to 'yes' instead of 'cross-compiling'.
47118
47119 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
47120
47121         * lib/quotearg.h (quotearg_free): New decl.
47122         * lib/quotearg.c (quotearg_free): New function.
47123         (slot0, nslots, slotvec0, slotvec):
47124         Now file-scope so that quotearg_free can get at them.
47125
47126 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47127
47128         Sync from Automake.
47129         * build-aux/gnupload: Add missing 'gnu' to example URL.
47130         Report by Karl Berry.
47131
47132 2006-11-08  Bruno Haible  <bruno@clisp.org>
47133
47134         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
47135         Suggested by Paul Eggert.
47136
47137 2006-11-08  Jim Meyering  <jim@meyering.net>
47138
47139         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
47140         It's already included if !_LIBC.
47141         (fts_safe_changedir): Add a comment.
47142
47143 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47144
47145         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
47146         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
47147         Matthew Woehlke.
47148
47149         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
47150         definitions up, to avoid colliding with change below.
47151         (static_inline) [HAVE_INLINE]: New macro.
47152         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
47153         Provide extern decls when !HAVE_INLINE.  Do not define unless
47154         static_inline is defined, either by us or by xmalloc.c.  Use
47155         static_inline rather than static inline.
47156         (XCALLOC): Optimize sizeof(T) = 1 case.
47157         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
47158
47159 2006-11-07  Bruno Haible  <bruno@clisp.org>
47160
47161         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
47162         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
47163         AC_C_INLINE.
47164         * modules/xalloc (Files): Add m4/inline.m4.
47165
47166 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47167
47168         * README: Fix typo.
47169         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
47170         (Miscellanous Notes): ...from this.
47171
47172 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47173
47174         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
47175         Mention that offsetof should be used instead of sizeof.
47176         From Bruno Haible.
47177
47178 2006-11-07  Bruno Haible  <bruno@clisp.org>
47179
47180         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
47181
47182 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
47183
47184         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
47185         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
47186         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
47187         (gl_tree_add_before, gl_tree_add_after):
47188         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
47189         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
47190         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
47191         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
47192         (gl_linked_add_after, gl_linked_add_at): Likewise.
47193         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
47194         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
47195         (gl_tree_add_before, gl_tree_add_after): Likewise.
47196         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
47197         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
47198         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
47199
47200 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47201
47202         * lib/gl_oset.h: Use C comment style, not C++ comment style.
47203
47204 2006-11-06  Bruno Haible  <bruno@clisp.org>
47205
47206         * m4/inline.m4: New file.
47207         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
47208         * modules/list (Files): Add m4/inline.m4.
47209         * modules/oset (Files): Likewise.
47210
47211 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
47212
47213         * lib/idcache.c: Include <stddef.h>, for offsetof.
47214         (struct userid.name): Change from char * to a flexible array member.
47215         All uses changed.
47216         * modules/idcache (Depends-on): Add flexmember.
47217
47218         * MODULES.html.sh (Core language properties): New module flexmember.
47219         * modules/flexmember, m4/flexmember.m4: New files.
47220
47221         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
47222         inline functions that are identical with the old xnmalloc_inline,
47223         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
47224         that we can avoid some unnecessary integer multiplications and
47225         divisions in the common case where the element size is known at
47226         compile time.
47227         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
47228         needed.
47229         (xnboundedmalloc): Remove.
47230         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
47231         arguments, for consistency with rest of this header.
47232         (xcharalloc): Rewrite using XNMALLOC.
47233         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
47234         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
47235         versions have been moved to lib/xalloc.h and renamed to be the
47236         non-*_inline versions.
47237         (xmalloc, xrealloc): Implement without reference to the xnmalloc
47238         and xnrealloc functions, since those functions are now inline and
47239         now call us.
47240         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
47241         renaming described above.
47242         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
47243         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
47244         captures the dependency in AC_C_INLINE.
47245
47246         New module canonicalize-lgpl, proposed by Charles Wilson in
47247         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
47248         with a few small changes afterwards.
47249         * MODULES.html.sh (File system functions): New module
47250         canonicalize-lgpl.
47251         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
47252         and canonicalize_file_name.
47253         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
47254         * modules/canonicalize-lgpl: New files.
47255
47256 2006-11-05  Bruno Haible  <bruno@clisp.org>
47257
47258         * gnulib-tool (func_import, func_create_testdir): Create directories
47259         also for files in subdirectories of lib/.
47260
47261 2006-11-05  Bruno Haible  <bruno@clisp.org>
47262
47263         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
47264         ANSI C compliant.
47265
47266 2006-11-03  Bruno Haible  <bruno@clisp.org>
47267
47268         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
47269         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
47270         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
47271         (xnboundedmalloc): New inline function.
47272         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
47273         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
47274         xmalloc.
47275         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
47276         xmalloc.
47277         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
47278         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
47279         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
47280         xmalloc.
47281         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
47282         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
47283         xmalloc.
47284         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
47285         gl_tree_add_after): Use XMALLOC instead of xmalloc.
47286         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
47287         xmalloc.
47288         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
47289         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
47290         gl_tree_add_after): Use XMALLOC instead of xmalloc.
47291         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
47292         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
47293         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
47294         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
47295
47296 2006-11-03  Bruno Haible  <bruno@clisp.org>
47297
47298         * lib/c-ctype.h [C++]: Define functions without name mangling.
47299         * lib/fwriteerror.h [C++]: Likewise.
47300         * lib/gcd.h [C++]: Likewise.
47301         * lib/linebreak.h [C++]: Likewise.
47302
47303 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
47304
47305         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
47306         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
47307         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
47308         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
47309         Check for functions and headers just once.
47310         Check for declaration of canonicalize_file_name.
47311         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
47312
47313 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
47314
47315         * gnulib-tool (func_import): Fix typo in actioncmd.
47316
47317 2006-11-02  Bruno Haible  <bruno@clisp.org>
47318
47319         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
47320         newline sequence in the Makefile.am snippet as a space, like "make"
47321         does.
47322         Reported by Roger Persson <perrog@gmail.com>.
47323
47324 2006-11-01  Bruno Haible  <bruno@clisp.org>
47325
47326         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
47327         already declared in <string.h>.
47328         * lib/strcase.h (strncasecmp): Don't declare it if yes.
47329
47330 2006-11-01  Bruno Haible  <bruno@clisp.org>
47331
47332         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
47333         * lib/strcase.h: Include <string.h>.
47334         (strcasecmp): Define to rpl_strcasecmp here.
47335
47336 2006-11-01  Bruno Haible  <bruno@clisp.org>
47337
47338         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
47339
47340 2006-11-01  Eric Blake  <ebb9@byu.net>
47341
47342         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
47343
47344         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
47345
47346 2006-10-29  Bruno Haible  <bruno@clisp.org>
47347
47348         Make it compile in C++ mode.
47349         * lib/full-write.c (full_rw): Add a cast.
47350
47351 2006-11-01  Bruno Haible  <bruno@clisp.org>
47352
47353         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
47354         be POSIX compliant.
47355         Reported by Roger Persson <perrog@gmail.com>.
47356
47357 2006-11-01  Eric Blake  <ebb9@byu.net>
47358
47359         * lib/getopt_.h: Fix comments.
47360
47361 2006-10-31  Eric Blake  <ebb9@byu.net>
47362
47363         * modules/tmpdir (Depends-on): Add sys_stat.
47364         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
47365         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
47366         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
47367         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
47368         tempname.
47369
47370 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
47371
47372         Avoid some C++ diagnostics reported by Bruno Haible.
47373         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
47374         xmalloc.
47375         (quotearg_alloc): Use xcharalloc rather than xmalloc.
47376         (struct slotvec): Move to top level.
47377         (quotearg_n_options): Rewrite to avoid xmalloc.
47378         * lib/xalloc.h (xcharalloc): New function.
47379         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
47380         [defined __cplusplus]: Add function template that provides result
47381         type propagation.  This part of the change is from Bruno Haible.
47382
47383 2006-10-29  Bruno Haible  <bruno@clisp.org>
47384
47385         Make it compile in C++ mode.
47386         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
47387         * lib/strnlen1.c (strnlen1): Cast memchr result.
47388         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
47389         * lib/clean-temp.c (string_equals, string_hash): Add casts.
47390         (create_temp_dir): Rename local variable 'template'.
47391         (compile_csharp_using_sscli): Add cast.
47392         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
47393         * lib/findprog.c (find_in_path): Likewise.
47394         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
47395         * lib/wait-process.c (register_slave_subprocess): Likewise.
47396
47397 2006-10-22  Bruno Haible  <bruno@clisp.org>
47398
47399         * modules/tsearch: New file.
47400         * lib/tsearch.h: New file.
47401         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
47402         * m4/tsearch.m4: New file.
47403         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
47404
47405 2006-10-29  Eric Blake  <ebb9@byu.net>
47406
47407         * lib/arcfour.c: Assume config.h.
47408         * lib/arctwo.c: Likewise.
47409         * lib/base64.c: Likewise.
47410         * lib/check-version.c: Likewise.
47411         * lib/crc.c: Likewise.
47412         * lib/des.c: Likewise.
47413         * lib/gc-gnulib.c: Likewise.
47414         * lib/gc-libgcrypt.c: Likewise.
47415         * lib/gc-pbkdf2-sha1.c: Likewise.
47416         * lib/getaddrinfo.c: Likewise.
47417         * lib/getdelim.c: Likewise.
47418         * lib/getline.c: Likewise.
47419         * lib/hmac-md5.c: Likewise.
47420         * lib/hmac-sha1.c: Likewise.
47421         * lib/iconvme.c: Likewise.
47422         * lib/md2.c: Likewise.
47423         * lib/md4.c: Likewise.
47424         * lib/memxor.c: Likewise.
47425         * lib/read-file.c: Likewise.
47426         * lib/readline.c: Likewise.
47427         * lib/rijndael-alg-fst.c: Likewise.
47428         * lib/rijndael-api-fst.c: Likewise.
47429         * lib/xgetdomainname.c: Likewise.
47430
47431 2006-10-28  Eric Blake  <ebb9@byu.net>
47432
47433         * lib/xstrndup.c: Assume config.h.
47434
47435 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
47436
47437         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
47438         stat-macros.h is now for our own macros, whereas stat_h is for
47439         macros in the <sys/stat.h> name space.
47440         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
47441         (STAT_MACROS_H): Remove.
47442         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
47443         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
47444         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
47445         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
47446         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
47447         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
47448         Move these macros to ...
47449         * lib/stat_.h: here.  Don't include stat-macros.h.
47450         * lib/canonicalize.c: Don't include stat-macros.h.
47451         * lib/chown.c: Likewise.
47452         * lib/euidaccess.c: Likewise.
47453         * lib/file-type.c: Likewise.
47454         * lib/filemode.c: Likewise.
47455         * lib/glob.c: Likewise.
47456         * lib/isapipe.c: Likewise.
47457         * lib/lchown.c: Likewise.
47458         * lib/lstat.c: Likewise.
47459         * lib/mkdir-p.c: Likewise.
47460         * lib/rmdir.c: Likewise.
47461         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
47462         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
47463         unless mkdir isn't declared, to speed up 'configure'.
47464         Always create sys/stat.h, since it's unlikely any real sys/stat.h
47465         would define all the S_* symbols.
47466         * modules/canonicalize (Depends-on):
47467         Depend on sys_stat, not stat-macros.
47468         * modules/chown: Likewise.
47469         * modules/euidaccess: Likewise.
47470         * modules/filemode: Likewise.
47471         * modules/file-type: Likewise.
47472         * modules/glob: Likewise.
47473         * modules/isapipe: Likewise.
47474         * modules/lchown: Likewise.
47475         * modules/lstat: Likewise.
47476         * modules/mkancesdirs: Likewise.
47477         * modules/rmdir: Likewise.
47478         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
47479         * modules/modechange: Likewise.
47480         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
47481         (configure.ac): Remove gl_STAT_MACROS.
47482         * modules/sys_stat (Depends-on): Remove stat-macros.
47483
47484 2006-10-27  Bruno Haible  <bruno@clisp.org>
47485
47486         * m4/signed.m4: Remove file.
47487         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
47488         invocation.
47489         * modules/vasnprintf (Files): Remove m4/signed.m4.
47490
47491 2006-10-27  Bruno Haible  <bruno@clisp.org>
47492
47493         Update to GNU gettext 0.16.
47494         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
47495         m4/inttypes-h.m4, m4/signed.m4.
47496         * m4/gettext.m4: Update to GNU gettext 0.16.
47497         * m4/intl.m4: New file, from GNU gettext.
47498         * m4/intldir.m4: New file, from GNU gettext.
47499         * config/srclist.txt: Update
47500
47501 2006-10-27  Eric Blake  <ebb9@byu.net>
47502
47503         * MODULES.html.sh: Document tempname.
47504         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
47505         dependencies.
47506         (Files): Move lib/tempname.c...
47507         * modules/tempname: ...to this new module.
47508         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
47509         (gl_PREREQ_TEMPNAME): Move...
47510         * m4/tempname.m4: ...to this new file.
47511         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
47512         * modules/sys_stat (Depends-on): Add stat-macros.
47513         * lib/stat_.h (includes): Pick up stat macros.
47514         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
47515         if stat macros are broken.
47516         * lib/tempname.c (includes): No need to include "stat-macros.h".
47517         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
47518         (direxists, __path_search) [!_LIBC]: Don't compile these in
47519         gnulib; the tmpdir module covers that.
47520         * lib/tempname.h: New file.
47521
47522 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
47523
47524         * COPYING: Explain how gnulib-tool converts licence headers.
47525         Almost all wording by Eric Blake.
47526
47527 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
47528
47529         * lib/mbchar.h (is_basic_table): Make read-only.
47530         * lib/mbchar.c (is_basic_table): Likewise.
47531         Reported by John Darrington.
47532
47533 2006-10-25  Bruno Haible  <bruno@clisp.org>
47534
47535         * lib/progname.h (set_program_name): Undefine before defining.
47536
47537 2006-10-25  Bruno Haible  <bruno@clisp.org>
47538
47539         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
47540         false for non-gcc C++ compilers.
47541         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
47542
47543 2006-10-24  Bruno Haible  <bruno@clisp.org>
47544
47545         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
47546         iconv implementations like Irix iconv.
47547
47548 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47549
47550         * modules/vararrays: New file.
47551         * m4/vararrays.m4: New file, taken from diffutils.
47552         * MODULES.html.sh: New module vararrays.
47553
47554 2006-10-24  Karl Berry  <karl@gnu.org>
47555
47556         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
47557         Don't call GNU Unix.
47558
47559 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47560
47561         * users.txt: Add Libtool.
47562
47563         Sync from Libtool:
47564
47565         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47566
47567         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
47568         to gnulib's policy of including config.h unconditionally.
47569
47570 2006-10-24  Bruno Haible  <bruno@clisp.org>
47571
47572         * modules/wcwidth (Files): Add m4/wint_t.m4.
47573         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
47574         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
47575
47576 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47577
47578         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
47579         to pacify GCC with some -W flags enabled.  Problem reported by
47580         Bruno Haible.
47581
47582 2006-10-24  Jim Meyering  <jim@meyering.net>
47583
47584         * MODULES.html.sh: Remove uinttostr.  It's not a module.
47585         Reported by Karl Berry.
47586
47587 2006-10-23  Bruno Haible  <bruno@clisp.org>
47588
47589         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
47590
47591 2006-10-24  Bruno Haible  <bruno@clisp.org>
47592
47593         * lib/gl_list.h: Use C comment style, not C++ comment style.
47594
47595 2006-10-23  Eric Blake  <ebb9@byu.net>
47596
47597         * lib/getaddrinfo.c (includes): Add missing include.
47598
47599 2006-10-23  Bruno Haible  <bruno@clisp.org>
47600             Paul Eggert  <eggert@cs.ucla.edu>
47601
47602         Ability to rename obstack_free.
47603         * lib/obstack.h (__obstack_free): New macro. Declare instead of
47604         obstack_free.
47605         (obstack_free): Invoke the __obstack_free macro.
47606         * lib/obstack.c (obstack_free): Use __obstack_free macro.
47607
47608 2006-10-23  Bruno Haible  <bruno@clisp.org>
47609             Paul Eggert  <eggert@cs.ucla.edu>
47610
47611         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
47612         __argc, __argv from the declaration. (They are defined as macros on
47613         mingw.)
47614
47615 2006-10-22  Bruno Haible  <bruno@clisp.org>
47616
47617         * doc/gnulib-intro.texi: New file.
47618         * doc/gnulib.texi: Include it.
47619
47620 2006-10-21  Bruno Haible  <bruno@clisp.org>
47621
47622         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
47623         "Introduction", "Miscellanous Notes", "Particular Modules".
47624
47625 2006-10-21  Bruno Haible  <bruno@clisp.org>
47626
47627         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47628         Change mostlyclean-local rule to avoid sh syntax error from bash
47629         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
47630
47631 2006-10-23  Jim Meyering  <jim@meyering.net>
47632
47633         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
47634         in place of snprintf.
47635
47636         * modules/inttostr (Files): Add lib/uinttostr.c.
47637         * lib/uinttostr.c (inttostr): New file/function.
47638         * lib/inttostr.h (uinttostr): Declare.
47639         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
47640         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
47641         Add uinttostr.
47642         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
47643
47644 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
47645
47646         * lib/canonicalize.c (ELOOP): Define if not already defined.
47647         Problem reported by Bruno Haible in
47648         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
47649
47650 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
47651
47652         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
47653         Problem reported by Perry Smith and Ville Laurikari.
47654
47655         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
47656         uses.
47657
47658 2006-10-19  Bruno Haible  <bruno@clisp.org>
47659
47660         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
47661         for mingw.
47662
47663 2006-10-19  Bruno Haible  <bruno@clisp.org>
47664
47665         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
47666         Needed for mingw.
47667
47668 2006-10-19  Bruno Haible  <bruno@clisp.org>
47669
47670         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
47671
47672 2006-10-19  Bruno Haible  <bruno@clisp.org>
47673
47674         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
47675         it.
47676
47677 2006-10-19  Bruno Haible  <bruno@clisp.org>
47678
47679         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
47680         invocation.
47681
47682 2006-10-19  Bruno Haible  <bruno@clisp.org>
47683
47684         * gnulib-tool (func_create_testdir): Don't include ftruncate and
47685         mountlist by default.
47686
47687 2006-10-16  Bruno Haible  <bruno@clisp.org>
47688
47689         * lib/c-strstr.c: Include c-strstr.h.
47690
47691 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
47692
47693         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
47694         in a slash.
47695
47696 2006-10-18  Bruno Haible  <bruno@clisp.org>
47697
47698         * lib/lock.h [C++]: Wrap definitions in extern "C".
47699
47700 2006-10-18  Bruno Haible  <bruno@clisp.org>
47701
47702         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
47703         gl_LIBOBJS list.
47704
47705 2006-10-18  Bruno Haible  <bruno@clisp.org>
47706
47707         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
47708
47709 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
47710
47711         * lib/xstrtol.h: Include gettext.h.
47712         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
47713         Problem reported by Eric Blake.
47714         * modules/xstrtol (Depends-on): Add gettext-h.
47715
47716 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
47717
47718         * lib/strftime.c (advance): New macro.
47719         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
47720         incomplete type, so you can't add 0 to it.  Problem and patch
47721         reported by Eelco Dolstra for dietlibc.
47722
47723 2006-10-18  Jim Meyering  <jim@meyering.net>
47724
47725         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
47726         type for a local, and rename it: s/up/user_proc/.
47727
47728 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
47729
47730         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
47731         READ_UTMP_USER_PROCESS.
47732         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
47733
47734 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
47735
47736         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
47737         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
47738
47739 2006-10-17  Eric Blake  <ebb9@byu.net>
47740
47741         * lib/sigprocmask.c (sigprocmask): Fix typo.
47742
47743         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
47744
47745         * modules/clean-temp (Makefile.am): Don't add to make output...
47746         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
47747         config.h.
47748
47749 2006-10-17  Bruno Haible  <bruno@clisp.org>
47750
47751         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
47752         differently if DEFAULT_TEXT_DOMAIN is set.
47753
47754 2006-10-16  Bruno Haible  <bruno@clisp.org>
47755
47756         * lib/clean-temp.c: Include fwriteerror.h.
47757
47758 2006-10-16  Bruno Haible  <bruno@clisp.org>
47759
47760         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
47761
47762 2006-10-16  Bruno Haible  <bruno@clisp.org>
47763
47764         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
47765         * lib/sigprocmask.h: Include <sys/types.h>.
47766         (sigset_t): Use the system's definition if present.
47767
47768 2006-10-17  Eric Blake  <ebb9@byu.net>
47769
47770         * lib/xvasprintf.c (includes): Assume config.h.
47771         * lib/xasprintf.c (includes): Likewise.
47772
47773 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47774
47775         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
47776         at least as wide as intmax_t.
47777
47778 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
47779
47780         (Imported from Automake.)
47781         * build-aux/gnupload: Update to version 1.1 of directive file.
47782
47783 2006-10-16  Eric Blake  <ebb9@byu.net>
47784
47785         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
47786         match Automake 1.10a.
47787
47788 2006-10-14  Bruno Haible  <bruno@clisp.org>
47789
47790         * modules/sigprocmask: New file.
47791         * lib/sigprocmask.h: New file.
47792         * lib/sigprocmask.c: New file.
47793         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
47794         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
47795         request sigprocmask.o.
47796         (gl_PREREQ_SIGPROCMASK): New macro.
47797         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
47798         (Depends-on): Add sigprocmask.
47799         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
47800         gt_SIGNALBLOCKING. Test for 'raise' only once.
47801         * lib/fatal-signal.c: Include sigprocmask.h.
47802         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
47803         unblock_fatal_signals): Define always.
47804         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47805         sigprocmask.
47806
47807 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47808
47809         Sync from Automake.
47810         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
47811         which incorrectly sets the mode of an existing destination
47812         directory.  In some cases the unpatched install-sh could do the
47813         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
47814         system.  We hope this is rare in practice, but it's clearly worth
47815         fixing.  Problem reported by Alex Unleashed in
47816         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
47817         Also, don't bother to check for -m bugs unless we're using -m;
47818         suggested by Stepan Kasal.
47819
47820 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47821
47822         Sync from Automake.
47823         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
47824         `-c' flag, so they appear at the same position as in %FASTDEP%
47825         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
47826         which ignores unknown options only after the first non-option.
47827         Bug report against M4 by Nelson H. F. Beebe.
47828
47829 2006-10-13  Jim Meyering  <jim@meyering.net>
47830
47831         Fix a bug in yesterday's change.
47832         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
47833         p->fts_statp->st_dev would be used uninitialized.
47834         Ensures that we always call fts_stat on the very first entry.
47835         Miklos Szeredi reported that find -xdev stopped working.
47836
47837 2006-10-12  Bruno Haible  <bruno@clisp.org>
47838
47839         * gnulib-tool (func_get_automake_snippet): Append an automatically
47840         computed EXTRA_DIST augmentation.
47841         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
47842         * modules/alloca-opt (Makefile.am): Likewise.
47843         * modules/allocsa (Makefile.am): Likewise.
47844         * modules/arcfour (Makefile.am): Likewise.
47845         * modules/arctwo (Makefile.am): Likewise.
47846         * modules/argmatch (Makefile.am): Likewise.
47847         * modules/argz (Makefile.am): Likewise.
47848         * modules/atexit (Makefile.am): Likewise.
47849         * modules/backupfile (Makefile.am): Likewise.
47850         * modules/byteswap (Makefile.am): Likewise.
47851         * modules/c-strtod (Makefile.am): Likewise.
47852         * modules/c-strtold (Makefile.am): Likewise.
47853         * modules/calloc (Makefile.am): Likewise.
47854         * modules/canon-host (Makefile.am): Likewise.
47855         * modules/canonicalize (Makefile.am): Likewise.
47856         * modules/chdir-long (Makefile.am): Likewise.
47857         * modules/chdir-safer (Makefile.am): Likewise.
47858         * modules/check-version (Makefile.am): Likewise.
47859         * modules/chown (Makefile.am): Likewise.
47860         * modules/cloexec (Makefile.am): Likewise.
47861         * modules/close-stream (Makefile.am): Likewise.
47862         * modules/closeout (Makefile.am): Likewise.
47863         * modules/crc (Makefile.am): Likewise.
47864         * modules/csharpexec (Makefile.am): Likewise.
47865         * modules/cycle-check (Makefile.am): Likewise.
47866         * modules/des (Makefile.am): Likewise.
47867         * modules/dev-ino (Makefile.am): Likewise.
47868         * modules/dirfd (Makefile.am): Likewise.
47869         * modules/dirname (Makefile.am): Likewise.
47870         * modules/dup2 (Makefile.am): Likewise.
47871         * modules/eealloc (Makefile.am): Likewise.
47872         * modules/error (Makefile.am): Likewise.
47873         * modules/euidaccess (Makefile.am): Likewise.
47874         * modules/exclude (Makefile.am): Likewise.
47875         * modules/exitfail (Makefile.am): Likewise.
47876         * modules/fcntl-safer (Makefile.am): Likewise.
47877         * modules/fcntl (Makefile.am): Likewise.
47878         * modules/file-type (Makefile.am): Likewise.
47879         * modules/fileblocks (Makefile.am): Likewise.
47880         * modules/filemode (Makefile.am): Likewise.
47881         * modules/filenamecat (Makefile.am): Likewise.
47882         * modules/fnmatch (Makefile.am): Likewise.
47883         * modules/fopen-safer (Makefile.am): Likewise.
47884         * modules/fpending (Makefile.am): Likewise.
47885         * modules/fprintftime (Makefile.am): Likewise.
47886         * modules/free (Makefile.am): Likewise.
47887         * modules/fsusage (Makefile.am): Likewise.
47888         * modules/ftruncate (Makefile.am): Likewise.
47889         * modules/fts (Makefile.am): Likewise.
47890         * modules/gc-arcfour (Makefile.am): Likewise.
47891         * modules/gc-des (Makefile.am): Likewise.
47892         * modules/gc-hmac-md5 (Makefile.am): Likewise.
47893         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
47894         * modules/gc-md4 (Makefile.am): Likewise.
47895         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
47896         * modules/gc-sha1 (Makefile.am): Likewise.
47897         * modules/gc (Makefile.am): Likewise.
47898         * modules/getaddrinfo (Makefile.am): Likewise.
47899         * modules/getcwd (Makefile.am): Likewise.
47900         * modules/getdelim (Makefile.am): Likewise.
47901         * modules/getdomainname (Makefile.am): Likewise.
47902         * modules/getgroups (Makefile.am): Likewise.
47903         * modules/gethostname (Makefile.am): Likewise.
47904         * modules/gethrxtime (Makefile.am): Likewise.
47905         * modules/getline (Makefile.am): Likewise.
47906         * modules/getloadavg (Makefile.am): Likewise.
47907         * modules/getlogin_r (Makefile.am): Likewise.
47908         * modules/getndelim2 (Makefile.am): Likewise.
47909         * modules/getopt (Makefile.am): Likewise.
47910         * modules/getpagesize (Makefile.am): Likewise.
47911         * modules/getpass-gnu (Makefile.am): Likewise.
47912         * modules/getpass (Makefile.am): Likewise.
47913         * modules/getsubopt (Makefile.am): Likewise.
47914         * modules/gettime (Makefile.am): Likewise.
47915         * modules/gettimeofday (Makefile.am): Likewise.
47916         * modules/getugroups (Makefile.am): Likewise.
47917         * modules/getusershell (Makefile.am): Likewise.
47918         * modules/glob (Makefile.am): Likewise.
47919         * modules/group-member (Makefile.am): Likewise.
47920         * modules/hard-locale (Makefile.am): Likewise.
47921         * modules/hash (Makefile.am): Likewise.
47922         * modules/hmac-md5 (Makefile.am): Likewise.
47923         * modules/hmac-sha1 (Makefile.am): Likewise.
47924         * modules/human (Makefile.am): Likewise.
47925         * modules/idcache (Makefile.am): Likewise.
47926         * modules/imaxabs (Makefile.am): Likewise.
47927         * modules/imaxdiv (Makefile.am): Likewise.
47928         * modules/inet_ntop (Makefile.am): Likewise.
47929         * modules/inet_pton (Makefile.am): Likewise.
47930         * modules/intprops (Makefile.am): Likewise.
47931         * modules/inttostr (Makefile.am): Likewise.
47932         * modules/inttypes (Makefile.am): Likewise.
47933         * modules/isapipe (Makefile.am): Likewise.
47934         * modules/javaversion (Makefile.am): Likewise.
47935         * modules/lchmod (Makefile.am): Likewise.
47936         * modules/lchown (Makefile.am): Likewise.
47937         * modules/localcharset (Makefile.am): Likewise.
47938         * modules/long-options (Makefile.am): Likewise.
47939         * modules/lstat (Makefile.am): Likewise.
47940         * modules/malloc (Makefile.am): Likewise.
47941         * modules/mathl (Makefile.am): Likewise.
47942         * modules/mbchar (Makefile.am): Likewise.
47943         * modules/md2 (Makefile.am): Likewise.
47944         * modules/md4 (Makefile.am): Likewise.
47945         * modules/md5 (Makefile.am): Likewise.
47946         * modules/memcasecmp (Makefile.am): Likewise.
47947         * modules/memchr (Makefile.am): Likewise.
47948         * modules/memcmp (Makefile.am): Likewise.
47949         * modules/memcoll (Makefile.am): Likewise.
47950         * modules/memcpy (Makefile.am): Likewise.
47951         * modules/memmem (Makefile.am): Likewise.
47952         * modules/memmove (Makefile.am): Likewise.
47953         * modules/mempcpy (Makefile.am): Likewise.
47954         * modules/memrchr (Makefile.am): Likewise.
47955         * modules/memset (Makefile.am): Likewise.
47956         * modules/memxor (Makefile.am): Likewise.
47957         * modules/mkancesdirs (Makefile.am): Likewise.
47958         * modules/mkdir-p (Makefile.am): Likewise.
47959         * modules/mkdir (Makefile.am): Likewise.
47960         * modules/mkdtemp (Makefile.am): Likewise.
47961         * modules/mkstemp (Makefile.am): Likewise.
47962         * modules/mktime (Makefile.am): Likewise.
47963         * modules/modechange (Makefile.am): Likewise.
47964         * modules/mountlist (Makefile.am): Likewise.
47965         * modules/nanosleep (Makefile.am): Likewise.
47966         * modules/obstack (Makefile.am): Likewise.
47967         * modules/openat (Makefile.am): Likewise.
47968         * modules/pagealign_alloc (Makefile.am): Likewise.
47969         * modules/pathmax (Makefile.am): Likewise.
47970         * modules/physmem (Makefile.am): Likewise.
47971         * modules/poll (Makefile.am): Likewise.
47972         * modules/posixtm (Makefile.am): Likewise.
47973         * modules/posixver (Makefile.am): Likewise.
47974         * modules/putenv (Makefile.am): Likewise.
47975         * modules/quote (Makefile.am): Likewise.
47976         * modules/quotearg (Makefile.am): Likewise.
47977         * modules/raise (Makefile.am): Likewise.
47978         * modules/read-file (Makefile.am): Likewise.
47979         * modules/readline (Makefile.am): Likewise.
47980         * modules/readlink (Makefile.am): Likewise.
47981         * modules/readtokens (Makefile.am): Likewise.
47982         * modules/readutmp (Makefile.am): Likewise.
47983         * modules/realloc (Makefile.am): Likewise.
47984         * modules/regex (Makefile.am): Likewise.
47985         * modules/rename-dest-slash (Makefile.am): Likewise.
47986         * modules/rename (Makefile.am): Likewise.
47987         * modules/rijndael (Makefile.am): Likewise.
47988         * modules/rmdir (Makefile.am): Likewise.
47989         * modules/rpmatch (Makefile.am): Likewise.
47990         * modules/safe-read (Makefile.am): Likewise.
47991         * modules/safe-write (Makefile.am): Likewise.
47992         * modules/same-inode (Makefile.am): Likewise.
47993         * modules/same (Makefile.am): Likewise.
47994         * modules/save-cwd (Makefile.am): Likewise.
47995         * modules/savedir (Makefile.am): Likewise.
47996         * modules/setenv (Makefile.am): Likewise.
47997         * modules/settime (Makefile.am): Likewise.
47998         * modules/sha1 (Makefile.am): Likewise.
47999         * modules/sig2str (Makefile.am): Likewise.
48000         * modules/snprintf (Makefile.am): Likewise.
48001         * modules/stat-macros (Makefile.am): Likewise.
48002         * modules/stat-time (Makefile.am): Likewise.
48003         * modules/stdbool (Makefile.am): Likewise.
48004         * modules/stdint (Makefile.am): Likewise.
48005         * modules/stdlib-safer (Makefile.am): Likewise.
48006         * modules/stpcpy (Makefile.am): Likewise.
48007         * modules/stpncpy (Makefile.am): Likewise.
48008         * modules/strcase (Makefile.am): Likewise.
48009         * modules/strcasestr (Makefile.am): Likewise.
48010         * modules/strchrnul (Makefile.am): Likewise.
48011         * modules/strcspn (Makefile.am): Likewise.
48012         * modules/strdup (Makefile.am): Likewise.
48013         * modules/strerror (Makefile.am): Likewise.
48014         * modules/strftime (Makefile.am): Likewise.
48015         * modules/strndup (Makefile.am): Likewise.
48016         * modules/strnlen (Makefile.am): Likewise.
48017         * modules/strpbrk (Makefile.am): Likewise.
48018         * modules/strsep (Makefile.am): Likewise.
48019         * modules/strstr (Makefile.am): Likewise.
48020         * modules/strtod (Makefile.am): Likewise.
48021         * modules/strtoimax (Makefile.am): Likewise.
48022         * modules/strtok_r (Makefile.am): Likewise.
48023         * modules/strtol (Makefile.am): Likewise.
48024         * modules/strtoll (Makefile.am): Likewise.
48025         * modules/strtoul (Makefile.am): Likewise.
48026         * modules/strtoull (Makefile.am): Likewise.
48027         * modules/strtoumax (Makefile.am): Likewise.
48028         * modules/strverscmp (Makefile.am): Likewise.
48029         * modules/sys_socket (Makefile.am): Likewise.
48030         * modules/sys_stat (Makefile.am): Likewise.
48031         * modules/sysexits (Makefile.am): Likewise.
48032         * modules/time_r (Makefile.am): Likewise.
48033         * modules/timegm (Makefile.am): Likewise.
48034         * modules/timespec (Makefile.am): Likewise.
48035         * modules/tmpfile-safer (Makefile.am): Likewise.
48036         * modules/trim (Makefile.am): Likewise.
48037         * modules/unistd-safer (Makefile.am): Likewise.
48038         * modules/unlinkdir (Makefile.am): Likewise.
48039         * modules/unlocked-io (Makefile.am): Likewise.
48040         * modules/userspec (Makefile.am): Likewise.
48041         * modules/utime (Makefile.am): Likewise.
48042         * modules/utimecmp (Makefile.am): Likewise.
48043         * modules/utimens (Makefile.am): Likewise.
48044         * modules/vasnprintf (Makefile.am): Likewise.
48045         * modules/vasprintf (Makefile.am): Likewise.
48046         * modules/vsnprintf (Makefile.am): Likewise.
48047         * modules/xalloc (Makefile.am): Likewise.
48048         * modules/xgetcwd (Makefile.am): Likewise.
48049         * modules/xnanosleep (Makefile.am): Likewise.
48050         * modules/xreadlink (Makefile.am): Likewise.
48051         * modules/xstrtod (Makefile.am): Likewise.
48052         * modules/xstrtol (Makefile.am): Likewise.
48053         * modules/xstrtold (Makefile.am): Likewise.
48054         * modules/yesno (Makefile.am): Likewise.
48055         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
48056
48057 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48058
48059         * modules/error (Makefile.am): Distribute files through
48060         EXTRA_DIST, not lib_SOURCES.
48061
48062 2006-10-12  Eric Blake  <ebb9@byu.net>
48063
48064         * modules/error (Makefile.am): Distribute files in /lib.
48065         * modules/obstack (Makefile.am): Likewise.
48066
48067 2006-10-12  Bruno Haible  <bruno@clisp.org>
48068
48069         * modules/acl (Makefile.am): Distribute all files in lib/ through
48070         EXTRA_DIST.
48071         * modules/arcfour (Makefile.am): Likewise.
48072         * modules/arctwo (Makefile.am): Likewise.
48073         * modules/argmatch (Makefile.am): Likewise.
48074         * modules/argz (Makefile.am): Likewise.
48075         * modules/atexit (Makefile.am): Likewise.
48076         * modules/backupfile (Makefile.am): Likewise.
48077         * modules/c-strtod (Makefile.am): Likewise.
48078         * modules/c-strtold (Makefile.am): Likewise.
48079         * modules/calloc (Makefile.am): Likewise.
48080         * modules/canon-host (Makefile.am): Likewise.
48081         * modules/canonicalize (Makefile.am): Likewise.
48082         * modules/chdir-long (Makefile.am): Likewise.
48083         * modules/chdir-safer (Makefile.am): Likewise.
48084         * modules/check-version (Makefile.am): Likewise.
48085         * modules/chown (Makefile.am): Likewise.
48086         * modules/cloexec (Makefile.am): Likewise.
48087         * modules/close-stream (Makefile.am): Likewise.
48088         * modules/closeout (Makefile.am): Likewise.
48089         * modules/crc (Makefile.am): Likewise.
48090         * modules/cycle-check (Makefile.am): Likewise.
48091         * modules/des (Makefile.am): Likewise.
48092         * modules/dirfd (Makefile.am): Likewise.
48093         * modules/dirname (Makefile.am): Likewise.
48094         * modules/dup2 (Makefile.am): Likewise.
48095         * modules/euidaccess (Makefile.am): Likewise.
48096         * modules/exclude (Makefile.am): Likewise.
48097         * modules/exitfail (Makefile.am): Likewise.
48098         * modules/fcntl-safer (Makefile.am): Likewise.
48099         * modules/file-type (Makefile.am): Likewise.
48100         * modules/fileblocks (Makefile.am): Likewise.
48101         * modules/filemode (Makefile.am): Likewise.
48102         * modules/filenamecat (Makefile.am): Likewise.
48103         * modules/fnmatch (Makefile.am): Likewise.
48104         * modules/fopen-safer (Makefile.am): Likewise.
48105         * modules/fpending (Makefile.am): Likewise.
48106         * modules/fprintftime (Makefile.am): Likewise.
48107         * modules/free (Makefile.am): Likewise.
48108         * modules/fsusage (Makefile.am): Likewise.
48109         * modules/ftruncate (Makefile.am): Likewise.
48110         * modules/fts (Makefile.am): Likewise.
48111         * modules/gc (Makefile.am): Likewise.
48112         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
48113         * modules/getaddrinfo (Makefile.am): Likewise.
48114         * modules/getcwd (Makefile.am): Likewise.
48115         * modules/getdelim (Makefile.am): Likewise.
48116         * modules/getdomainname (Makefile.am): Likewise.
48117         * modules/getgroups (Makefile.am): Likewise.
48118         * modules/gethostname (Makefile.am): Likewise.
48119         * modules/gethrxtime (Makefile.am): Likewise.
48120         * modules/getline (Makefile.am): Likewise.
48121         * modules/getloadavg (Makefile.am): Likewise.
48122         * modules/getlogin_r (Makefile.am): Likewise.
48123         * modules/getopt (Makefile.am): Likewise.
48124         * modules/getpass (Makefile.am): Likewise.
48125         * modules/getpass-gnu (Makefile.am): Likewise.
48126         * modules/getsubopt (Makefile.am): Likewise.
48127         * modules/gettime (Makefile.am): Likewise.
48128         * modules/gettimeofday (Makefile.am): Likewise.
48129         * modules/getugroups (Makefile.am): Likewise.
48130         * modules/getusershell (Makefile.am): Likewise.
48131         * modules/glob (Makefile.am): Likewise.
48132         * modules/group-member (Makefile.am): Likewise.
48133         * modules/hard-locale (Makefile.am): Likewise.
48134         * modules/hash (Makefile.am): Likewise.
48135         * modules/hmac-md5 (Makefile.am): Likewise.
48136         * modules/hmac-sha1 (Makefile.am): Likewise.
48137         * modules/human (Makefile.am): Likewise.
48138         * modules/idcache (Makefile.am): Likewise.
48139         * modules/imaxabs (Makefile.am): Likewise.
48140         * modules/imaxdiv (Makefile.am): Likewise.
48141         * modules/inet_ntop (Makefile.am): Likewise.
48142         * modules/inet_pton (Makefile.am): Likewise.
48143         * modules/inttostr (Makefile.am): Likewise.
48144         * modules/isapipe (Makefile.am): Likewise.
48145         * modules/lchown (Makefile.am): Likewise.
48146         * modules/long-options (Makefile.am): Likewise.
48147         * modules/lstat (Makefile.am): Likewise.
48148         * modules/malloc (Makefile.am): Likewise.
48149         * modules/mathl (Makefile.am): Likewise.
48150         * modules/mbchar (Makefile.am): Likewise.
48151         * modules/md2 (Makefile.am): Likewise.
48152         * modules/md4 (Makefile.am): Likewise.
48153         * modules/md5 (Makefile.am): Likewise.
48154         * modules/memcasecmp (Makefile.am): Likewise.
48155         * modules/memchr (Makefile.am): Likewise.
48156         * modules/memcmp (Makefile.am): Likewise.
48157         * modules/memcoll (Makefile.am): Likewise.
48158         * modules/memcpy (Makefile.am): Likewise.
48159         * modules/memmem (Makefile.am): Likewise.
48160         * modules/memmove (Makefile.am): Likewise.
48161         * modules/mempcpy (Makefile.am): Likewise.
48162         * modules/memrchr (Makefile.am): Likewise.
48163         * modules/memset (Makefile.am): Likewise.
48164         * modules/memxor (Makefile.am): Likewise.
48165         * modules/mkancesdirs (Makefile.am): Likewise.
48166         * modules/mkdir (Makefile.am): Likewise.
48167         * modules/mkdir-p (Makefile.am): Likewise.
48168         * modules/mkdtemp (Makefile.am): Likewise.
48169         * modules/mkstemp (Makefile.am): Likewise.
48170         * modules/mktime (Makefile.am): Likewise.
48171         * modules/modechange (Makefile.am): Likewise.
48172         * modules/mountlist (Makefile.am): Likewise.
48173         * modules/nanosleep (Makefile.am): Likewise.
48174         * modules/openat (Makefile.am): Likewise.
48175         * modules/pagealign_alloc (Makefile.am): Likewise.
48176         * modules/physmem (Makefile.am): Likewise.
48177         * modules/poll (Makefile.am): Likewise.
48178         * modules/posixtm (Makefile.am): Likewise.
48179         * modules/posixver (Makefile.am): Likewise.
48180         * modules/putenv (Makefile.am): Likewise.
48181         * modules/quote (Makefile.am): Likewise.
48182         * modules/quotearg (Makefile.am): Likewise.
48183         * modules/raise (Makefile.am): Likewise.
48184         * modules/read-file (Makefile.am): Likewise.
48185         * modules/readline (Makefile.am): Likewise.
48186         * modules/readlink (Makefile.am): Likewise.
48187         * modules/readtokens (Makefile.am): Likewise.
48188         * modules/readutmp (Makefile.am): Likewise.
48189         * modules/realloc (Makefile.am): Likewise.
48190         * modules/regex (Makefile.am): Likewise.
48191         * modules/rename (Makefile.am): Likewise.
48192         * modules/rename-dest-slash (Makefile.am): Likewise.
48193         * modules/rijndael (Makefile.am): Likewise.
48194         * modules/rmdir (Makefile.am): Likewise.
48195         * modules/rpmatch (Makefile.am): Likewise.
48196         * modules/safe-read (Makefile.am): Likewise.
48197         * modules/safe-write (Makefile.am): Likewise.
48198         * modules/same (Makefile.am): Likewise.
48199         * modules/save-cwd (Makefile.am): Likewise.
48200         * modules/savedir (Makefile.am): Likewise.
48201         * modules/setenv (Makefile.am): Likewise.
48202         * modules/settime (Makefile.am): Likewise.
48203         * modules/sha1 (Makefile.am): Likewise.
48204         * modules/sig2str (Makefile.am): Likewise.
48205         * modules/snprintf (Makefile.am): Likewise.
48206         * modules/stdlib-safer (Makefile.am): Likewise.
48207         * modules/stpcpy (Makefile.am): Likewise.
48208         * modules/stpncpy (Makefile.am): Likewise.
48209         * modules/strcase (Makefile.am): Likewise.
48210         * modules/strcasestr (Makefile.am): Likewise.
48211         * modules/strchrnul (Makefile.am): Likewise.
48212         * modules/strcspn (Makefile.am): Likewise.
48213         * modules/strdup (Makefile.am): Likewise.
48214         * modules/strerror (Makefile.am): Likewise.
48215         * modules/strftime (Makefile.am): Likewise.
48216         * modules/strndup (Makefile.am): Likewise.
48217         * modules/strnlen (Makefile.am): Likewise.
48218         * modules/strpbrk (Makefile.am): Likewise.
48219         * modules/strsep (Makefile.am): Likewise.
48220         * modules/strstr (Makefile.am): Likewise.
48221         * modules/strtod (Makefile.am): Likewise.
48222         * modules/strtoimax (Makefile.am): Likewise.
48223         * modules/strtok_r (Makefile.am): Likewise.
48224         * modules/strtol (Makefile.am): Likewise.
48225         * modules/strtoll (Makefile.am): Likewise.
48226         * modules/strtoul (Makefile.am): Likewise.
48227         * modules/strtoull (Makefile.am): Likewise.
48228         * modules/strtoumax (Makefile.am): Likewise.
48229         * modules/strverscmp (Makefile.am): Likewise.
48230         * modules/time_r (Makefile.am): Likewise.
48231         * modules/timegm (Makefile.am): Likewise.
48232         * modules/tmpfile-safer (Makefile.am): Likewise.
48233         * modules/unistd-safer (Makefile.am): Likewise.
48234         * modules/unlinkdir (Makefile.am): Likewise.
48235         * modules/userspec (Makefile.am): Likewise.
48236         * modules/utime (Makefile.am): Likewise.
48237         * modules/utimecmp (Makefile.am): Likewise.
48238         * modules/utimens (Makefile.am): Likewise.
48239         * modules/vasnprintf (Makefile.am): Likewise.
48240         * modules/vasprintf (Makefile.am): Likewise.
48241         * modules/vsnprintf (Makefile.am): Likewise.
48242         * modules/xalloc (Makefile.am): Likewise.
48243         * modules/xgetcwd (Makefile.am): Likewise.
48244         * modules/xnanosleep (Makefile.am): Likewise.
48245         * modules/xreadlink (Makefile.am): Likewise.
48246         * modules/xstrtod (Makefile.am): Likewise.
48247         * modules/xstrtol (Makefile.am): Likewise.
48248         * modules/xstrtold (Makefile.am): Likewise.
48249         * modules/yesno (Makefile.am): Likewise.
48250
48251 2006-10-12  Jim Meyering  <jim@meyering.net>
48252
48253         * m4/getloadavg.m4: Revert the change below.
48254
48255         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
48256         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
48257         fail with a symlink, which is what coreutils' ./bootstrap now
48258         creates by default.
48259
48260 2006-10-12  Bruno Haible  <bruno@clisp.org>
48261
48262         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
48263         mingw.
48264         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
48265         MSVC and mingw explicitly.
48266
48267 2006-10-11  Simon Josefsson  <jas@extundo.com>
48268             Bruno Haible  <bruno@clisp.org>
48269
48270         Add support for multiple gnulib-tool invocations in the scope of a
48271         single configure.ac file.
48272         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
48273         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
48274         with the same contents as the _LIBADD variable.
48275         (func_emit_initmacro_start, func_emit_initmacro_end,
48276         func_emit_initmacro_done): New functions.
48277         (func_import, func_create_testdir): Invoke them. Allow the identifiers
48278         gl_LIBOBJS and gl_LTLIBOBJS.
48279
48280 2006-10-11  Bruno Haible  <bruno@clisp.org>
48281
48282         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
48283         (func_create_testdir): Don't create po/Makefile.am, don't invoke
48284         autoreconf. Instead, invoke autopoint explicitly but move back the
48285         *.m4 files from gnulib.
48286
48287 2006-10-11  Bruno Haible  <bruno@clisp.org>
48288
48289         * gnulib-tool (func_usage): Make module names after --create-testdir
48290         optional.
48291         (func_create_testdir): If no module was specified, use nearly all
48292         modules.
48293
48294 2006-10-12  Jim Meyering  <jim@meyering.net>
48295
48296         Big performance improvement for fts-based tools that use FTS_NOSTAT.
48297         Avoid spurious inode-mismatch problems on non-POSIX file systems.
48298         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
48299         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
48300         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
48301         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
48302         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
48303         (fts_set_stat_required): New function.
48304         (fts_open): Defer the calls to fts_stat, if possible or requested.
48305         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
48306         into fts_stat itself.
48307         (fts_read): Perform any required (deferred) fts_stat call.
48308         (fts_build): Likewise, for the directory we're about to open and read.
48309         In the readdir loop, carefully decide whether each entry will require
48310         an eventual call to fts_stat, using dirent.d_type info if available.
48311         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
48312         a command line argument into this function.  Update all callers.
48313         Map a return value of FTS_DOT to FTS_D for a command line argument.
48314         * modules/fts (Depends-on): Add d-type.  Alphabetize.
48315         Thanks to Miklos Szeredi for his tenacity and for the initial
48316         bug report about "find" failing on a FUSE-based file system.
48317
48318         * lib/fts.c (fts_open): Use consistent indentation.
48319
48320 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48321
48322         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
48323         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
48324         reported by Jim Meyering.  All uses of cache variables renamed
48325         to match Autoconf's.
48326         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
48327         the other one.
48328
48329         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
48330         Fix misspelling in diagnostic.
48331
48332 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48333
48334         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
48335         defined.  Problem reported by Matthew Woehlke.
48336
48337         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
48338         Add support for Tandem NonStop R series.
48339         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
48340         Use new macro.
48341
48342         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
48343         (has_trailing_slash): Omit size arg; all callers changed.
48344         Omit 'inline', since it doesn't help performance and we'd
48345         need to configure it.
48346         Don't count //, ///, etc. as having a trailing slash.
48347         As a side effect, this removes a C99ism reported by Matthew Woehlke.
48348         (rpl_rename_dest_slash): On failure, use rename's errno rather
48349         than (in some cases) an incorrect or junk errno.
48350         Simplify code by removing need to compute length; this does
48351         cause it to make two passes instead of one over the file name,
48352         but it's worth it.
48353
48354         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
48355         change, since Autoconf's version may no longer be appropriate now
48356         that we are using CVS Autoconf's version.  Add support for Tandem.
48357
48358 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48359             Bruno Haible  <bruno@clisp.org>
48360
48361         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
48362         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
48363         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
48364         gl_AC_TYPE_LONG_LONG.
48365
48366         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
48367         instead of HAVE_LONG_LONG.
48368         * lib/printf-args.c (printf_fetchargs): Likewise.
48369         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
48370         * lib/vasnprintf.c (VASNPRINTF): Likewise.
48371         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
48372         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
48373         gl_AC_TYPE_LONG_LONG.
48374
48375 2006-10-11  Bruno Haible  <bruno@clisp.org>
48376
48377         * m4/longlong.m4: Add comments.
48378         * m4/ulonglong.m4: Likewise.
48379
48380 2006-10-10  Bruno Haible  <bruno@clisp.org>
48381
48382         Make it possible to #define stpcpy, strdup to aliases.
48383         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
48384         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
48385
48386 2006-10-10  Bruno Haible  <bruno@clisp.org>
48387
48388         Make it possible to #define gcd to an alias.
48389         * lib/gcd.c: Include config.h.
48390
48391 2006-10-10  Bruno Haible  <bruno@clisp.org>
48392
48393         Make it possible to #define c_isascii to an alias.
48394         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
48395         defined. Undefine the macros before defining them, to avoid gcc
48396         warnings.
48397         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
48398         define NO_C_CTYPE_MACROS early.
48399
48400 2006-10-10  Bruno Haible  <bruno@clisp.org>
48401
48402         Make it possible to #define set_program_name to an alias.
48403         * lib/progname.c: Don't undefine set_program_name; instead, undefine
48404         ENABLE_RELOCATABLE early.
48405
48406 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
48407
48408         Port to Tandem NSK OSS, which has 64-bit signed int but at most
48409         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
48410         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
48411         More generally, don't assume that 64-bit signed int is available
48412         if unsigned int is, and vice versa.
48413         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
48414         unsigned symbols, not on their signed counterparts.
48415         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
48416         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
48417         (UINT64_C, UINTMAX_C):
48418         Likewise.
48419         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
48420         unsigned counterparts.
48421         (Have_long_long, Unsigned): New macros.
48422         (Int): Renamed from INT.
48423         (strtoimax): Use the new macros.
48424         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
48425         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
48426         * modules/inttypes (inttypes.h): Substitute
48427         HAVE_UNSIGNED_LONG_LONG_INT.
48428         * modules/stdint (stdint.h): Likewise.
48429         (Files): Add m4/ulonglong.m4.
48430
48431 2006-10-10  Bruno Haible  <bruno@clisp.org>
48432
48433         Fix a gcc -Wshadow warning.
48434         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
48435         to 'bucket'.
48436         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
48437         gl_linked_indexof_from_to): Likewise.
48438         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
48439         Likewise.
48440         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
48441         Likewise.
48442         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
48443         Reported by Eric Blake.
48444
48445 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
48446
48447         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
48448         for NetBSD.  Problem reported by Bruno Haible.
48449
48450 2006-10-09  Jim Meyering  <jim@meyering.net>
48451
48452         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
48453         Patch from Bruno Haible.
48454
48455 2006-10-09  Jim Meyering  <jim@meyering.net>
48456
48457         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
48458         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
48459         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
48460
48461 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48462
48463         Don't include <config.h> twice; this doesn't work in some cases,
48464         e.g., when config.h has "#define intmax_t long long int" and
48465         we include <config.h>, <inttypes.h>, <config.h> in that order.
48466         Problem reported by Matthew Woehlke in:
48467         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
48468         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
48469         * lib/fts-cycle.c: Don't include config.h.
48470         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
48471         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
48472         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
48473         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
48474         inttypes.h.
48475         * lib/xstrtoumax.c: Likewise.
48476         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
48477         __strtol and the like, so that this module is more like its siblings.
48478         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
48479         Remove; no longer needed now that we assume gnulib inttypes.h.
48480
48481 2006-10-08  Bruno Haible  <bruno@clisp.org>
48482
48483         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
48484         option.
48485
48486 2006-10-07  Jim Meyering  <jim@meyering.net>
48487
48488         * modules/inttypes (inttypes.h): Revert what seems to have been
48489         an inadvertent part of today's change: use "|", not "/" in the
48490         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
48491
48492 2006-10-07  Bruno Haible  <bruno@clisp.org>
48493
48494         * modules/sublist: New file.
48495
48496 2006-10-07  Bruno Haible  <bruno@clisp.org>
48497
48498         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
48499         * modules/argz (argz.h): Likewise.
48500         * modules/arpa_inet (arpa/inet.h): Likewise.
48501         * modules/byteswap (byteswap.h): Likewise.
48502         * modules/configmake (configmake.h): Likewise.
48503         * modules/fcntl (fcntl.h): Likewise.
48504         * modules/fnmatch (fnmatch.h): Likewise.
48505         * modules/getopt (getopt.h): Likewise.
48506         * modules/glob (glob.h): Likewise.
48507         * modules/inttypes (inttypes.h): Likewise.
48508         * modules/netinet_in (netinet/in.h): Likewise.
48509         * modules/poll (poll.h): Likewise.
48510         * modules/stdbool (stdbool.h): Likewise.
48511         * modules/stdint (stdint.h): Likewise.
48512         * modules/sys_select (sys/select.h): Likewise.
48513         * modules/sys_socket (sys/socket.h): Likewise.
48514         * modules/sys_stat (sys/stat.h): Likewise.
48515         * modules/sysexits (sysexits.h): Likewise.
48516         * modules/unistd (unistd.h): Likewise.
48517         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48518         Add a "DO NOT EDIT" comment to the generated file.
48519         (func_import): Likewise for gnulib-comp.m4.
48520
48521 2006-10-07  Bruno Haible  <bruno@clisp.org>
48522
48523         * lib/gl_sublist.h: New file.
48524         * lib/gl_sublist.c: New file.
48525
48526 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
48527
48528         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
48529         name (relative to the original working directory) and the file
48530         name component (relative to the temporary working directory).  All
48531         callers changed.
48532         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
48533         * lib/mkdir-p.c (make_dir_parents): Likewise.
48534         * lib/mkdir-p.h (make_dir_parents): Likewise.
48535
48536 2006-10-06  Eric Blake  <ebb9@byu.net>
48537
48538         Define several macros for use by the clean-temp module.
48539         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
48540         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
48541         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
48542
48543         * lib/clean-temp.h (close_stream_temp): New declaration.
48544         * lib/clean-temp.c (includes): Pull in headers according to what
48545         other modules are in use.
48546         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
48547
48548 2006-10-06  Bruno Haible  <bruno@clisp.org>
48549
48550         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
48551         instead of fopen, fwriteerror.
48552
48553 2006-10-06  Bruno Haible  <bruno@clisp.org>
48554
48555         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
48556         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
48557         int.
48558         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
48559         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
48560         Return an error indicator.
48561         Suggested by Eric Blake.
48562
48563 2006-10-06  Bruno Haible  <bruno@clisp.org>
48564
48565         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
48566         Reported by Eric Blake.
48567
48568 2006-10-06  Bruno Haible  <bruno@clisp.org>
48569
48570         * modules/closeout (Description): Mention stderr too.
48571
48572 2006-10-06  Bruno Haible  <bruno@clisp.org>
48573         and Paul Eggert  <eggert@cs.ucla.edu>
48574
48575         * lib/closeout.c (close_stdout): Also close stderr.
48576         * lib/closeout.h: Update comment.
48577
48578 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
48579
48580         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
48581         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
48582         * lib/dirchownmod.c: Include lchown.h.
48583         * lib/lchown.c: Don't include files that lchown.h now includes.
48584         Don't declare chown, since lchown.h now does that.
48585         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
48586         (lchown): Define to rpl_chown if lchown is declared but
48587         does not exist.  Declare using a prototype if lchown is not
48588         declared.  Add a copyright notice.
48589         * lib/mkstemp.h: Include <unistd.h>.
48590         * lib/openat.c: Include lchown.h.
48591
48592         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
48593         we now test for that separately.
48594         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
48595         rather than O_NOFOLLOW, when testing whether it's possible to
48596         avoid a race condition reliably.
48597         * lib/savewd.c (savewd_chdir): Likewise.
48598
48599         Remove macros that are no longer needed now that stdint.h is
48600         reliable.
48601         * lib/fsusage.c (UINTMAX_MAX): Remove.
48602         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
48603         * lib/utimecmp.c (SIZE_MAX): Remove.
48604
48605         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
48606
48607         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
48608         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
48609         O_NOATIME works.
48610
48611 2006-10-05  Bruno Haible  <bruno@clisp.org>
48612
48613         * lib/gl_list.h (gl_sortedlist_search_from_to,
48614         gl_sortedlist_indexof_from_to): New declarations.
48615         (gl_list_implementation): New fields sortedlist_search_from_to,
48616         sortedlist_indexof_from_to.
48617         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
48618         inline functions.
48619         * lib/gl_list.c (gl_sortedlist_search_from_to,
48620         gl_sortedlist_indexof_from_to): New functions.
48621         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
48622         function.
48623         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
48624         (gl_array_sortedlist_search_from_to): New function.
48625         (gl_array_list_implementation): Update.
48626         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
48627         function.
48628         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
48629         (gl_carray_sortedlist_search_from_to): New function.
48630         (gl_carray_list_implementation): Update.
48631         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
48632         gl_linked_sortedlist_indexof_from_to): New functions.
48633         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
48634         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
48635         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
48636         gl_tree_sortedlist_indexof_from_to): New functions.
48637         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
48638         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
48639         Update.
48640         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
48641         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
48642         Update.
48643
48644 2006-10-05  Bruno Haible  <bruno@clisp.org>
48645
48646         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
48647         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
48648         (struct gl_list_implementation): Add fields search_from_to,
48649         indexof_from_to. Remove fields search, indexof.
48650         (gl_list_search): Use the search_from_to method.
48651         (gl_list_search_from, gl_list_search_from_to): New functions.
48652         (gl_list_indexof): Use the indexof_from_to method.
48653         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
48654         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
48655         (gl_list_search_from, gl_list_search_from_to): New functions.
48656         (gl_list_indexof): Use the indexof_from_to method.
48657         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
48658         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
48659         gl_array_indexof. Add start_index, end_index arguments.
48660         (gl_array_search_from_to): Renamed from gl_array_search. Add
48661         start_index, end_index arguments.
48662         (gl_array_remove, gl_array_list_implementation): Update.
48663         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
48664         gl_carray_indexof. Add start_index, end_index arguments.
48665         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
48666         start_index, end_index arguments.
48667         (gl_carray_remove, gl_carray_list_implementation): Update.
48668         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
48669         gl_linked_search. Add start_index, end_index arguments.
48670         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
48671         start_index, end_index arguments.
48672         (gl_linked_remove): Update.
48673         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
48674         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
48675         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
48676         field to 'size_t'.
48677         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
48678         gl_tree_search. Add start_index, end_index arguments.
48679         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
48680         start_index, end_index arguments.
48681         (gl_tree_remove): Update.
48682         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
48683         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
48684         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
48685         function.
48686         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
48687         gl_tree_search. Add start_index, end_index arguments.
48688         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
48689         start_index, end_index arguments.
48690         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
48691         Update.
48692         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
48693
48694 2006-10-05  Bruno Haible  <bruno@clisp.org>
48695
48696         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
48697
48698         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
48699         fwriteerror_temp): New declarations.
48700         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
48701         (descriptors): New variable.
48702         (cleanup): First, close the descriptors.
48703         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
48704         fclose_temp, fwriteerror_temp): New functions.
48705
48706 2006-10-04  Jim Meyering  <jim@meyering.net>
48707
48708         * lib/fts.c (fts_open): Tiny comment change.
48709
48710 2006-10-04  Bruno Haible  <bruno@clisp.org>
48711
48712         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
48713         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
48714         gl_LOCK_BODY.
48715         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
48716         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
48717         gl_LOCK_EARLY_BODY.
48718         (gl_LOCK): Require gl_LOCK_BODY.
48719
48720 2006-10-04  Bruno Haible  <bruno@clisp.org>
48721
48722         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
48723         (gl_oset_search_atleast): New declaration.
48724         (struct gl_oset_implementation): Add field 'search_atleast'.
48725         (gl_oset_search_atleast): New inline function.
48726         * lib/gl_oset.c (gl_oset_search_atleast): New function.
48727         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
48728         (gl_array_oset_implementation): Update.
48729         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
48730         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
48731         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
48732
48733 2006-10-04  Bruno Haible  <bruno@clisp.org>
48734
48735         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
48736
48737 2006-10-03  Bruno Haible  <bruno@clisp.org>
48738
48739         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
48740         from gl_avltreehash_list_implementation.
48741
48742 2006-10-03  Bruno Haible  <bruno@clisp.org>
48743
48744         * lib/gl_oset.c (gl_oset_add): Fix return type.
48745
48746 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
48747
48748         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
48749
48750 2006-10-02  Eric Blake  <ebb9@byu.net>
48751
48752         * modules/strnlen (Depends-on): Add extensions.
48753
48754 2006-10-02  Eric Blake  <ebb9@byu.net>
48755
48756         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
48757         definition in 2.60+.
48758
48759 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
48760
48761         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
48762         checks.
48763
48764 2006-10-02  Bruno Haible  <bruno@clisp.org>
48765
48766         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
48767         to the AUTOMAKE_OPTIONS.
48768         Reported by Jim Meyering.
48769
48770 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
48771
48772         Work around bug in Solaris 10 /proc file system:
48773         /proc/self/fd/NNN/.. isn't the parent directory of
48774         the directory whose file descriptor is NNN.  This needs to
48775         be worked around at run time, not compile time, since a
48776         program might be built on Solaris 8, where things work, and
48777         run on Solaris 10.
48778         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
48779         to use the following interface instead:
48780         (OPENAT_BUFFER_SIZE): New macro.
48781         (openat_proc_name): New function.
48782         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
48783         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
48784         Likewise.
48785         * lib/openat-proc.c: New file.
48786         * modules/openat (Files): Add lib/openat-proc.c.
48787         (Depends-on): Add same-inode, stdbool.
48788         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
48789
48790 2006-09-29  Bruno Haible  <bruno@clisp.org>
48791
48792         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
48793         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
48794         argument. Set stdout_closed before testing for ferror, not after.
48795         (fwriteerror, fwriteerror_no_ebadf): New functions.
48796
48797 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48798
48799         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
48800
48801 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
48802
48803         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
48804         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
48805
48806 2006-09-28  Jim Meyering  <jim@meyering.net>
48807
48808         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
48809         Include <unistd.h>.
48810
48811 2006-09-28  Bruno Haible  <bruno@clisp.org>
48812
48813         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
48814         * modules/linkedhash-list (Depends-on): Likewise.
48815         * modules/rbtreehash-list (Depends-on): Likewise.
48816
48817 2006-09-28  Bruno Haible  <bruno@clisp.org>
48818
48819         * lib/strndup.h: Simplify the redefinition of strndup.
48820         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
48821         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
48822
48823 2006-09-28  Bruno Haible  <bruno@clisp.org>
48824
48825         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
48826         * lib/gl_linkedhash_list.c: Likewise.
48827         * lib/gl_rbtreehash_list.c: Likewise.
48828
48829 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
48830
48831         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
48832         getaddrinfo.
48833
48834         * lib/__fpending.h: Don't include <stdio_ext.h> unless
48835         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
48836         it causes <stdio_ext.h> to cause a compile-time error.
48837         Problem reported by Nelson H. F. Beebe.
48838         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
48839         of HAVE_DECL___PENDING.
48840
48841         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
48842         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
48843         declaration.
48844
48845 2006-09-27  Jim Meyering  <jim@meyering.net>
48846
48847         This file could end up with a definition for a function
48848         named __strndup, rather than rpl_strndup on a system with
48849         incomplete weak_alias support.
48850         * lib/strndup.c (strndup): Rename from __strndup.
48851         Remove #defines that used to map __strndup to strndup.
48852         Don't use K&R prototypes.
48853         Remove LIBC-related code, since this file is not sync'd with glibc.
48854         * lib/strndup.h: Revamp, accordingly.
48855         * m4/strndup.m4: Modernize.
48856
48857 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
48858
48859         * modules/savewd (Depends-on): Add 'raise'.
48860         * lib/savewd.c: Include <signal.h>, for 'raise'.
48861
48862 2006-09-26  Jim Meyering  <jim@meyering.net>
48863
48864         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
48865         when we detect Darwin 8.7.0's acl_get_file bug.
48866         Rearrange to perform the new (below) run-test while $LIBS
48867         contains any acl-related library.  Set USE_ACL at the end.
48868         (gl_ACL_GET_FILE): New function.
48869
48870 2006-09-26  Eric Blake  <ebb9@byu.net>
48871
48872         * lib/verror.c: Include <config.h> unconditionally.
48873
48874 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
48875
48876         * modules/clock-time (Maintainer): Add self.
48877         * modules/getlogin_r (Depends-on): Add extensions.
48878
48879 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48880
48881         * modules/clock-time: New module.
48882         * modules/nanosleep (Depends-on): Add clock-time.
48883         * modules/gethrxtime (Depends-on): Likewise.
48884         * modules/gettime (Depends-on): Likewise.
48885         * modules/settime (Depends-on): Likewise.
48886
48887         * modules/fts-lgpl: Depend on openat.
48888         * modules/mkancesdirs: Depend on savewd.
48889         * modules/mkdir-p: Likewise.
48890
48891 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48892
48893         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
48894
48895         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
48896         `gl_have_arbitrary_file_name_length_limit' to
48897         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
48898         actually works between configure runs.
48899
48900 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48901             Bruno Haible  <bruno@clisp.org>
48902
48903         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
48904
48905 2006-09-25  Jim Meyering  <jim@meyering.net>
48906
48907         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
48908         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
48909
48910 2006-09-25  Eric Blake  <ebb9@byu.net>
48911
48912         * gnulib-tool (func_import, func_create_testdir): Fix typos in
48913         exec's in 2006-09-18 patch when shuffling fds.
48914
48915 2006-09-25  Bruno Haible  <bruno@clisp.org>
48916
48917         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
48918         Reported by Jim Meyering.
48919
48920 2006-09-24  Jim Meyering  <jim@meyering.net>
48921
48922         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
48923         compare a pointer against a literal "0".  That caused failures with
48924         at least HP-UX's hpcc.
48925
48926 2006-09-22  Simon Josefsson  <jas@extundo.com>
48927
48928         * modules/gc-sha1:
48929         * modules/gc-md4:
48930         * modules/gc-hmac-sha1:
48931         * modules/gc-hmac-md5:
48932         * modules/gc-des:
48933         * modules/gc-arcfour: Distribute more files.
48934
48935 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48936
48937         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
48938         (gl_linked_iterator_from_to): Initialize struct completely.
48939         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
48940         (gl_tree_iterator_from_to): Likewise
48941         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
48942         * lib/gl_array_list.c [lint] (gl_array_iterator)
48943         (gl_array_iterator_from_to): Likewise.
48944         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
48945         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
48946         (gl_carray_iterator_from_to): Likewise.
48947
48948         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
48949         * lib/md4.c (md4_process_block): Remove unused variable.
48950         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
48951         parentheses for clarity.
48952
48953 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48954
48955         * modules/bison-i18n (Depends-on): Add gettext.
48956
48957 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48958
48959         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
48960         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
48961         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
48962         also add missing comma that caused broken test.
48963         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
48964         stdlib.h, for `abort'.
48965         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
48966         variables.
48967         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
48968         include unistd.h if present, for `rmdir'.
48969         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
48970         variables.
48971         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
48972         in the process include standard headers for prototypes.
48973         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
48974         gets declared on GNU/Linux.
48975         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
48976         unistd.h, for `rmdir'.
48977         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
48978
48979         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
48980         always true.
48981         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
48982
48983         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
48984
48985 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48986
48987         * gnulib-tool (func_version): Create output all at once.  This
48988         may help avoid triggering unnecessary SIGPIPEs, and at any
48989         rate it doesn't hurt.
48990
48991 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48992             Bruno Haible  <bruno@clisp.org>
48993
48994         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
48995         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48996         * m4/signed.m4 (bh_C_SIGNED): Likewise.
48997
48998         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
48999         (gl_FUNC_VASPRINTF): Invoke it.
49000
49001 2006-09-22  Bruno Haible  <bruno@clisp.org>
49002
49003         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
49004         getloadavg.c as first argument.
49005
49006 2006-09-22  Bruno Haible  <bruno@clisp.org>
49007
49008         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
49009         at the beginning of the gl_INIT macro.
49010         * modules/getloadavg (configure.ac): Pass $gl_source_base to
49011         gl_GETLOADAVG.
49012
49013 2006-09-22  Bruno Haible  <bruno@clisp.org>
49014
49015         * gnulib-tool (func_create_megatestdir): Don't include the config-h
49016         module.
49017         Suggested by Ralf Wildenhues.
49018
49019 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
49020
49021         Import this patch from libc:
49022
49023         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
49024
49025         * lib/regex_internal.c (re_string_reconstruct): Handle
49026         offset < pstr->valid_raw_len && pstr->offsets_needed case.
49027         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
49028         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
49029         re_string_context_at.
49030
49031         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
49032         now requires it.
49033         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
49034         gl_REGEX now does it for us.
49035         (gl_REGEX): Add test taken from
49036         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
49037
49038         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
49039         Check that large offsets work.  Modernize Autoconf usages.
49040         Prefer "yes" to mean a good thing rather than a bad.
49041         Don't put "#define mkstemp" in config.h, as this might interfere
49042         with standard system headers that "#define mkstemp mkstemp64".
49043
49044         * modules/mkstemp (Depends-on): Add extensions, so that
49045         mkstemp is visible on some platforms.
49046         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
49047         (Include): Change to "mkstemp.h" from <stdlib.h>.
49048         (Files): Add mkstemp.h.
49049
49050         * lib/mkstemp.h: New file, since some standard headers
49051         #define mkstemp.
49052         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
49053         Include "mkstemp.h".
49054         Make the _LIBC code resemble glibc original more,
49055         e.g., use K&R style.
49056         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
49057         (mkstemp): Remove, since mkstemp.h does this for us.
49058         * lib/stdlib--.h: Include mkstemp.h.
49059
49060         Import this patch from libc:
49061
49062         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
49063
49064         * lib/tempname.c (__gen_tempname): Change attempts_min
49065         into a macro.  Use preprocessor to decide how to initialize
49066         attempts [Coverity CID 67].
49067
49068 2006-09-20  Bruno Haible  <bruno@clisp.org>
49069
49070         * lib/mkdtemp.c: Import from libc.
49071         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
49072                 * sysdeps/posix/tempname.c (__gen_tempname): Change
49073                 attempts_min into a macro.  Use preprocessor to decide how to
49074                 initialize attempts [Coverity CID 67].
49075         2001-11-27  Paul Eggert  <eggert@twinsun.com>
49076                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
49077                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
49078
49079 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49080
49081         * gnulib-tool (func_exit): New function, to allow to pass the
49082         exit status portably through the trap.  Use everywhere.
49083         (--help, --version): Signal a write error.
49084         (trap): catch SIGPIPE, for write errors.
49085         Exit at the end of the trap, with the correct exit status.
49086
49087 2006-09-19  Karl Berry  <karl@gnu.org>
49088
49089         * doc/gnulib.texi: note about the license texinfo files.
49090
49091 2006-09-19  Eric Blake  <ebb9@byu.net>
49092
49093         * gnulib-tool: Avoid space-tab.
49094
49095 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49096
49097         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
49098         that prevented coreutils 6.1 from building.  Problem reported
49099         by Petter Reinholdtsen.
49100
49101 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49102
49103         * gnulib-tool (avoidlist): Fix typo that broke options like
49104         --avoid=lock that are used by coreutils bootstrap.
49105
49106 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
49107
49108         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
49109         more systematically.
49110
49111 2006-09-18  Jim Meyering  <jim@meyering.net>
49112
49113         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
49114
49115 2006-09-18  Bruno Haible  <bruno@clisp.org>
49116
49117         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
49118
49119 2006-09-18  Bruno Haible  <bruno@clisp.org>
49120
49121         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
49122         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
49123         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
49124         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
49125         * m4/gettext.m4: Require autoconf >= 2.52.
49126         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
49127         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
49128         of gl_cv_header_inttypes_h.
49129
49130 2006-09-18  Bruno Haible  <bruno@clisp.org>
49131
49132         * lib/javaversion.c: Include configmake.h.
49133
49134 2006-09-18  Bruno Haible  <bruno@clisp.org>
49135
49136         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
49137         avoid that the while loops be executed in a subshell.
49138
49139 2006-09-18  Bruno Haible  <bruno@clisp.org>
49140
49141         * MODULES.html.sh (func_module): Break long lines.
49142         Suggested by Bruce Korb <bkorb@gnu.org>.
49143
49144 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49145
49146         Speed up by a factor of 1.12.
49147         * gnulib-tool (nl): New variable.
49148         (func_import): Rewrite include directive extraction to only read each
49149         directive once.
49150
49151 2006-09-17  Bruno Haible  <bruno@clisp.org>
49152
49153         * modules/javaversion (Makefile.am): Remove DEFS setting.
49154         (Depends-on): Add configmake, for PKGDATADIR definition.
49155
49156 2006-09-17  Bruno Haible  <bruno@clisp.org>
49157
49158         * gnulib-tool (func_create_testdir): Rewrite all files at once.
49159
49160 2006-09-17  Bruno Haible  <bruno@clisp.org>
49161
49162         * gnulib-tool (func_append): New function, stolen from libtool.m4.
49163         (func_modules_transitive_closure, func_modules_add_dummy,
49164         func_modules_to_filelist, func_import, func_create_testdir,
49165         func_create_megatestdir, ...): Use it wherever possible.
49166         Suggested by Ralf Wildenhues.
49167
49168 2006-09-16  Karl Berry  <karl@gnu.org>
49169
49170         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
49171         to avoid sectioning errors.
49172         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
49173         [ifinfo]: blank line after @center-ed titles.
49174         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
49175         Spell FSF address consistently with others.
49176         (These changes approved by rms.)
49177
49178 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49179
49180         Speed up by a factor of 1.61.
49181         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
49182         already checked module names again.
49183
49184 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49185
49186         Speed up by a factor of 1.13.
49187         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
49188         for new_files, and the input to func_add_or_update.
49189
49190 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49191
49192         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
49193         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
49194
49195 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49196
49197         * modules/mkancesdirs (Depends-on): Add fcntl.
49198         * modules/savewd: New file.
49199         * MODULES.html.sh (File system functions): Add savewd.
49200
49201         * modules/configmake (Makefile.am): Add support for the
49202         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
49203
49204 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49205
49206         * m4/savewd.m4: New file.
49207
49208 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49209
49210         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
49211         (dirchownmod): New arg FD.  All callers changed.
49212         Use FD rather than opening the directory ourself, as opening is
49213         now the caller's responsibility.
49214         * lib/dirchownmod.h: Likewise.
49215         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
49216         hosts that require <sys/types.h> before <sys/stat.h>.  Include
49217         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
49218         (test_dir): Remove.
49219         (mkancesdirs): Return length of prefix of FILE that has already
49220         been made, or -2 if there is a child doing the work.  Redo
49221         algorithm so that it is O(N) rather than O(N**2).  Optimize away
49222         ".", and treat ".." specially since it might stray back into
49223         already-created areas.  Use a subprocess if necessary.  New arg
49224         WD; all users changed.  MAKE_DIR function should now return 1
49225         if it creates a directory that is not readable.  Return -2 if
49226         a child process is spun off.
49227         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
49228         Adjust signature to match code.
49229         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
49230         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
49231         all users changed.
49232         * lib/savewd.c, lib/savewd.h: New files.
49233
49234 2006-09-15  Jim Meyering  <jim@meyering.net>
49235
49236         * modules/rename-dest-slash: New module.
49237         * MODULES.html.sh (posix_compat): Add it here.
49238
49239         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
49240
49241 2006-09-15  Jim Meyering  <jim@meyering.net>
49242
49243         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
49244         file.
49245
49246         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
49247
49248 2006-09-15  Jim Meyering  <jim@meyering.net>
49249
49250         * lib/rename-dest-slash.c (has_trailing_slash): Use
49251         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
49252         (rpl_rename_dest_slash): Perform the cheaper trailing slash
49253         test before testing whether SRC is a directory.
49254         Suggestions from Bruno Haible.
49255
49256         Avoid a warning about an unused variable.
49257         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
49258         into the #ifdef block where it's used.
49259
49260         * lib/rename-dest-slash.c: New file.
49261
49262 2006-09-14  Bruno Haible  <bruno@clisp.org>
49263
49264         * lib/allocsa.c: Include <config.h> unconditionally.
49265         * lib/asnprintf.c: Likewise.
49266         * lib/asprintf.c: Likewise.
49267         * lib/c-strcasecmp.c: Likewise.
49268         * lib/c-strcasestr.c: Likewise.
49269         * lib/c-strncasecmp.c: Likewise.
49270         * lib/c-strstr.c: Likewise.
49271         * lib/classpath.c: Likewise.
49272         * lib/clean-temp.c: Likewise.
49273         * lib/concatpath.c: Likewise.
49274         * lib/copy-file.c: Likewise.
49275         * lib/csharpcomp.c: Likewise.
49276         * lib/csharpexec.c: Likewise.
49277         * lib/execute.c: Likewise.
49278         * lib/fatal-signal.c: Likewise.
49279         * lib/findprog.c: Likewise.
49280         * lib/fwriteerror.c: Likewise.
49281         * lib/gl_array_list.c: Likewise.
49282         * lib/gl_array_oset.c: Likewise.
49283         * lib/gl_avltree_list.c: Likewise.
49284         * lib/gl_avltree_oset.c: Likewise.
49285         * lib/gl_avltreehash_list.c: Likewise.
49286         * lib/gl_carray_list.c: Likewise.
49287         * lib/gl_linked_list.c: Likewise.
49288         * lib/gl_linkedhash_list.c: Likewise.
49289         * lib/gl_list.c: Likewise.
49290         * lib/gl_oset.c: Likewise.
49291         * lib/gl_rbtree_list.c: Likewise.
49292         * lib/gl_rbtree_oset.c: Likewise.
49293         * lib/gl_rbtreehash_list.c: Likewise.
49294         * lib/imaxabs.c: Likewise.
49295         * lib/imaxdiv.c: Likewise.
49296         * lib/javacomp.c: Likewise.
49297         * lib/javaexec.c: Likewise.
49298         * lib/javaversion.c: Likewise.
49299         * lib/linebreak.c: Likewise.
49300         * lib/localcharset.c: Likewise.
49301         * lib/lock.c: Likewise.
49302         * lib/mbchar.c: Likewise.
49303         * lib/mbswidth.c: Likewise.
49304         * lib/mkdtemp.c: Likewise.
49305         * lib/pipe.c: Likewise.
49306         * lib/printf-args.c: Likewise.
49307         * lib/printf-parse.c: Likewise.
49308         * lib/progname.c: Likewise.
49309         * lib/progreloc.c: Likewise.
49310         * lib/readlink.c: Likewise.
49311         * lib/sh-quote.c: Likewise.
49312         * lib/stpcpy.c: Likewise.
49313         * lib/stpncpy.c: Likewise.
49314         * lib/strcasecmp.c: Likewise.
49315         * lib/strcasestr.c: Likewise.
49316         * lib/strcspn.c: Likewise.
49317         * lib/striconv.c: Likewise.
49318         * lib/strncasecmp.c: Likewise.
49319         * lib/strnlen1.c: Likewise.
49320         * lib/strstr.c: Likewise.
49321         * lib/strtok_r.c: Likewise.
49322         * lib/tls.c: Likewise.
49323         * lib/tmpdir.c: Likewise.
49324         * lib/unicodeio.c: Likewise.
49325         * lib/unsetenv.c: Likewise.
49326         * lib/vasnprintf.c: Likewise.
49327         * lib/vasprintf.c: Likewise.
49328         * lib/wait-process.c: Likewise.
49329         * lib/xallocsa.c: Likewise.
49330         * lib/xsetenv.c: Likewise.
49331         * lib/xstriconv.c: Likewise.
49332
49333 2006-09-13  Simon Josefsson  <jas@extundo.com>
49334
49335         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
49336         that internally, suggested by Ralf Wildenhues
49337         <Ralf.Wildenhues@gmx.de>.
49338
49339 2006-09-13  Simon Josefsson  <jas@extundo.com>
49340
49341         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
49342         @LIBOBJS@.
49343         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49344
49345 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49346
49347         * lib/_fpending.c: Include <config.h> unconditionally, since we no
49348         longer worry about uses that don't define HAVE_CONFIG_H.
49349         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
49350         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
49351         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
49352         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
49353         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
49354         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
49355         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
49356         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
49357         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
49358         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
49359         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
49360         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
49361         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
49362         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
49363         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
49364         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
49365         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
49366         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
49367         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
49368         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
49369         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
49370         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
49371         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
49372         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
49373         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
49374         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
49375         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
49376         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
49377         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
49378         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
49379         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
49380         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
49381         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
49382         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
49383         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
49384         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
49385         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
49386         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
49387         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
49388         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
49389         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
49390         Likewise.
49391
49392 2006-09-13  Eric Blake  <ebb9@byu.net>
49393
49394         * lib/getopt.c: Fix typo in last commit.
49395
49396 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
49397
49398         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
49399         dgettext.
49400
49401 2006-09-12  Jim Meyering  <jim@meyering.net>
49402
49403         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
49404         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
49405         Reported by Nelson H. F. Beebe.
49406
49407 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49408
49409         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
49410         program_invocation_name and program_invocation_short_name are
49411         initialized.
49412         * lib/argp-namefrob.h: Move declarations of program_invocation_name
49413         and program_invocation_short_name to argp.h, so they are visible
49414         to user programs.
49415         * lib/argp.h: Likewise
49416
49417 2006-09-10  Bruno Haible  <bruno@clisp.org>
49418
49419         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
49420         m4/inttypes_h.m4, m4/uintmax_t.m4.
49421
49422 2006-09-10  Bruno Haible  <bruno@clisp.org>
49423
49424         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
49425         gl_AC_TYPE_UINTMAX_T.
49426
49427 2006-09-10  Bruno Haible  <bruno@clisp.org>
49428
49429         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
49430
49431 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49432
49433         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
49434         convention.  Text proposed by Bruno Haible.
49435         (struct argp_option): Document the use of N_() wrappers.
49436
49437         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
49438         '\v', and translate the two parts separately, instead of feeding
49439         the whole string to gettext.  This allows to exclude
49440         '\v' from the strings visible to the translator by writing doc
49441         strings as N_("..") "\v" N_("..").
49442
49443 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
49444
49445         * config/srclist.txt: Undo latest change; the bug was fixed.
49446
49447 2006-09-09  Bruno Haible  <bruno@clisp.org>
49448
49449         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
49450         assignments if building a library without libtool.
49451         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
49452         in func_emit_lib_Makefile_am.
49453         (func_import): When building a static library libfoo.a, arrange to
49454         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
49455         (func_create_testdir): Likewise.
49456         * modules/gc (configure.ac, Makefile.am): If building statically,
49457         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
49458         * modules/iconvme (configure.ac, Makefile.am): Likewise.
49459         * modules/striconv (configure.ac, Makefile.am): Likewise.
49460         Based on a suggestion by Ralf Wildenhues.
49461
49462 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49463
49464         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
49465         Check for unistd.h too, since Autoconf doesn't assume POSIX.
49466         Also:
49467
49468         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49469         Add year_2050_test to catch glibc bug 2821
49470         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
49471
49472         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49473         Prefer #ifdef to #if.
49474
49475         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
49476         Return from 'main' instead of calling 'exit'.
49477
49478 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49479
49480         * lib/mktime.c (guess_time_tm): Fix bug where mktime
49481         returned the maximum time_t value rather than (time_t) -1.
49482         Problem originally reported by William Bardwell
49483         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
49484
49485         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
49486         Moved to here ...
49487         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
49488         ... from here.
49489
49490 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49491
49492         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
49493         2821 is fixed.
49494
49495 2006-09-08  Jim Meyering  <jim@meyering.net>
49496
49497         Don't make generated files read-only.  That would bother too many
49498         people.  However, do retain the ability to work when targets are
49499         read-only: remove the destination and temporary files before writing
49500         them (when generated via sed or echo), or by using the -f option for
49501         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
49502         * modules/alloca-opt, modules/argz, modules/arpa_inet:
49503         * modules/byteswap, modules/configmake, modules/fcntl:
49504         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
49505         * modules/localcharset, modules/netinet_in, modules/poll:
49506         * modules/stdbool, modules/stdint, modules/sys_select:
49507         * modules/sys_socket, modules/sys_stat, modules/sysexits:
49508
49509 2006-09-08  Jim Meyering  <jim@meyering.net>
49510
49511         Avoid new build failure on FreeBSD 6.0.
49512         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
49513         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
49514         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
49515
49516 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49517
49518         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
49519
49520 2006-09-07  Jim Meyering  <jim@meyering.net>
49521
49522         Fix global typo in last change: use chmod u-w, not chmod u-x.
49523         Spotted by Paul Eggert and Bruce Korb.
49524         * modules/alloca-opt, modules/argz, modules/arpa_inet:
49525         * modules/byteswap, modules/configmake, modules/fcntl:
49526         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
49527         * modules/localcharset, modules/netinet_in, modules/poll:
49528         * modules/stdbool, modules/stdint, modules/sys_select:
49529         * modules/sys_socket, modules/sys_stat, modules/sysexits:
49530
49531 2006-09-06  Jim Meyering  <jim@meyering.net>
49532
49533         Make generated files be read-only.
49534         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
49535         Ensure that each generated file is now read-only.
49536         * modules/argz: Likewise.
49537         * modules/arpa_inet: Likewise.
49538         * modules/byteswap: Likewise.
49539         * modules/configmake: Likewise.
49540         * modules/fcntl: Likewise.
49541         * modules/fnmatch: Likewise.
49542         * modules/getopt: Likewise.
49543         * modules/glob: Likewise.
49544         * modules/inttypes: Likewise.
49545         * modules/netinet_in: Likewise.
49546         * modules/poll: Likewise.
49547         * modules/stdbool: Likewise.
49548         * modules/stdint: Likewise.
49549         * modules/sys_select: Likewise.
49550         * modules/sys_socket: Likewise.
49551         * modules/sys_stat: Likewise.
49552         * modules/sysexits: Likewise.
49553         * modules/localcharset: Same as above, but continue using temporary
49554         file named "t-$@" (why different?) rather than the "$@-t" used
49555         everywhere else.
49556
49557         * modules/sysexits (Makefile.am): Replace literal occurrences
49558         of "sysexit.h" more readable, and more consistent, "$@".
49559
49560 2006-09-06  Bruno Haible  <bruno@clisp.org>
49561
49562         * modules/striconv: New file.
49563         * modules/xstriconv: New file.
49564         * MODULES.html.sh (Internationalization functions): Add striconv,
49565         xstriconv.
49566
49567 2006-09-06  Bruno Haible  <bruno@clisp.org>
49568
49569         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
49570         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
49571         not using libtool correctly.
49572
49573 2006-09-06  Bruno Haible  <bruno@clisp.org>
49574
49575         * lib/striconv.h: New file.
49576         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
49577         iconvstring.c.
49578         * lib/xstriconv.h: New file.
49579         * lib/xstriconv.c: New file.
49580
49581 2006-09-06  Bruno Haible  <bruno@clisp.org>
49582
49583         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
49584         lib_..._LDFLAGS.
49585
49586 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49587
49588         * lib/argz_.h: Sync from Libtool.
49589
49590         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
49591                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
49592
49593         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
49594
49595 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
49596
49597         * modules/trim: New file.
49598
49599 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
49600
49601         * lib/trim.h: New file.
49602         * lib/trim.c: New file.
49603
49604 2006-09-05  Bruno Haible  <bruno@clisp.org>
49605
49606         * MODULES.html.sh (String handling): Add trim.
49607
49608 2006-09-04  Karl Berry  <karl@gnu.org>
49609
49610         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
49611         until next release.
49612
49613 2006-09-03  Bruno Haible  <bruno@clisp.org>
49614
49615         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
49616         correctly.
49617
49618 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49619
49620         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
49621         not gl_GETLOADAVG.  Omit unneeded semicolons.
49622         Problems reported by Ralf Wildenhues in
49623         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
49624         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
49625         at the end, which is the usual gnulib style.
49626
49627         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
49628         of doing all the work ourselves.
49629         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
49630         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
49631
49632 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49633
49634         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
49635         Problem reported by Ralf Wildenhues in
49636         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
49637
49638         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
49639         HAVE_STRUCT_STATFS_F_FSTYPENAME.
49640
49641 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49642
49643         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
49644         yesterday's patch by changing test -n to test -z.
49645
49646 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49647
49648         * modules/getloadavg (Files): Add m4/getloadavg.m4.
49649         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
49650         the former is now obsolescent.
49651
49652         * modules/chdir-long (Depends-on): Add fcntl.
49653
49654 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49655
49656         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
49657         obsolescent, and programs should use gnulib instead.
49658         * m4/getloadavg.m4: New file, with contents taken from Autoconf
49659         but with prefixes changed.
49660
49661 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49662
49663         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
49664         or stdbool.h, because they might not exist while configuring.
49665
49666         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
49667         Don't include unistd.h or limits.h; not needed, since chdir-long.h
49668         does that for us.
49669         (O_DIRECTORY): Remove.
49670
49671 2006-08-31  Eric Blake  <ebb9@byu.net>
49672
49673         * gnulib-tool: Don't let emacs change spaces to TAB.
49674
49675 2006-08-31  Bruno Haible  <bruno@clisp.org>
49676
49677         * gnulib-tool: When calling func_import more than once, do it in a
49678         subshell.
49679         Reported by Eric Blake <ebb9@byu.net>.
49680
49681 2006-08-31  Bruno Haible  <bruno@clisp.org>
49682
49683         * gnulib-tool (nl): Remove variable.
49684         (sed_transform_lib_file): Use more robust test for config-h module.
49685         (func_import): Fix typo in 2006-08-25 patch.
49686
49687 2006-08-31  Bruno Haible  <bruno@clisp.org>
49688
49689         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
49690         specified, augment Makefile.am variables instead of assigning them.
49691
49692 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49693
49694         Work around a bug in both the Linux and SunOS 64-bit kernels:
49695         nanosleep mishandles sleeps for longer than 2**31 seconds.
49696         Problem reported by Frank v Waveren in
49697         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
49698         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
49699         Check for nanosleep bug.
49700         (LIB_NANOSLEEP): Append clock_gettime library if needed.
49701
49702 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49703
49704         Work around a bug in both the Linux and SunOS 64-bit kernels:
49705         nanosleep mishandles sleeps for longer than 2**31 seconds.
49706         Problem reported by Frank v Waveren in
49707         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
49708         * lib/nanosleep.c (BILLION): New constant.
49709         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
49710         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
49711         implementation.
49712
49713 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49714
49715         * modules/nanosleep (Depends-on): Add gettime.
49716
49717 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49718         and Simon Josefsson  <jas@extundo.com>
49719         and Oskar Liljeblad  <oskar@osk.mine.nu>
49720
49721         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
49722         * gnulib-tool (func_import): New license type 'unmodifiable license
49723         text'.
49724         * modules/fdl: Use it.  Longer description.
49725         * module/gpl, module/lgpl: New files.
49726
49727 2006-08-30  Jim Meyering  <jim@meyering.net>
49728
49729         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
49730         shadowing the parameter.
49731
49732 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49733
49734         Sync from Libtool:
49735
49736         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49737
49738         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
49739         sharing with gnulib.  Report by Eric Blake.
49740
49741 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49742
49743         * modules/isapipe: New file.
49744         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
49745
49746 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49747
49748         * modules/configmake (Makefile.am): Add a comment, and omit
49749         the CONFIGMAKE_ prefix from generated macro names.  Suggested
49750         by Bruno Haible.
49751
49752 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49753
49754         * m4/isapipe.m4: New file.
49755
49756 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49757
49758         * lib/isapipe.c, lib/isapipe.h: New files.
49759
49760 2006-08-29  Jim Meyering  <jim@meyering.net>
49761
49762         * modules/configmake (Makefile.am): Make configmake.h depend on
49763         Makefile.  Otherwise, a stale configmake.h could hang around.
49764
49765 2006-08-29  Eric Blake  <ebb9@byu.net>
49766
49767         * lib/error.c (error_at_line, print_errno_message): Match libc, after
49768         resolution of upstream bug 3044.
49769
49770 2006-08-29  Bruno Haible  <bruno@clisp.org>
49771
49772         * modules/localcharset (Depends-on): Add configmake.
49773         (Makefile.am): Remove setting of LIBDIR through DEFS.
49774
49775 2006-08-29  Bruno Haible  <bruno@clisp.org>
49776
49777         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
49778         defined.
49779
49780 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49781
49782         * modules/fcntl: New file.
49783         * modules/chdir-safer (Depends-on): Add fcntl.
49784         * modules/fts: Likewise.
49785         * modules/mkdir-p: Likewise.
49786
49787         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
49788         This undoes the most recent change, since we're now addressing the
49789         problem in a different way.
49790
49791         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
49792         into output, since the output might be called Makefile.am even
49793         if $makefile_name is something different.
49794         (func_import): Use $makefile_am rather than
49795         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
49796         empty.
49797
49798         * modules/inttypes (Files): Add m4/inttypes-h.m4.
49799
49800 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49801
49802         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
49803         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
49804         recent change to stdint.m4, since we're now addressing the problem in a
49805         different way.
49806
49807 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49808
49809         * m4/fcntl_h.m4: New file.
49810
49811 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49812
49813         * lib/fcntl_.h: New file.
49814         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
49815         the fcntl module.
49816         * lib/dirchownmod.c: Likewise.
49817         * lib/fts.c: Likewise.
49818
49819         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
49820         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
49821         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
49822         just before including <inttypes.h>, to avoid circular inclusion.
49823
49824 2006-08-28  Jim Meyering  <jim@meyering.net>
49825
49826         * doc/visibility.texi: Actually read and correct the grammar of the
49827         sentence affected by yesterday's change.
49828
49829 2006-08-28  Eric Blake  <ebb9@byu.net>
49830
49831         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
49832         needs wrapper.
49833
49834 2006-08-28  Eric Blake  <ebb9@byu.net>
49835
49836         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
49837
49838 2006-08-28  Eric Blake  <ebb9@byu.net>
49839
49840         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
49841
49842 2006-08-28  Bruno Haible  <bruno@clisp.org>
49843
49844         * modules/c-strstr: New file, from GNU gettext.
49845         * MODULES.html.sh (String handling): Add c-strstr.
49846
49847 2006-08-28  Bruno Haible  <bruno@clisp.org>
49848
49849         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
49850         macros.
49851         Reported by Eric Blake.
49852
49853 2006-08-28  Bruno Haible  <bruno@clisp.org>
49854
49855         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
49856         (VASNPRINTF): Return a string of length > INT_MAX without failing.
49857         * lib/vasprintf.c: Include errno.h, limits.h.
49858         (EOVERFLOW): New fallback definition.
49859         (vasprintf): Test here whether the string length is > INT_MAX.
49860         * lib/vsnprintf.c: Include errno.h, limits.h.
49861         (EOVERFLOW): New fallback definition.
49862         (vsnprintf): Fix bug when generated string was too long for the buffer.
49863         Test here whether the string length is > INT_MAX.
49864
49865 2006-08-28  Bruno Haible  <bruno@clisp.org>
49866
49867         * lib/inttypes_.h (SCNX*): Remove definitions.
49868         Reported by Eric Blake.
49869
49870 2006-08-28  Bruno Haible  <bruno@clisp.org>
49871
49872         * lib/c-strstr.h: New file, from GNU gettext.
49873         * lib/c-strstr.c: New file, from GNU gettext.
49874
49875 2006-08-28  Bruno Haible  <bruno@clisp.org>
49876
49877         * gnulib-tool: Reorder some statements.
49878
49879 2006-08-28  Bruno Haible  <bruno@clisp.org>
49880
49881         * gnulib-tool: New option --makefile-name.
49882         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
49883         $makefile_name.
49884         (func_import): Write $makefile_name to the cache file, and read it from
49885         there unless explicitly specified. Use $makefile_name as file name
49886         instead of Makefile.am. Adjust the recommendations accordingly.
49887
49888 2006-08-28  Bruno Haible  <bruno@clisp.org>
49889
49890         * gnulib-tool (func_verify_module): Check against misapplying patch.
49891
49892 2006-08-28  Bruno Haible  <bruno@clisp.org>
49893
49894         * gnulib-tool (func_relativize, func_relconcat): New functions.
49895         Give an error if --local-dir is given with --update.
49896         Remove trailing slashes from $local_gnulib_dir.
49897         (func_import): Store the relativized $local_gnulib_dir in
49898         gnulib-cache.m4, and read it from there if not specified explicitly.
49899
49900 2006-08-28  Bruno Haible  <bruno@clisp.org>
49901
49902         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
49903         is the current directory. Respect also $local_gnulib_dir.
49904
49905 2006-08-28  Bruno Haible  <bruno@clisp.org>
49906             Simon Josefsson  <jas@extundo.com>
49907
49908         BeOS portability.
49909         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
49910
49911 2006-08-27  Jim Meyering  <jim@meyering.net>
49912
49913         * doc/visibility.texi: Remove duplicate word: "pointer".
49914
49915 2006-08-26  Bruno Haible  <bruno@clisp.org>
49916
49917         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
49918         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
49919         (Makefile.am): Create inttypes.h from inttypes_.h.
49920         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
49921
49922         * modules/imaxabs: New file.
49923
49924         * modules/imaxdiv: New file.
49925
49926 2006-08-26  Bruno Haible  <bruno@clisp.org>
49927
49928         * m4/inttypes.m4: New file.
49929         * m4/_inttypes_h.m4: Remove file.
49930         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
49931         PRI_MACROS_BROKEN.
49932         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
49933
49934         * m4/imaxabs.m4: New file.
49935
49936         * m4/imaxdiv.m4: New file.
49937
49938 2006-08-26  Bruno Haible  <bruno@clisp.org>
49939
49940         * lib/inttypes_.h: New file.
49941         * lib/inttypes.h: Remove file.
49942         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
49943
49944         * lib/imaxabs.c: New file.
49945
49946         * lib/imaxdiv.c: New file.
49947
49948 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49949
49950         New config-h module, so that "make" output needn't be cluttered
49951         by -DHAVE_CONFIG_H.
49952         * MODULES.html.sh (Support for building libraries and executables):
49953         Add config-h.
49954         * modules/config-h: New file.
49955         * gnulib-tool (nl, sed_transform_lib_file): New vars.
49956         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
49957         the config-h module is used.
49958
49959         New configmake module, so that "make" output needn't be cluttered
49960         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
49961         * MODULES.html.sh (Support for building libraries and executables):
49962         Add configmake.
49963         * modules/configmake: New file.
49964
49965 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49966
49967         * m4/config-h.m4: New file.
49968
49969 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49970
49971         * config/srclist.txt: Add elisp-comp.
49972
49973 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49974
49975         * MODULES.html.sh (Support for building libraries and executables):
49976         Add elisp-comp.
49977         * build-aux/elisp-comp: New file.
49978         * modules/elisp-comp: New file.
49979
49980 2006-08-24  Bruno Haible  <bruno@clisp.org>
49981
49982         * gnulib-tool (func_create_testdir): Use non-default values of
49983         sourcebase and m4base.
49984
49985 2006-08-24  Bruno Haible  <bruno@clisp.org>
49986
49987         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
49988         HTML structure.
49989
49990 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49991
49992         * modules/openat (Depends-on): Add lchown.
49993
49994 2006-08-23  Bruno Haible  <bruno@clisp.org>
49995
49996         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
49997         of gl_LOCK_EARLY instead of gl_LOCK.
49998
49999 2006-08-23  Bruno Haible  <bruno@clisp.org>
50000
50001         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
50002         on OSF/1 to no.
50003         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
50004
50005 2006-08-23  Bruno Haible  <bruno@clisp.org>
50006
50007         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
50008         as unusable.
50009
50010         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
50011         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
50012         (gl_LOCK): New macro.
50013
50014 2006-08-22  Simon Josefsson  <jas@extundo.com>
50015
50016         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
50017         to md5 module.
50018
50019 2006-08-22  Simon Josefsson  <jas@extundo.com>
50020
50021         * MODULES.html.sh: Add "Support for maintaining and release
50022         projects".
50023
50024         * build-aux/gnupload: New file, from coreutils.
50025
50026 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50027
50028         Avoid the need for AC_LIBSOURCES in m4 macros.
50029         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
50030         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
50031         * modules/check-version (EXTRA_DIST): Add check-version.h.
50032         * modules/crc (EXTRA_DIST): Add crc.h.
50033         * modules/des (EXTRA_DIST): Add des.h.
50034         * modules/gc (EXTRA_DIST): Add gc.h.
50035         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
50036         * modules/getline (EXTRA_DIST): Add getline.h.
50037         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
50038         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
50039         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
50040         * modules/md2 (EXTRA_DIST): Add md2.h.
50041         * modules/md4 (EXTRA_DIST): Add md4.h.
50042         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
50043         * modules/read-file (EXTRA_DIST): Add read-file.h.
50044         * modules/readline (EXTRA_DIST): Add readline.h.
50045         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
50046         rijndael-api-fst.h.
50047
50048 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50049
50050         * m4/rijndael.m4 (gl_ARCFOUR):
50051         * m4/arctwo.m4 (gl_ARCTWO):
50052         * m4/check-version.m4 (gl_CHECK_VERSION):
50053         * m4/crc.m4 (gl_CRC):
50054         * m4/des.m4 (gl_DES):
50055         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
50056         * m4/gc.m4 (gl_GC):
50057         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
50058         * m4/getline.m4 (gl_FUNC_GETLINE):
50059         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
50060         * m4/hmac-md5.m4 (gl_HMAC_MD5):
50061         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
50062         * m4/md2.m4 (gl_MD2):
50063         * m4/md4.m4 (gl_MD4):
50064         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
50065         * m4/read-file.m4 (gl_FUNC_READ_FILE):
50066         * m4/readline.m4 (gl_FUNC_READLINE):
50067         * m4/rijndael.m4 (gl_RIJNDAEL):
50068         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
50069         to get the necessary .h files and whatnot.
50070
50071 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50072
50073         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
50074         gnulib rather than the other way around.
50075         * config/srclistvars.sh (COREUTILS): Remove.
50076
50077 2006-08-22  Jim Meyering  <jim@meyering.net>
50078
50079         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
50080
50081         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
50082
50083 2006-08-22  Eric Blake  <ebb9@byu.net>
50084
50085         * modules/regexprops-generic: New file.
50086         * MODULES.html.sh (Support for building documentation): List it.
50087
50088 2006-08-22  Eric Blake  <ebb9@byu.net>
50089
50090         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
50091         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50092         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
50093         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
50094
50095 2006-08-22  Bruno Haible  <bruno@clisp.org>
50096
50097         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
50098         and lib_LTLIBRARIES like the other lib_* variables.
50099
50100 2006-08-22  Bruno Haible  <bruno@clisp.org>
50101
50102         * build-aux/x-to-1.in: New file, from GNU gettext.
50103
50104 2006-08-22  Bruno Haible  <bruno@clisp.org>
50105
50106         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
50107         <utmpx.h> exists.
50108
50109 2006-08-22  Bruno Haible  <bruno@clisp.org>
50110
50111         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
50112         <utmpx.h> exists.
50113
50114 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50115
50116         BeOS portability.
50117         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
50118         exist.
50119         Problem reported by Bruno Haible.
50120
50121 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50122
50123         Avoid the need for AC_LIBSOURCES in m4 macros.
50124         * modules/acl (EXTRA_DIST): Add acl.h.
50125         * modules/argmatch (Files): Add m4/argmatch.m4.
50126         (configure.ac): Add gl_ARGMATCH.
50127         (EXTRA_DIST): Renamed from lib_SOURCES, for
50128         consistency with the other modules.  Remove argmatch.c.
50129         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
50130         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
50131         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
50132         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
50133         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
50134         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
50135         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
50136         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
50137         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
50138         * modules/closeout (EXTRA_DIST): Add closeout.h.
50139         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
50140         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
50141         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
50142         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
50143         dirname.h; remove basename.c and stripslash.c.
50144         * modules/exclude (EXTRA_DIST): Add exclude.h.
50145         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
50146         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
50147         * modules/file-type (EXTRA_DIST): Add file-type.h.
50148         * modules/filemode (EXTRA_DIST): Add filemode.h.
50149         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
50150         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
50151         * modules/fpending (EXTRA_DIST): Add __fpending.h.
50152         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
50153         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
50154         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
50155         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
50156         * modules/getdate (EXTRA_DIST): Add getdate.c.
50157         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
50158         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
50159         * modules/getpass (EXTRA_DIST): Add getpass.h.
50160         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
50161         * modules/group-member (EXTRA_DIST): Add group-member.h.
50162         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
50163         * modules/hash (EXTRA_DIST): Add hash.h.
50164         * modules/human (EXTRA_DIST): Add human.h.
50165         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
50166         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
50167         * modules/lchown (EXTRA_DIST): Add lchown.h.
50168         * modules/long-options (EXTRA_DIST): Add long-options.h.
50169         * modules/lstat (EXTRA_DIST): Add lstat.h.
50170         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
50171         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
50172         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
50173         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
50174         * modules/memxor (EXTRA_DIST): Add memxor.h.
50175         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
50176         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
50177         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
50178         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
50179         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
50180         * modules/physmem (EXTRA_DIST): Add physmem.h.
50181         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
50182         * modules/posixver (EXTRA_DIST): Add posixver.h.
50183         * modules/quote (EXTRA_DIST): Add quote.h.
50184         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
50185         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
50186         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
50187         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
50188         regex_internal.h regexec.c.
50189         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
50190         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
50191         * modules/same (EXTRA_DIST): Add same.h.
50192         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
50193         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
50194         * modules/savedir (EXTRA_DIST): Add savedir.h.
50195         * modules/sha1 (EXTRA_DIST): Add sha1.h.
50196         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
50197         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
50198         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
50199         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
50200         * modules/strdup (EXTRA_DIST): Add strdup.h.
50201         * modules/strftime (EXTRA_DIST): Add strftime.h.
50202         * modules/strndup (EXTRA_DIST): Add strndup.h.
50203         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
50204         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
50205         * modules/time_r (EXTRA_DIST): Add time_r.h.
50206         * modules/timespec (EXTRA_DIST): Add timespec.h.
50207         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
50208         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
50209         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
50210         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
50211         * modules/userspec (EXTRA_DIST): Add userspec.h.
50212         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
50213         * modules/utimens (EXTRA_DIST): Add utimens.h.
50214         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
50215         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
50216         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
50217         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
50218         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
50219         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
50220         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
50221         * modules/yesno (EXTRA_DIST): Add yesno.h.
50222
50223 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50224
50225         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
50226
50227         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
50228         * m4/dev-ino.m4, same-inode.m4: Remove.
50229
50230         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
50231         * m4/acl.m4 (AC_FUNC_ACL):
50232         * m4/backupfile.m4 (gl_BACKUPFILE):
50233         * m4/c-strtod.m4 (gl_C99_STRTOLD):
50234         * m4/canon-host.m4 (gl_CANON_HOST):
50235         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
50236         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
50237         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
50238         * m4/cloexec.m4 (gl_CLOEXEC):
50239         * m4/close-stream.m4 (gl_CLOSE_STREAM):
50240         * m4/closeout.m4 (gl_CLOSEOUT):
50241         * m4/dirfd.m4 (gl_FUNC_DIRFD):
50242         * m4/dirname.m4 (gl_DIRNAME):
50243         * m4/exclude.m4 (gl_EXCLUDE):
50244         * m4/exitfail.m4 (gl_EXITFAIL):
50245         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
50246         * m4/file-type.m4 (gl_FILE_TYPE):
50247         * m4/filemode.m4 (gl_FILEMODE):
50248         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
50249         * m4/fpending.m4 (gl_FUNC_FPENDING):
50250         * m4/fprintftime.m4 (gl_FPRINTFTIME):
50251         * m4/fts.m4 (gl_FUNC_FTS):
50252         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
50253         * m4/getdate.m4 (gl_GETDATE):
50254         * m4/gethrxtime.m4 (gl_GETHRXTIME):
50255         * m4/getpagesize.m4 (gl_GETPAGESIZE):
50256         * m4/getpass.m4 (gl_FUNC_GETPASS):
50257         * m4/gettime.m4 (gl_GETTIME):
50258         * m4/getugroups.m4 (gl_GETUGROUPS):
50259         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
50260         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
50261         * m4/hard-locale.m4 (gl_HARD_LOCALE):
50262         * m4/hash.m4 (gl_HASH):
50263         * m4/idcache.m4 (gl_IDCACHE):
50264         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
50265         * m4/lchown.m4 (gl_FUNC_LCHOWN):
50266         * m4/long-options.m4 (gl_LONG_OPTIONS):
50267         * m4/lstat.m4 (gl_FUNC_LSTAT):
50268         * m4/md5.m4 (gl_MD5):
50269         * m4/memcasecmp.m4 (gl_MEMCASECMP):
50270         * m4/memcoll.m4 (gl_MEMCOLL):
50271         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
50272         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
50273         * m4/memxor.m4 (gl_MEMXOR):
50274         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
50275         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
50276         * m4/modechange.m4 (gl_MODECHANGE):
50277         * m4/mountlist.m4 (gl_MOUNTLIST):
50278         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50279         * m4/openat.m4 (gl_FUNC_OPENAT):
50280         * m4/pathmax.m4 (gl_PATHMAX):
50281         * m4/physmem.m4 (gl_PHYSMEM):
50282         * m4/posixtm.m4 (gl_POSIXTM):
50283         * m4/posixver.m4 (gl_POSIXVER):
50284         * m4/quote.m4 (gl_QUOTE):
50285         * m4/quotearg.m4 (gl_QUOTEARG):
50286         * m4/readtokens.m4 (gl_READTOKENS):
50287         * m4/readutmp.m4 (gl_READUTMP):
50288         * m4/regex.m4 (gl_REGEX):
50289         * m4/safe-read.m4 (gl_SAFE_READ):
50290         * m4/safe-write.m4 (gl_SAFE_WRITE):
50291         * m4/same.m4 (gl_SAME):
50292         * m4/save-cwd.m4 (gl_SAVE_CWD):
50293         * m4/savedir.m4 (gl_SAVEDIR):
50294         * m4/settime.m4 (gl_SETTIME):
50295         * m4/sha1.m4 (gl_SHA1):
50296         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
50297         * m4/stat-macros.m4 (gl_STAT_MACROS):
50298         * m4/stat-time.m4 (gl_STAT_TIME):
50299         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
50300         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
50301         * m4/strdup.m4 (gl_FUNC_STRDUP):
50302         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
50303         * m4/strndup.m4 (gl_FUNC_STRNDUP):
50304         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
50305         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
50306         * m4/time_r.m4 (gl_TIME_R):
50307         * m4/timespec.m4 (gl_TIMESPEC):
50308         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
50309         * m4/unlinkdir.m4 (gl_UNLINKDIR):
50310         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
50311         * m4/userspec.m4 (gl_USERSPEC):
50312         * m4/utimecmp.m4 (gl_UTIMECMP):
50313         * m4/utimens.m4 (gl_UTIMENS):
50314         * m4/xalloc.m4 (gl_XALLOC):
50315         * m4/xgetcwd.m4 (gl_XGETCWD):
50316         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
50317         * m4/xreadlink.m4 (gl_XREADLINK):
50318         * m4/xstrtod.m4 (gl_XSTRTOD):
50319         * m4/yesno.m4 (gl_YESNO):
50320         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
50321         to get the necessary .h files and whatnot.
50322
50323 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
50324             Bruno Haible  <bruno@clisp.org>
50325
50326         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
50327         /bin/sh understanding of '!' conditional negation.
50328
50329 2006-08-21  Jim Meyering  <jim@meyering.net>
50330
50331         * modules/openat (Depends-on): Really alphabetize.
50332
50333         * modules/acl (Depends-on): Add error and quote.
50334
50335         * check-module (find_included_lib_files): Add at-func.c to the
50336         ok-to-include-more-than-once white list.
50337
50338         * modules/openat (Depends-on): Add lstat.  Alphabetize.
50339
50340 2006-08-21  Bruno Haible  <bruno@clisp.org>
50341
50342         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50343         Emit a pkgdata_DATA variable only if some snippets add contents to it.
50344         Reported by Martin Lambers <marlam@marlam.de>.
50345
50346 2006-08-21  Bruno Haible  <bruno@clisp.org>
50347
50348         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
50349         specify an installation location, don't emit a noinst_LIBRARIES or
50350         noinst_LTLIBRARIES assignment.
50351
50352 2006-08-21  Bruno Haible  <bruno@clisp.org>
50353
50354         BeOS portability.
50355         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
50356         BeOS has mbrtowc() but no <wctype.h>.
50357
50358 2006-08-21  Bruno Haible  <bruno@clisp.org>
50359
50360         BeOS portability.
50361         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
50362         exist.
50363
50364 2006-08-21  Bruno Haible  <bruno@clisp.org>
50365
50366         BeOS portability.
50367         * lib/mbchar.h: Include <wctype.h> only if it exists.
50368
50369 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50370
50371         Remove files that are no longer needed by their respective modules.
50372         * m4/obstack.m4: Remove.
50373         * m4/strerror_r.m4: Remove.
50374         * m4/uint32_t.m4: Remove.
50375         * m4/uintptr_t.m4: Remove.
50376         * m4/ullong_max.m4: Remove.
50377         * m4/xstrtoimax.m4: Remove.
50378         * m4/xstrtoumax.m4: Remove.
50379
50380         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
50381         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
50382         dependencies now capture this.
50383
50384         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
50385         Do not use AC_LIBSOURCES, since gnulib modules now do this.
50386         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
50387         * m4/human.m4 (gl_HUMAN): Likewise.
50388         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
50389         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
50390
50391         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
50392
50393         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
50394         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
50395         stdint.
50396         * m4/human.m4 (gl_HUMAN): Likewise.
50397         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
50398         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
50399         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
50400         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
50401         * m4/xstrtol (gl_XSTRTOL): Likewise.
50402
50403         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
50404         AC_TYPE_LONG_LONG_INT.
50405         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
50406         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
50407         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
50408         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
50409
50410         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
50411         on stdbool.
50412
50413         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
50414         (gl_PREREQ_XSTRTOUL): Remove.
50415
50416         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
50417
50418         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
50419         mode.
50420
50421 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50422
50423         Add and change modules to make it easier for coreutils to use
50424         gnulib-tool.
50425         * modules/backupfile (Files): Remove m4/d-ino.m4.
50426         (Depends-on): Add d-ino.
50427         * modules/cycle-check (Depends-on): Add stdint.
50428         (lib_SOURCES): Add cycle-check.h.
50429         * modules/d-ino: New module.
50430         * modules/d-type: New module.
50431         * modules/error (Files): Remove m4/strerror_r.m4.
50432         * modules/filemode (Files): Add m4/st_dm_mode.m4.
50433         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
50434         m4/inttypes_h.m4, m4/uintmax_t.m4.
50435         (Depends-on): Add stdint.
50436         (lib_SOURCES): Add fsusage.h.
50437         * modules/getcwd (Files): Remove d-ino.m4.
50438         (Depends-on): Add d-ino.
50439         * modules/getndelim2 (Depends-on): Add stdint.
50440         * modules/glob (Files): Remove m4/d-type.m4.
50441         (Depends-on): Add d-type.
50442         * modules/host-os: New module.
50443         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
50444         m4/inttypes_h.m4, m4/uintmax_t.m4.
50445         * Depends-on: Add stdint.
50446         (lib_SOURCES): Add human.h.
50447         * modules/inttostr (Files): Remove m4/intmax_t.m4,
50448         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
50449         m4/uintmax_t.m4, m4/ulonglong.m4.
50450         (Depends-on): Add stdint.
50451         (EXTRA_DIST): Add inttostr.h.
50452         * modules/lchmod: New module.
50453         * modules/link-follow: New module.
50454         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
50455         (Depends-on): Add lchmod.
50456         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
50457         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
50458         (Depends-on): Add stdint.
50459         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
50460         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
50461         (Depends-on): Add stdint.
50462         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
50463         * modules/perl: New module.
50464         * modules/regex (Depends-on): Add stdint.
50465         * modules/rmdir-errno: New module.
50466         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
50467         m4/intmax_t.m4.
50468         (Depends-on): Add stdint.
50469         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
50470         m4/uintmax_t.m4.
50471         (Depends-on): Add stdint.
50472         * modules/unlink-busy: New module.
50473         * modules/utimecmp (Depends-on): Add stdint.
50474         * modules/uptime: New module.
50475         * modules/winsz-ioctl: New module.
50476         * modules/winsz-termios: New module.
50477         * modules/xnanosleep (Depends-on): Add nanosleep.
50478         * modules/ullong_max: Remove.
50479         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
50480         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
50481         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
50482         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
50483         (Depends-on): Add inttypes.
50484         (lib_SOURCES): Add xstrtol.h.
50485         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
50486         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
50487         * MODULES.html.sh: Move 'assert' into the assert section.
50488         Move 'dummy' into the linking section.
50489         Remove ullong_max.
50490         Add section for compatibility checks for POSIX:2001 functions,
50491         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
50492         winsz-ioctl, and winsz-termios into it.
50493         Add lchmod.
50494         Add top-level Misc section and put host-os, perl, and uptime
50495         into it.
50496
50497 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50498
50499         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
50500         now assume the stdint module.  Do not include inttypes.h.
50501         * lib/fsusage.h: Likewise.
50502         * lib/getndelim2.c: Likewise.
50503         * lib/human.h: Likewise.
50504         * lib/inttostr.h: Likewise.
50505         * lib/obstack.c: Likewise.
50506         * lib/regex_internal.h: Likewise.
50507         * lib/tempname.c: Likewise.
50508         * lib/utimecmp.c: Likewise.
50509         * lib/xstrtol.h: Likewise.
50510
50511         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
50512
50513         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
50514         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
50515         * lib/xtime.h: Likewise.
50516
50517 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50518
50519         * modules/openat (Files): Add lib/fchmodat.c.
50520         Fixes problem reported by Jay Youngman.
50521
50522 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50523
50524         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
50525         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
50526
50527 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50528             Bruno Haible  <bruno@clisp.org>
50529
50530         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
50531         and is a script that invokes bison. Tighten the code. Add comments.
50532
50533 2006-08-18  Jim Meyering  <jim@meyering.net>
50534
50535         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
50536         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
50537         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
50538         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
50539
50540 2006-08-18  Bruno Haible  <bruno@clisp.org>
50541
50542         * modules/bison-i18n: New file.
50543         * MODULES.html.sh (Internationalization functions): Add it.
50544
50545 2006-08-18  Bruno Haible  <bruno@clisp.org>
50546
50547         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
50548         sys/statvfs.h. When getmntinfo was found, check its declaration and
50549         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
50550
50551 2006-08-18  Bruno Haible  <bruno@clisp.org>
50552
50553         * m4/bison-i18n.m4: New file, from bison.
50554
50555 2006-08-18  Bruno Haible  <bruno@clisp.org>
50556
50557         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
50558         (ME_DUMMY): Treat "kernfs" as a dummy.
50559         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
50560
50561 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
50562
50563         Update from coreutils.
50564
50565         2006-08-15  Jim Meyering  <jim@meyering.net>
50566
50567         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
50568
50569         2006-01-17  Jim Meyering  <jim@meyering.net>
50570
50571         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
50572
50573         2006-01-11  Jim Meyering  <jim@meyering.net>
50574
50575         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
50576         Check for the lchmod function.
50577
50578 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
50579
50580         Update from coreutils.
50581
50582         * lib/__fpending.h: Add copyright notice.
50583         * lib/fprintftime.h: Likewise.
50584         * lib/savedir.c: Use (C) in copyright notice.
50585         * lib/savedir.h: Likewise.
50586
50587         2006-08-15  Jim Meyering  <jim@meyering.net>
50588
50589         * lib/at-func.c: New file, with the logic of all emulated at-functions.
50590         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
50591         in support of the EXPECTED_ERRNO macro.
50592         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
50593         definitions.  Instead, define the appropriate symbols and include
50594         "at-func.c".
50595         * lib/mkdirat.c (mkdirat): Likewise.
50596         * lib/fchmodat.c (fchmodat): Likewise.
50597         (ENOSYS): Remove definition.
50598         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
50599         it.  Don't include "unistd--.h" -- it wasn't ever used.
50600
50601         2006-01-17  Jim Meyering  <jim@meyering.net>
50602
50603         Rewrite fts.c not to change the current working directory,
50604         by using openat, fstatat, fdopendir, etc..
50605
50606         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
50607         (HAVE_OPENAT_SUPPORT): Define.
50608         [_LIBC] (fchdir): Don't undef or define; no longer used.
50609         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
50610         Now, this `function' always succeeds, and consumes its file descriptor
50611         parameter -- so callers must not close such FDs.  Update callers.
50612         (diropen_fd, opendirat, cwd_advance_fd): New functions.
50613         (diropen): Add parameter, SP.  Adjust all callers.
50614         Implement using diropen_fd, rather than open.
50615         (fts_open): Initialize new member, fts_cwd_fd.
50616         Remove fts_rft-setting code.
50617         (fts_close): Close fts_cwd_fd, if necessary.
50618         (__opendir2): Define in terms of opendir or opendirat,
50619         depending on whether the FST_NOCHDIR flag is set.
50620         (fts_build): Since fts_safe_changedir consumes its FD, and since
50621         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
50622         and close the dup'd file descriptor upon failure.
50623         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
50624         (fts_safe_changedir): Tweak semantics to reflect that this function
50625         now calls cwd_advance_fd and hence consumes its FD argument.
50626         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
50627         [struct FTS] (fts_rft): Remove now-unused member.
50628         [struct FTS] (fts_cycle.state): Improve comment.
50629
50630         * lib/openat.c (openat_needs_fchdir): New function.
50631         * lib/openat.h (openat_needs_fchdir): Declare it.
50632
50633 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
50634
50635         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
50636         Problem and fix reported by Pádraig Brady in
50637         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
50638
50639 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50640
50641         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
50642
50643 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50644
50645         * lib/memcoll.c (memcoll): Optimize for the common case where the
50646         arguments are bytewise equal.
50647
50648 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50649
50650         * doc/regexprops-generic.texi: Add a copyright notice.
50651
50652 2006-08-15  Bruno Haible  <bruno@clisp.org>
50653
50654         * modules/tmpdir (License): Change to LGPL.
50655
50656 2006-08-15  Bruno Haible  <bruno@clisp.org>
50657
50658         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
50659         module.
50660
50661 2006-08-14  Simon Josefsson  <jas@extundo.com>
50662
50663         * config/srclist.txt: Add gnupload.
50664
50665 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50666
50667         Change copyright notice from LGPL 2 to GPL 2, since that's the
50668         standard form used in the gnulib repository.
50669         * tests/test-lock.c: Likewise.
50670         * tests/test-stdint.c: Likewise.
50671         * tests/test-tls.c: Likewise.
50672
50673         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
50674         prelude-manager.  User shorter URLs for GNU projects, without '?'.
50675         Add copyright notice.
50676
50677         * check-module: Add copyright notice.  Output a copyright
50678         notice if "--version" is specified.
50679         * modules/COPYING: New file.
50680         * tests/test-getaddrinfo.c: Add copyright notice.
50681         * tests/test-verify.c: Likewise.
50682
50683 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50684
50685         Change copyright notice from LGPL 2 to GPL 2, since that's the
50686         standard form used in the gnulib repository.
50687         * lib/lock.c: LGPL -> GPL.
50688         * lib/lock.h: Likewise.
50689         * lib/strnlen1.c: Likewise.
50690         * lib/strnlen1.h: Likewise.
50691         * lib/tls.c: Likewise.
50692         * lib/tls.h: Likewise.
50693         * lib/tmpdir.c: Likewise.
50694
50695         * lib/TODO: Remove; this belongs only in coreutils.
50696
50697 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50698
50699         Add copyright notices to long-enough files that lack them, since
50700         otherwise the files aren't clearly free.  Use the same notice that
50701         getdate.texi already uses.
50702         * doc/alloca-opt.texi: Add copyright notice.
50703         * doc/alloca.texi: Likewise.
50704         * doc/ctime.texi: Likewise.
50705         * doc/functions.texi: Likewise.
50706         * doc/gcd.texi: Likewise.
50707         * doc/gnulib-tool.texi: Likewise.
50708         * doc/inet_ntoa.texi: Likewise.
50709         * doc/visibility.texi: Likewise.
50710
50711         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
50712         * doc/quote.texi: Add copyright notice.
50713
50714         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
50715         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
50716         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
50717         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
50718         is now obsolete, and give a pointer to the Sun list.
50719         Add copyright notice.
50720
50721 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50722
50723         * config/srclistvars.sh: Add copyright notice.
50724
50725 2006-08-14  Eric Blake  <ebb9@byu.net>
50726
50727         Import the following change from libc:
50728
50729         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
50730
50731         Upstream bug 2997.
50732         * lib/misc/error.c: Add space between program name and message if file
50733         name is missing.
50734
50735 2006-08-12  Karl Berry  <karl@gnu.org>
50736
50737         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
50738         remove, these originate in gnulib now.
50739
50740 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50741
50742         * doc/Makefile (standards.info standards.html standards.dvi):
50743         Also depend on make-stds.texi.
50744
50745 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50746
50747         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
50748         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
50749
50750         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
50751         in wchar_t.  Problem reported by Eric Blake.
50752
50753         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
50754         LEN is smaller than SIZE.  Suggested by Bruno Haible.
50755         Also, help the compiler to keep LEN in a register.
50756
50757 2006-08-11  Eric Blake  <ebb9@byu.net>
50758
50759         * users.txt: Sort.  Add tar.
50760
50761 2006-08-11  Bruno Haible  <bruno@clisp.org>
50762
50763         * users.txt: New file.
50764
50765 2006-08-11  Bruno Haible  <bruno@clisp.org>
50766
50767         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
50768         before <wchar.h>. Needed for OSF/1 and BSD/OS.
50769
50770 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50771
50772         * modules/snprintf (Depends-on): Remove minmax.
50773         (Maintainer): Add self and Bruno.
50774
50775 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50776
50777         * lib/.cppi-disable: Add snprintf.h, socket_.h.
50778         * lib/snprintf.c: Include <errno.h> and <limits.h>.
50779         (EOVERFLOW): Define if the system does not.
50780         Do not include "minmax.h"; it wasn't used.
50781         (snprintf): Don't assume size_t promotes to an unsigned type.
50782         Fix bug when generated string was too long for the buffer: the
50783         buffer's contents are supposed to be the initial prefix of the
50784         output.  Don't assume vasnprintf returns EOVERFLOW if the size
50785         exceeds INT_MAX; do the check ourselves.
50786
50787         Import the following changes from libc:
50788
50789         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
50790
50791         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
50792         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
50793         set wc to the byte which couldn't be converted.
50794         (re_string_reconstruct): Don't clear valid_raw_len before calling
50795         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
50796         tip_context using re_string_context_at.
50797
50798         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
50799
50800         * lib/posix/regex.h: g++ still cannot handled [restrict].
50801
50802         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
50803
50804         * lib/posix/regex.h: Remove special handling for VMS.
50805
50806 2006-08-10  Jim Meyering  <jim@meyering.net>
50807
50808         * modules/same-inode: New module.
50809         * modules/dev-ino: New module.
50810         * modules/cycle-check: Depend on these modules, rather than simply
50811         including their .h files.
50812         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
50813         required via m4/cycle-check.m4.
50814         * modules/same: Depend on new same-inode module, rather than
50815         including same-inode.h.
50816         * modules/chdir-safer: New file.
50817
50818         * modules/chown (Depends-on): Add stat-macros.
50819
50820 2006-08-10  Jim Meyering  <jim@meyering.net>
50821
50822         * m4/cycle-check.m4: New file.
50823         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
50824         * m4/dev-ino.m4, m4/same-inode.m4: New files.
50825
50826 2006-08-10  Eric Blake  <ebb9@byu.net>
50827
50828         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
50829         in from original proposal.
50830
50831 2006-08-10  Eric Blake  <ebb9@byu.net>
50832         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
50833
50834         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
50835         namespace.
50836
50837 2006-08-10  Bruno Haible  <bruno@clisp.org>
50838
50839         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
50840         as well.
50841
50842 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50843
50844         Sync from coreutils.
50845
50846         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
50847
50848         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
50849         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
50850
50851 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50852
50853         * modules/restrict: Remove; no longer needed now that we assume
50854         Autoconf 2.59 or later.
50855         * MODULES.html.sh: Remove 'restrict'.
50856         * modules/argp (Depends-on): Remove 'restrict'.
50857         * modules/base64 (Depends-on): Likewise.
50858         * modules/gc (Depends-on): Likewise.
50859         * modules/getaddrinfo (Depends-on): Likewise.
50860         * modules/glob (Depends-on): Likewise.
50861         * modules/inet_ntop (Depends-on): Likewise.
50862         * modules/inet_pton (Depends-on): Likewise.
50863         * modules/memxor (Depends-on): Likewise.
50864         * modules/regex (Depends-on): Likewise.
50865         * modules/strtok_r (Depends-on): Likewise.
50866         * modules/time_r (Depends-on): Likewise.
50867
50868 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50869
50870         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
50871         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
50872         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
50873         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
50874         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
50875         * m4/memxor.m4 (gl_MEMXOR): Likewise.
50876         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
50877         gl_C_RESTRICT replaced by AC_C_RESTRICT.
50878
50879         Merge from coreutils.
50880         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
50881         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
50882         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
50883         * m4/time_r.m4 (gl_TIME_R): Likewise.
50884
50885 2006-08-09  Karl Berry  <karl@gnu.org>
50886
50887         * config/srclist.txt: no more gettext-tools, per Bruno.
50888
50889 2006-08-08  Eric Blake  <ebb9@byu.net>
50890
50891         * modules/verror: New module.
50892         * MODULES.html.sh: Document it.
50893
50894 2006-08-08  Eric Blake  <ebb9@byu.net>
50895
50896         * lib/verror.h, lib/verror.c: New files.
50897
50898 2006-08-08  Eric Blake  <ebb9@byu.net>
50899
50900         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
50901         verror_at_line output complies with GNU Coding Standards even when
50902         file is NULL.
50903
50904 2006-08-07  Bruno Haible  <bruno@clisp.org>
50905
50906         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
50907         versions of AIX.
50908         Reported by Ralf Wildenhues.
50909
50910 2006-08-07  Bruno Haible  <bruno@clisp.org>
50911
50912         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
50913         in an AC_DEFUN. Needed so that the autoconf snippets can use
50914         AC_REQUIRE.
50915
50916 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50917
50918         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50919         Initialize pkgdata_DATA.
50920         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
50921         overriding it.
50922
50923 2006-08-06  Eric Blake  <ebb9@byu.net>
50924
50925         * lib/error.h: Fold in some upstream changes from glibc.
50926         * lib/error.c: Likewise.
50927
50928 2006-08-04  Bruno Haible  <bruno@clisp.org>
50929
50930         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50931         Make the mostlyclean-local rule depend on mostlyclean-generic.
50932         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
50933
50934 2006-07-31  Bruno Haible  <bruno@clisp.org>
50935
50936         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
50937         <stdlib.h>, <string.h>.
50938
50939 2006-07-30  Bruno Haible  <bruno@clisp.org>
50940
50941         * modules/readlink (License): Change to LGPL.
50942
50943 2006-07-30  Bruno Haible  <bruno@clisp.org>
50944
50945         * modules/javaversion (Makefile.am): Distribute javaversion.java and
50946         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
50947         set PKGDATADIR to point to it.
50948
50949 2006-07-30  Bruno Haible  <bruno@clisp.org>
50950
50951         * modules/csharpexec (configure.ac): Comment out macro invocation.
50952         * modules/javaexec (configure.ac): Likewise.
50953         * modules/javacomp-script (configure.ac): Likewise.
50954
50955         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
50956
50957 2006-07-30  Bruno Haible  <bruno@clisp.org>
50958
50959         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
50960         linked-list.
50961
50962 2006-07-30  Bruno Haible  <bruno@clisp.org>
50963
50964         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
50965
50966 2006-07-30  Bruno Haible  <bruno@clisp.org>
50967
50968         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50969         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
50970         get removed.
50971
50972 2006-07-29  Bruno Haible  <bruno@clisp.org>
50973
50974         Make it possible for gnulib-tool to work with locally modified or
50975         augmented gnulib repositories.
50976         * gnulib-tool (func_usage): Document --local-dir option.
50977         (local_gnulib_dir): New variable.
50978         Handle --local-dir option.
50979         (func_lookup_file): New function.
50980         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
50981         (func_get_description, func_get_filelist, func_get_description,
50982         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
50983         func_get_automake_snippet, func_get_include_directive,
50984         func_get_license, func_get_maintainer): Use func_lookup_file.
50985         (func_import, func_create_testdir): Use func_lookup_file.
50986
50987 2006-07-29  Bruno Haible  <bruno@clisp.org>
50988
50989         * modules/setenv (Depends-on): Add unistd.
50990
50991 2006-07-29  Bruno Haible  <bruno@clisp.org>
50992
50993         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
50994
50995 2006-07-29  Bruno Haible  <bruno@clisp.org>
50996
50997         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
50998
50999 2006-07-29  Bruno Haible  <bruno@clisp.org>
51000
51001         * gnulib-tool (import, update): If there is no Makefile.am, look at
51002         aclocal.m4, instead of bailing out.
51003
51004 2006-07-29  Bruno Haible  <bruno@clisp.org>
51005
51006         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
51007         Categorize the options by when they are useful.
51008
51009 2006-07-29  Bruno Haible  <bruno@clisp.org>
51010
51011         * gnulib-tool (func_usage): Document option --no-libtool.
51012         Handle option --no-libtool.
51013         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
51014         for changed semantics of $libtool variable.
51015         (func_import): Likewise. If libtool is not used, show this through
51016         an option --no-libtool.
51017         (func_create_testdir): Update.
51018
51019 2006-07-29  Bruno Haible  <bruno@clisp.org>
51020
51021         * gnulib-tool (func_import): Extend error message about missing
51022         --doc-base.
51023
51024 2006-07-29  Bruno Haible  <bruno@clisp.org>
51025
51026         * gnulib-tool (func_import): Don't create the $docbase directory if
51027         there is no file to store there.
51028
51029 2006-07-29  Bruno Haible  <bruno@clisp.org>
51030
51031         * gnulib-tool (autoconf_minversion): If a --dir option is given and
51032         relevant, look for configure.ac there, not in the current directory.
51033         Also use a simple search for AC_PREREQ, not "autoconf --trace".
51034
51035 2006-07-29  Bruno Haible  <bruno@clisp.org>
51036
51037         * gnulib-tool (SORT): New variable.
51038         (func_usage): Undocument --assume-autoconf option.
51039         Remove --assume-autoconf option handling.
51040         (autoconf_minversion): Determine from the contents of configure.ac.
51041         (func_import): Remove autoconf_minversion handling.
51042         Suggested by Eric Blake.
51043
51044 2006-07-29  Bruno Haible  <bruno@clisp.org>
51045
51046         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
51047
51048 2006-07-29  Bruno Haible  <bruno@clisp.org>
51049
51050         * config/srclist.txt (*setenv.[ch]): Remove rules.
51051
51052 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51053
51054         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
51055
51056 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51057
51058         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
51059         arpa/inet.h.
51060
51061 2006-07-28  Simon Josefsson  <jas@extundo.com>
51062
51063         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
51064         * modules/inet_pton (Depends-on): Likewise.
51065
51066 2006-07-28  Simon Josefsson  <jas@extundo.com>
51067
51068         * m4/netinet_in_h.m4: New file.
51069
51070 2006-07-28  Simon Josefsson  <jas@extundo.com>
51071
51072         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
51073         #include's.
51074
51075 2006-07-28  Simon Josefsson  <jas@extundo.com>
51076
51077         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
51078         #include's.
51079
51080 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
51081
51082         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
51083         setgid on directories only if they set these bits.
51084         * lib/modechange.h: Remove obsolete comment about masks.
51085
51086 2006-07-28  Eric Blake  <ebb9@byu.net>
51087
51088         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
51089         macro expansion.
51090
51091 2006-07-28  Bruno Haible  <bruno@clisp.org>
51092
51093         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
51094
51095 2006-07-28  Bruno Haible  <bruno@clisp.org>
51096
51097         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
51098
51099 2006-07-28  Bruno Haible  <bruno@clisp.org>
51100
51101         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
51102         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
51103         Define fallbacks.
51104         Avoids link error on FreeBSD 4.x.
51105         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51106
51107         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
51108         encoding.
51109         * lib/mbswidth.c (iswcntrl): Likewise.
51110
51111 2006-07-27  Bruno Haible  <bruno@clisp.org>
51112
51113         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
51114         test.
51115
51116 2006-07-27  Bruno Haible  <bruno@clisp.org>
51117
51118         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
51119         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
51120         defined.
51121
51122 2006-07-26  Eric Blake  <ebb9@byu.net>
51123
51124         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
51125
51126 2006-07-26  Eric Blake  <ebb9@byu.net>
51127
51128         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
51129         like mingw that lack mkstemp.
51130         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
51131         avoid compilation warning on mingw.
51132
51133 2006-07-26  Bruno Haible  <bruno@clisp.org>
51134
51135         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
51136         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
51137         INT_FAST*_MIN, INTPTR_MIN.
51138
51139 2006-07-25  Bruno Haible  <bruno@clisp.org>
51140
51141         * modules/version-etc (Depends-on): Add stdarg.
51142
51143 2006-07-25  Bruno Haible  <bruno@clisp.org>
51144
51145         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
51146         complex commands.
51147
51148 2006-07-25  Bruno Haible  <bruno@clisp.org>
51149
51150         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
51151         defined in <stdarg.h> or config.h.
51152
51153 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51154
51155         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
51156         (gl_STDIO_SAFER): Remove.
51157
51158 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51159
51160         * MODULES.html.sh (File stream based Input/Output):
51161         Add fopen-safer, tmpfile-safer; remove stdio-safer.
51162         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
51163         * modules/fopen-safer, modules/tmpfile-safer: New files.
51164         * modules/stdio-safer: Remove.
51165
51166 2006-07-24  Bruno Haible  <bruno@clisp.org>
51167
51168         * modules/tmpdir: New file.
51169         * MODULES.html.sh (File system functions): Add it.
51170
51171 2006-07-24  Bruno Haible  <bruno@clisp.org>
51172
51173         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
51174         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
51175
51176 2006-07-24  Bruno Haible  <bruno@clisp.org>
51177
51178         * modules/clean-temp: New file.
51179
51180 2006-07-24  Bruno Haible  <bruno@clisp.org>
51181
51182         * m4/tmpdir.m4: New file, from GNU gettext.
51183
51184 2006-07-24  Bruno Haible  <bruno@clisp.org>
51185
51186         * lib/tmpdir.h: New file, from GNU gettext.
51187         * lib/tmpdir.c: New file, from GNU gettext.
51188
51189 2006-07-24  Bruno Haible  <bruno@clisp.org>
51190
51191         * lib/clean-temp.h: New file, from GNU gettext.
51192         * lib/clean-temp.c: New file, from GNU gettext.
51193
51194 2006-07-23  Eric Blake  <ebb9@byu.net>
51195
51196         * modules/stdio-safer (Files): Add tmpfile-safer.c.
51197         (Depends-on): Add binary-io.
51198
51199 2006-07-23  Eric Blake  <ebb9@byu.net>
51200
51201         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
51202
51203 2006-07-23  Eric Blake  <ebb9@byu.net>
51204
51205         * lib/tmpfile-safer.c: New file.
51206         * lib/stdio-safer.h (fopen_safer): Add prototype.
51207         * lib/stdio--.h (tmpfile): Make safer.
51208
51209 2006-07-23  Bruno Haible  <bruno@clisp.org>
51210
51211         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
51212         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
51213         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
51214         gl_linked_remove_at): Use it.
51215
51216 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51217         and Simon Josefsson <jas@extundo.com>
51218
51219         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
51220
51221         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
51222
51223 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51224
51225         * modules/close-stream: New file.
51226         * modules/closeout (Description): Make it clear that it exits
51227         with a diagnostic on error.
51228         (Depends-on): Add close-stream.  Remove fpending, stdbool.
51229         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
51230
51231 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51232
51233         * m4/close-stream.m4: New file.
51234
51235 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51236
51237         * lib/close-stream.c, lib/close-stream.h: New files.
51238
51239 2006-07-22  Bruno Haible  <bruno@clisp.org>
51240
51241         Merge from GNU gettext 0.15.
51242
51243         2006-05-01  Bruno Haible  <bruno@clisp.org>
51244
51245                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
51246
51247         2006-07-22  Bruno Haible  <bruno@clisp.org>
51248
51249                 * modules/javaversion: New file.
51250                 * MODULES.html.sh (Java): Add javaversion.
51251
51252         2006-03-12  Bruno Haible  <bruno@clisp.org>
51253
51254                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
51255
51256         2005-12-04  Bruno Haible  <bruno@clisp.org>
51257
51258                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
51259                 (untested).
51260
51261         2006-06-21  Bruno Haible  <bruno@clisp.org>
51262
51263                 Avoid warnings from recent versions of mcs.
51264                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
51265                 -o, -L, -r any more. Use options documented since mcs-1.0
51266                 instead. Similarly for -g.
51267
51268         2005-12-04  Bruno Haible  <bruno@clisp.org>
51269
51270                 * build-aux/csharpcomp.sh.in: Suffix for resources is
51271                 .resources, not .resource.
51272
51273         2005-07-09  Bruno Haible  <bruno@clisp.org>
51274
51275                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
51276                 add a .dll suffix.
51277                 Reported by Mark Junker <mjscod@gmx.de>.
51278
51279         2006-07-22  Bruno Haible  <bruno@clisp.org>
51280
51281                 * modules/gettext: Upgrade to gettext-0.15.
51282                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
51283                 m4/visibility.m4.
51284                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
51285
51286 2006-07-22  Bruno Haible  <bruno@clisp.org>
51287
51288         Merge from GNU gettext 0.15.
51289
51290         2006-03-25  Bruno Haible  <bruno@clisp.org>
51291
51292                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
51293
51294         2006-07-21  Bruno Haible  <bruno@clisp.org>
51295
51296                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
51297                 "1.1".
51298
51299         2006-05-09  Bruno Haible  <bruno@clisp.org>
51300
51301                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
51302                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
51303                 for the conftestver execution.
51304
51305         2006-05-01  Bruno Haible  <bruno@clisp.org>
51306
51307                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
51308                 optional target-version argument. Verify that the compiler
51309                 groks source of the specified source-version, or add -source
51310                 option as necessary. Verify that the compiler produces
51311                 bytecode in the specified target-version, or add -target and
51312                 -source options as necessary. Make the result of the test
51313                 available as variable CONF_JAVAC. Also log error output in
51314                 config.log.
51315
51316         2006-03-11  Bruno Haible  <bruno@clisp.org>
51317
51318                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
51319
51320         2006-05-09  Bruno Haible  <bruno@clisp.org>
51321
51322                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
51323                 CLASSPATH_SEPARATOR to a semicolon.
51324
51325         2006-03-12  Bruno Haible  <bruno@clisp.org>
51326
51327                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
51328                 available as variable CONF_JAVA, for subsequent autoconf
51329                 tests. Also log error output in config.log.
51330
51331         2006-07-19  Bruno Haible  <bruno@clisp.org>
51332
51333                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
51334                 that getline works on glibc2 systems. Needed to avoid trouble
51335                 in relocatable.c.
51336                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
51337
51338         2005-12-04  Bruno Haible  <bruno@clisp.org>
51339
51340                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
51341                 launcher (untested).
51342
51343         2005-12-04  Bruno Haible  <bruno@clisp.org>
51344
51345                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
51346
51347         2006-07-22  Bruno Haible  <bruno@clisp.org>
51348
51349                 * gettext.m4: Update from GNU gettext-0.15.
51350                 * nls.m4: Likewise.
51351                 * po.m4: Likewise.
51352                 * inttypes-pri.m4: Likewise.
51353                 * inttypes-h.m4: Renamed from inttypes.m4.
51354                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
51355
51356 2006-07-22  Bruno Haible  <bruno@clisp.org>
51357
51358         Merge from GNU gettext 0.15.
51359
51360         2005-07-05  Bruno Haible  <bruno@clisp.org>
51361
51362                 * printf-args.c (printf_fetchargs): Work around broken
51363                 definition of wint_t on mingw.
51364
51365         2005-02-12  Bruno Haible  <bruno@clisp.org>
51366
51367                 * xallocsa.h: Add extern "C" for C++.
51368
51369         2006-05-17  Bruno Haible  <bruno@clisp.org>
51370
51371                 Cygwin portability.
51372                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
51373
51374         2006-04-30  Bruno Haible  <bruno@clisp.org>
51375
51376                 * progreloc.c: Include <mach-o/dyld.h> if available.
51377                 (find_executable): Use _NSGetExecutablePath when possible.
51378
51379         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
51380
51381                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
51382                 function.
51383
51384         2005-12-29  Bruno Haible  <bruno@clisp.org>
51385
51386                 * progreloc.c (set_program_name_and_installdir): Fix
51387                 compilation error.
51388
51389         2005-12-04  Bruno Haible  <bruno@clisp.org>
51390
51391                 Cygwin portability.
51392                 * progreloc.c: Include <windows.h> also on Cygwin.
51393                 (find_executable): Add support for Cygwin.
51394                 (set_program_name_and_installdir): Handle also platforms with
51395                 nonempty EXEEXT.
51396
51397         2006-07-11  Bruno Haible  <bruno@clisp.org>
51398
51399                 * javacomp.c: Fix a comment.
51400                 Reported by Jim Meyering.
51401
51402         2006-04-30  Bruno Haible  <bruno@clisp.org>
51403
51404                 * javacomp.h (compile_java_class): Add source_version,
51405                 target_version arguments.
51406                 * javacomp.c: Rewritten to choose only a compiler that
51407                 respects the specified source_version and target_version.
51408
51409         2006-06-27  Bruno Haible  <bruno@clisp.org>
51410
51411                 Assume correct S_ISDIR macro.
51412                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
51413
51414         2006-07-22  Bruno Haible  <bruno@clisp.org>
51415
51416                 * javaversion.h: New file, from GNU gettext.
51417                 * javaversion.c: New file, from GNU gettext.
51418                 * javaversion.java: New file, from GNU gettext.
51419                 * javaversion.class: New file, from GNU gettext.
51420
51421         2006-05-17  Bruno Haible  <bruno@clisp.org>
51422
51423                 Cygwin portability.
51424                 * javaexec.c (execute_java_class): Test for jview program
51425                 also on Cygwin.
51426
51427         2006-04-09  Bruno Haible  <bruno@clisp.org>
51428
51429                 * fatal-signal.c: Don't include string.h.
51430                 (at_fatal_signal): Use a copying loop instead of memcpy.
51431
51432         2005-12-04  Bruno Haible  <bruno@clisp.org>
51433
51434                 * csharpexec.c: Add support for 'clix' launcher (untested).
51435                 (execute_csharp_using_sscli): New function.
51436                 (execute_csharp_program): Call it.
51437
51438         2006-06-21  Bruno Haible  <bruno@clisp.org>
51439
51440                 Avoid warnings from recent versions of mcs.
51441                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
51442                 -o, -L, -r any more. Use options documented since mcs-1.0
51443                 instead. Similarly for -g.
51444
51445         2005-07-09  Bruno Haible  <bruno@clisp.org>
51446
51447                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
51448                 add a .dll suffix.
51449                 Reported by Mark Junker <mjscod@gmx.de>.
51450
51451         2006-06-17  Bruno Haible  <bruno@clisp.org>
51452
51453                 * config.charset: Update for NetBSD 3.0.
51454
51455         2006-05-17  Bruno Haible  <bruno@clisp.org>
51456
51457                 Cygwin portability.
51458                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
51459
51460         2006-05-16  Bruno Haible  <bruno@clisp.org>
51461
51462                 * localcharset.c [CYGWIN]: Include <windows.h>.
51463                 (get_charset_aliases): For Cygwin, return the same CPxxx
51464                 aliases list as under WIN32.
51465                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
51466                 the environment variables. Fall back to GetACP().
51467
51468         2006-04-05  Bruno Haible  <bruno@clisp.org>
51469
51470                 * config.charset: Update Juan Manuel Guerrero's address.
51471
51472         2005-02-12  Bruno Haible  <bruno@clisp.org>
51473
51474                 * allocsa.h: Add extern "C" for C++.
51475
51476         2005-02-10  Bruno Haible  <bruno@clisp.org>
51477
51478                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
51479                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
51480
51481         2006-07-22  Bruno Haible  <bruno@clisp.org>
51482
51483                 * gettext.h: Update to GNU gettext-0.15.
51484
51485 2006-07-22  Bruno Haible  <bruno@clisp.org>
51486
51487         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
51488         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
51489         lib-prefix.m4, longdouble.m4, ssize_t.m4.
51490
51491 2006-07-21  Eric Blake  <ebb9@byu.net>
51492
51493         * modules/stdlib-safer: New file.
51494         * MODULES.html.sh (File stream based Input/Output): Add
51495         stdlib-safer.
51496
51497 2006-07-21  Eric Blake  <ebb9@byu.net>
51498
51499         * lib/stdlib-safer.h: New file from coreutils, required by
51500         stdlib--.h.
51501
51502 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
51503
51504         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
51505
51506 2006-07-20  Bruno Haible  <bruno@clisp.org>
51507
51508         * gnulib-tool: Recognize new option --assume-autoconf.
51509         (autoconf_minversion): New variable.
51510         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
51511
51512 2006-07-20  Bruno Haible  <bruno@clisp.org>
51513
51514         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
51515
51516 2006-07-19  Derek R. Price  <derek@ximbiot.com>
51517
51518         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
51519         Reindent and repaginate.
51520
51521 2006-07-19  Derek Price  <derek@ximbiot.com>
51522
51523         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
51524         Correct grammar.
51525
51526 2006-07-17  Bruno Haible  <bruno@clisp.org>
51527
51528         * modules/list: New file.
51529         * modules/array-list: New file.
51530         * modules/carray-list, modules/carray-list-tests: New files.
51531         * modules/linked-list, modules/linked-list-tests: New files.
51532         * modules/avltree-list, modules/avltree-list-tests: New files.
51533         * modules/rbtree-list, modules/rbtree-list-tests: New files.
51534         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
51535         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
51536         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
51537         * modules/oset: New file.
51538         * modules/array-oset: New file.
51539         * modules/avltree-oset, modules/avltree-oset-tests: New files.
51540         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
51541         * tests/test-carray_list.c: New file.
51542         * tests/test-linked_list.c: New file.
51543         * tests/test-avltree_list.c: New file.
51544         * tests/test-rbtree_list.c: New file.
51545         * tests/test-linkedhash_list.c: New file.
51546         * tests/test-avltreehash_list.c: New file.
51547         * tests/test-rbtreehash_list.c: New file.
51548         * tests/test-avltree_oset.c: New file.
51549         * tests/test-rbtree_oset.c: New file.
51550         * MODULES.html.sh (Container data structures): New section.
51551
51552 2006-07-17  Bruno Haible  <bruno@clisp.org>
51553
51554         * m4/gl_list.m4: New file.
51555
51556 2006-07-17  Bruno Haible  <bruno@clisp.org>
51557
51558         * lib/gl_list.h: New file.
51559         * lib/gl_list.c: New file.
51560         * lib/gl_array_list.h: New file.
51561         * lib/gl_array_list.c: New file.
51562         * lib/gl_carray_list.h: New file.
51563         * lib/gl_carray_list.c: New file.
51564         * lib/gl_linked_list.h: New file.
51565         * lib/gl_linked_list.c: New file.
51566         * lib/gl_anylinked_list1.h: New file.
51567         * lib/gl_anylinked_list2.h: New file.
51568         * lib/gl_avltree_list.h: New file.
51569         * lib/gl_avltree_list.c: New file.
51570         * lib/gl_anyavltree_list1.h: New file.
51571         * lib/gl_anyavltree_list2.h: New file.
51572         * lib/gl_rbtree_list.h: New file.
51573         * lib/gl_rbtree_list.c: New file.
51574         * lib/gl_anyrbtree_list1.h: New file.
51575         * lib/gl_anyrbtree_list2.h: New file.
51576         * lib/gl_anytree_list1.h: New file.
51577         * lib/gl_anytree_list2.h: New file.
51578         * lib/gl_linkedhash_list.h: New file.
51579         * lib/gl_linkedhash_list.c: New file.
51580         * lib/gl_anyhash_list1.h: New file.
51581         * lib/gl_anyhash_list2.h: New file.
51582         * lib/gl_avltreehash_list.h: New file.
51583         * lib/gl_avltreehash_list.c: New file.
51584         * lib/gl_rbtreehash_list.h: New file.
51585         * lib/gl_rbtreehash_list.c: New file.
51586         * lib/gl_anytreehash_list1.h: New file.
51587         * lib/gl_anytreehash_list2.h: New file.
51588
51589         * lib/gl_oset.h: New file.
51590         * lib/gl_oset.c: New file.
51591         * lib/gl_array_oset.h: New file.
51592         * lib/gl_array_oset.c: New file.
51593         * lib/gl_avltree_oset.h: New file.
51594         * lib/gl_avltree_oset.c: New file.
51595         * lib/gl_rbtree_oset.h: New file.
51596         * lib/gl_rbtree_oset.c: New file.
51597         * lib/gl_anytree_oset.h: New file.
51598
51599 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51600
51601         * m4/mkancesdirs.m4: New file.
51602         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
51603         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
51604         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
51605         it.
51606
51607 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51608
51609         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
51610         * lib/mkancesdirs.h: New files.
51611         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
51612         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
51613         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
51614         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
51615         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
51616         callers changed.  Revamp internals significantly, by not
51617         attempting to create directories that are temporarily more
51618         permissive than the final results.  Do not attempt to use
51619         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
51620         This removes some race conditions, fixes some bugs, and simplifies
51621         things.  Use new dirchownmod function to do owner and mode changes.
51622         * lib/mkdir-p.h: Likewise.
51623         * lib/modechange.c (octal_to_mode): New function.
51624         (struct mode_change): New member mentioned.
51625         (make_node_op_equals): New arg mentioned.  All callers changed.
51626         (mode_compile): Keep track of which mode bits the user has explicitly
51627         mentioned.
51628         (mode_adjust): New arg DIR, so that we implement the X op correctly.
51629         New arg PMODE_BITS, to keep track of which mode bits the user
51630         mentioned; it treats S_ISUID and S_ISGID speciall.
51631         All callers changed.
51632         * lib/modechange.h: Likewise.
51633
51634 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51635
51636         * MODULES.html.sh: Add mkancestors.
51637         * modules/mkancesdirs: New module.
51638         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
51639         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
51640         The chdir-safer and afs files are now orphans; I'll remove them
51641         unless someone speaks up.
51642         Add lib/dirchownmod.c, lib/dirchownmod.h.
51643         (Depends-on): Remove alloca, chown, save-cwd, dirname.
51644         Add lchown, mkancesdirs.
51645         (Maintainer): Add self.
51646
51647 2006-07-15  Karl Berry  <karl@gnu.org>
51648
51649         * gnulib-tool: help message wording/arrangement.
51650
51651 2006-07-14  Simon Josefsson  <jas@extundo.com>
51652
51653         * doc/gnulib.texi (Libtool and Windows): New section.
51654
51655 2006-07-12  Simon Josefsson  <jas@extundo.com>
51656
51657         * modules/gendocs (License): Fix license, approved by Karl.
51658
51659 2006-07-12  Eric Blake  <ebb9@byu.net>
51660
51661         * MODULES.html.sh: Add gendocs.
51662
51663 2006-07-11  Eric Blake  <ebb9@byu.net>
51664
51665         * modules/fdl: New module, to install doc/fdl.texi.
51666         * MODULES.html.sh: Add new section for documentation modules.
51667         * gnulib-tool: Avoid space-tab.
51668         (--doc-base): New option, to manage files from doc.
51669
51670 2006-07-11  Eric Blake  <ebb9@byu.net>
51671
51672         * m4/absolute-header.m4: Fix comments to match recent change.
51673
51674 2006-07-11  Eric Blake  <ebb9@byu.net>
51675
51676         * gnulib-tool: List --doc-base before --tests-base.
51677
51678 2006-07-11  Derek R. Price  <derek@ximbiot.com>
51679
51680         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
51681
51682 2006-07-11  Bruno Haible  <bruno@clisp.org>
51683
51684         * README: Mention where to put documentation.
51685
51686 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51687
51688         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
51689
51690 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
51691
51692         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
51693         to stdint.m4.
51694
51695 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
51696
51697         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
51698         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
51699         "no/such/file/stdint.h" when there is no such file, so that
51700         the resulting C code can be parsed by dodgy compilers.
51701         Problems reported by Bob Proulx.
51702
51703 2006-07-10  Derek R. Price  <derek@ximbiot.com>
51704
51705         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
51706         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
51707         macros into the GNU _D_EXACT_NAMLEN.
51708         * lib/savedir.c:  Likewise.
51709         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
51710
51711 2006-07-10  Derek R. Price  <derek@ximbiot.com>
51712         and Paul Eggert  <eggert@cs.ucla.edu>
51713
51714         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
51715         * m4/savedir.m4:
51716         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
51717         macros into the GNU _D_EXACT_NAMLEN.
51718
51719 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51720
51721         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
51722         around the absolute name, to work around a problem with the HP-UX
51723         11.23 native C compiler, reported by Bob Proulx.
51724
51725 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51726
51727         * doc/maintain.texi, make-stds.texi: Sync from
51728         <http://savannah.gnu.org/projects/gnustandards>.
51729
51730 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51731
51732         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
51733
51734 2006-07-09  Jim Meyering  <jim@meyering.net>
51735
51736         * m4/glob.m4: Remove a doubled word in a comment.
51737
51738 2006-07-09  Jim Meyering  <jim@meyering.net>
51739
51740         * lib/argp-pv.c: Remove a doubled word in a comment.
51741         * lib/check-version.c (check_version): Likewise.
51742         * lib/javacomp.c (compile_java_class): Likewise.
51743
51744 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51745
51746         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
51747         for the benefit of people using Autoconf 2.60.  If you want to
51748         support older Autoconf versions you can copy m4/onceonly_2_57.m4
51749         (or m4/onceonly.m4, if pre-2.57) manually.
51750
51751 2006-07-08  Jim Meyering  <jim@meyering.net>
51752
51753         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
51754         comment.
51755         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
51756         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
51757         comment.
51758
51759 2006-07-08  Jim Meyering  <jim@meyering.net>
51760
51761         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
51762
51763 2006-07-07  Simon Josefsson  <jas@extundo.com>
51764
51765         * tests/test-crc.c: Change expected crc value, the test vector
51766         were probably computed using the old broken crc.c?
51767
51768 2006-07-06  Simon Josefsson  <jas@extundo.com>
51769
51770         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
51771         now the canonical place for the M4 file).
51772
51773         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
51774         from the sys_socket dependency now.
51775
51776         * modules/inet_pton (Files): Ditto.
51777
51778         * modules/inet_ntop (Files): Ditto.
51779
51780 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51781
51782         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
51783         not gl_PREREQ_GETUSERSHELL.
51784
51785 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51786
51787         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
51788         with only one argument, for Autoconf 2.60.
51789         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
51790         expand to nothing, so add a shell command to avoid syntax error.
51791         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
51792
51793 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51794
51795         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
51796
51797 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51798
51799         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
51800         no longer needed.  Check for isblank decl.
51801         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
51802         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
51803         of existence.
51804
51805 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51806
51807         * lib/getloadavg.c: Use __VMS, not VMS.
51808         * lib/getopt.c: Likewise.
51809         * lib/getpagesize.h: Likewise.
51810         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
51811         and probably does not work.
51812
51813 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51814
51815         * lib/.cppi-disable: Add wcwidth.
51816         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
51817         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
51818         (ISGRAPH): Remove.  All uses changed to isgraph.
51819         (FOLD) [!defined _LIBC]: Remove special case.
51820         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
51821         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
51822         HAVE_ISBLANK.
51823         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
51824         case.
51825
51826 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
51827
51828         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
51829         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
51830         brackets.  Other minor changes to suppress some compiler
51831         warnings.
51832
51833 2006-07-06  Derek R. Price  <derek@ximbiot.com>
51834         and Paul Eggert  <eggert@cs.ucla.edu>
51835
51836         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
51837         of invoking obsolescent AC_HEADER_DIRENT macro.
51838         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
51839         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
51840         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
51841         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
51842         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
51843         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
51844         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
51845         * m4/readdir.m4: Remove; no longer needed.
51846
51847 2006-07-06  Derek R. Price  <derek@ximbiot.com>
51848         and Paul Eggert  <eggert@cs.ucla.edu>
51849
51850         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
51851         Don't worry about this obsolete case any more.
51852         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
51853         directories.
51854         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
51855         worry about this obsolete case any more.
51856         * lib/fts.c: Likewise.
51857         * lib/getcwd.c: Likewise.
51858         * lib/glob.h: Likewise.
51859         * lib/savedir.c: Likewise.
51860
51861 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51862
51863         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
51864         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
51865         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
51866         needed.
51867         All uses removed.
51868         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51869         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
51870         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
51871         needed.
51872         * m4/getdate.m4 (gl_GETDATE): Likewise.
51873         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
51874         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
51875         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
51876         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51877         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
51878         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51879         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
51880         needed.
51881
51882 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51883
51884         * lib/memcasecmp.c: Include <limits.h>.
51885         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
51886         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
51887         Don't assume isdigit succeeds only on '0' through '9'.
51888
51889 2006-07-05  Eric Blake  <ebb9@byu.net>
51890
51891         * modules/getaddrinfo (Depends-on): Add snprintf.
51892
51893 2006-07-05  Eric Blake  <ebb9@byu.net>
51894
51895         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
51896         to avoid 'header present but could not be compiled' on cygwin.
51897
51898 2006-07-05  Eric Blake  <ebb9@byu.net>
51899
51900         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
51901         missing from netdb.h.
51902         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
51903
51904 2006-07-05  Derek R. Price  <derek@ximbiot.com>
51905
51906         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
51907         no longer needed.
51908         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
51909         * m4/getdate.m4 (gl_GETDATE): Likewise.
51910         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
51911         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
51912         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
51913         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51914         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51915
51916 2006-07-05  Derek R. Price  <derek@ximbiot.com>
51917
51918         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
51919         All uses of is_space replaced by isspace.
51920         * lib/exit.h: Don't talk about STDC_HEADERS.
51921         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
51922         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
51923         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
51924         replaced by isprint etc.
51925         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
51926         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
51927         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
51928         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
51929         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
51930         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
51931
51932 2006-07-05  Bruno Haible  <bruno@clisp.org>
51933
51934         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
51935         the function exists, before testing against AIX.
51936         Reported by Martin Lambers <marlam@marlam.de>.
51937
51938 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
51939
51940         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
51941         From Mark D. Baushke.
51942
51943 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
51944
51945         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
51946         to the absolute name, not just one, to bypass Sun C 5.8's
51947         "warning: #include of /usr/include/... may be non-portable".
51948
51949 2006-07-04  Eric Blake  <ebb9@byu.net>
51950
51951         * modules/dirname-tests: New test module.
51952         * tests/test-dirname.c: New file, replacing dirname.c
51953         TEST_DIRNAME section that was recently deleted.
51954
51955 2006-07-04  Bruno Haible  <bruno@clisp.org>
51956
51957         Assume ANSI C header files and <ctype.h> functions.
51958         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
51959         (mbsnwidth): Use isprint, iscntrl instead.
51960
51961 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
51962
51963         Merge from coreutils.
51964         * MODULES.html.sh: Add xstrtold.
51965         * modules/xstrtold: New file.
51966         * modules/cycle-check (Files): Add lib/same-inode.h.
51967         * modules/dirname (Files): Add m4/double-slash-root.m4.
51968         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
51969         * modules/mkdir-p (Files): Add lib/same-inode.h.
51970         * modules/same (Files): Add lib/same-inode.h.
51971
51972 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
51973
51974         * m4/absolute-header.m4: Renamed from full-header-path.m4.
51975         This is to keep the terminology clean; POSIX talks about
51976         "absolute pathnames", not "full pathnames", but the GNU
51977         Coding Standards say to use "path" for something else;
51978         so use "absolute" to keep both sides happy.
51979         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
51980         Set gl_absolute_header, not gl_full_header_path.
51981         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
51982         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
51983         All uses changed.
51984
51985         Merge from coreutils.
51986
51987         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
51988
51989         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
51990         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
51991         want to require the building of c-strtod.o.
51992         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
51993         needs -lm directly.
51994         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
51995
51996         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
51997
51998         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
51999         --as-needed option if available.  Problem reported by Albert Chin in
52000         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
52001         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
52002         cc merely issues a bunch of annoying warnings for --as-needed
52003         (this problem was reported by Bob Proulx).  Also, try linking with
52004         -lm to detect a bug in binutils 2.16 (this problem was reported
52005         by Ralf Wildenhues).
52006
52007         2006-06-18  Jim Meyering  <jim@meyering.net>
52008
52009         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
52010         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
52011         macro.
52012         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
52013         also check for glibc-2.4's abort-inducing bug.
52014
52015         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
52016         Low-probability clean-up should be to use rmdir to get rid of
52017         the just-created directory, not unlink.
52018
52019         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
52020         configure fail, and request a bug report to inform us about it.
52021         Add a comment that, barring reports to the contrary, in 2007 we'll
52022         assume ftruncate is universally available.
52023
52024         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52025
52026         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
52027
52028         2006-03-12  Jim Meyering  <jim@meyering.net>
52029
52030         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
52031         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
52032         * m4/same.m4 (gl_SAME): Likewise.
52033         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
52034
52035         2006-03-11  Eric Blake  <ebb9@byu.net>
52036
52037         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
52038         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
52039         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
52040         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
52041
52042 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52043
52044         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
52045         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
52046         reported by Mark D. Baushke, one in
52047         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
52048
52049         Merge from coreutils.
52050
52051         * lib/.cppi-disable: Add stdint_.h.
52052         * lib/.cvsignore: Add stdint.h.
52053
52054         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52055
52056         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
52057         both double and long double versions.
52058         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
52059         * lib/xstrtold.c: New file.
52060         * lib/xstrtod.h (xstrtold): New decl.
52061
52062         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
52063
52064         * lib/filemode.c (setst): Remove.
52065         (strmode): Rewrite to avoid setst.  This makes the code shorter,
52066         (arguably) clearer, and the generated code is a bit smaller on my
52067         Debian GNU/Linux stable x86 host.
52068
52069         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52070
52071         * lib/filemode.c: Include "filemode.h" first, to test the interface.
52072         Assume that filemode.h includes sys/types.h and sys/stat.h.
52073         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
52074         (ftypelet): Reorder to put common cases first, for efficiency.
52075         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
52076         to do 'M'.
52077         (strmode): Renamed from mode_string, and now stores 12 bytes instead
52078         of 10, for compatibility with FreeBSD.  All callers changed.
52079         (filemodestring): Now stores 12 bytes instead of 10, and sets file
52080         types that can't be deduced solely from st_mode.  First arg is now a
52081         const pointer.
52082         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
52083         (strmode): Renamed from mode_string.
52084         (filemodestring): New decl.
52085         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
52086         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
52087         needed.
52088         (S_ISPORT, S_ISWHT): New macros, if not already defined.
52089
52090         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
52091
52092         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
52093         fsusage.h now does that.  Include fsusage.h first, to test interface.
52094         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
52095         at most one method (the old code could have generated decls that
52096         didn't conform to C89, not that this was ever exercised).
52097         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
52098
52099         2006-03-19  Jim Meyering  <jim@meyering.net>
52100
52101         Work even in a chroot where d_ino values for entries in "/"
52102         don't match the stat.st_ino values for the same names.
52103         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
52104         number, iterate through all entries again, using lstat instead.
52105         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
52106         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
52107
52108         * lib/getcwd.c (__getcwd): Clarify a comment.
52109         Use memcpy in place of a call to strcpy.
52110
52111         2006-03-12  Jim Meyering  <jim@meyering.net>
52112
52113         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
52114         matches that of the current directory (which we're about to chdir ".."
52115         out of), then save the dev-ino of the parent, instead.
52116
52117         * lib/same-inode.h (SAME_INODE): New file/macro.
52118         * lib/chdir-safer.c (SAME_INODE): Remove definition.
52119         Include "same-inode.h", instead.
52120         * lib/same.c: Likewise.
52121         * lib/cycle-check.h: Include "same-inode.h".
52122         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
52123         * lib/cycle-check.c (SAME_INODE): Remove definition.
52124         * lib/root-dev-ino.h: Include "same-inode.h".
52125
52126         2006-03-11  Eric Blake  <ebb9@byu.net>
52127
52128         * lib/same.c (same_name): s/base_name/last_component/
52129         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
52130         * lib/filenamecat.c (file_name_concat): Likewise.
52131
52132         2006-03-11  Eric Blake  <ebb9@byu.net>,
52133                     Paul Eggert  <eggert@cs.ucla.edu>
52134
52135         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
52136         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
52137         drive prefix.
52138         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
52139         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
52140         (last_component): New method.
52141         * lib/dirname.c (dir_len): Determine when drive letters need a
52142         subsequent slash.  Preserve // when it is special.
52143         (dir_name): Don't append dot when drive letter is absolute.
52144         [TEST_DIRNAME]: Move into a full-blown gnulib test.
52145         * lib/basename.c (base_name): New semantics - malloc the result.
52146         Preserve // when it is special.  Preserve relative files that look
52147         like drive letters.
52148         (base_len): Preserve // when it is special.
52149         (last_component): New method, similar to old base_name semantics.
52150         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
52151         base_name.  Strip redundant slashes from ///.
52152
52153 2006-07-03  Jim Meyering  <jim@meyering.net>
52154
52155         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
52156         macro is used before the first cycle_check call.
52157
52158 2006-07-03  Eric Blake  <ebb9@byu.net>
52159
52160         * modules/dirname (Depends-on): Add xstrndup.
52161
52162 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52163
52164         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
52165         test cases, so that config.log is a bit easier to follow.
52166
52167 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52168
52169         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
52170         both are 64 bits, since this seems to be the tradition, and this
52171         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
52172         we ever run into a host that prefers long long to long in this
52173         case, we'll need another configure-time test.  Problem reported by
52174         Jim Meyering.
52175
52176 2006-07-02  Eric Blake  <ebb9@byu.net>
52177
52178         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
52179
52180 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52181
52182         * modules/inttypes (Depends-on): No longer depends on stdint.
52183         * modules/stdint (Description): Say more about assumptions.
52184         Say that the fast types might differ.  Say macros are used.
52185         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
52186         (Makefile.am): Revise list of substituted symbols to match
52187         new stdint.m4.
52188         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
52189         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
52190         * tests/test-stdint.c (verify_same_types)
52191         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
52192         the code conforms to C99/C89.
52193         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
52194         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
52195
52196 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52197
52198         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
52199         but fix a bug, by requiring at least 64 bits.
52200         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
52201         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
52202         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
52203         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
52204
52205         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
52206         changes.  Make 2.59 a prerequisite.  Check and substitute for
52207         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
52208         inttypes.h.  Do not use special include files; just use the
52209         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
52210         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
52211         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
52212         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
52213         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
52214         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
52215         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
52216         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
52217         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
52218         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
52219         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
52220         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
52221         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
52222         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
52223         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
52224         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
52225         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
52226         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
52227         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
52228         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
52229         WINT_MAX.  Check for C99 conformance more strictly, by detecting
52230         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
52231         not check for things that C99 does not require, e.g., int8_t.  If
52232         a test isn't needed unless <stdint.h> isn't working, and is
52233         unlikely to be needed for any other reason, then don't do it
52234         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
52235         size_t, since we assume C89 freestanding at least.  Do not check
52236         for sig_atomic_t, wchar_t, or wint_t, since the code now does
52237         the right thing even if the types are not defined.  Instead use:
52238         (gl_STDINT_TYPE_PROPERTIES): New macro.
52239         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
52240         testing whether <sys/types.h> clashes, as Autoconf does this for
52241         us now.  All uses removed.
52242         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
52243         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
52244         (gl_CHECK_TYPE_SAME):
52245         Remove; no longer needed.
52246         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
52247         exists, since we'll return 0 anyway in that case.
52248         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
52249
52250 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52251
52252         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
52253         possible collision with system files.
52254         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
52255         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
52256         WCHAR_MIN and WCHAR_MAX in this case.
52257         (<stddef.h>): Do not include; no longer needed.
52258         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
52259         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
52260         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
52261         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
52262         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
52263         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
52264         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
52265         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
52266         !defined(__c99))]: Include in this case too, since it's harmless
52267         now.
52268         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
52269         dangerous to do so.
52270         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
52271         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
52272         (_STDINT_MIN, _STDINT_MAX): New macros.
52273         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
52274         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
52275         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
52276         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
52277         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
52278         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
52279         macros, not typedefs; this simplifies things quite a bit.
52280         Use long int for all types narrower than int64_t.
52281         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
52282         Define in terms of long long int or int64_t or long int,
52283         not int64_t or int32_t.  This saves some compile-time testing.
52284         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
52285         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
52286         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
52287         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
52288         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
52289         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
52290         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
52291         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
52292         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
52293         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
52294         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
52295         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
52296         undef any previous version and define our own version, for
52297         simplicity and consistency with the new macros for types.
52298         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
52299         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
52300         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
52301         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
52302         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
52303         @WINT_T_SUFFIX@ to keep things simple here.
52304         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
52305         Simplify by assuming typical 8/16/32/64 host, since we're
52306         already doing that elsewhere anyway.
52307         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
52308         and assume long long int is 64 bits if available.  This
52309         speeds up 'configure'.
52310
52311 2006-07-01  Eric Blake  <ebb9@byu.net>
52312
52313         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
52314         Reported by Andreas Buening.
52315
52316 2006-07-01  Eric Blake  <ebb9@byu.net>
52317
52318         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
52319
52320 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
52321
52322         * lib/getaddrinfo.c: fixed typo
52323
52324 2006-06-29  Jim Meyering  <jim@meyering.net>
52325
52326         * modules/strftime (Maintainer): Add my name, since with the
52327         FPRINTFTIME changes strftime.c has forked from glibc.
52328
52329 2006-06-29  Eric Blake  <ebb9@byu.net>
52330
52331         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
52332
52333 2006-06-29  Eric Blake  <ebb9@byu.net>
52334
52335         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
52336
52337 2006-06-29  Eric Blake  <ebb9@byu.net>
52338
52339         * lib/stat_.h: New file.
52340
52341 2006-06-29  Eric Blake  <ebb9@byu.net>
52342
52343         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
52344         unused static function.
52345
52346 2006-06-29  Eric Blake  <ebb9@byu.net>
52347
52348         * doc/functions.texi (Function Portability): Document missing lstat
52349         on mingw.
52350
52351 2006-06-29  Eric Blake  <ebb9@byu.net>
52352
52353         * MODULES.html.sh: Add sys_stat.
52354         * modules/sys_stat: New module.
52355         * modules/mkstemp (Depends-on): Add sys_stat.
52356
52357 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52358
52359         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
52360
52361 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52362
52363         * m4/c-bs-a.m4: Removed.
52364
52365 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52366
52367         * lib/strftime.c: Assume strftime() exists.
52368
52369 2006-06-29  Derek Price  <derek@ximbiot.com>
52370
52371         * modules/c-bs-a: Removed - \a is C89.
52372         * MODULES.html.sh: Remove c-bs-a.
52373
52374 2006-06-29  Bruno Haible  <bruno@clisp.org>
52375
52376         * modules/wcwidth (License): Change to LGPL.
52377
52378 2006-06-28  Simon Josefsson  <jas@extundo.com>
52379
52380         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
52381         on _WIN32.
52382
52383         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
52384         getnameinfo.
52385
52386 2006-06-28  Simon Josefsson  <jas@extundo.com>
52387
52388         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
52389
52390 2006-06-28  Simon Josefsson  <jas@extundo.com>
52391
52392         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
52393         functions there.  It will succeed on Windows XP, but on Windows
52394         2000 and (presumably) earlier, it will fail, and use the internal
52395         re-implementation.
52396         (use_win32_p): New function.
52397         (getaddrinfo): Use strtoul on servname, to support numeric ports.
52398         Support AI_NUMERICSERV to disable getservbyname.
52399         (getnameinfo): New function, only supports
52400         NI_NUMERICHOST|NI_NUMERICSERV for now.
52401
52402         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
52403         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
52404         getnameinfo.
52405
52406 2006-06-28  Eric Blake  <ebb9@byu.net>
52407
52408         * modules/wcwidth: New file.
52409         * modules/mbchar (Depends-on): Add wcwidth.
52410         * modules/mbswidth (Depends-on): Add wcwidth.
52411         * MODULES.html.sh: Add wcwidth.
52412
52413 2006-06-28  Eric Blake  <ebb9@byu.net>
52414
52415         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
52416         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
52417
52418 2006-06-28  Eric Blake  <ebb9@byu.net>
52419
52420         * lib/xvasprintf.h: Fix comments.
52421
52422 2006-06-28  Eric Blake  <ebb9@byu.net>
52423
52424         * lib/mbchar.h (wcwidth): Include wcwidth.h.
52425         * lib/mbswidth.c (wcwidth): Move from here...
52426         * lib/wcwidth.h: ...to this new file.
52427
52428 2006-06-28  Derek R. Price  <derek@ximbiot.com>
52429
52430         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
52431
52432         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
52433         it's obsolete.
52434         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
52435
52436 2006-06-28  Derek R. Price  <derek@ximbiot.com>
52437
52438         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
52439         Autoconf 2.60 says this stuff was obsolete.
52440
52441 2006-06-28  Bruno Haible  <bruno@clisp.org>
52442
52443         * modules/wcwidth (Files): Add m4/wchar_t.m4.
52444
52445 2006-06-28  Bruno Haible  <bruno@clisp.org>
52446
52447         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
52448         gt_TYPE_WCHAR_T.
52449
52450 2006-06-28  Bruno Haible  <bruno@clisp.org>
52451
52452         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
52453         declaration for wcwidth.
52454         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
52455
52456 2006-06-28  Bruno Haible  <bruno@clisp.org>
52457
52458         * lib/mkdtemp.c [MINGW]: Include <io.h>.
52459         (mkdir): Define using _mkdir.
52460
52461 2006-06-28  Bruno Haible  <bruno@clisp.org>
52462
52463         * lib/getaddrinfo.h: Fix POSIX URL.
52464         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
52465         _WIN32.
52466         (use_win32_p): Make static.
52467         (getaddrinfo): Reject service name if it is empty or does not consist
52468         solely of decimal digits, or if its value is > 65535.
52469         (getnameinfo): Remove useless casts.
52470
52471 2006-06-27  Simon Josefsson  <jas@extundo.com>
52472
52473         * modules/sys_select: New file, suggested by Bruno Haible, Paul
52474         Eggert and Martin Lambers.
52475
52476 2006-06-27  Simon Josefsson  <jas@extundo.com>
52477
52478         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
52479         Eggert and Martin Lambers.
52480
52481 2006-06-27  Bruno Haible  <bruno@clisp.org>
52482
52483         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
52484         result to 0, not to empty.
52485         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
52486
52487 2006-06-27  Bruno Haible  <bruno@clisp.org>
52488
52489         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
52490
52491 2006-06-26  Simon Josefsson  <jas@extundo.com>
52492
52493         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
52494         present.
52495
52496 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
52497
52498         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
52499         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
52500         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
52501
52502 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
52503
52504         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
52505
52506 2006-06-26  Bruno Haible  <bruno@clisp.org>
52507
52508         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
52509
52510 2006-06-26  Bruno Haible  <bruno@clisp.org>
52511
52512         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
52513
52514 2006-06-26  Bruno Haible  <bruno@clisp.org>
52515
52516         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
52517         SGI C compiler in pre-C99 mode.
52518         Suggested by Mark D. Baushke and Larry Jones.
52519
52520 2006-06-26  Bruno Haible  <bruno@clisp.org>
52521
52522         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
52523         WCHAR_MAX.
52524         Reported by Mark D. Baushke and Larry Jones.
52525
52526 2006-06-26  Bruno Haible  <bruno@clisp.org>
52527
52528         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
52529         in pre-C99 mode.
52530         Suggested by Mark D. Baushke and Larry Jones.
52531
52532 2006-06-23  Simon Josefsson  <jas@extundo.com>
52533             Bruno Haible  <bruno@clisp.org>
52534
52535         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
52536         Emit mostlyclean-local rule.
52537         (func_emit_tests_Makefile_am): Likewise.
52538         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
52539
52540 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
52541
52542         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
52543
52544 2006-06-23  Bruno Haible  <bruno@clisp.org>
52545
52546         * tests/test-stdint.c: Update to match ISO C 99 Technical
52547         Corrigendum 1.
52548
52549 2006-06-23  Bruno Haible  <bruno@clisp.org>
52550
52551         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
52552
52553 2006-06-23  Bruno Haible  <bruno@clisp.org>
52554
52555         * lib/stdint_.h: Treat IRIX like OpenBSD.
52556
52557 2006-06-23  Bruno Haible  <bruno@clisp.org>
52558
52559         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
52560         ISO C 99 Technical Corrigendum 1.
52561
52562 2006-06-22  Simon Josefsson  <jas@extundo.com>
52563
52564         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
52565         MinGW.
52566
52567 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52568
52569         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
52570         needed.  Some compiler complained about some of them.  Problem reported
52571         by Larry Jones in
52572         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
52573
52574 2006-06-21  Simon Josefsson  <jas@extundo.com>
52575
52576         * tests/test-getaddrinfo.c: New file.
52577
52578         * modules/getaddrinfo-tests: New file.
52579
52580         * MODULES.html.sh: Add inet_pton.
52581
52582         * modules/inet_pton: New file.
52583
52584 2006-06-21  Simon Josefsson  <jas@extundo.com>
52585
52586         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
52587         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
52588         of using the (limited) gnulib implementation on Windows XP.
52589
52590         * m4/inet_pton.m4: New file.
52591
52592 2006-06-21  Simon Josefsson  <jas@extundo.com>
52593
52594         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
52595         variable.
52596
52597         * lib/socket_.h: Don't define WINVER.
52598
52599         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
52600         slightly modified to work in gnulib.
52601
52602 2006-06-21  Simon Josefsson  <jas@extundo.com>
52603
52604         * doc/gnulib.texi (Windows sockets): Add.
52605
52606 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
52607
52608         * lib/read-file.c (fread_file): Start with buffer allocation of
52609         0 bytes rather than 1 byte; this simplifies the code.
52610         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
52611         code to free buffer and save/restore errno.
52612         (internal_read_file): Remove unused local.
52613
52614 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52615
52616         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
52617         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
52618         Problem reported by Denis Excoffier in
52619         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
52620
52621 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52622
52623         * modules/sys_socket, modules/socklen: Include sys/types since
52624         FreeBSD 4.x's sys/socket.h needs it.
52625
52626 2006-06-19  Simon Josefsson  <jas@extundo.com>
52627
52628         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
52629
52630 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
52631
52632         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
52633
52634 2006-06-19  Bruno Haible  <bruno@clisp.org>
52635
52636         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
52637         and FULL_PATH_INTTYPES_H in angle brackets.
52638         Reported by Mark D. Baushke <mdb@gnu.org>.
52639
52640 2006-06-17  Eric Blake  <ebb9@byu.net>
52641
52642         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
52643         errno.
52644
52645 2006-06-17  Bruno Haible  <bruno@clisp.org>
52646
52647         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
52648         <sys/inttypes.h>.
52649
52650 2006-06-17  Bruno Haible  <bruno@clisp.org>
52651
52652         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
52653         whether errno is declared. Assume <errno.h> declares errno.
52654
52655 2006-06-17  Bruno Haible  <bruno@clisp.org>
52656
52657         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
52658
52659 2006-06-17  Bruno Haible  <bruno@clisp.org>
52660
52661         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
52662         problem on Solaris 2.5.1.
52663
52664 2006-06-16  Eric Blake  <ebb9@byu.net>
52665
52666         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
52667         * lib/unicodeio.c [!defined errno]: Likewise.
52668         * lib/strtol.c [!defined errno]: Likewise.
52669         * lib/strtod.c [!defined errno]: Likewise.
52670
52671 2006-06-15  Eric Blake  <ebb9@byu.net>
52672
52673         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
52674
52675 2006-06-15  Eric Blake  <ebb9@byu.net>
52676
52677         * config/srclist.txt (ssize_t.m4): Lose sync.
52678
52679 2006-06-15  Bruno Haible  <bruno@clisp.org>
52680
52681         * modules/stdint (Files): Include m4/full-header-path.m4,
52682         m4/size_max.m4, m4/wchar_t.m4.
52683         (Makefile.am): Many more substitutions.
52684         * modules/stdint-tests: New file.
52685         * tests/test-stdint.c: New file.
52686
52687 2006-06-15  Bruno Haible  <bruno@clisp.org>
52688
52689         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
52690         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
52691         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
52692         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
52693         gl_CHECK_TYPE_SAME): New macros.
52694
52695 2006-06-15  Bruno Haible  <bruno@clisp.org>
52696
52697         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
52698
52699 2006-06-15  Bruno Haible  <bruno@clisp.org>
52700
52701         * lib/stdint_.h: Rewritten to be fully auto-configured.
52702         Fixes bug on HP-UX/IA64.
52703
52704 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
52705
52706         * lib/getdate.y (__attribute__): Don't define if already defined.
52707         Problem reported by Larry Jones.
52708         * lib/utimens.c (__attribute__): Likewise.
52709
52710 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
52711
52712         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
52713         reported by Andreas Schwab.
52714
52715 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52716             Bruno Haible  <bruno@clisp.org>
52717
52718         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
52719         check for the declaration of strnlen and a run test that exposes the
52720         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
52721         rpl_strndup.
52722
52723 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52724             Bruno Haible  <bruno@clisp.org>
52725
52726         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
52727
52728 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52729
52730         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
52731         compile test, for Tru64 4.0D.
52732
52733 2006-05-28  Karl Berry  <karl@gnu.org>
52734
52735         * config/srclist.txt (printf-args.c): lose sync.
52736
52737 2006-05-26  Martin Lambers  <marlam@marlam.de>
52738
52739         * lib/getpass.c: Updates the test for the native W32 API, and adds
52740         missing includes, thus fixing compilation warnings.
52741
52742 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
52743
52744         * lib/exclude.c (exclude_fnmatch): New function.
52745         (excluded_file_name): Call exclude_fnmatch.
52746         * lib/exclude.h (excluded_file_name): New prototype
52747
52748 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
52749
52750         * lib/tempname.c (small_open, large_open): New macros.
52751         (__open, __open64) [!_LIBC]: Remove.
52752         (__gen_tempname): Use small_open and large_open instead of __open
52753         and __open64.  This fixes a portability bug on HP-UX 11.11i
52754         reported by Simon Wing-Tang in
52755         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
52756
52757 2006-05-24  Bruno Haible  <bruno@clisp.org>
52758
52759         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
52760         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
52761         Reported by Thorsten Maerz <torte@netztorte.de> via
52762         Aaron Stone <aaron@serendipity.cx>.
52763
52764 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52765
52766         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
52767         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
52768         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
52769         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
52770         not really conditional on the cache.
52771         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
52772
52773 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52774
52775         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
52776         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
52777         (my_usleep): Don't mishandle maximum value.
52778
52779 2006-05-19  Jim Meyering  <jim@meyering.net>
52780
52781         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
52782
52783 2006-05-17  Bruno Haible  <bruno@clisp.org>
52784
52785         Cygwin portability.
52786         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
52787
52788 2006-05-17  Bruno Haible  <bruno@clisp.org>
52789
52790         * lib/stdint_.h: Fix recognition of Cygwin.
52791
52792 2006-05-15  Bruno Haible  <bruno@clisp.org>
52793
52794         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
52795         on libtool patch by Ralf Wildenhues.
52796
52797 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52798
52799         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
52800         test for C99 conformance; (bool) 0.5 is an integer constant
52801         expression, but (bool) -0.5 is not.  Problem reported by Fedor
52802         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
52803
52804 2006-05-11  Simon Josefsson  <jas@extundo.com>
52805
52806         * m4/xvasprintf.m4: Fix obvious typo.
52807
52808 2006-05-11  Jim Meyering  <jim@meyering.net>
52809
52810         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
52811         James Lemley.
52812
52813 2006-05-10  Simon Josefsson  <jas@extundo.com>
52814
52815         * lib/md4.c: Typo fix, update copyright years.
52816         (K1, K2): Don't use L because it turn computations into 64-bit on
52817         64-bit platforms.
52818
52819 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
52820
52821         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
52822         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
52823         unwanted sign propagation, e.g., on hosts with 64-bit int.
52824         There still are some problems with reeelly weird theoretical hosts
52825         (e.g., 33-bit int) but it's not worth worrying about now.
52826         * lib/sha1.c (rol): Likewise.
52827         (K1, K2, K3, K4): Remove unnecessary L suffix.
52828
52829 2006-05-10  Bruno Haible  <bruno@clisp.org>
52830
52831         * lib/des.c: Cast to avoid warnings.
52832
52833 2006-05-09  Bruno Haible  <bruno@clisp.org>
52834
52835         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
52836         (Depends-on): Depend also on xsize, stdarg.
52837         (configure.ac): Add gl_XVASPRINTF.
52838
52839 2006-05-09  Bruno Haible  <bruno@clisp.org>
52840
52841         * m4/xvasprintf.m4: New file.
52842
52843 2006-05-09  Bruno Haible  <bruno@clisp.org>
52844
52845         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
52846         (EOVERFLOW): Define fallback value.
52847         (xstrcat): New function.
52848         (xvasprintf): Recognize the special case of a string concatenation.
52849
52850 2006-05-08  Eric Blake  <ebb9@byu.net>
52851
52852         * gnulib-tool (func_version): Base copyright year on CVS date.
52853         (func_emit_copyright_notice): New function.
52854         (func_emit_lib_Makefile_am): Use it.
52855         (func_emit_tests_Makefile_am): Likewise.
52856         (func_import): Likewise.
52857
52858 2006-05-08  Bruno Haible  <bruno@clisp.org>
52859
52860         * modules/stdarg: New file.
52861         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
52862
52863 2006-05-08  Bruno Haible  <bruno@clisp.org>
52864
52865         * m4/stdarg.m4: New file, from GNU gettext.
52866
52867 2006-05-08  Bruno Haible  <bruno@clisp.org>
52868
52869         * config/srclist.txt (build-aux/config.rpath): different from latest
52870         release.
52871
52872 2006-05-08  Bruno Haible  <bruno@clisp.org>
52873
52874         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
52875
52876 2006-05-05  Jim Meyering  <jim@meyering.net>
52877
52878         * m4/warning.m4: New file, derived from bison's file by the same name.
52879
52880 2006-05-03  Bruno Haible  <bruno@clisp.org>
52881
52882         * lib/stdint_.h: Shorter URL.
52883         * lib/inttypes.h: Likewise.
52884
52885 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52886
52887         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
52888
52889 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52890
52891         * lib/verify.h: Document the internals better.  Most of this change
52892         was written by Bruno Haible.
52893
52894 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52895
52896         * doc/verify.texi: New file, partly based on a proposal by
52897         Bruno Haible.
52898
52899 2006-05-02  Bruno Haible  <bruno@clisp.org>
52900
52901         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
52902         test from here...
52903         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
52904
52905 2006-04-29  Bruno Haible  <bruno@clisp.org>
52906
52907         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
52908         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
52909
52910 2006-04-29  Bruno Haible  <bruno@clisp.org>
52911
52912         * gnulib-tool: Make --update option actually work.
52913
52914 2006-04-29  Bruno Haible  <bruno@clisp.org>
52915
52916         * doc/gcd.texi: New file.
52917         * doc/gnulib.texi: Include it.
52918
52919 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
52920
52921         * lib/getdate.y (get_date): When adding relative date, start with the
52922         initial time, not with the result of the first mktime call.
52923
52924 2006-04-25  Bruno Haible  <bruno@clisp.org>
52925
52926         * gnulib-tool (func_import): Output the include directives in three
52927         blocks, sorted separately.
52928         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52929
52930 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
52931
52932         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
52933         to define main with arguments, for C++.  Reported by Eric Blake.
52934         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
52935         Prefer 'int main ()' to 'int main (void)', for C++.
52936         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
52937         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
52938         for 'main', for C99 and C++.
52939
52940 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
52941
52942         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
52943         Don't assume that exit status -1 is valid.
52944         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
52945         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
52946         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
52947         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
52948         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
52949         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
52950         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
52951         functions can be used without declaring them, or that you can
52952         exit with status -1.
52953         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
52954
52955 2006-04-24  Karl Berry  <karl@gnu.org>
52956
52957         * config/srclist.txt (longdouble.m4): sync lost.
52958
52959 2006-04-24  Eric Blake  <ebb9@byu.net>
52960
52961         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
52962
52963 2006-04-24  Bruno Haible  <bruno@clisp.org>
52964
52965         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
52966         poll() implementation in AIX.
52967         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52968
52969 2006-04-24  Bruno Haible  <bruno@clisp.org>
52970
52971         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
52972         assigned exactly once.
52973
52974 2006-04-23  Claudio Fontana  <claudio@gnu.org>
52975             Bruno Haible  <bruno@clisp.org>
52976
52977         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
52978         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
52979         for AM_CPPFLAGS.
52980
52981 2006-04-23  Bruno Haible  <bruno@clisp.org>
52982
52983         * modules/copy-file: Depend on unistd.
52984         * modules/execute: Likewise.
52985         * modules/fatal-signal: Likewise.
52986         * modules/findprog: Likewise.
52987         * modules/mkdtemp : Likewise.
52988         * modules/pipe: Likewise.
52989         * modules/wait-process: Likewise.
52990
52991 2006-04-23  Bruno Haible  <bruno@clisp.org>
52992
52993         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
52994         condition was already detected.
52995         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52996
52997 2006-04-23  Bruno Haible  <bruno@clisp.org>
52998
52999         * lib/copy-file.c: Include <unistd.h> unconditionally.
53000         * lib/execute.c: Likewise.
53001         * lib/fatal-signal.c: Likewise.
53002         * lib/findprog.c: Likewise.
53003         * lib/mkdtemp.c: Likewise.
53004         * lib/pipe.h: Likewise.
53005         * lib/pipe.c: Likewise.
53006         * lib/wait-process.h: Likewise.
53007
53008 2006-04-23  Bruno Haible  <bruno@clisp.org>
53009
53010         * gnulib-tool (func_usage): Fix --import description. Document
53011         --update.
53012         (func_import): Create temporary file in a temporary directory, if
53013         --dry-run is specified. Silence errors from 'grep' when there are no
53014         m4 files in $m4dir.
53015         (func_create_testdir): Silence errors from 'grep' when there are no
53016         m4 files in $m4dir.
53017         Reported by Karl Berry <karl@freefriends.org>.
53018
53019 2006-04-20  Bruno Haible  <bruno@clisp.org>
53020
53021         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
53022         one argument, so that the code will be portable to Autoconf 2.60.
53023         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
53024         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
53025         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
53026
53027 2006-04-19  Derek Price  <derek@ximbiot.com>
53028             Eric Blake  <ebb9@byu.net>
53029
53030         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
53031         rather than "/full/path.h".  Update comment to match.  Shorten &
53032         generalize m4_translit call via AS_TR_CPP.
53033
53034 2006-04-19  Derek Price  <derek@ximbiot.com>
53035             Eric Blake  <ebb9@byu.net>
53036
53037         * lib/inttypes.h: Correct grammar in comment.
53038
53039 2006-04-18  Derek Price  <derek@ximbiot.com>
53040             Paul Eggert  <eggert@cs.ucla.edu>
53041
53042         * modules/inttypes: New file.
53043         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
53044
53045 2006-04-18  Derek Price  <derek@ximbiot.com>
53046             Paul Eggert  <eggert@cs.ucla.edu>
53047
53048         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
53049         New files.
53050
53051 2006-04-18  Derek Price  <derek@ximbiot.com>
53052             Paul Eggert  <eggert@cs.ucla.edu>
53053
53054         * lib/inttypes.h: New file.
53055         * lib/strtoimax.c: Assume <inttypes.h>.
53056
53057 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
53058
53059         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
53060         isn't mounted.  Problem reported by Kir Kolyshkin.
53061
53062 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53063
53064         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
53065         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
53066         Derek R. Price.
53067         * lib/regex.h (RE_DUP_MAX): Update comment to match current
53068         implementation.
53069
53070 2006-04-12  Eric Blake  <ebb9@byu.net>
53071
53072         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
53073         is now done automatically by the corresponding Autoconf macro.
53074
53075 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
53076
53077         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
53078         time_r.h.
53079
53080 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53081
53082         Merge regex changes from libc, removing some of our
53083         POSIX-conformance changes that were rejected and redoing them in a
53084         less-intrusive way.
53085
53086         * lib/regcomp.c (re_compile_internal, init_dfa):
53087         Length arg is now size_t, not Idx.  All uses changed.
53088         (peek_token): Forward decl now says internal_function.
53089         (__re_error_msgid, __re_error_msgid_idx):
53090         Now static rather than extern with attribute_hidden.
53091         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
53092         For some reason libc prefers K&R style defns for external functions.
53093         (regerror) [!defined _LIBC]: Likewise.
53094         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
53095         (seek_collating_symbol_entry, lookup_collation_sequence_value):
53096         (build_range_exp, build_collating_symbol):
53097         Use K&R-style defn.
53098         (re_compile_fastmap): Use '\0' to memset, not 0.
53099         (utf8_sb_map): Make the calculations more obvious.
53100         (init_dfa, parse_bracket_exp, build_charclass_op):
53101         Call calloc and cast result, as glibc does.
53102         (init_word_char, fetch_token, peek_token, peek_token_bracket):
53103         (build_range_exp, build_collating_symbol):
53104         Now internal functions.
53105
53106         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
53107
53108         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
53109         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
53110         Don't depend on VMS; depend on __VMS instead, for POSIX
53111         namespace cleanness.
53112         (regoff_t): Define to ssize_t, not long int.
53113
53114         Remove the REG_ macros named below.  Instead, make the old names
53115         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
53116         __USE_GNU_REGEX.
53117         (REG_BACKSLASH_ESCAPE_IN_LISTS):
53118         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
53119         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
53120         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
53121         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
53122         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
53123         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
53124         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
53125         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
53126         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
53127         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
53128         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
53129         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
53130         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
53131         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
53132         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
53133         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
53134         (REG_NREGS):
53135         Remove.  All uses replaced by the old RE_* names.
53136         (RE_BACKSLASH_ESCAPE_IN_LISTS):
53137         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
53138         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
53139         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
53140         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
53141         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
53142         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
53143         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
53144         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
53145         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
53146         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
53147         Don't bother having these macros be independent of each others'
53148         values, since they no longer exist in the POSIX name space.
53149
53150         Rename the following member names back to their old names,
53151         unless !__USE_GNU_REGEX.  All uses changed back.
53152         (buffer): Renamed from re_buffer.
53153         (allocated): Renamed from re_allocated.
53154         (used): Renamed from re_used.
53155         (syntax): Renamed from re_syntax.
53156         (fastmap): Renamed from re_fastmap.
53157         (translate): Renamed from re_translate.
53158         (can_be_null): Renamed from re_can_be_null.
53159         (regs_allocated): Renamed from re_regs_allocated.
53160         (fastmap_accurate): Renamed from re_fastmap_accurate.
53161         (no_sub): Renamed from re_no_sub.
53162         (not_bol): Renamed from re_not_bol.
53163         (not_eol): Renamed from re_not_eol.
53164         (newline_anchor): Renamed from re_newline_anchor.
53165         (num_regs): Renamed from rm_num_regs.
53166         (start): Renamed from rm_start.
53167         (end): Renamed from rm_end.
53168
53169         (free_state): Move up a bit.
53170
53171         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
53172         #define to be empty.
53173         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
53174         when that is what is intended.
53175         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
53176         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
53177         (MAX): New macro.
53178         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
53179         All uses changed back to re_malloc, etc.  It's now the caller's
53180         responsibility to check for overflow; all callers changed.
53181         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
53182         (re_x2nrealloc): Remove.
53183         (free_state): Remove decl.
53184
53185         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
53186         (re_set_registers, re_exec):
53187         Use K&R-style defn.
53188
53189         2006-01-31  Roland McGrath  <roland@redhat.com>
53190
53191         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
53192         Reported by Mike Frysinger <vapier@gentoo.org>.
53193
53194         2006-01-15  Andreas Jaeger  <aj@suse.de>
53195
53196         [BZ #1950]
53197         * lib/regex_internal.c (re_string_reconstruct): Adjust for
53198         build_wcs_upper_buffer change.
53199         (build_wcs_upper_buffer): Change return type.
53200
53201         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
53202
53203         * lib/regex_internal.h: Include <stdint.h> if available.
53204
53205         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
53206
53207         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
53208
53209         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
53210
53211         * lib/regcomp.c: Adjust for changed secondary hash function.
53212
53213         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
53214
53215         * lib/regex.h: Pretty printing.
53216         Clean up namespace a bit.
53217
53218         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
53219
53220         * lib/regexec.c (update_cur_sifted_state, check_arrival,
53221         check_arrival_add_next_nodes): Avoid using uninitialized variable.
53222
53223         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53224                     Ulrich Drepper  <drepper@redhat.com>
53225
53226         [BZ #1302]
53227         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
53228         changed.
53229         (bitset_word_t): Renamed from bitset_word.  All uses changed.
53230
53231         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
53232
53233         [BZ #281]
53234         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
53235         * lib/regcomp.c: Remove unnecessary uses of
53236         unsigned RE_TRANSLATE_TYPE.
53237         * lib/regex_internal.h: Likewise.
53238         * lib/regex_internal.c: Likewise.
53239         * lib/regexec.c: Likewise.
53240         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
53241
53242         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
53243
53244         * lib/regexec.c (find_recover_state): Remove unnecessary
53245         initialization.
53246         (transit_state_bkref): Make DFA a const pointer.
53247         (get_subexp): Likewise.
53248         (check_arrival): Likewise.
53249         (update_cur_sifted_state): Likewise.
53250         (re_search_internal): Likewise.
53251         (prune_impossible_nodes): Likewise.
53252         (acquire_init_state_context): Likewise.
53253         (proceed_next_node): Likewise.
53254         (set_regs): Likewise.
53255         (free_fail_stack_return): Likewise.
53256         (check_arrival_expand_ecl): Mark DFA parameter as const.
53257         (check_arrival_expand_ecl_sub): Likewise.
53258         (check_subexp_limits): Likewise.
53259         (sub_epsilon_src_nodes):  Likewise.
53260         (add_epsilon_src_nodes):  Likewise.
53261         (merge_state_array): Likewise.
53262         (update_regs): Likewise.
53263         (build_trtable): Likewise.
53264         (sift_states_backward): Mark MCTX parameter as const.
53265         (build_sifted_states): Likewise.
53266         (update_cur_sifted_state): Likewise.
53267         (sift_states_mkref): Likewise.
53268         (check_arrival_expand_ecl): Mark eclosure as const.
53269         (check_dst_limits_calc_pos_1): Likewise.
53270         * lib/regex_internal.h (re_match_context_t): Make dfa a const
53271         pointer.
53272
53273         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
53274
53275         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
53276         (transit_state_sb): Likewise.
53277         (transit_state_mb): Likewise.
53278         (sift_states_iter_mb): Likewise.
53279         (check_arrival_add_next_nodes): Likewise.
53280         (check_node_accept_bytes): Change first parameter to pointer-to-const.
53281         [_LIBC] (re_search_2_stub): Use mempcpy.
53282
53283         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
53284         mbrtowc for very simple UTF-8 case.
53285
53286         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
53287         a pointer-to-const.
53288         (re_acquire_state_context): Likewise.
53289         * lib/regex_internal.h: Adjust prototypes.
53290
53291         * lib/regex.c: Prevent using C++ compilers.
53292
53293         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
53294         (re_acquire_state_context): Likewise.
53295
53296 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53297
53298         * modules/regex (Depends-on): Add ssize_t.
53299
53300 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53301
53302         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
53303         translation table.
53304
53305 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53306
53307         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
53308
53309 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
53310             Bruno Haible  <bruno@clisp.org>
53311
53312         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
53313         <sys/types.h> and <inttypes.h>.
53314
53315 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53316
53317         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
53318         `__error_t_defined', so argp.h will not typedef the former.
53319
53320 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
53321
53322         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
53323         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
53324         glibc names.  Even if glibc is changed to conform to POSIX, the
53325         traditional names will be available anyway, since regex depends on
53326         the extensions module.  Also, fix a longstanding typo in the
53327         implementation of Spencer ERE test #75 from grep 2.3.  Problems
53328         reported by Emanuele Giaquinta.  Also, change sense of cached
53329         variable, so that the message makes sense.
53330
53331 2006-03-24  Simon Josefsson  <jas@extundo.com>
53332
53333         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
53334         including some doc fixes.
53335         (base64_encode_alloc): Fix +1 bug on allocation failures.
53336
53337 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53338
53339         * lib/base64.c (base64_encode): Do not read past end of array with
53340         unsanitized input on systems with CHAR_BIT > 8.
53341
53342 2006-03-24  Eric Blake  <ebb9@byu.net>
53343
53344         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
53345
53346 2006-03-22  Karl Berry  <karl@gnu.org>
53347
53348         * config/srclist.txt (*setenv.[ch]): get from coreutils.
53349         * config/srclistvars.sh (COREUTILS): new var.
53350
53351 2006-03-17  Jim Meyering  <jim@meyering.net>
53352
53353         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
53354         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
53355
53356 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
53357
53358         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
53359         no longer needs it.  Instead, check that regoff_t is as least
53360         as wide as ptrdiff_t.
53361
53362         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
53363         so that our regex.h stays compatible with the installed regex.
53364         This is helpful for installers who configure --without-included-regex.
53365         Problem reported by Emanuele Giaquinta.
53366
53367 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
53368
53369         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
53370         Typedef to long int, not to off_, as POSIX will likely change
53371         in that direction.
53372
53373 2006-03-15  Eric Blake  <ebb9@byu.net>
53374
53375         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
53376
53377 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
53378
53379         * lib/argp-help.c (validate_uparams): Fix typo
53380         * lib/argp-parse.c (argp_default_options): Consistently begin help
53381         messages with a lowercase letter.
53382
53383 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
53384
53385         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
53386         overrun buffers and shouldn't be used (much as gets shouldn't be
53387         used).
53388         * lib/time_r.c (asctime_r, ctime_r): Likewise.
53389
53390 2006-03-08  Simon Josefsson  <jas@extundo.com>
53391
53392         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
53393         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53394
53395 2006-03-08  Simon Josefsson  <jas@extundo.com>
53396
53397         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
53398         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53399
53400 2006-03-08  Simon Josefsson  <jas@extundo.com>
53401
53402         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
53403         signal that configure disabled the device.
53404
53405 2006-03-08  Simon Josefsson  <jas@extundo.com>
53406
53407         * build-aux/maint.mk: Fix refresh-po, to handle no translated
53408         languages.
53409
53410 2006-03-07  Simon Josefsson  <jas@extundo.com>
53411
53412         * modules/getopt (Depends-on): Add unistd.
53413
53414         * modules/unistd: New file.
53415
53416 2006-03-07  Simon Josefsson  <jas@extundo.com>
53417
53418         * modules/gc-random: New file.
53419
53420 2006-03-07  Simon Josefsson  <jas@extundo.com>
53421
53422         * m4/unistd_h.m4: New file.
53423
53424 2006-03-07  Simon Josefsson  <jas@extundo.com>
53425
53426         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
53427         test to be side-effect free by storing the result in the cache
53428         variable gl_cv_lib_readline, and moving the assignment of
53429         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
53430         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53431
53432 2006-03-07  Simon Josefsson  <jas@extundo.com>
53433
53434         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
53435         error on missing devices (the functions will return an error).
53436
53437         * m4/gc.m4: Move random stuff to gc-random.m4
53438
53439 2006-03-07  Simon Josefsson  <jas@extundo.com>
53440
53441         * lib/unistd_.h: New file.
53442
53443 2006-03-07  Simon Josefsson  <jas@extundo.com>
53444
53445         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
53446
53447 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53448
53449         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
53450         Problem reported by Juan Manuel Guerrero.
53451
53452 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53453
53454         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
53455         the unistd module.
53456         * lib/getlogin_r.c: Likewise.
53457         * lib/getlogin_r.h: Likewise.
53458         * lib/glob.c: Likewise.
53459         * lib/pagealign_alloc.c: Likewise.
53460         * lib/unistd_.h: Remove; no longer needed.
53461
53462 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53463
53464         * MODULES.html.sh (Support for systems lacking POSIX:2001):
53465         Add unistd.
53466         * modules/c-stack (Depends-on): Add unistd.
53467         * modules/getlogin_r: Likewise.
53468         * modules/glob: Likewise.
53469         * modules/pagealign_alloc: Likewise.
53470         * modules/unistd (Files): Remove lib/unistd_.h.
53471         (EXTRA_DIST): Remove.
53472         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
53473         need unistd_.h.
53474         (MOSTLYCLEANFILES): Remove unistd.h-t.
53475
53476 2006-03-03  Simon Josefsson  <jas@extundo.com>
53477
53478         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
53479
53480 2006-03-03  Simon Josefsson  <jas@extundo.com>
53481
53482         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
53483         libidn and bison.
53484
53485 2006-03-03  Simon Josefsson  <jas@extundo.com>
53486
53487         * build-aux/maint.mk: Add indent target.
53488
53489 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
53490
53491         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
53492         our replacement poll.h in any case, to avoid a differing
53493         declaration from a system header.  Seen on AIX.
53494
53495 2006-03-01  Simon Josefsson  <jas@extundo.com>
53496
53497         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
53498         <kasal@ucw.cz>.
53499
53500 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53501
53502         * modules/gettime (Depends-on): Add extensions module.
53503         * modules/nanosleep (Depends-on): Likewise.
53504         * modules/settime (Depends-on): Likewise.
53505
53506 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53507
53508         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
53509         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
53510         pedantically.
53511         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53512         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
53513
53514         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
53515         not "==".  Reported by Ralf Wildenhues.
53516
53517 2006-03-01  Karl Berry  <karl@gnu.org>
53518
53519         * doc/Copyright/request-*: new files, synced from gnuorg.
53520
53521 2006-03-01  Karl Berry  <karl@gnu.org>
53522
53523         * config/srclist.txt (Copyright/*): new entries.
53524
53525 2006-02-28  Simon Josefsson  <jas@extundo.com>
53526
53527         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
53528
53529 2006-02-27  Simon Josefsson  <jas@extundo.com>
53530
53531         * lib/base64.h: Indent #define's.  From Jim Meyering
53532         <jim@meyering.net>.
53533
53534 2006-02-27  Jim Meyering  <jim@meyering.net>
53535
53536         Revert the change of 2006-02-24, so these files can continue
53537         to be sync'd from gettext.
53538         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
53539         of `config.h'.
53540
53541 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
53542
53543         * modules/intprops: New file.
53544         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
53545         Add intprops.
53546         * modules/getloadavg (Files): Remove lib/intprops.h.
53547         (Depends-on): Add intprops.
53548         * modules/human: Likewise.
53549         * modules/inttostr: Likewise.
53550         * modules/openat: Likewise.
53551         * modules/sig2str: Likewise.
53552         * modules/userspec: Likewise.
53553         * modules/utimecmp: Likewise.
53554         * modules/xnanosleep: Likewise.
53555         * modules/xstrtol: Likewise.
53556
53557 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
53558
53559         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
53560         * modules/lock-tests (TESTS): Use $(EXEEXT).
53561         * modules/tls-tests: Likewise.
53562         * modules/argp-tests: Likewise.
53563         (check_PROGRAMS): New var, replacing...
53564         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
53565
53566 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53567
53568         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
53569         `config.h'.
53570
53571 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
53572
53573         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
53574
53575 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53576
53577         Sync from coreutils.
53578         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
53579         gl_CHDIR_SAFER.
53580
53581 2006-02-22  Jim Meyering  <jim@meyering.net>
53582
53583         Sync from coreutils.
53584         * m4/chdir-safer.m4: New file.
53585
53586 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
53587
53588         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
53589         AT_FDCWD exceeds INT_MAX.
53590         * lib/openat.h (AT_FDCWD): Likewise.
53591
53592 2006-02-17  Eric Blake  <address@hidden>
53593
53594         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
53595
53596 2006-02-16  Simon Josefsson  <jas@extundo.com>
53597
53598         * modules/getaddrinfo (Depends-on): Add sys_socket.
53599
53600 2006-02-15  Simon Josefsson  <jas@extundo.com>
53601
53602         * build-aux/maint.mk: Add dsyntax-check rule.
53603
53604 2006-02-15  Eric Blake  <ebb9@byu.net>
53605
53606         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
53607         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
53608         'present but cannot compile' warnings on cygwin.
53609         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
53610         use ws2tcpip.h if sys/socket.h works.
53611         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
53612         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
53613
53614 2006-02-14  Simon Josefsson  <jas@extundo.com>
53615
53616         * modules/maintainer-makefile (Files): Rename.
53617
53618         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
53619         and (the local) Makefile.cfg to maint-cfg.mk.
53620
53621         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
53622         to the latter.
53623
53624         * modules/maintainer-makefile: New module.
53625
53626         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
53627         severaly stripped to make it possible to build it up from scratch
53628         with reliable tests.
53629
53630         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
53631         fixes to permit overriding the default actions when configure and
53632         makefile are not available.
53633
53634 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
53635
53636         Sync from coreutils.
53637         * modules/lstat (Depends-on): Don't depend on xalloc.
53638         (License): Change from GPL to LGPL, since this is now simply a
53639         replacement for a libc function.
53640
53641 2006-02-14  Jim Meyering  <jim@meyering.net>
53642
53643         Sync from coreutils.
53644
53645         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
53646         failure on deficient systems, and simplify gnulib lgpl dependencies.
53647         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
53648         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
53649
53650         * lib/xalloc-die.c: Remove unused definition of N_.
53651
53652 2006-02-14  Jim Meyering  <jim@meyering.net>
53653
53654         Sync from coreutils.
53655         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
53656         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
53657         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
53658         double-quote uses of that variable, to accommodate the rare case in
53659         which getmntent is available in none of the libraries checked.  This
53660         happens at least on FreeBSD 5.0.
53661
53662 2006-02-13  Simon Josefsson  <jas@extundo.com>
53663
53664         * gnulib-tool (Usage): Fix --import, from
53665         karl@freefriends.org (Karl Berry).
53666
53667 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
53668
53669         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
53670
53671 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
53672
53673         * lib/argp-namefrob.h: Restore changes accidentally lost during the
53674         "autoupdate" on 2005-12-12.
53675
53676 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
53677
53678         * modules/closeout (Depends-on): Remove atexit.
53679
53680 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
53681
53682         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
53683         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
53684
53685 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
53686
53687         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
53688         __EXTENSIONS__ if this causes compilation to fail.  Problem
53689         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
53690         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
53691
53692 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
53693
53694         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
53695         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
53696         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
53697         All uses changed.
53698
53699 2006-01-26  Simon Josefsson  <jas@extundo.com>
53700
53701         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
53702         prototype is visible on mingw32.
53703
53704         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
53705         for mingw32.
53706
53707         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
53708         mingw32).
53709
53710 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
53711
53712         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
53713         attempt to open for write; this always fails, at least on POSIX
53714         hosts.  This reinstates the 2006-01-09 change, which was
53715         inadvertently removed.
53716
53717 2006-01-26  Bruno Haible  <bruno@clisp.org>
53718
53719         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
53720         Reported by Paul Eggert.
53721
53722 2006-01-26  Bruno Haible  <bruno@clisp.org>
53723             Paul Eggert  <eggert@cs.ucla.edu>
53724
53725         * lib/stdbool_.h (_Bool)
53726         [(! (defined __cplusplus || defined __BEOS__)
53727           && !defined __GNUC__
53728           && !(defined __HP_cc || defined __xlc__
53729                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
53730                || defined __sgi))]:
53731         #define to signed char in these cases too; this simplifies
53732         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
53733         etc., separately) and makes it more conservative.
53734
53735 2006-01-25  Simon Josefsson  <jas@extundo.com>
53736
53737         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
53738         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
53739         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
53740
53741 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
53742
53743         * lib/argp-namefrob.h: Bugfix. Remove stray #
53744
53745 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
53746
53747         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
53748         so that we test the test.
53749         Check for yet another HP-UX cc bug involving *bool |= bool.
53750
53751 2006-01-25  Karl Berry  <karl@gnu.org>
53752
53753         * config/srclist.txt (vasnprintf.c): sync lost.
53754
53755 2006-01-25  Jim Meyering  <jim@meyering.net>
53756
53757         Sync from the stable (b5) branch of coreutils:
53758
53759         * lib/fts.c (fts_children): Don't let close() clobber errno from
53760         failed fchdir().
53761
53762         * lib/fts.c (fts_stat): When following a symlink-to-directory,
53763         don't necessarily interpret stat-fails+lstat-succeeds as indicating
53764         a dangling symlink.  That can also happen at least for ELOOP.
53765         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
53766         FYI, this bug predates the inclusion of fts.c in coreutils.
53767
53768         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
53769         in their own block, so pre-c99 compilers don't object.
53770
53771         Avoid the double-free (first in fts_read, second in fts_close) that
53772         would occur when an `active' directory is made inaccessible (e.g.,
53773         via chmod a-x) during a traversal.
53774         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
53775         before returning.  Reproduce this failure by
53776         mkdir -p a/b; cd a; chmod a-x . b
53777         Reported by Stavros Passas.
53778
53779 2006-01-25  Jim Meyering  <jim@meyering.net>
53780
53781         * lib/fileblocks.c: Remove more useless parentheses.
53782         * lib/readutmp.h: Likewise.
53783
53784 2006-01-25  Bruno Haible  <bruno@clisp.org>
53785
53786         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
53787         warnings.
53788         Reported by Paul Eggert.
53789
53790 2006-01-25  Bruno Haible  <bruno@clisp.org>
53791
53792         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
53793         rid of a trap command. For Solaris sh.
53794         Reported by Mark D. Baushke <mdb@gnu.org>.
53795
53796 2006-01-24  Simon Josefsson  <jas@extundo.com>
53797
53798         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
53799         Bruno.
53800
53801 2006-01-24  Karl Berry  <karl@gnu.org>
53802
53803         * config/srclist.txt (argp-namefrob.h): sync lost.
53804
53805 2006-01-24  Jim Meyering  <jim@meyering.net>
53806
53807         * modules/openat (Files): Add lib/intprops.h.
53808         From Mark D. Baushke.
53809
53810 2006-01-24  Jim Meyering  <jim@meyering.net>
53811
53812         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
53813         Reported by Mark D. Baushke.
53814
53815 2006-01-24  Jim Meyering  <jim@meyering.net>
53816
53817         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
53818
53819 2006-01-24  Bruno Haible  <bruno@clisp.org>
53820
53821         * modules/strnlen (Maintainer): Change from glibc to all.
53822
53823 2006-01-24  Bruno Haible  <bruno@clisp.org>
53824
53825         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
53826         Patch by Paul Eggert.
53827
53828 2006-01-24  Bruno Haible  <bruno@clisp.org>
53829
53830         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
53831         already has it.
53832         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
53833         2005-11-26.
53834
53835         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
53836         'signed char' to avoid problems with the built-in _Bool type.
53837         Reported by Paul Eggert on 2005-11-26.
53838
53839 2006-01-24  Bruno Haible  <bruno@clisp.org>
53840
53841         * gnulib-tool (func_import): Avoid constructing complicated sed
53842         expressions inside backquote.
53843         Report and solution by Mark D. Baushke <mdb@gnu.org>.
53844
53845 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
53846
53847         These changes imported from libc.
53848         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
53849         test and two separate function calls.
53850         * lib/strndup.c (__strndup): Add libc_hidden_def.
53851
53852 2006-01-23  Simon Josefsson  <jas@extundo.com>
53853
53854         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
53855         Remove the test_*_SOURCES variable: automake infers it by default.
53856         * modules/tls-tests: Likewise.
53857
53858 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53859
53860         Work around porting bugs reported by Dieter in
53861         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
53862         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
53863         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
53864         Include "getopt.h" first, to check interface.
53865         (getenv): Declare only if defined HAVE_DECL_GETENV &&
53866         !HAVE_DECL_GETENV.
53867         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
53868         (__strndup): Revert to K&R-style function dfns, the glibc style.
53869         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
53870         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
53871         Include strnlen.h first, to get prototype properly.
53872         (strnlen): Renamed from __strnlen.
53873         Remove weak alias.
53874
53875 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53876
53877         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
53878
53879 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53880
53881         * config/srclist.txt: Adjust to reflect glibc reorganization.
53882         This affects only comments.
53883
53884 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53885
53886          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
53887          Reported by Bruce Korb <bkorb@gnu.org>.
53888
53889 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
53890
53891         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
53892         to pacify gcc -Wswitch-default.
53893
53894 2006-01-22  Bruno Haible  <bruno@clisp.org>
53895
53896         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
53897         temporary buffer for sprintf, take into account the precision also
53898         for 'd', 'i', 'u', 'o', 'x', 'X'.
53899
53900 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
53901
53902         * modules/argp-tests: New module
53903         * tests/test-argp.c: New file
53904         * tests/test-argp-2.sh: New file
53905
53906 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
53907
53908         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
53909         (__argp_base_name): Removed
53910         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
53911         typo.
53912         (__argp_base_name): Provide macro definition or extern declaration
53913         depending on the configuration
53914
53915 2006-01-20  Simon Josefsson  <jas@extundo.com>
53916
53917         * modules/inet_ntop (Depends-on): Depend on sys_socket.
53918
53919 2006-01-20  Simon Josefsson  <jas@extundo.com>
53920
53921         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
53922
53923 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
53924
53925         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
53926         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
53927         Suggested by Bruno Haible.
53928
53929 2006-01-20  Karl Berry  <karl@gnu.org>
53930
53931         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
53932         until changes propagate, I guess.
53933
53934 2006-01-19  Simon Josefsson  <jas@extundo.com>
53935
53936         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
53937
53938 2006-01-19  Simon Josefsson  <jas@extundo.com>
53939
53940         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
53941
53942 2006-01-19  Simon Josefsson  <jas@extundo.com>
53943
53944         * gnulib-tool: Set check_PROGRAMS.
53945
53946         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
53947         modules/des-tests, modules/gc-arcfour-tests,
53948         modules/gc-arctwo-tests, modules/gc-des-tests,
53949         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
53950         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
53951         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
53952         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
53953         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
53954         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
53955         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
53956         test_*_SOURCES.
53957
53958 2006-01-18  Simon Josefsson  <jas@extundo.com>
53959
53960         * modules/socklen (Depends-on): Depend on sys_socket.
53961
53962 2006-01-18  Simon Josefsson  <jas@extundo.com>
53963
53964         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
53965         modules/des-tests, modules/gc-arcfour-tests,
53966         modules/gc-arctwo-tests, modules/gc-des-tests,
53967         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
53968         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
53969         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
53970         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
53971         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
53972         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
53973         $(EXEEXT) to automake TESTS variable, for mingw32.
53974
53975 2006-01-17  Simon Josefsson  <jas@extundo.com>
53976
53977         * modules/socklen (Include): Need sys/socket.h.
53978
53979 2006-01-17  Bruno Haible  <bruno@clisp.org>
53980
53981         * modules/ssize_t (Include): Add <sys/types.h>.
53982
53983 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
53984
53985         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
53986         it's not portable and it doesn't work with cross-compiles.
53987         Problem reported by Bruno Haible.  Fix missing-$ typo in
53988         'test "gl_cv_ignore_unused_libraries" ...' that prevented
53989         -zignore from being used with Sun's C compiler.
53990
53991 2006-01-12  Simon Josefsson  <jas@extundo.com>
53992
53993         * lib/base64.c: Fix warning, reported by Bruno Haible
53994         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
53995
53996 2006-01-12  Bruno Haible  <bruno@clisp.org>
53997
53998         * modules/ldd: New file.
53999         * build-aux/ldd.sh.in: New file.
54000         * MODULES.html.sh (Support for building libraries and executables): Add
54001         ldd.
54002
54003 2006-01-12  Bruno Haible  <bruno@clisp.org>
54004
54005         * m4/ldd.m4: New file.
54006
54007 2006-01-12  Bruno Haible  <bruno@clisp.org>
54008
54009         * gnulib-tool (func_import, func_create_testdir): Don't go into an
54010         endless loop while replacing $auxdir with build-aux.
54011
54012 2006-01-11  Simon Josefsson  <jas@extundo.com>
54013
54014         * lib/stdint_.h (SIZE_MAX): Add missing (.
54015
54016 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
54017
54018         Sync from coreutils.
54019         * lib/md5.c: Fix commentary typos.
54020         (alignof, UNALIGNED_P): No need for a GCC-specific version.
54021         * lib/md5.h (__attribute__): Remove; unused.
54022         * lib/sha1.c: Fix commentary to match md5 better.
54023         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
54024         so that we don't need to worry about alignment.  All uses changed.
54025         This merges the 2005-10-28 md5 change into sha1.
54026
54027 2006-01-11  Jim Meyering  <jim@meyering.net>
54028
54029         Sync from coreutils.
54030         * lib/md5.c (OP): Fix spacing.
54031
54032 2006-01-11  Bruno Haible  <bruno@clisp.org>
54033
54034         Ensure automatic ordering between gl_LOCK and gl_ARGP.
54035         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
54036         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
54037
54038 2006-01-11  Bruno Haible  <bruno@clisp.org>
54039
54040         Ensure automatic ordering between gl_LOCK and gl_ARGP.
54041         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
54042         the "early" section as well.
54043
54044 2006-01-11  Bruno Haible  <bruno@clisp.org>
54045
54046         Avoid "ar: no archive members specified" error on MacOS X.
54047         * gnulib-tool (func_modules_add_dummy): New function.
54048         (func_import, func_create_testdir): Invoke it.
54049
54050 2006-01-11  Bruno Haible  <bruno@clisp.org>
54051
54052         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
54053         with $auxdir in AC_CONFIG_FILES statements.
54054
54055 2006-01-11  Bruno Haible  <bruno@clisp.org>
54056
54057         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54058         Initialize also noinst_HEADERS to empty.
54059
54060 2006-01-11  Bruno Haible  <bruno@clisp.org>
54061
54062         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
54063         variables.
54064         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
54065         autoreconf.
54066
54067 2006-01-11  Bruno Haible  <bruno@clisp.org>
54068
54069         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
54070         overridable by the user.
54071         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54072
54073 2006-01-10  Simon Josefsson  <jas@extundo.com>
54074
54075         * modules/sys_socket: New file.
54076
54077 2006-01-10  Simon Josefsson  <jas@extundo.com>
54078
54079         * m4/sys_socket_h.m4: New file.
54080
54081 2006-01-10  Simon Josefsson  <jas@extundo.com>
54082
54083         * lib/socket_.h: New file.
54084
54085 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54086
54087         * modules/readutmp (Maintainer): Add myself.
54088
54089 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54090
54091         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
54092         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
54093         People who are still concerned with buggy memcmp implementations
54094         can invoke gl_FUNC_MEMCMP themselves.
54095
54096 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54097
54098         * lib/regex_internal.h (BITSET_WORD_BITS):
54099         Work around a bug in 64-bit PGC (before version 6.1-2), where the
54100         preprocessor mishandles large unsigned values as if they were signed.
54101         Problem reported by Claudio Fontana in
54102         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
54103
54104 2006-01-10  Jim Meyering  <jim@meyering.net>
54105
54106         Avoid the double-free (first in fts_read, second in fts_close) that
54107         would occur when an `active' directory is made inaccessible (e.g.,
54108         via chmod a-x) during a traversal.
54109         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
54110         before returning.  Reproduce this failure by
54111         mkdir -p a/b; cd a; chmod a-x . b
54112         Reported by Stavros Passas.
54113
54114         Sync from coreutils.
54115         * lib/sha1.c: Tweak grammar in a comment.
54116
54117 2006-01-10  Jim Meyering  <jim@meyering.net>
54118
54119         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
54120         Patch by Joerg Sonnenberger.
54121
54122 2006-01-10  Bruno Haible  <bruno@clisp.org>
54123
54124         * modules/readutmp: Depend on module free.
54125         * modules/strtok_r: Depend on module restrict.
54126
54127 2006-01-10  Bruno Haible  <bruno@clisp.org>
54128
54129         * modules/gettext (configure.ac): Add an invocation of
54130         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
54131
54132 2006-01-10  Bruno Haible  <bruno@clisp.org>
54133
54134         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
54135         Reported by Werner Lemberg <wl@gnu.org>.
54136
54137 2006-01-10  Bruno Haible  <bruno@clisp.org>
54138
54139         * lib/localcharset.c: Update from GNU gettext.
54140
54141 2006-01-10  Bruno Haible  <bruno@clisp.org>
54142
54143         * lib/argp.h (__const): Remove macro. Use const instead.
54144         * lib/argp-fmtstream.h (__const): Likewise.
54145         * lib/glob_.h (__const): Remove macro.
54146         * lib/glob-libc.h: Use const instead of __const.
54147
54148 2006-01-10  Bruno Haible  <bruno@clisp.org>
54149
54150         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
54151         variable.
54152         Needed to avoid an automake error regarding the 'gettext' module.
54153
54154 2006-01-09  Simon Josefsson  <jas@extundo.com>
54155
54156         * modules/inet_ntop (Depends-on): Add restrict.
54157
54158 2006-01-09  Simon Josefsson  <jas@extundo.com>
54159
54160         * modules/gc-rijndael-tests (License): Put under LGPL.
54161
54162         * modules/gc-des-tests (License): Likewise.
54163
54164         * modules/gc-arcfour-tests (License): Likewise.
54165
54166         * modules/gc-arctwo-tests (License): Likewise.
54167
54168         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
54169
54170         * modules/gc-hmac-sha1-tests (Files): Likewise.
54171
54172         * modules/gc-hmac-md5-tests (License): Likewise.
54173
54174         * modules/gc-sha1-tests (License): Likewise.
54175
54176         * modules/gc-md5-tests (License): Likewise.
54177
54178         * modules/gc-md4-tests (License): Likewise.
54179
54180         * modules/gc-md2-tests (License): Likewise.
54181
54182         * modules/gc-tests (License): Likewise.
54183
54184         * modules/des-tests (License): Likewise.
54185
54186         * modules/md4-tests (License): Likewise.
54187
54188         * modules/md2-tests (License): Likewise.
54189
54190 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54191
54192         Sync from coreutils:
54193
54194         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
54195         * modules/lib-ignore: New file.
54196         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
54197         chdir-safer.m4, lchmod.m4.
54198         * modules/openat: Add mkdirat.c, openat-priv.h.
54199
54200 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54201
54202         Sync from coreutils.
54203         * m4/lib-ignore.m4: New file.
54204         * m4/lchmod.m4: New file.
54205
54206 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54207
54208         Sync from coreutils.
54209         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
54210         for write access: POSIX says that must fail.
54211         * lib/fts.c (diropen): Likewise.
54212         * lib/save-cwd.c (save_cwd): Likewise.
54213         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
54214         well, for minor improvements on hosts that lack O_DIRECTORY.
54215         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
54216         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
54217         Fall back on chown if open failed with EACCES.
54218
54219         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
54220         Report an error at compile-time if only a 1-second nominal clock
54221         resolution is found.
54222
54223         * lib/lchmod.h: New file.
54224         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
54225         (make_dir_parents): Use lchown rather than chown, and
54226         lchmod rather than chmod.
54227
54228         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
54229         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
54230         "proc" reported by n0dalus.
54231
54232         * lib/mountlist.c: Include <limits.h>.
54233         (dev_from_mount_options)
54234         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
54235         New function.  It no longer assumes "dev=" has the System V meaning
54236         on Linux (since it doesn't).  It also parses "dev=" more carefully.
54237         (read_file_system_list)
54238         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
54239         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
54240         dev= in that case.
54241
54242         * lib/posixtm.h (PDS_PRE_2000): New macro.
54243         * lib/posixtm.c (year): Arg is now syntax_bits rather than
54244         allow_century.  All usages changed.  Reject dates outside the range
54245         1969-1999 if PDS_PRE_2000 is used.
54246
54247 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54248
54249         Sync from coreutils.
54250         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
54251         (Time of day items): Mention the possibility of leap seconds.
54252         Problem reported by Dr. David Alan Gilbert.
54253
54254 2006-01-09  Jim Meyering  <jim@meyering.net>
54255
54256         Sync from coreutils.
54257
54258         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
54259
54260         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
54261
54262         * lib/modechange.c (mode_compile): Reject an invalid mode string
54263         that starts with an octal digit.  From Andreas Gruenbacher.
54264
54265         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
54266         and dup to open_safer and dup_safer, respectively.
54267         (openat_permissive): Fix typo in comment.
54268
54269         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
54270         "gettext.h"; either no longer needed or are guaranteed by openat.h.
54271         (_): Remove; no longer needed.
54272         (openat): Renamed from rpl_openat; no need for rpl_openat
54273         since openat.h renames openat for us.
54274         Replace most of the body with a call to openat_permissive,
54275         to avoid duplicate code.
54276         Port to (probably hypothetical) environments were mode_t is
54277         wider than int.
54278         (openat_permissive): Require mode arg, so that we can check
54279         types better.  Put it just after flags.  Change cwd failure
54280         indicator from pointer-to-bool to pointer-to-errno-value.
54281         All callers changed.
54282         Invoke openat_save_fail and/or openat_restore_fail if
54283         cwd_errno is null, so that openat can call us.
54284         (openat_permissive, fdopendir, fstatat, unlinkat):
54285         Simplify errno handling to avoid some duplicate code,
54286         as it's OK to set errno on success.
54287         * lib/openat.h: Revamp code so that function macros depend on
54288         __OPENAT_PREFIX only, not also on AT_FDCWD.
54289         (openat_ro): Remove.  Caller changed to use openat_permissive.
54290         (openat_permissive): Now a macro, if not a function.
54291         (openat_restore_fail, openat_save_fail): Now always functions,
54292         since mkdirat needs them even if __OPENAT_PREFIX is defined.
54293
54294         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
54295         and openat.c.
54296         * lib/mkdirat.c: Include openat-priv.h.
54297         Remove definitions of macros defined therein.
54298         * lib/openat.c: Likewise.
54299
54300         * lib/mkdirat.c (mkdirat): New file and function.
54301         * lib/openat.h (mkdirat): Declare.
54302
54303         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
54304
54305         * lib/openat.h (openat_permissive): Declare.
54306         (openat_ro): Define.
54307
54308         * lib/openat.c (EXPECTED_ERRNO): New macro.
54309         (openat_permissive): New function -- used in remove.c rewrite.
54310         (all functions): Set errno just before returning, only if there
54311         was an actual failure.
54312         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
54313
54314         Emulate openat-family functions using Linux's procfs, if possible.
54315         Idea and some code based on Ulrich Drepper's glibc changes.
54316
54317         * lib/openat.c: (BUILD_PROC_NAME): New macro.
54318         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
54319         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
54320         before falling back on save_cwd and restore_cwd.
54321         (fdopendir, fstatat, unlinkat): Likewise.
54322
54323         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
54324         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
54325
54326         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
54327         as second argument to va_arg.  Otherwise, some versions of gcc
54328         warn that `if this code is reached, the program will abort'.
54329
54330 2006-01-09  Jim Meyering  <jim@meyering.net>
54331
54332         Sync from coreutils.
54333         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
54334         Require openat-priv.h.
54335
54336 2006-01-09  Bruno Haible  <bruno@clisp.org>
54337
54338         * modules/strnlen (Include): Use strnlen.h.
54339
54340 2006-01-09  Bruno Haible  <bruno@clisp.org>
54341
54342         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
54343
54344 2006-01-09  Bruno Haible  <bruno@clisp.org>
54345
54346         * lib/sysexit_.h (EX_OK): New macro.
54347         Suggested by Martin Lambers <marlam@marlam.de>.
54348
54349 2006-01-09  Bruno Haible  <bruno@clisp.org>
54350
54351         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
54352         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
54353
54354 2006-01-09  Bruno Haible  <bruno@clisp.org>
54355
54356         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
54357         numbers.
54358
54359 2006-01-09  Bruno Haible  <bruno@clisp.org>
54360
54361         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
54362         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
54363         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
54364         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
54365
54366 2006-01-09  Bruno Haible  <bruno@clisp.org>
54367
54368         * build-aux/javacomp.sh.in: New file, moved from lib/.
54369         * modules/javacomp-script (Files): Update.
54370         (configure.ac): Add AC_CONFIG_FILES invocation.
54371         (EXTRA_DIST): Remove variable.
54372
54373         * build-aux/javaexec.sh.in: New file, moved from lib/.
54374         * modules/javaexec (Files): Update.
54375         (configure.ac): Add AC_CONFIG_FILES invocation.
54376         (EXTRA_DIST): Remove javaexec.sh.in.
54377
54378         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
54379         * modules/csharpcomp-script (Files): Update.
54380         (configure.ac): Add AC_CONFIG_FILES invocation.
54381         (EXTRA_DIST): Remove variable.
54382
54383         * build-aux/csharpexec.sh.in: New file, moved from lib/.
54384         * modules/csharpexec (Files): Update.
54385         (configure.ac): Add AC_CONFIG_FILES invocation.
54386         (EXTRA_DIST): Remove csharpexec.sh.in.
54387
54388 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
54389
54390         Sync from coreutils.
54391
54392         Add POSIX ACL support
54393         * lib/acl.h (copy_acl, set_acl): Add declarations.
54394         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
54395         systems other than Linux.
54396         (chmod_or_fchmod): New function: use fchmod when possible,
54397         and chmod otherwise.
54398         (file_has_acl): Add a POSIX ACL implementation, with a
54399         Linux-specific subcase.
54400         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
54401         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
54402         acls are unsupported.
54403         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
54404         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
54405         are unsupported.
54406
54407 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
54408
54409         Sync from coreutils.
54410         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
54411
54412 2006-01-07  Bruno Haible  <bruno@clisp.org>
54413
54414         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
54415         gl_EARLY.
54416
54417 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54418
54419         * lib/strftime.c (tzname): Don't declare if it is already #defined.
54420         Problem reported for Mingw by Mark Junker.
54421
54422 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54423
54424         * README: Gnulib normally doesn't generate a tarball.
54425
54426 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
54427
54428         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
54429         long int, not int, for nanosecond counts, so that people who are
54430         used to POSIX struct timespec won't be surprised.  Reported by Jim
54431         Meyering.
54432
54433 2005-12-28  Bruno Haible  <bruno@clisp.org>
54434
54435         * build-aux/config.rpath: Update from GNU gettext.
54436
54437 2005-12-16  Jim Meyering  <jim@meyering.net>
54438
54439         * modules/fprintftime: New module.
54440         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
54441
54442 2005-12-16  Jim Meyering  <jim@meyering.net>
54443
54444         * m4/fprintftime.m4: New file.
54445
54446 2005-12-16  Jim Meyering  <jim@meyering.net>
54447
54448         * lib/fprintftime.c, lib/fprintftime.h: New files.
54449
54450 2005-12-15  Simon Josefsson  <jas@extundo.com>
54451
54452         * modules/socklen (configure.ac): Fix M4 macro name, to align with
54453         new m4/socklen.m4.
54454
54455 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54456
54457         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
54458         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
54459
54460 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54461
54462         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
54463         * lib/argp-help.c (fill_in_uparams): Check if the constructed
54464         struct uparams is valid. Fall back to the default values if it is
54465         not.
54466
54467 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54468
54469         * modules/argp (Files): Add argp-pin.c
54470         (Depends-on): dirname
54471         (lib_SOURCES): Add argp-pin.c
54472
54473 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54474
54475         * m4/argp.m4:  Check if program_invocation_name and
54476         program_invocation_short_name are declared and define appropriate
54477         macros if they are not.
54478
54479 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54480
54481         * lib/argp-help.c (__argp_base_name): New function
54482         (__argp_short_program_name): Rewrite using __argp_base_name
54483         * lib/argp-namefrob.h: Define program_invocation_name and
54484         program_invocation_short_name if requested
54485         (__argp_base_name): Add prototype
54486         * lib/argp-parse.c (argp_def): Use gettext wrappers
54487         (argp_default_parser): Use __argp_base_name
54488         * lib/argp-pin.c: New file. Defines program_invocation_name and
54489         program_invocation_short_name on systems that lack them.
54490
54491 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54492
54493         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
54494         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
54495         porting problem reported by Georg Schwarz in
54496         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
54497
54498 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54499
54500         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
54501         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
54502         porting problem reported by Georg Schwarz in
54503         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
54504
54505 2005-12-05  Bruno Haible  <bruno@clisp.org>
54506
54507         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
54508         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
54509         Reported by Mark Junker <mjscod@gmx.de>.
54510
54511 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
54512
54513         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
54514         Use implementation from Albert Chin, with some
54515         comments/corrections by Stepan Kasal and myself.
54516
54517 2005-12-02  Bruno Haible  <bruno@clisp.org>
54518
54519         * gnulib-tool (func_import): Accept GPLed build tool modules when
54520         --lgpl is given.
54521         * modules/csharpcomp-script: New file.
54522         * modules/csharpcomp: Depend on it.
54523         * modules/javacomp-script: New file.
54524         * modules/javacomp: Depend on it.
54525         Suggested by Simon Josefsson.
54526
54527 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
54528
54529         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
54530         statement, to work around an HP-UX 10.20 compiler bug reported by
54531         Peter O'Gorman.
54532
54533 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
54534
54535         * modules/savedir (Depends-on): Add openat.
54536
54537 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
54538
54539         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
54540         (uintmax_t) [defined uintmax_t]: Do not declare.
54541         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
54542         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
54543         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
54544         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
54545         sake of portability to weird hosts that C allows (though we don't
54546         know of any practical examples).
54547
54548         * lib/savedir.h (fdsavedir): New decl.
54549         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
54550         contains most of the former guts of savedir.
54551         (savedir): Use savedirstream.
54552         Include "openat.h".
54553
54554 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54555
54556         * modules/obstack (Files): Add m4/ulonglong.m4.
54557         Problem reported by Davide Angelocola.
54558
54559 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
54560
54561         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
54562         coreutils no longer futzes with rounding modes.
54563
54564 2005-11-14  Jim Meyering  <jim@meyering.net>
54565
54566         * lib/mkstemp-safer.c: Include <config.h>, required for possible
54567         replacement of mkstemp.
54568
54569 2005-11-10  Simon Josefsson  <jas@extundo.com>
54570
54571         * lib/readline.c: Remove EOL.
54572
54573 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54574
54575         * modules/gethrxtime (Depends-on): Add gettime.
54576
54577 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54578
54579         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
54580         or gettimeofday; no longer needed.
54581
54582 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54583
54584         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
54585         time business.
54586         (gethrxtime) [! (HAVE_NANOUPTIME
54587         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
54588         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
54589         our own approximation.
54590
54591 2005-11-08  Eric Blake  <ebb9@byu.net>
54592
54593         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
54594
54595 2005-11-08  Eric Blake  <ebb9@byu.net>
54596
54597         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
54598
54599 2005-11-04  Bruno Haible  <bruno@clisp.org>
54600
54601         * gnulib-tool: Implement --update mode.
54602
54603 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54604
54605         Fix porting problem reported by Theodoros V. Kalamatianos.
54606         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
54607         Don't assume that futimes failing means we must fail.
54608
54609 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54610
54611         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
54612         variables to suggest the intended function of the PATH_MAX check.
54613
54614 2005-10-30  Kean Johnston  <jkj@sco.com>
54615
54616         Trivial changes to support SCO systems.
54617         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
54618         as PATH_MAX.
54619         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
54620         where __ptr is null when no I/O is pending.
54621
54622 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54623
54624         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
54625         leave errno alone.  Problem reported by Dmitry V. Levin.
54626
54627 2005-10-28  Simon Josefsson  <jas@extundo.com>
54628
54629         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
54630         Test more.
54631
54632         * tests/test-gc-md2.c, tests/test-md2.c: New files.
54633
54634         * modules/md2, modules/md2-tests: New files.
54635
54636 2005-10-28  Simon Josefsson  <jas@extundo.com>
54637
54638         * m4/inet_ntop.m4: More tests.
54639
54640         * m4/gc-md2.m4, md2.m4: New file.
54641
54642 2005-10-28  Simon Josefsson  <jas@extundo.com>
54643
54644         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
54645         "restrict" keywords, as per POSIX.  Protect the function
54646         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
54647         Don't use K&R prototypes.  Check the sprintf return values.
54648         Re-define EAFNOSUPPORT if not present.  Indent.
54649
54650         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
54651         suggested by Bruno Haible <bruno@clisp.org>.
54652
54653         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
54654
54655         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
54656
54657         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
54658         libgcrypt).
54659
54660         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
54661
54662         * lib/md2.h, lib/md2.c: New files.
54663
54664 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
54665
54666         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
54667         errno alone.  Problem reported by Frederic Jolliton.
54668
54669 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54670
54671         * modules/verify (License): Change from GPL to LGPL.  This is a
54672         tiny module and there are apparently near-equivalents that are
54673         under the BSD license.
54674
54675 2005-10-24  Simon Josefsson  <jas@extundo.com>
54676
54677         * modules/sha1: Relicense to LGPL.
54678
54679 2005-10-24  Simon Josefsson  <jas@extundo.com>
54680
54681         * lib/md4.h: Shrink buffer size, now that we changed the type.
54682
54683 2005-10-23  Simon Josefsson  <jas@extundo.com>
54684
54685         * gnulib-tool (func_import): Fix --tests-base.
54686
54687 2005-10-22  Simon Josefsson  <jas@extundo.com>
54688
54689         * modules/arcfour (Depends-on): Need stdint.
54690
54691 2005-10-22  Simon Josefsson  <jas@extundo.com>
54692
54693         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
54694         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
54695
54696 2005-10-22  Simon Josefsson  <jas@extundo.com>
54697
54698         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
54699         suggested by Bruno Haible <bruno@clisp.org>.
54700
54701 2005-10-22  Simon Josefsson  <jas@extundo.com>
54702
54703         * lib/crc.h: Include stddef.h, for size_t.
54704
54705 2005-10-22  Simon Josefsson  <jas@extundo.com>
54706
54707         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
54708         arcfour_context struct (simplify test vector testing in GNU
54709         Shishi).
54710
54711 2005-10-21  Simon Josefsson  <jas@extundo.com>
54712
54713         * modules/des, modules/des-tests: New files.
54714
54715         * modules/gc-des, modules/gc-des-tests: New files.
54716
54717         * tests/test-des.c, tests/test-gc-des.c: New file.
54718
54719 2005-10-21  Simon Josefsson  <jas@extundo.com>
54720
54721         * modules/arctwo, modules/arctwo-tests: New files.
54722
54723         * tests/test-arctwo.c: New file.
54724
54725         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
54726
54727         * tests/test-gc-arctwo.c: New file.
54728
54729 2005-10-21  Simon Josefsson  <jas@extundo.com>
54730
54731         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
54732         Bruno Haible <bruno@clisp.org>.
54733
54734         * m4/gc-des.m4: New file.
54735
54736 2005-10-21  Simon Josefsson  <jas@extundo.com>
54737
54738         * m4/arctwo.m4: New file.
54739
54740         * m4/gc-arctwo.m4: New file.
54741
54742 2005-10-21  Simon Josefsson  <jas@extundo.com>
54743
54744         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
54745         block.
54746
54747 2005-10-21  Simon Josefsson  <jas@extundo.com>
54748
54749         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
54750         <bruno@clisp.org>.
54751
54752         * lib/hmac-sha1.c (hmac_sha1): Likewise.
54753
54754         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
54755         Bruno Haible <bruno@clisp.org>.
54756
54757         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
54758         <bruno@clisp.org>.
54759
54760 2005-10-21  Simon Josefsson  <jas@extundo.com>
54761
54762         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
54763
54764 2005-10-21  Simon Josefsson  <jas@extundo.com>
54765
54766         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
54767
54768 2005-10-21  Simon Josefsson  <jas@extundo.com>
54769
54770         * lib/des.h, lib/des.c: New files.
54771
54772         * lib/gc-gnulib.c: Support DES.c
54773
54774 2005-10-21  Simon Josefsson  <jas@extundo.com>
54775
54776         * lib/arctwo.h, lib/arctwo.c: New files.
54777
54778         * lib/gc-gnulib.c: Support ARCTWO.
54779
54780 2005-10-21  Simon Josefsson  <jas@extundo.com>
54781
54782         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
54783         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54784
54785 2005-10-21  Simon Josefsson  <jas@extundo.com>
54786
54787         * gnulib-tool (func_import, func_create_testdir): Define automake
54788         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
54789         Makefile.am snippet),
54790         suggested by Bruno Haible <bruno@clisp.org>.
54791
54792         * modules/gc (Makefile.am): Use it.
54793
54794 2005-10-21  Bruno Haible  <bruno@clisp.org>
54795
54796         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
54797         patch.
54798
54799 2005-10-19  Simon Josefsson  <jas@extundo.com>
54800
54801         * tests/test-gc-rijndael.c: New file.
54802
54803         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
54804
54805 2005-10-19  Simon Josefsson  <jas@extundo.com>
54806
54807         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
54808         interface too.
54809
54810 2005-10-19  Simon Josefsson  <jas@extundo.com>
54811
54812         * tests/test-gc-arcfour.c: New file.
54813
54814         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
54815
54816 2005-10-19  Simon Josefsson  <jas@extundo.com>
54817
54818         * modules/gc-md4, modules/gc-md4-tests: New file.
54819
54820         * tests/test-gc-md4.c: New file.
54821
54822 2005-10-19  Simon Josefsson  <jas@extundo.com>
54823
54824         * m4/gc-md4.m4: New file.
54825
54826 2005-10-19  Simon Josefsson  <jas@extundo.com>
54827
54828         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
54829         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
54830         <kasal@ucw.cz>.
54831
54832 2005-10-19  Simon Josefsson  <jas@extundo.com>
54833
54834         * m4/gc-arcfour.m4: New file.
54835
54836         * m4/gc-rijndael.m4: New file.
54837
54838 2005-10-19  Simon Josefsson  <jas@extundo.com>
54839
54840         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
54841
54842 2005-10-19  Simon Josefsson  <jas@extundo.com>
54843
54844         * lib/gc-gnulib.c: Support ARCFOUR.
54845
54846 2005-10-19  Simon Josefsson  <jas@extundo.com>
54847
54848         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
54849         support.
54850
54851         * lib/gc.h: Add ECB enum type.
54852
54853         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
54854
54855 2005-10-18  Simon Josefsson  <jas@extundo.com>
54856
54857         * tests/test-md5.c: New file.
54858
54859         * modules/md5-tests: New file.
54860
54861 2005-10-18  Simon Josefsson  <jas@extundo.com>
54862
54863         * tests/test-md4.c: New file.
54864
54865         * modules/md4, modules/md4-tests: New files.
54866
54867 2005-10-18  Simon Josefsson  <jas@extundo.com>
54868
54869         * m4/md4.m4: New file.
54870
54871 2005-10-18  Simon Josefsson  <jas@extundo.com>
54872
54873         * lib/md4.h, lib/md4.c: New files, based on md5.?.
54874
54875 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
54876
54877         * gnulib-tool (func_create_testdir): Omit the second check whether
54878         BUILT_SOURCES in nonempty.
54879
54880 2005-10-17  Simon Josefsson  <jas@extundo.com>
54881
54882         * tests/test-rijndael.c: New file.
54883
54884 2005-10-17  Simon Josefsson  <jas@extundo.com>
54885
54886         * modules/sha1: Depend on stdint instead of md5.
54887
54888         * modules/md5: Depend on stdint, remove uint32_t.
54889
54890 2005-10-17  Simon Josefsson  <jas@extundo.com>
54891
54892         * modules/gc-sha1-tests: New file.
54893
54894         * tests/test-gc-sha1.c: New file.
54895
54896 2005-10-17  Simon Josefsson  <jas@extundo.com>
54897
54898         * m4/md5.m4: Remove call to uint32_t.m4.
54899
54900 2005-10-17  Simon Josefsson  <jas@extundo.com>
54901
54902         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
54903
54904         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
54905         md5.h.
54906
54907         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
54908
54909         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
54910
54911 2005-10-17  Simon Josefsson  <jas@extundo.com>
54912
54913         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
54914
54915 2005-10-17  Simon Josefsson  <jas@extundo.com>
54916
54917         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
54918
54919 2005-10-17  Simon Josefsson  <jas@extundo.com>
54920
54921         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
54922
54923         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
54924
54925 2005-10-17  Bruno Haible  <bruno@clisp.org>
54926
54927         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
54928         that it can also be used in a test.
54929
54930 2005-10-16  Bruno Haible  <bruno@clisp.org>
54931
54932         * gnulib-tool (func_emit_tests_Makefile_am): Also define
54933         TESTS_ENVIRONMENT, so that individual tests can augment it.
54934
54935         * gnulib-tool (func_create_testdir): Use an intermediate target for
54936         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
54937         macros, like $(ALLOCA_H), which cannot be passed through the command
54938         line.
54939
54940 2005-10-15  Simon Josefsson  <jas@extundo.com>
54941
54942         * modules/rijndael-tests: New file.
54943
54944         * modules/rijndael: New file.
54945
54946 2005-10-15  Simon Josefsson  <jas@extundo.com>
54947
54948         * m4/rijndael.m4: New file.
54949
54950 2005-10-15  Simon Josefsson  <jas@extundo.com>
54951
54952         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
54953
54954         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
54955
54956 2005-10-14  Simon Josefsson  <jas@extundo.com>
54957
54958         * tests/test-arcfour.c: New file.
54959
54960         * modules/arcfour, modules/arcfour-tests: New files.
54961
54962 2005-10-14  Simon Josefsson  <jas@extundo.com>
54963
54964         * m4/arcfour.m4: New file.
54965
54966 2005-10-14  Simon Josefsson  <jas@extundo.com>
54967
54968         * lib/arcfour.h, lib/arcfour.c: New files.
54969
54970 2005-10-14  Roland McGrath  <roland@redhat.com>
54971
54972         Import from libc.  [BZ #1331]
54973         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
54974         macro argument.
54975         Reported by Matej Vela <vela@debian.org>.
54976
54977 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
54978
54979         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
54980         include <wchar.h>; no longer needed.
54981
54982 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
54983
54984         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
54985
54986 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
54987         and  Ulrich Drepper  <drepper@redhat.com>
54988
54989         Import from libc.
54990         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
54991         instead of inline stream orientation test and two separate
54992         function calls.  Pay no attention to USE_IN_LIBIO.
54993
54994 2005-10-13  Simon Josefsson  <jas@extundo.com>
54995
54996         * modules/gc-hmac-md5-tests: New file.
54997
54998         * tests/test-gc-hmac-sha1.c: New file.
54999
55000         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
55001
55002         * modules/gc-hmac-md5-tests: New file.
55003
55004         * tests/test-gc-md5.c: New file.
55005
55006         * modules/gc-md5-tests: New file.
55007
55008 2005-10-13  Simon Josefsson  <jas@extundo.com>
55009
55010         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
55011         Move memory allocation outside of loop.
55012
55013 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
55014
55015         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
55016         intermediate directory is in a read-only file system.  Problem
55017         reported by Eric Blake.
55018
55019 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
55020
55021         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
55022
55023 2005-10-12  Simon Josefsson  <jas@extundo.com>
55024
55025         * tests/test-hmac-sha1.c: New file.
55026
55027         * modules/hmac-sha1-tests: New file.
55028
55029         * modules/hmac-sha1: New file.
55030
55031 2005-10-12  Simon Josefsson  <jas@extundo.com>
55032
55033         * modules/gc-sha1: New file.
55034
55035 2005-10-12  Simon Josefsson  <jas@extundo.com>
55036
55037         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
55038
55039         * tests/test-gc-pbkdf2-sha1.c: New file.
55040
55041 2005-10-12  Simon Josefsson  <jas@extundo.com>
55042
55043         * modules/gc-md5, modules/gc-hmac-md5: New files.
55044
55045         * modules/gc (Files): Remove md5, memxor and hmac files.
55046
55047 2005-10-12  Simon Josefsson  <jas@extundo.com>
55048
55049         * m4/gc-pbkdf2-sha1.m4: New file.
55050
55051         * m4/gc-hmac-sha1.m4: New file.
55052
55053         * m4/gc-sha1: New file.
55054
55055         * m4/hmac-sha1.m4: New file.
55056
55057 2005-10-12  Simon Josefsson  <jas@extundo.com>
55058
55059         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
55060
55061         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
55062
55063 2005-10-12  Simon Josefsson  <jas@extundo.com>
55064
55065         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
55066         suggested by Bruno Haible <bruno@clisp.org>.
55067
55068 2005-10-12  Simon Josefsson  <jas@extundo.com>
55069
55070         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
55071
55072 2005-10-12  Simon Josefsson  <jas@extundo.com>
55073
55074         * lib/gc-pbkdf2-sha1.c: New file.
55075
55076         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
55077
55078 2005-10-12  Simon Josefsson  <jas@extundo.com>
55079
55080         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
55081
55082         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
55083
55084 2005-10-12  Simon Josefsson  <jas@extundo.com>
55085
55086         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
55087         GC_USE_HMAC_MD5, respectively.
55088
55089         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
55090         (gc_md5): Fix typo.
55091
55092         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
55093
55094         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
55095
55096         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
55097
55098 2005-10-12  Bruno Haible  <bruno@clisp.org>
55099
55100         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
55101         Reported by Stepan Kasal <kasal@ucw.cz>.
55102
55103 2005-10-11  Simon Josefsson  <jas@extundo.com>
55104
55105         * tests/test-crc.c: New file.
55106
55107         * modules/crc, modules/crc-tests: New files.
55108
55109 2005-10-11  Simon Josefsson  <jas@extundo.com>
55110
55111         * m4/crc.m4: New file.
55112
55113 2005-10-11  Simon Josefsson  <jas@extundo.com>
55114
55115         * lib/gc.h: Add gc_hash and gc_hash_buffer.
55116
55117         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
55118
55119         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
55120
55121 2005-10-11  Simon Josefsson  <jas@extundo.com>
55122
55123         * lib/crc.h, lib/crc.c: New files.
55124
55125         * lib/gc.h (gc_hash_buffer): Add doc.
55126
55127 2005-10-11  Bruno Haible  <bruno@clisp.org>
55128
55129         * modules/c-strcasestr: New file.
55130         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
55131
55132 2005-10-11  Bruno Haible  <bruno@clisp.org>
55133
55134         * modules/c-strcase: New file.
55135         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
55136
55137 2005-10-11  Bruno Haible  <bruno@clisp.org>
55138
55139         * lib/strcasecmp.c: Include limits.h.
55140         (strcasecmp): Avoid integer overflow on exotic platforms.
55141         * lib/strncasecmp.c: Include limits.h.
55142         (strncasecmp): Avoid integer overflow on exotic platforms.
55143         Reported by Paul Eggert.
55144
55145 2005-10-11  Bruno Haible  <bruno@clisp.org>
55146
55147         * lib/c-strcasestr.h: New file, from GNU gettext.
55148         * lib/c-strcasestr.c: New file, from GNU gettext.
55149
55150 2005-10-11  Bruno Haible  <bruno@clisp.org>
55151
55152         * lib/c-strcase.h: New file, from GNU gettext.
55153         * lib/c-strcasecmp.c: New file, from GNU gettext.
55154         * lib/c-strncasecmp.c: New file, from GNU gettext.
55155
55156 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55157
55158         * modules/mempcpy (License): GPL -> LGPL.
55159         * modules/strchrnul (License): Likewise.
55160         * modules/sysexits (License): Likewise.
55161
55162 2005-10-08  Simon Josefsson  <jas@extundo.com>
55163
55164         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
55165
55166 2005-10-07  Simon Josefsson  <jas@extundo.com>
55167
55168         * m4/memxor.m4: Remove gl_C_RESTRICT call.
55169
55170 2005-10-06  Simon Josefsson  <jas@extundo.com>
55171
55172         * tests/test-hmac-md5.c: New file.
55173
55174         * modules/hmac-md5-tests: New file.
55175
55176         * modules/hmac-md5: New file.
55177
55178 2005-10-06  Simon Josefsson  <jas@extundo.com>
55179
55180         * m4/hmac-md5.m4: New file.
55181
55182         * m4/memxor.m4: Require gl_C_RESTRICT.
55183
55184 2005-10-06  Simon Josefsson  <jas@extundo.com>
55185
55186         * lib/memxor.c (memxor): Avoid casts and warnings.
55187
55188 2005-10-06  Simon Josefsson  <jas@extundo.com>
55189
55190         * lib/hmac-md5.c: New file.
55191
55192         * lib/hmac.h: New file.
55193
55194 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55195
55196         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
55197         promotes to int, not unsigned int, to catch the AIX 5.3
55198         compiler bug.
55199
55200 2005-10-05  Simon Josefsson  <jas@extundo.com>
55201
55202         * modules/memxor: New file.
55203
55204         * modules/iconv (Files): Move config.rpath to havelib, it is used
55205         there.
55206
55207         * modules/havelib (Files): Add config.rpath.
55208
55209 2005-10-05  Simon Josefsson  <jas@extundo.com>
55210
55211         * m4/memxor.m4: New file.
55212
55213 2005-10-05  Simon Josefsson  <jas@extundo.com>
55214
55215         * lib/memxor.c (memxor): Fix compiler error.
55216
55217         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
55218         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
55219
55220         * lib/memxor.h, lib/memxor.c: New files.
55221
55222         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
55223         we assume all systems have it, suggested by Jim Meyering
55224         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
55225         any systems lack sys/socket.h; mingw32 is known to lack it, but we
55226         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
55227         same reasons.
55228
55229 2005-10-05  Simon Josefsson  <jas@extundo.com>
55230
55231         * config/srclist.txt: Add glibc bug 1423 for md5.h.
55232
55233 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
55234
55235         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
55236         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
55237         needed, since the source code now assumes these .h files.
55238
55239 2005-10-05  Derek Price  <derek@ximbiot.com>
55240
55241         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
55242
55243 2005-10-05  Bruno Haible  <bruno@clisp.org>
55244
55245         * modules/stdint (License): Change to LGPL.
55246
55247 2005-10-04  Simon Josefsson  <jas@extundo.com>
55248
55249         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
55250         D. Baushke" <mdb@gnu.org>.
55251
55252 2005-10-04  Bruno Haible  <bruno@clisp.org>
55253
55254         * lib/verify.h (verify_true): Provide alternative definition for C++.
55255
55256 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
55257
55258         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
55259         (SSIZE_MAX): New macro, if not already defined.
55260         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
55261         than 2 GiB.
55262
55263 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55264
55265         Sync from coreutils.
55266         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
55267         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
55268         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
55269         ULLONG_MAX doesn't work with 2.7.2.1.
55270
55271 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55272
55273         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
55274         From Ben Pfaff.
55275
55276         * modules/exclude (Depends-on): Depend on verify.
55277         * modules/strtoimax (Depends-on): Likewise.
55278         * modules/utimecmp (Depends-on): Likewise.
55279
55280 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55281
55282         * lib/exclude.c: Include verify.h.
55283         (verify): Remove.  All callers changed to use verify.h's version.
55284         * lib/strtoimax.c: Likewise.
55285         * lib/utimecmp.c: Likewis.e
55286
55287         Sync from coreutils.
55288         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
55289         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
55290         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
55291         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
55292         bother returning ENOSYS if settimeofday or stime fails; just let
55293         them return whatever errno they want to return.
55294         * lib/utimens.c: Include unistd.h, for dup2.
55295         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
55296         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
55297
55298 2005-10-02  Jim Meyering  <jim@meyering.net>
55299
55300         Sync from coreutils.
55301         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
55302         from glibc-2.2.5 that fails for read-only files.
55303
55304 2005-10-02  Jim Meyering  <jim@meyering.net>
55305
55306         Sync from coreutils.
55307         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
55308         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
55309         `#if HAVE_CONFIG_H'.
55310         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
55311         Remove AT_FDCWD test.
55312         Do not consume the fd unless successful.
55313         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
55314         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
55315         block, so that we don't even try to compile it if settimeofday is
55316         available.  This works around a compilation failure on OSF1 V5.1,
55317         due to stime requiring a `long int*' while tv_sec is `int'.
55318
55319 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
55320
55321         Sync from coreutils.
55322         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
55323         against `yes', rather than just testing for nonempty.
55324
55325 2005-10-01  Simon Josefsson  <jas@extundo.com>
55326
55327         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
55328         and Darwin.
55329
55330         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
55331         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
55332         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
55333         freeaddrinfo and gai_strerror are declared by the POSIX headers.
55334         Check if struct addrinfo is declared.
55335
55336 2005-10-01  Simon Josefsson  <jas@extundo.com>
55337
55338         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
55339         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
55340         AI_* and EAI_* definitions.  Protect function declarations.
55341
55342 2005-10-01  Jim Meyering  <jim@meyering.net>
55343
55344         Sync from coreutils.
55345
55346         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
55347         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
55348         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
55349         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
55350         in the inet and nsl libraries.  Required on Solaris 5.7.
55351
55352 2005-10-01  Jim Meyering  <jim@meyering.net>
55353
55354         Sync from coreutils.
55355         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
55356         in the inet and nsl libraries.  Required on Solaris 5.7.
55357
55358 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
55359
55360         * lib/getdelim.c (getdelim): Remove unused variables.
55361
55362 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
55363
55364         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
55365         so that the code works even with ancient cpp.  Portability problem
55366         with GCC 2.7.2.1 reported by Thomas M.Ott.
55367
55368 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
55369
55370         * modules/regex (Depends-on): Add strcase.
55371
55372         * modules/gethostname (Licence): Change from GPL to LGPL, since
55373         gethostname.c is a trivial implementation of a standard library
55374         function.
55375         * modules/poll (License): Change from GPL to LGPL, since it's
55376         derived from LGPL code.
55377
55378 2005-09-27  Jim Meyering  <jim@meyering.net>
55379
55380         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
55381         HAVE_CONFIG_H.
55382
55383         * lib/intprops.h (signed_type_or_expr__): Define.
55384         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
55385         for unsigned types.
55386
55387 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
55388
55389         * lib/verify.h (verify_expr): Remove, replacing with:
55390         (verify_true): New macro that returns true instead of void.
55391         (verify_type__): Remove.
55392         (verify): Use verify_true rather than verify_type__.
55393
55394 2005-09-26  Bruno Haible  <bruno@clisp.org>
55395
55396         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
55397         is necessary.
55398         (lib_SOURCES): Remove mbchar.c.
55399         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
55400         (Files): Add m4/mbrtowc.m4.
55401         * modules/mbiter: Likewise.
55402         * modules/mbuiter: Likewise.
55403
55404 2005-09-26  Bruno Haible  <bruno@clisp.org>
55405
55406         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
55407         compile mbchar.c if they are not both present.
55408         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
55409         * m4/mbiter.m4 (gl_MBITER): Likewise.
55410         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
55411         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
55412         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
55413
55414 2005-09-25  Jim Meyering  <jim@meyering.net>
55415
55416         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
55417         also uses socklen_t.
55418
55419 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
55420
55421         * lib/utimens.c (ENOSYS): Define if not already defined.
55422         (futimens): Support having a null PATH if the file descriptor
55423         is nonnegative.
55424
55425         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
55426         Remove.
55427         (__attribute): Define to empty unless GCC 3.1 or later.
55428         This works around a core dump on OpenBSD 3.4, which has GCC
55429         2.95.3, which dumps core when given __attribute__(()).  It also
55430         simplifies other tests, since we really don't want to bother with
55431         worrying about which ancient version of GCC supported what.
55432         Original problem reported by Yoann Vandoorselaere, with part of
55433         the fix suggested by Derek Price.
55434
55435 2005-09-24  Jim Meyering  <jim@meyering.net>
55436
55437         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
55438         so we can once again use a positive bitfield width of 1 -- now we
55439         don't have to explain why we were using a bitfield width of 2.
55440
55441 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
55442
55443         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
55444         and similarly for the other external symbols.  Problem reported
55445         by James Gallager.
55446
55447         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
55448         bug reported by Jim Meyering.
55449
55450         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
55451         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
55452         not needed, since socklen is a prerequisite module.
55453
55454 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
55455
55456         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
55457         Problem reported by Eric Blake.
55458         (getaddrinfo): Initialize se so that it's not garbage.
55459         Redo internal storage allocation so that it doesn't make unportable
55460         assumptions about alignment.
55461         Fix a memory leak.
55462
55463         * lib/utimens.c (futimens): Use futimesat if available.
55464         Prefer it to futimes since it doesn't have the futimes bug.
55465
55466         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
55467         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
55468         Instead, declare a function that returns a pointer to an array,
55469         and use verify_type__ to declare the size of the array.
55470         Problem and germ of a solution reported by Bruno Haible.
55471         (verify_type__): Use 2, not 1, for bitfield size, to avoid
55472         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
55473
55474 2005-09-23  Jim Meyering  <jim@meyering.net>
55475
55476         Sync from coreutils.
55477         Correct build failure (socklen_t not defined) on at least
55478         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
55479         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
55480
55481 2005-09-23  Jim Meyering  <jim@meyering.net>
55482
55483         * modules/getaddrinfo (Depends-on): Add socklen.
55484
55485 2005-09-23  Bruno Haible  <bruno@clisp.org>
55486
55487         * tests/test-verify.c: New file.
55488
55489 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55490
55491         Sync from coreutils.
55492
55493         * modules/argmatch (Depends-on): Add verify.
55494         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
55495         unistd-safer.
55496         * modules/save-cwd (Depends-on): Likewise.
55497
55498         * modules/openat (Files): Add lib/openat-die.c.
55499         (Depends-on): Remove error, exitfail.
55500         Add dirname.
55501
55502         * modules/verify: New file.
55503         * MODULES.html.sh (Diagnostics <assert.h>): New section,
55504         with "verify" module.
55505
55506 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55507
55508         Sync from coreutils.
55509
55510         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
55511         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
55512         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
55513         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
55514         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
55515         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
55516         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
55517         Don't bother checking for string.h, stdlib.h, unistd.h.
55518         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
55519         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
55520         module's job.
55521         * m4/jm-macros.m4 (gl_MACROS): Likewise.
55522         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
55523
55524         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
55525         (gl_GETDATE): Use it.
55526
55527         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
55528
55529 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55530
55531         Sync from coreutils.
55532
55533         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
55534         stat-time.h.
55535         * lib/argmatch.h: Include verify.h
55536         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
55537         (ARGMATCH_ASSERT): Remove; unused.
55538         * lib/canonicalize.c: Assume STDC_HEADERS.
55539         * lib/exclude.c: Include "strcase.h".
55540         * lib/regex_internal.h [!defined _LIBC]: Likewise.
55541         * lib/getusershell.c: Include stdio--.h rather than stdio.h
55542         and stdio-safer.h.
55543         (getusershell): Call fopen, not fopen_safer.
55544         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
55545         Do not include unistd-safer.h.
55546         (save_cwd): Don't call fd_safer; no longer needed
55547         now that we include fcntl--.h.
55548
55549         * lib/getdate.y (relative_time): New type.
55550         (RELATIVE_TIME_0): New constant.
55551         (parser_control): Use relative_time instead of doing it ourselves.
55552         (%union): Add new relative_time rel member.
55553         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
55554         Now typeless.
55555         (relunit, relunit_snumber): Now of type rel.
55556         (zone, rel, relunit, get_date): Adjust to above changes.
55557
55558         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
55559         Do not include unistd-safer.h.
55560         (getloadavg): Don't call fd_safer; no longer needed
55561         now that we include fcntl--.h.
55562
55563         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
55564         (make_dir_parents): Treat ENOSYS like EEXIST.
55565
55566         Improve quality of diagnostics on restore_cwd failure.
55567         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
55568         (make_dir_parents): Last arg is now int * (for errno), not bool *.
55569         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
55570         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
55571         each time through the loop.  Do not diagnose restore_cwd failure;
55572         that is the caller's job (and perhaps the caller does not care).
55573
55574         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
55575         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
55576         If the file already exists but is not a directory, don't bother
55577         to try to make its parents.
55578         Close potential file descriptor leak if we can't chdir("/") (!).
55579         Don't always return true if chdir($PWD) fails; return true only
55580         if the requested action was done successfully (except for the
55581         chdir($PWD)).
55582         Don't log final directory unless we actually made it.
55583         Refactor to avoid duplicate code to fix up permissions.
55584         Don't attempt to fix up parent permissions if chdir($PWD) fails.
55585
55586         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
55587         to make it a bit faster and (I hope) clearer.
55588         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
55589         Fix bug in formats like %2N.
55590
55591         * lib/verify.h: New file.
55592
55593 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55594
55595         Sync from coreutils.
55596         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
55597
55598 2005-09-22  Jim Meyering  <jim@meyering.net>
55599
55600         Sync from coreutils.
55601
55602         * m4/lstat.m4 (gl_FUNC_LSTAT):
55603         Use AC_LIBSOURCES to require lstat.c and lstat.h.
55604         Remove obsolete comment.
55605         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
55606         * m4/xstrtod.m4: Likewise.
55607
55608         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
55609
55610 2005-09-22  Jim Meyering  <jim@meyering.net>
55611
55612         Sync from coreutils.
55613
55614         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
55615
55616         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
55617         the .tm_year member, since otherwise gcc-4.0 would now warn about
55618         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
55619
55620         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
55621         order to avoid an unsuppressible warning from gcc on 64-bit systems.
55622
55623         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
55624         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
55625         when run in a time zone for which daylight savings time is in effect
55626         for the starting date.
55627
55628         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
55629         stop us from restricting permissions of just-created absolute-named
55630         directories.
55631         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
55632         to restore initial working directory.
55633         * lib/mkdir-p.c (make_dir_parents): New parameter:
55634         different_working_dir, to tell caller if/when we change the working
55635         directory and are unable to return to the initial one.
55636         * lib/mkdir-p.h (make_dir_parents): Update prototype.
55637         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
55638         `return false'.  This fixes a bug introduced on 2004-07-30.
55639
55640         * lib/openat.c (fdopendir): Be sure to close the supplied
55641         file descriptor before returning.  This makes our replacement
55642         implementation a little closer to Solaris's, where fdopendir
55643         ties the file descriptor to the returned DIR* pointer.
55644         * lib/openat.c (unlinkat): New function.
55645         * lib/openat.h (unlinkat): Add prototype.
55646         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
55647         (openat_restore_fail): Rename from openat_restore_die.
55648         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
55649
55650         Provide an alternative to exiting immediately upon save_cwd or
55651         restore_cwd failure.  Now, an application can arrange e.g.,
55652         to perform a longjump in that case.
55653         * lib/openat.c: Include dirname.h.
55654         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
55655         (rpl_openat, fdopendir, fstatat): Call openat_save_die
55656         and openat_restore_die rather than calling error directly.
55657         Don't include "error.h" or "exitfail.h"; they're no longer needed.
55658
55659         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
55660         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
55661         define.
55662
55663         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
55664         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
55665                             int utc, int nanoseconds);
55666         Background:
55667         date should not have to allocate a megabyte of virtual memory to
55668         handle a format argument like +%1048575T.  When implemented with
55669         strftime, it must allocate such a buffer, use strftime to fill it
55670         in, print it, then free it.
55671         With fprintftime, it simply prints everything and exits.
55672         With no need for memory allocation, that's one fewer way to fail.
55673         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
55674         optional field width, not before, so we accept %9:z, not %:9z.
55675         (my_strftime): Be sure to use L_('x') for literals.
55676
55677         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
55678         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
55679         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
55680         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
55681         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
55682         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
55683         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
55684         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
55685         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
55686         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
55687         * lib/xgethostname.c, lib/xreadlink.c:
55688         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
55689
55690         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
55691         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
55692         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
55693         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
55694         and don't include <sys/file.h>).
55695
55696 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
55697
55698         Sync from coreutils.
55699
55700         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
55701         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
55702         [!LDAV_DONE]: Avoid unused variable warning.
55703
55704 2005-09-21  Bruno Haible  <bruno@clisp.org>
55705
55706         * lib/unicodeio.h (unicode_to_mb): New declaration.
55707
55708 2005-09-20  Derek Price  <derek@ximbiot.com>
55709
55710         * lib/getaddrinfo.c: Don't include <netdb.h> included from
55711         getaddrinfo.h.
55712
55713 2005-09-20  Bruno Haible  <bruno@clisp.org>
55714
55715         * gnulib-tool: Remove trailing slashes from the values specified for
55716         --source-base, --m4-base, --tests-base, --aux-dir.
55717         Suggested by Simon Josefsson <jas@extundo.com>.
55718
55719 2005-09-20  Bruno Haible  <bruno@clisp.org>
55720
55721         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
55722         func_modules_to_filelist, func_import, func_create_testdir): Make all
55723         sorting results locale-independent, so that gnulib-cache.m4 doesn't
55724         change when gnulib-tool is invoked in a different locale.
55725
55726 2005-09-19  Simon Josefsson  <jas@extundo.com>
55727
55728         * m4/socklen.m4: Fix typo.
55729
55730 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55731
55732         Use a consistent style for including <config.h>.
55733         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
55734         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
55735         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
55736         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
55737         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
55738         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
55739         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
55740         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
55741         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
55742         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
55743         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
55744         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
55745         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
55746         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
55747         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
55748         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
55749         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
55750         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
55751         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
55752         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
55753         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
55754         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
55755         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
55756         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
55757         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
55758         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
55759         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
55760         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
55761         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
55762         lib/xstrtoumax.c, lib/yesno.c:
55763         Standardize inclusion of config.h.
55764         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
55765         lib/inttostr.h:  Removed inclusion of config.h from header files.
55766         * lib/inttostr.c:  Adjusted in-tree users.
55767         * lib/timespec.h: Remove superfluous warning to include config.h.
55768         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
55769         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
55770         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
55771         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
55772         config.h with HAVE_CONFIG_H.
55773
55774 2005-09-19  Jim Meyering  <jim@meyering.net>
55775
55776         * modules/pathmax (License): Change to LGPL.
55777
55778 2005-09-19  Derek Price  <derek@ximbiot.com>
55779
55780         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
55781
55782 2005-09-19  Bruno Haible  <bruno@clisp.org>
55783
55784         * gnulib-tool (import): Provide default for --tests-base.
55785
55786 2005-09-19  Bruno Haible  <bruno@clisp.org>
55787
55788         * doc/quote.texi: New file, extracted from gnulib.texi.
55789         * doc/ctime.texi: New file, extracted from gnulib.texi.
55790         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
55791         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
55792         * doc/gnulib.texi: Include them.
55793
55794 2005-09-18  Bruno Haible  <bruno@clisp.org>
55795
55796         Portability fix.
55797         * gnulib-tool (func_readlink): New function.
55798         (func_ln_if_changed): Use it.
55799
55800 2005-09-18  Bruno Haible  <bruno@clisp.org>
55801
55802         * gnulib-tool: Support --with-tests also with --import.
55803         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
55804         (func_import): Use variables $testsbase and $inctests. Emit a
55805         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
55806         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
55807         SUBDIRS += $testsdir.
55808         (func_create_testdir): Update.
55809
55810 2005-09-18  Bruno Haible  <bruno@clisp.org>
55811
55812         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
55813         instead of $dry_run.
55814         (func_cp_if_changed, func_mv_if_changed): Remove functions.
55815         (func_ln_if_changed): Don't handle dry-run here.
55816         (func_import): In dry-run mode, detect more precisely which actions
55817         would be performed, and don't use "...ing" verbs.
55818
55819 2005-09-18  Bruno Haible  <bruno@clisp.org>
55820
55821         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
55822         (func_import): Use join on two temporary files instead of three nested
55823         loops, in order to determine which files are new or old.
55824
55825 2005-09-18  Bruno Haible  <bruno@clisp.org>
55826
55827         * gnulib-tool (func_import): Comment out code that spits out the
55828         new files with --dry-run.
55829
55830 2005-09-18  Bruno Haible  <bruno@clisp.org>
55831
55832         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
55833
55834 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55835
55836         * lib/stat-time.h: New file.
55837         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
55838         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
55839         in a different way.
55840         (timespec_cmp): New function.
55841         * lib/utimecmp.c: Include stat-time.h.
55842         (SYSCALL_RESOLUTION): Depend on whether various struct stat
55843         members exist, not on the obsolescent ST_MTIM_NSEC.
55844         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
55845
55846 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55847
55848         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
55849
55850 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55851
55852         * MODULES.html.sh (File system functions): Add stat-time.
55853         * modules/stat-time: New file.
55854         * modules/timespec (Files): Remove m4/st_mtim.m4; this
55855         is now done in a different way, by the stat-time module.
55856         * modules/utimecmp (Depends-on): Add stat-time.
55857
55858 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55859
55860         * m4/st_mtim.m4: Remove.  Superseded by...
55861         * m4/stat-time.m4: New file.
55862         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
55863         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
55864
55865 2005-09-15  Derek Price  <derek@ximbiot.com>
55866
55867         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
55868
55869 2005-09-15  Derek Price  <derek@ximbiot.com>
55870
55871         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
55872         * lib/regex_internal.c: Ditto, using this...
55873         (__GNUC_PREREQ): ...new macro.
55874         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
55875         using...
55876         (__GNUC_PREREQ): ...this new macro.
55877
55878         * lib/strstr.h: Include string.h. Define strstr as a macro here.
55879
55880 2005-09-15  Derek Price  <derek@ximbiot.com>
55881             Paul Eggert  <eggert@cs.ucla.edu>
55882
55883         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
55884         changes, consolidating in...
55885         * lib/regex_internal.h: ...this file.
55886
55887 2005-09-13  Jim Meyering  <jim@meyering.net>
55888
55889         * lib/canon-host.c: Filter through gnu indent and reword comments
55890         slightly.
55891         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
55892
55893 2005-09-13  Derek Price  <derek@ximbiot.com>
55894
55895         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
55896         failure.
55897         Reported by Jim Meyering  <jim@meyering.net>.
55898
55899 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55900
55901         * lib/base64.c: Typo.
55902         (base64_encode): Put b64str in initialized data section.
55903
55904 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
55905
55906         Merge glibc and coreutils changes into gnulib, plus a few
55907         extra fixes.
55908         * lib/md5.c: Use #error rather than a string.
55909         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
55910         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
55911         (__attribute__): Define to empty for non recent-GCC.
55912         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
55913         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
55914         Renamed from their non-__ counterparts, with new macros replacing
55915         them if not _LIBC.  Add __THROW attribute.
55916         (rol): Remove.
55917         (struct md5_ctx): Align buffer if using GCC.
55918         * lib/sha1.h (struct sha1_ctx): Likewise.
55919         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
55920         The old name was backwards.
55921         (NOTSWAP): Remove; not used.
55922         (rol): New macro, moved here from md5.h.
55923         (sha1_process_block): Remove a FIXME that doesn't make sense.
55924
55925 2005-09-12  Derek Price  <derek@ximbiot.com>
55926
55927         Return usable errors from canon-host.
55928         * lib/canon-host.h: New file.
55929         * lib/canon-host.c (canon_host): Wrap...
55930         (canon_host_r): ...this new function, which now relies exclusively on
55931         getaddrinfo.
55932         (ch_strerror): New function.
55933         (last_cherror): New global.
55934         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
55935         interface.
55936         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
55937         void *.
55938         (freeaddrinfo): Free ai->ai_canonname when set.
55939
55940 2005-09-12  Derek Price  <derek@ximbiot.com>
55941
55942         Make canon-host require getaddrinfo.
55943         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
55944         AC_LIBSOURCE canon-host.h.  Call...
55945         (gl_PREREQ_CANON_HOST): ...this new function, which requires
55946         gl_GETADDRINFO.
55947         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
55948
55949 2005-09-12  Derek Price  <derek@ximbiot.com>
55950
55951         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
55952         LGPL.
55953         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
55954
55955 2005-09-12  Derek Price  <derek@ximbiot.com>
55956
55957         * lib/gai_strerror.c: Include config.h when available.  Include
55958         getaddrinfo.h before other headers to test interface.
55959         Reported by Larry Jones <lawrence.jones@ugs.com>.
55960
55961 2005-09-12  Derek Price  <derek@ximbiot.com>
55962             Paul Eggert  <eggert@cs.ucla.edu>
55963
55964         * modules/glob (Files): Add glob-libc.h.
55965
55966 2005-09-12  Derek Price  <derek@ximbiot.com>
55967             Paul Eggert  <eggert@cs.ucla.edu>
55968
55969         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
55970         glob_.h, glob-libc.h.
55971         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
55972
55973 2005-09-12  Derek Price  <derek@ximbiot.com>
55974             Paul Eggert  <eggert@cs.ucla.edu>
55975
55976         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
55977         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
55978         protecting things that should be done only in gnulib contexts.
55979         * lib/glob_.h: New file, containing only the glob things needed for
55980         gnulib.
55981         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
55982         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
55983         (glob, globfree, glob_pattern_p): Now defined simply in terms of
55984         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
55985         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
55986         and to respect the namespace rules better.
55987
55988 2005-09-08  Simon Josefsson  <jas@extundo.com>
55989
55990         * modules/socklen: New file.
55991
55992 2005-09-08  Simon Josefsson  <jas@extundo.com>
55993
55994         * m4/socklen.m4: New file.
55995
55996 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
55997
55998         * modules/utimens (Files): Add m4/utimbuf.m4, since
55999         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
56000         Reported by Sergey Poznyakoff.
56001
56002 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56003
56004         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
56005         definitions, since that's the preferred style in glibc.
56006         Fix a minor spacing issue, and update copyright notice to match
56007         glibc's.
56008
56009 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56010
56011         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
56012
56013 2005-09-06  Simon Josefsson  <jas@extundo.com>
56014
56015         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
56016         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
56017
56018 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56019
56020         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
56021         warning.
56022
56023 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56024
56025         * config/srclist.txt: Add glibc bug 1302.
56026
56027 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
56028
56029         Change bitset word type from unsigned int to unsigned long int,
56030         as this has better performance on typical 64-bit hosts.
56031         Port bitset code to hosts with unusual word sizes.
56032         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
56033         (build_collating_symbol):
56034         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
56035         argument is a bitset.  This is merely a style issue, but it makes
56036         it clearer that an entire array is expected.
56037         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
56038         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
56039         Port to the case where bitset_word is not the same as unsigned int.
56040         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
56041         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
56042         Likewise.
56043         * lib/regexec.c (check_dst_limits_calc_pos_1,
56044         check_subexp_matching_top):
56045         (build_trtable, group_nodes_into_DFAstates):
56046         Likewise.
56047         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
56048         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
56049         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
56050         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
56051         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
56052         * lib/regcomp.c (optimize_subexps, lower_subexp):
56053         Work even if bitset_word has holes in its bitwise representation.
56054         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
56055         * lib/regexec.c (check_dst_limits_calc_pos_1,
56056         check_subexp_matching_top):
56057         Likewise.
56058         * lib/regex_internal.c (re_string_reconstruct):
56059         Don't assume UCHAR_MAX == 255.
56060         * lib/regex_internal.h (bitset_set_all): Likewise.
56061         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
56062         All uses changed.
56063         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
56064         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
56065         All uses changed.
56066         (BITSET_WORD_MAX): New macro.
56067         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
56068         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
56069         (bitset_empty, bitset_copy):
56070         Prefer sizeof (bitset) to multiplying it out ourselves.
56071         (bitset_not_merge): Remove; unused.
56072         (bitset_contain): Return bool, not unsigned int with one bit on.
56073         All callers changed.
56074         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
56075         alignment than re_node_set; do this by defining a new internal
56076         type struct dests_alloc and using it to allocate memory.
56077
56078 2005-09-05  Bruno Haible  <bruno@clisp.org>
56079
56080         * gnulib-tool (func_import): Fix comparison in handling of symbolic
56081         links.
56082
56083 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
56084
56085         * modules/size_max (Makefile.am): Add size_max.h
56086
56087 2005-09-04  Derek Price  <derek@ximbiot.com>
56088
56089         * gnulib-tool (func_import): Fix reversed $symbolic logic.
56090
56091 2005-09-03  Simon Josefsson  <jas@extundo.com>
56092
56093         * gnulib-tool: Fix typo.
56094
56095 2005-09-03  Simon Josefsson  <jas@extundo.com>
56096
56097         * config/srclist.txt: Add glibc bug 1293.
56098
56099 2005-09-03  Derek Price  <derek@ximbiot.com>
56100
56101         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
56102         From Larry Jones <lawrence.jones@ugs.com>.
56103
56104 2005-09-02  Simon Josefsson  <jas@extundo.com>
56105
56106         * modules/socklen: New file.
56107
56108 2005-09-02  Simon Josefsson  <jas@extundo.com>
56109
56110         * modules/havelib: New module.
56111
56112         * modules/gettext, modules/iconv, modules/lock, modules/readline:
56113         Use havelib.
56114
56115 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
56116
56117         Check for arithmetic overflow when calculating sizes, to prevent
56118         some buffer-overflow issues.  These patches are conservative, in the
56119         sense that when I couldn't determine whether an overflow was possible,
56120         I inserted a run-time check.
56121         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
56122         macros.
56123         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
56124         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
56125         (re_xnrealloc, re_x2nrealloc): New inline functions.
56126         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
56127         parse_bracket_exp):
56128         (build_equiv_class, build_charclass): Check for arithmetic overflow
56129         in size expression calculations.
56130         * lib/regex_internal.c (re_string_realloc_buffers):
56131         (build_wcs_upper_buffer, re_node_set_add_intersect):
56132         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
56133         (re_dfa_add_node, register_state): Likewise.
56134         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
56135         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
56136         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
56137         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
56138
56139 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
56140
56141         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
56142         m4/ulonglong.m4.  Problem reported by Martin Lambers.
56143
56144 2005-09-02  Bruno Haible  <bruno@clisp.org>
56145
56146         Support for lib vs. lib64 distinction on biarch platforms.
56147         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
56148         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
56149         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
56150
56151 2005-09-02  Bruno Haible  <bruno@clisp.org>
56152
56153         * gnulib-tool (import): In the other first-use case, provide defaults
56154         as well.
56155
56156 2005-09-02  Bruno Haible  <bruno@clisp.org>
56157
56158         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
56159         patches not yet found in the latest gettext release.
56160
56161 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56162
56163         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
56164         to avoid a collision with bits/local_lim.h in glibc.
56165         All uses changed.  Problem reported by Dmitry V. Levin in
56166         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
56167
56168         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
56169         bugs in int versus size_t comparisons.
56170         (re_string_context_at): Fix bug where the code assumed that
56171         Idx is signed.
56172
56173         Use bool where appropriate.
56174         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
56175         All callers changed.
56176         (calc_eclosure_iter): Likewise, for ROOT arg.
56177         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
56178         (build_charclass_op): Likewise, for NON_MATCH arg.
56179         * lib/regex_internal.c (re_string_allocate, re_string_construct):
56180         (re_string_construct_common): Likewise, for ICASE arg.
56181         * lib/regexec.c (re_search_2_stub, re_search_stub):
56182         Likewise, for RET_LEN arg.
56183         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
56184         (set_regs): Likewise, for FL_BACKTRACK arg.
56185         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
56186         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
56187         (calc_eclosure_iter, parse_bracket_exp):
56188         Use bool for internal variables that are booleans.
56189         * lib/regexec.c (re_search_internal, check_matching,
56190         proceed_next_node):
56191         (set_regs, build_sifted_states, sift_states_bkref):
56192         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
56193         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
56194         (find_collation_sequence_value):
56195         Likewise.
56196         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
56197         (re_node_set_compare):
56198         Return bool, not int. All callers changed.
56199         * lib/regexec.c (check_halt_node_context, check_dst_limits):
56200         (build_trtable, check_node_accept): Likewise.
56201         * lib/regex_internal.h: Include stdbool.h.
56202
56203         Fix bugs uncovered when converting to bool.
56204         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
56205         failure instead of charging ahead blindly.
56206         * lib/regex_internal.c (register_state): Likewise.
56207         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
56208         for freeing internal storage.
56209         (group_nodes_into_DFA_states): Use unsigned int, not int, for
56210         bitset pieces used as boolean, to avoid undefined behavior
56211         on hosts that do int overflow checking.
56212
56213 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56214
56215         * config/srclist.txt: Add glibc bugs 1285-1287.
56216
56217 2005-09-01  Jim Meyering  <jim@meyering.net>
56218
56219         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
56220         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
56221         Require gl_STAT_MACROS, too.
56222
56223 2005-09-01  Bruno Haible  <bruno@clisp.org>
56224
56225         * gnulib-tool (import): In the first-use case, provide defaults.
56226
56227 2005-09-01  Bruno Haible  <bruno@clisp.org>
56228
56229         * gnulib-tool (func_import): Remove the .tmp files.
56230
56231 2005-09-01  Bruno Haible  <bruno@clisp.org>
56232
56233         * gnulib-tool (func_import): Fix handling of symbolic links.
56234
56235 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56236
56237         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
56238         old glibc regex code mishandles strings longer than 2**31 bytes.
56239         This patch fixes this when the regex code is used in gnulib
56240         (i.e., outside glibc).
56241
56242         This patch should not affect the use of the regex code inside
56243         glibc.  No doubt this problem also needs to be handled for glibc
56244         as well, but the result will be an incompatible change to the
56245         glibc ABI, and the old ABI will have to be supported too.  That
56246         can be the the subject for another patch.
56247
56248         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
56249         governing whether the rest of this patch is active.  By default,
56250         the macro is disabled and the patch has no effect.
56251         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
56252         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
56253         (struct re_pattern_buffer, re_search, re_search_2, re_match):
56254         (re_match_2, re_set_registers): Use the new types.
56255         * lib/regex_internal.h (Idx, re_hashval_t): New types.
56256         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
56257         New macros.
56258         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
56259         (re_string_context_at, bin_tree_t, re_dfastate_t):
56260         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
56261         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
56262         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
56263         (re_string_char_size_at, re_string_wchar_at):
56264         (re_string_elem_size_at):
56265         Use the new types and macros to port to 64-bit hosts.
56266         Use unsigned types for internal values, so that the code
56267         mostly works even for arrays larger than SSIZE_MAX.
56268         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
56269         (search_duplicated_node, calc_eclosure_iter, fetch_number):
56270         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
56271         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
56272         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
56273         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
56274         (calc_inveclosure, parse_dup_op, build_range_exp):
56275         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
56276         (fetch_number, create_token_tree, mark_opt_subexp):
56277         Likewise.
56278         * lib/regex_internal.c (re_string_construct_common,
56279         create_ci_newstate):
56280         (create_cd_newstate, re_string_allocate, re_string_construct):
56281         (re_string_realloc_buffers, build_wcs_upper_buffer):
56282         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
56283         (re_string_reconstruct, re_string_peek_byte_case):
56284         (re_string_fetch_byte_case, re_string_context_at):
56285         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
56286         (re_node_set_init_copy, re_node_set_add_intersect):
56287         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56288         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56289         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
56290         (re_acquire_state, re_acquire_state_context, register_state):
56291         Likewise.
56292         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
56293         search_cur_bkref_entry):
56294         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
56295         (re_search_internal, re_search_2_stub, re_search_stub)
56296         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
56297         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
56298         (update_cur_sifted_state, check_dst_limits):
56299         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
56300         (check_subexp_limits, sift_states_bkref, merge_state_array):
56301         (check_subexp_matching_top, get_subexp, get_subexp_sub):
56302         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
56303         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
56304         (expand_bkref_cache, check_node_accept_bytes):
56305         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
56306         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
56307         (acquire_init_state_context, check_halt_node_context):
56308         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
56309         (sift_states_backward, clean_state_log_if_needed):
56310         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
56311         (find_recover_state, transit_state_sb, transit_state_mb):
56312         (transit_state_bkref, build_trtable, match_ctx_clean):
56313         Likewise.
56314         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
56315         to work around an assumption that REG_MISSING is negative.
56316
56317         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
56318         (seek_collating_symbol_entry) [defined _LIBC]:
56319         (lookup_collation_sequence_value) [defined _LIBC]:
56320         (build_range_exp, build_collating_symbol) [defined _LIBC]:
56321         Use prototypes rather than old-style function definitions.
56322         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
56323         (transit_state_sb) [0]:
56324         (find_collation_sequence_value) [defined _LIBC]: Likewise.
56325
56326         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
56327         rm_eo.
56328
56329         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
56330         (optimize_subexps, lower_subexp):
56331         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
56332         since the signed shift might overflow.  Use 1u<<31 instead.
56333         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
56334         Likewise.
56335         * lib/regexec.c (check_dst_limits_calc_pos_1,
56336         check_subexp_matching_top): Likewise.
56337
56338         * lib/regcomp.c (optimize_subexps, lower_subexp):
56339         Use CHAR_BIT rather than 8, for clarity.
56340         * lib/regexec.c (check_dst_limits_calc_pos_1):
56341         (check_subexp_matching_top): Likewise.
56342         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
56343         have to worry about portability issues when shifting it left.
56344         Remove no-longer-needed test for table_size > 0.
56345         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
56346         in a word, as the resulting behavior is undefined.
56347         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
56348         in one case, a <= should have been an <, and in another case the
56349         whole test was missing.
56350         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
56351         the standard name CHAR_BIT.
56352         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
56353         this is not true on one's complement and signed-magnitude hosts.
56354
56355         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
56356         next_last_offset.
56357         (struct re_dfa_t): Remove unused member states_alloc.
56358         * lib/regcomp.c (init_dfa): Don't initialize unused members.
56359
56360 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56361
56362         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
56363         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
56364         and large-file glibc and in 32-bit large-file Solaris.
56365
56366 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56367
56368         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
56369         lengths fit in regoff_t; this isn't true if regoff_t is the same
56370         width as size_t.
56371         * lib/regex.c (re_search_internal): 5th arg is LAST_START
56372         (= START + RANGE) instead of RANGE.  This avoids overflow
56373         problems when regoff_t is the same width as size_t.
56374         All callers changed.
56375         (re_search_2_stub): Check for overflow when adding the
56376         sizes of the two strings.
56377         (re_search_stub): Check for overflow when adding START
56378         to RANGE; if it occurs, substitute the extreme value.
56379
56380 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56381
56382         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
56383
56384 2005-08-31  Jim Meyering  <jim@meyering.net>
56385
56386         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
56387         a pointer-to-const.
56388         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
56389         (register_state): Likewise.
56390         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
56391         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
56392         (group_nodes_into_DFAstates): Likewise.
56393
56394 2005-08-31  Jim Meyering  <jim@meyering.net>
56395
56396         * check-module: Add a FIXME comment.
56397
56398 2005-08-31  Eric Blake  <ebb9@byu.net>
56399
56400         * modules/unistd-safer (Files): Add unistd--.h.
56401         * modules/stdio-safer (Files): Add stdio--.h.
56402
56403 2005-08-31  Derek Price  <derek@ximbiot.com>
56404
56405         * lib/getdelim.c (getdelim): Return EOF on EOF.
56406         Reported by Larry Jones <lawrence.jones@ugs.com>.
56407
56408 2005-08-31  Bruno Haible  <bruno@clisp.org>
56409
56410         Avoid unnecessary diffs in the generated lib/Makefile.am.
56411         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
56412         the generated files.
56413         (func_import): Don't set cmd.
56414
56415 2005-08-31  Bruno Haible  <bruno@clisp.org>
56416
56417         * lib/strstr.c: Include <stddef.h>, for NULL.
56418         * lib/strcasestr.c: Likewise.
56419         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56420
56421 2005-08-31  Bruno Haible  <bruno@clisp.org>
56422
56423         * gnulib-tool: New option --macro-prefix.
56424         (func_import): Use macro_prefix.
56425         (import): Handle option --macro-prefix.
56426
56427 2005-08-31  Bruno Haible  <bruno@clisp.org>
56428
56429         * gnulib-tool (import): Rename most ac_* variables to cached_*.
56430         Also use new variables cached_lgpl, cached_libtool.
56431
56432 2005-08-31  Bruno Haible  <bruno@clisp.org>
56433
56434         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
56435         always instantiating them.
56436
56437 2005-08-31  Bruno Haible  <bruno@clisp.org>
56438
56439         * gnulib-tool (func_import): Read the previous cached settings
56440         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
56441         earlier added by gnulib but are now dropped. Warn when a gnulib file
56442         overwrites a non-gnulib file.
56443
56444 2005-08-31  Bruno Haible  <bruno@clisp.org>
56445
56446         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
56447         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
56448         projects that don't keep autogenerated files in CVS. Put into
56449         actioncmd only the specified modules, not the transitive closure.
56450
56451 2005-08-31  Bruno Haible  <bruno@clisp.org>
56452
56453         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
56454         Create directories that shall be filled.
56455         (import): Don't look for gl_* macros in configure.ac. Recurse across
56456         all directories containing a gnulib-cache.m4 files, if meaningful.
56457
56458 2005-08-31  Bruno Haible  <bruno@clisp.org>
56459
56460         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
56461         (import): Set seen_libtool when we see gl_LIBTOOL.
56462
56463 2005-08-31  Bruno Haible  <bruno@clisp.org>
56464
56465         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
56466         declaration macro definitions from generated gnulib.m4.
56467
56468 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
56469
56470         * lib/iconvme.h: Add prototype for iconv_alloc.
56471
56472 2005-08-29  Simon Josefsson  <jas@extundo.com>
56473
56474         * lib/iconvme.c: Fix errno.
56475
56476 2005-08-29  Bruno Haible  <bruno@clisp.org>
56477
56478         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
56479         that it works when the directory contains spaces.
56480
56481 2005-08-29  Bruno Haible  <bruno@clisp.org>
56482
56483         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
56484
56485 2005-08-29  Bruno Haible  <bruno@clisp.org>
56486
56487         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
56488         Emit more advice.
56489
56490 2005-08-29  Bruno Haible  <bruno@clisp.org>
56491         and Stepan Kasal  <kasal@ucw.cz>
56492
56493         * check-module: If more parameters are given, check each of them
56494         separately; add more exceptions, as noted by Jim Meyering.
56495         (check_module): New procedure.
56496         (%exempt_header): Now contains all exceptions.
56497
56498 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
56499
56500         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
56501
56502 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
56503
56504         * lib/iconvme.c: Split iconv_string into iconv_alloc.
56505
56506 2005-08-28  Bruno Haible  <bruno@clisp.org>
56507
56508         * m4/gnulib-tool.m4: New file.
56509
56510 2005-08-27  Jim Meyering  <jim@meyering.net>
56511
56512         * modules/unistd-safer (Files): Add pipe-safer.c.
56513         * modules/fcntl-safer (Files): Add creat-safer.c.
56514
56515 2005-08-27  Jim Meyering  <jim@meyering.net>
56516
56517         * m4/stdlib-safer.m4: New file.  From coreutils.
56518         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
56519         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
56520         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
56521         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
56522         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
56523
56524 2005-08-27  Jim Meyering  <jim@meyering.net>
56525
56526         * lib/fopen-safer.c: Merge minor changes from coreutils.
56527         * lib/dup-safer.c: Likewise.
56528         * lib/fd-safer.c: Likewise.
56529
56530         Merge from coreutils.
56531         * lib/stdio--.h: New file.
56532         * lib/stdlib--.h: New file.
56533         * lib/mkstemp-safer.c: New file.
56534
56535         GNU tar needs these.
56536         * lib/pipe-safer.c: New file.
56537         * lib/creat-safer.c: New file.
56538         * lib/fcntl--.h (creat): Define to creat_safer.
56539         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
56540         * lib/unistd--.h (pipe): Define to pipe_safer.
56541         * lib/unistd-safer.h: Declare pipe_safer.
56542
56543 2005-08-26  Simon Josefsson  <jas@extundo.com>
56544
56545         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
56546         Haible <bruno@clisp.org>.
56547
56548 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
56549
56550         * lib/regex_internal.h: Remove all references to
56551         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
56552         or better.
56553         (bitset_not, bitset_merge, bitset_not_merge):
56554         (bitset_mask, re_string_allocate, re_string_construct):
56555         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
56556         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
56557         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
56558         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
56559         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56560         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56561         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
56562         (re_acquire_state_context):
56563         Remove unnecessary forward decls.
56564         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
56565         Put __attribute at function definition,
56566         now that the function decl has been removed.
56567         * lib/regex_internal.c (re_string_peek_byte_case):
56568         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
56569         Likewise.
56570
56571 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
56572
56573         * m4/regex.m4: Add AC_PREREQ(2.50).
56574         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
56575
56576 2005-08-25  Simon Josefsson  <jas@extundo.com>
56577
56578         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
56579         __fsetlocking.
56580
56581 2005-08-25  Simon Josefsson  <jas@extundo.com>
56582
56583         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
56584         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
56585         GLIBC specific code.
56586
56587 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56588
56589         Make regex safe for g++.  This fixes one real bug (an "err"
56590         that should have been "*err").  g++ problem reported by
56591         Sam Steingold.
56592         * lib/regex_internal.h (re_calloc): New macro, consistent with
56593         re_malloc etc.  All callers of calloc changed to use re_calloc.
56594         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
56595         not int.  All callers changed.
56596         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
56597         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
56598         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
56599         (find_recover_state): Change "err" to "*err"; this fixes what
56600         appears to be a real bug.
56601         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
56602         versus int.
56603
56604 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56605
56606         * modules/regex (Depends-on): Add malloc, since the code
56607         assumes that !malloc(0) means failure.
56608
56609 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56610
56611         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
56612
56613         alloca modernization/simplification for regex.
56614         * lib/regex.c: Remove portability cruft for alloca.  This no longer
56615         needs to be at the start of the file, and can be moved into
56616         regex_internal.h and simplified.
56617         * lib/regex_internal.h: Include <alloca.h>.
56618         (__libc_use_alloca) [!defined _LIBC]: New macro.
56619         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
56620         now works outside glibc.
56621
56622 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56623
56624         * config/srclist.txt: Add glibc bugs 1241, 1245.
56625
56626 2005-08-25  Jim Meyering  <jim@meyering.net>
56627
56628         * lib/open-safer.c: Include <config.h>.
56629         Otherwise, we'd lose LARGEFILE support in any file using
56630         e.g. "fcntl--.h"
56631
56632 2005-08-25  Bruno Haible  <bruno@clisp.org>
56633
56634         * m4/minmax.m4: Require autoconf 2.52.
56635         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
56636         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
56637         alternatives of translit over the alphabet.
56638         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
56639
56640 2005-08-24  Simon Josefsson  <jas@extundo.com>
56641
56642         * tests/test-getpass.c: New file.
56643
56644 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56645
56646         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
56647         for GNU regex features.
56648
56649 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56650
56651         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
56652         * lib/regex.h (regerror): Likewise.
56653
56654         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
56655         requires this.  (The code never needed it.)
56656
56657         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
56658         All uses of recently-renamed identifiers changed to use the new,
56659         POSIX-compliant names.  The code will build and run just fine
56660         without these changes, but it's better to eat our own dog food
56661         and use the standard-conforming names.
56662
56663         * lib/regex.h: Fix a multitude of POSIX name space violations.
56664         These changes have an effect only for programs that define
56665         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
56666         do not change anything for programs compiled in the normal way.
56667         Also, there is no effect on the ABI.
56668
56669         (_REGEX_SOURCE): New macro.
56670         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
56671         defined and _GNU_SOURCE is not; this fixes a name space violation.
56672
56673         Rename the following macros to obey POSIX requirements.
56674         The old names are still visible as macros if _REGEX_SOURCE is defined.
56675         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
56676         RE_BACKSLASH_ESCAPE_IN_LISTS.
56677         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
56678         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
56679         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
56680         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
56681         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
56682         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
56683         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
56684         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
56685         (REG_INTERVALS): renamed from RE_INTERVALS.
56686         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
56687         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
56688         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
56689         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
56690         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
56691         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
56692         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
56693         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
56694         RE_UNMATCHED_RIGHT_PAREN_ORD.
56695         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
56696         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
56697         (REG_DEBUG): renamed from RE_DEBUG.
56698         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
56699         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
56700         unusual, since we can't clash with the POSIX REG_ICASE.
56701         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
56702         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
56703         (REG_NO_SUB): renamed from RE_NO_SUB.
56704         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
56705         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
56706         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
56707         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
56708         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
56709         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
56710         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
56711         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
56712         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
56713         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
56714         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
56715         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
56716         RE_SYNTAX_POSIX_MINIMAL_BASIC.
56717         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
56718         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
56719         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
56720         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
56721         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
56722         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
56723         (REG_FIXED): Renamed from REGS_FIXED.
56724         (REG_NREGS): Renamed from RE_NREGS.
56725
56726         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
56727         of other REG_* macros, since POSIX says the user is allowed to
56728         #undef these macros selectively.
56729
56730         (reg_errcode_t): Update comment stating what other tables need
56731         to be consistent.
56732
56733         Rename the following enum values to obey POSIX requirements.
56734         The old names are still visible as macros.
56735         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
56736         is not defined, since GNU is supposed to be a superset of POSIX as
56737         much as possible, and since we want reg_errcode_t to be a signed
56738         type for implementation consistency.
56739         (_REG_NOERROR): Renamed from REG_NOERROR.
56740         (_REG_NOMATCH): Renamed from REG_NOMATCH.
56741         (_REG_BADPAT): Renamed from REG_BADPAT.
56742         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
56743         (_REG_ECTYPE): Renamed from REG_ECTYPE.
56744         (_REG_EESCAPE): Renamed from REG_EESCAPE.
56745         (_REG_ESUBREG): Renamed from REG_ESUBREG.
56746         (_REG_EBRACK): Renamed from REG_EBRACK.
56747         (_REG_EPAREN): Renamed from REG_EPAREN.
56748         (_REG_EBRACE): Renamed from REG_EBRACE.
56749         (_REG_BADBR): Renamed from REG_BADBR.
56750         (_REG_ERANGE): Renamed from REG_ERANGE.
56751         (_REG_ESPACE): Renamed from REG_ESPACE.
56752         (_REG_BADRPT): Renamed from REG_BADRPT.
56753         (_REG_EEND): Renamed from REG_EEND.
56754         (_REG_ESIZE): Renamed from REG_ESIZE.
56755         (_REG_ERPAREN): Renamed from REG_ERPAREN.
56756         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
56757         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
56758         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
56759         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
56760
56761         (_REG_RE_NAME, _REG_RM_NAME): New macros.
56762         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
56763         changed.  But support the old name if the new one is not defined
56764         and if _REGEX_SOURCE.
56765
56766         Change the following member names in struct re_pattern_buffer.
56767         The old names are still supported if !_REGEX_SOURCE.
56768         The new names are always supported, regardless of _REGEX_SOURCE.
56769         (re_buffer): Renamed from buffer.
56770         (re_allocated): Renamed from allocated.
56771         (re_used): Renamed from used.
56772         (re_syntax): Renamed from syntax.
56773         (re_fastmap): Renamed from fastmap.
56774         (re_translate): Renamed from translate.
56775         (re_can_be_null): Renamed from can_be_null.
56776         (re_regs_allocated): Renamed from regs_allocated.
56777         (re_fastmap_accurate): Renamed from fastmap_accurate.
56778         (re_no_sub): Renamed from no_sub.
56779         (re_not_bol): Renamed from not_bol.
56780         (re_not_eol): Renamed from not_eol.
56781         (re_newline_anchor): Renamed from newline_anchor.
56782
56783         Change the following member names in struct re_registers.
56784         The old names are still supported if !_REGEX_SOURCE.
56785         The new names are always supported, regardless of _REGEX_SOURCE.
56786         (rm_num_regs): Renamed from num_regs.
56787         (rm_start): Renamed from start.
56788         (rm_end): Renamed from end.
56789
56790         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
56791         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
56792         Prepend __ to parameter names.
56793
56794         Undo yesterday's changes.
56795
56796 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56797
56798         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
56799         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
56800         lib/regex.c.
56801
56802 2005-08-24  Jim Meyering  <jim@meyering.net>
56803
56804         Sync from coreutils.
56805         * m4/fcntl-safer.m4: New file.
56806
56807         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
56808         and object files for this module.
56809
56810 2005-08-24  Jim Meyering  <jim@meyering.net>
56811
56812         Sync from coreutils.
56813         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
56814
56815 2005-08-24  Jim Meyering  <jim@meyering.net>
56816
56817         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
56818         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
56819
56820 2005-08-24  Jim Meyering  <jim@meyering.net>
56821
56822         * modules/fcntl-safer: New module.
56823         * modules/fts (Depends-on): Add fcntl-safer.
56824         * MODULES.html.sh (File descriptor based Input/Output):
56825         Add fcntl-safer.
56826
56827 2005-08-24  Bruno Haible  <bruno@clisp.org>
56828
56829         Support for unit test modules.
56830         * modules/README: Mention tests modules.
56831         * modules/TEMPLATE-TESTS: New file.
56832         * gnulib-tool: New options --extract-tests-module, --with-tests and
56833         --tests-base (unused for the moment).
56834         (testsbase, inctests): New variables.
56835         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
56836         (func_verify_module): Exclude TEMPLATE-TESTS.
56837         (func_verify_nontests_module, func_verify_tests_module): New functions.
56838         (func_get_dependencies): Add implicit dependency for tests modules.
56839         (func_get_tests_module): New function.
56840         (func_modules_transitive_closure): When --with-tests was specified,
56841         include the unit tests as well, unless explicitly avoided.
56842         (func_emit_lib_Makefile_am): Ignore the tests modules here.
56843         (func_emit_tests_Makefile_am): New function.
56844         (func_create_testdir): When --with-tests was specified, emit a
56845         tests/ directory.
56846         * MODULES.html.sh (Future developments): Update.
56847
56848 2005-08-24  Bruno Haible  <bruno@clisp.org>
56849
56850         * modules/tls-tests: New file.
56851         * tests/test-tls.c: New file, from GNU gettext.
56852
56853 2005-08-24  Bruno Haible  <bruno@clisp.org>
56854
56855         * modules/lock-tests: New file.
56856         * tests/test-lock.c: New file, from GNU gettext.
56857
56858 2005-08-24  Bruno Haible  <bruno@clisp.org>
56859
56860         * lib/lock.h: Add multiple inclusion guard.
56861         * lib/tls.h: Add multiple inclusion guard.
56862
56863 2005-08-24  Bruno Haible  <bruno@clisp.org>
56864
56865         * gnulib-tool: Add support for the --aux-dir option to
56866         --create-testdir, --create-megatestdir, --test, --megatest.
56867         (func_create_testdir, func_create_megatestdir): Optionally emit a
56868         AC_CONFIG_AUX_DIR directive.
56869         (create-testdir, create-megatestdir, test, megatest): Provide a
56870         default value for $auxdir.
56871
56872 2005-08-24  Bruno Haible  <bruno@clisp.org>
56873
56874         * gnulib-tool (import): Use compound statement instead of subshell
56875         where possible.
56876
56877 2005-08-24  Bruno Haible  <bruno@clisp.org>
56878
56879         * gnulib-tool (import): Change --aux-dir default to "build-aux".
56880
56881 2005-08-24  Bruno Haible  <bruno@clisp.org>
56882
56883         * gnulib-tool (func_version): Update.
56884
56885 2005-08-24  Bruno Haible  <bruno@clisp.org>
56886
56887         * gnulib-tool (func_import, func_create_testdir,
56888         func_create_megatestdir): Quote all autoconf macro arguments.
56889
56890 2005-08-24  Bruno Haible  <bruno@clisp.org>
56891
56892         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
56893         option --force, because --force causes the aclocal.m4 of each
56894         subdirectory to be newer than the corresponding config.h.in.
56895
56896 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56897
56898         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
56899         All contents moved to gl_REGEX.
56900         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
56901         assume that it does.
56902
56903 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56904
56905         * lib/regex.h (REG_NOSYS)
56906         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
56907         Define, since POSIX requires it as of 2001.
56908         (_REG_ENOSYS)
56909         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
56910         New private symbol, used to keep the enum signed in all cases.
56911         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
56912         Youngman in
56913         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
56914
56915         * lib/regex_internal.c (re_string_skip_chars, register_state):
56916         (calc_state_hash):
56917         Remove forward decls; no longer needed now that we use prototypes.
56918         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
56919         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
56920         (clean_state_log_if_needed): Likewise.
56921
56922 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56923
56924         * config/srclist.txt: Add glibc bugs 1231-1233.
56925
56926 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56927
56928         Fix problems reported by Sam Steingold in
56929         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
56930         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
56931         assumed that reg_errcode_t is a signed type, which is not
56932         necessarily true if _XOPEN_SOURCE is not defined.
56933         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
56934         since some compilers warn about it otherwise.
56935
56936 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56937
56938         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
56939         (init_word_char, create_initial_state, duplicate_node_closure):
56940         (fetch_token, peek_token_bracket, build_range_exp):
56941         (build_collating_symbol): Remove forward decls; no longer needed
56942         now that we use prototypes.
56943
56944         * lib/regcomp.c:
56945         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
56946         (re_compile_fastmap_iter, regcomp, regerror, regfree):
56947         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
56948         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
56949         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
56950         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
56951         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
56952         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
56953         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
56954         (build_range_exp, build_collating_symbol, parse_bracket_exp):
56955         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
56956         (build_charclass, build_charclass_op, fetch_number, create_tree):
56957         (create_token_tree, mark_opt_subexp, duplicate_tree):
56958         Use prototypes rather than old-style definitions.
56959
56960         * lib/regex_internal.c:
56961         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
56962         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
56963         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
56964         (re_string_reconstruct, re_string_peek_byte_case):
56965         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
56966         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
56967         (re_node_set_init_copy, re_node_set_add_intersect):
56968         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56969         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56970         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
56971         (re_acquire_state, re_acquire_state_context, register_state):
56972         (create_ci_newstate, create_cd_newstate, free_state):
56973         Likewise.
56974         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
56975         re_search_2):
56976         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
56977         (re_search_internal, prune_impossible_nodes):
56978         (acquire_init_state_context, check_matching, static):
56979         (check_halt_node_context, check_halt_state_context, proceed_next_node):
56980         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
56981         (update_regs, sift_states_backward, build_sifted_states):
56982         (clean_state_log_if_needed, merge_state_array):
56983         (update_cur_sifted_state, add_epsilon_src_nodes):
56984         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
56985         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
56986         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
56987         (find_recover_state, check_subexp_matching_top, transit_state_mb):
56988         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
56989         (check_arrival, check_arrival_add_next_nodes):
56990         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
56991         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
56992         (check_node_accept_bytes, check_node_accept, extend_buffers):
56993         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
56994         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
56995         (sift_ctx_init):
56996         Likewise.
56997
56998         * lib/regex_internal.h:
56999         (re_string_allocate, re_string_construct, re_string_reconstruct):
57000         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
57001         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
57002         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
57003         (re_string_context_at, re_string_peek_byte_case):
57004         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
57005         is defined, since we now use prototypes always.
57006
57007         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
57008         C89 or better.  All uses removed.
57009
57010 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57011
57012         * config/srclist.txt: Add glibc bugs 1220-1227.
57013
57014 2005-08-20  Jim Meyering  <jim@meyering.net>
57015
57016         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
57017         of unused local, dfa.
57018
57019 2005-08-20  Bruno Haible  <bruno@clisp.org>
57020
57021         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
57022
57023 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57024
57025         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
57026         (re_node_set_insert_last, re_dfa_add_node):
57027         Rename local variables to avoid GCC shadowing warnings.
57028
57029 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57030
57031         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
57032         [defined lint]: Suppress bogus uninitialized-variable warnings.
57033
57034         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
57035         and let the caller return REG_ESPACE if out of space.  This
57036         removes an uninitialied-variable warning with GCC 4.0.1, and also
57037         avoids taking the address of a local variable.  All callers
57038         changed.
57039
57040 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57041
57042         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
57043         $LIBCSRC/posix/regexec.c.
57044         Add glibc bug 1217 for regcomp.c.
57045
57046 2005-08-19  Jim Meyering  <jim@meyering.net>
57047
57048         * lib/regexec.c (proceed_next_node): Redo local variables to
57049         avoid GCC shadowing warnings.
57050
57051 2005-08-18  Bruno Haible  <bruno@clisp.org>
57052
57053         * lib/strstr.c (strstr): Fix return value in multibyte case.
57054         * lib/strcasestr.c (strcasestr): Likewise.
57055
57056 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57057
57058         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
57059
57060 2005-08-17  Jim Meyering  <jim@meyering.net>
57061
57062         Make the %s format (seconds since the epoch) work for a negative
57063         number and when used with a zero-padded field width, e.g. %015s.
57064
57065         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
57066         label so that it precedes the code to set `digits'.  Otherwise,
57067         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
57068         print `00-22'.  Now, it prints `-0022', as it should.
57069
57070 2005-08-17  Bruno Haible  <bruno@clisp.org>
57071
57072         * modules/strstr (Files): Add m4/mbrtowc.m4.
57073         (Depends-on): Add mbuiter.
57074
57075 2005-08-17  Bruno Haible  <bruno@clisp.org>
57076
57077         * modules/strcasestr: New file.
57078         * MODULES.html.sh (String handling, based on ANSI C 89): Add
57079         strcasestr.
57080
57081 2005-08-17  Bruno Haible  <bruno@clisp.org>
57082
57083         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
57084
57085 2005-08-17  Bruno Haible  <bruno@clisp.org>
57086
57087         * modules/mbuiter: New file.
57088         * MODULES.html.sh (Extended multibyte and wide character utilities):
57089         Add mbuiter.
57090
57091 2005-08-17  Bruno Haible  <bruno@clisp.org>
57092
57093         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
57094         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
57095
57096 2005-08-17  Bruno Haible  <bruno@clisp.org>
57097
57098         * m4/strcasestr.m4: New file.
57099
57100 2005-08-17  Bruno Haible  <bruno@clisp.org>
57101
57102         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
57103         * lib/strstr.c: Completely rewritten, with multibyte locale support.
57104
57105 2005-08-17  Bruno Haible  <bruno@clisp.org>
57106
57107         * lib/strcasestr.h: New file.
57108         * lib/strcasestr.c: New file.
57109
57110 2005-08-17  Bruno Haible  <bruno@clisp.org>
57111
57112         * lib/strcasecmp.c: Use mbuiter.h.
57113
57114 2005-08-17  Bruno Haible  <bruno@clisp.org>
57115
57116         * lib/mbuiter.h: New file.
57117
57118 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
57119
57120         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
57121         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
57122         and gl_GETOPT are both invoked via different paths (as happens
57123         with GNU tar CVS because it uses both argp and getopt), the former
57124         wins.
57125
57126 2005-08-16  Bruno Haible  <bruno@clisp.org>
57127
57128         * modules/tls: New file.
57129         * MODULES.html.sh (Multithreading): Add tls.
57130
57131 2005-08-16  Bruno Haible  <bruno@clisp.org>
57132
57133         * modules/strnlen1: New file.
57134         * MODULES.html.sh (String handling): Add strnlen1.
57135
57136 2005-08-16  Bruno Haible  <bruno@clisp.org>
57137
57138         * modules/strcase (Files): Add m4/mbrtowc.m4.
57139         (Depends-on): Add strnlen1, mbchar.
57140
57141 2005-08-16  Bruno Haible  <bruno@clisp.org>
57142
57143         * modules/mbiter: New file.
57144         * MODULES.html.sh (Extended multibyte and wide character utilities):
57145         Add mbiter.
57146
57147 2005-08-16  Bruno Haible  <bruno@clisp.org>
57148
57149         * modules/mbfile: New file.
57150         * MODULES.html.sh (Extended multibyte and wide character utilities):
57151         Add mbfile.
57152
57153 2005-08-16  Bruno Haible  <bruno@clisp.org>
57154
57155         * modules/mbchar: New file.
57156         * MODULES.html.sh (Extended multibyte and wide character utilities):
57157         New section.
57158
57159 2005-08-16  Bruno Haible  <bruno@clisp.org>
57160
57161         * m4/tls.m4: New file, from GNU gettext.
57162
57163 2005-08-16  Bruno Haible  <bruno@clisp.org>
57164
57165         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
57166         always.
57167         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
57168
57169 2005-08-16  Bruno Haible  <bruno@clisp.org>
57170
57171         * m4/mbiter.m4: New file.
57172
57173 2005-08-16  Bruno Haible  <bruno@clisp.org>
57174
57175         * m4/mbfile.m4: New file.
57176
57177 2005-08-16  Bruno Haible  <bruno@clisp.org>
57178
57179         * m4/mbchar.m4: New file.
57180
57181 2005-08-16  Bruno Haible  <bruno@clisp.org>
57182
57183         * lib/tls.h: New file, from GNU gettext.
57184         * lib/tls.c: New file, from GNU gettext.
57185
57186 2005-08-16  Bruno Haible  <bruno@clisp.org>
57187
57188         * lib/strnlen1.h: New file.
57189         * lib/strnlen1.c: New file.
57190
57191 2005-08-16  Bruno Haible  <bruno@clisp.org>
57192
57193         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
57194         (mbi_init): Update.
57195         (mbi_avail, mbi_advance): Let the iteration end before the terminating
57196         NUL byte, not after it.
57197
57198 2005-08-16  Bruno Haible  <bruno@clisp.org>
57199
57200         * lib/strcase.h (strcasecmp): Add note in comments.
57201         * lib/strncasecmp.c: Use code from strcasecmp.c.
57202         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
57203         (strcasecmp): Work correctly in multibyte locales.
57204
57205 2005-08-16  Bruno Haible  <bruno@clisp.org>
57206
57207         * lib/mbiter.h: New file.
57208
57209 2005-08-16  Bruno Haible  <bruno@clisp.org>
57210
57211         * lib/mbfile.h: New file.
57212
57213 2005-08-16  Bruno Haible  <bruno@clisp.org>
57214
57215         * lib/mbchar.h: New file.
57216         * lib/mbchar.c: New file.
57217
57218 2005-08-16  Bruno Haible  <bruno@clisp.org>
57219
57220         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
57221         the valid ones. Makes the comparison operations transitive:
57222         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
57223         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
57224
57225 2005-08-15  Simon Josefsson  <jas@extundo.com>
57226
57227         * modules/ssize_t (License): Change to 'unlimited'.
57228
57229         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
57230
57231 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57232
57233         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
57234         Add comments for each pending glibc patch.
57235
57236 2005-08-15  Bruno Haible  <bruno@clisp.org>
57237
57238         * lib/regex.h (__restrict_arr): Don't define to __restrict if
57239         __cplusplus is defined.
57240
57241 2005-08-14  Jim Meyering  <jim@meyering.net>
57242
57243         Sync from coreutils.
57244
57245         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
57246         Use the hash-table-based cycle-detection code not just when
57247         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
57248         Reported by James Youngman in
57249         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
57250         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
57251         FTS_TIGHT_CYCLE_CHECK.
57252         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
57253         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
57254         once again.
57255         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
57256         * lib/fts.c (fd_safer): Remove decl.
57257         Include fcntl--.h rather than unistd-safer.h
57258         (fts_safe_changedir): Don't call fd_safer; no longer needed
57259         now that we include fcntl--.h.
57260
57261 2005-08-12  Simon Josefsson  <jas@extundo.com>
57262
57263         * modules/getndelim2: Use ssize_t module.
57264         * modules/getnline: Likewise.
57265         * modules/safe-read: Likewise.
57266         * modules/xreadlink: Likewise.
57267
57268         * modules/ssize_t: New file.
57269
57270 2005-08-12  Simon Josefsson  <jas@extundo.com>
57271
57272         * m4/readline.m4: Look for termcap, curses or ncurses if required.
57273
57274 2005-08-12  Simon Josefsson  <jas@extundo.com>
57275
57276         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57277         ssize_t.
57278
57279 2005-08-12  Simon Josefsson  <jas@extundo.com>
57280
57281         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
57282         readline, getdelim and check_version.
57283         (Support for systems lacking ISO C 99: Sizes of integer types):
57284         Add size_max.
57285
57286 2005-08-12  Bruno Haible  <bruno@clisp.org>
57287
57288         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
57289
57290 2005-08-11  Simon Josefsson  <jas@extundo.com>
57291
57292         * modules/readline: New file.
57293
57294         * modules/strnlen (Files): Add strnlen.h.
57295
57296 2005-08-11  Simon Josefsson  <jas@extundo.com>
57297
57298         * m4/readline.m4: New file.
57299
57300 2005-08-11  Simon Josefsson  <jas@extundo.com>
57301
57302         * lib/readline.h, readline.c: New file.
57303
57304 2005-08-11  Simon Josefsson  <jas@extundo.com>
57305
57306         * doc/gnulib.texi (Initial import, Finishing touches): Mention
57307         gl_AVOID.
57308
57309 2005-08-11  Bruno Haible  <bruno@clisp.org>
57310
57311         * lib/strnlen.h (strnlen): Change parameter name to match comment.
57312
57313 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
57314
57315         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
57316
57317 2005-08-10  Simon Josefsson  <jas@extundo.com>
57318
57319         * tests/test-iconvme.c: New file.
57320
57321 2005-08-10  Simon Josefsson  <jas@extundo.com>
57322
57323         * m4/strnlen.m4: New file.
57324
57325         * m4/strndup.m4: Don't check for strnlen declaration, done in
57326         strnlen.m4.
57327
57328 2005-08-10  Simon Josefsson  <jas@extundo.com>
57329
57330         * lib/strndup.c: Use strnlen.h.
57331
57332         * lib/strnlen.h: New file.
57333
57334 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
57335
57336         * README: Typos.
57337
57338 2005-08-02  Simon Josefsson  <jas@extundo.com>
57339
57340         * modules/readline: New file.
57341
57342 2005-08-02  Simon Josefsson  <jas@extundo.com>
57343
57344         * modules/getdelim: New file.
57345
57346         * modules/getline: Rewrite, don't use getndelim2.
57347
57348 2005-08-02  Simon Josefsson  <jas@extundo.com>
57349
57350         * m4/getline.m4: Separate out getdelim stuff into separate module.
57351
57352         * m4/getdelim.m4: New file.
57353
57354 2005-08-02  Simon Josefsson  <jas@extundo.com>
57355
57356         * lib/getline.h, getline.c: Rewrite.
57357
57358         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
57359
57360 2005-07-31  Bruno Haible  <bruno@clisp.org>
57361
57362         * lib/lock.h (gl_lock_initializer): New macro.
57363         (gl_lock_define_initialized): Use it.
57364         (gl_rwlock_initializer): New macro.
57365         (gl_rwlock_define_initialized): Use it.
57366         (gl_recursive_lock_initializer): New macro.
57367         (gl_recursive_lock_define_initialized): Use it.
57368
57369 2005-07-30  Karl Berry  <karl@gnu.org>
57370
57371         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
57372         Report from Ben Pfaff, regarding getopt.
57373
57374 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
57375
57376         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
57377         normal way.
57378         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
57379         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
57380         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
57381         (gl_GETOPT): Use the new macros.  Most of the implementation
57382         is moved to the new macros.  This is for programs like Emacs
57383         that don't want all the functionality of gl_GETOPT.
57384
57385 2005-07-26  Bruno Haible  <bruno@clisp.org>
57386
57387         * m4/lock.m4: Update from GNU gettext.
57388
57389 2005-07-26  Bruno Haible  <bruno@clisp.org>
57390
57391         * lib/lock.h: Update from GNU gettext.
57392         * lib/lock.c: Update from GNU gettext.
57393
57394 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
57395
57396         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
57397         obsolescent AC_TRY_RUN.  Include the default includes files, for
57398         'exit'.
57399
57400 2005-07-24  Bruno Haible  <bruno@clisp.org>
57401
57402         * modules/visibility: New file.
57403         * MODULES.html.sh (Misc): Add visibility.
57404
57405 2005-07-24  Bruno Haible  <bruno@clisp.org>
57406
57407         * m4/visibility.m4: New file.
57408
57409 2005-07-24  Bruno Haible  <bruno@clisp.org>
57410
57411         * doc/visibility.texi: New file.
57412
57413 2005-07-22  Bruno Haible  <bruno@clisp.org>
57414
57415         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
57416         $(ALLOCA_H), redundant through BUILT_SOURCES.
57417         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
57418         redundant through BUILT_SOURCES.
57419         * modules/byteswap (Makefile.am): Remove explicit dependency on
57420         $(BYTESWAP_H), redundant through BUILT_SOURCES.
57421         * modules/fnmatch (Makefile.am): Remove explicit dependency on
57422         $(FNMATCH_H), redundant through BUILT_SOURCES.
57423         * modules/getopt (Makefile.am): Remove explicit dependency on
57424         $(GETOPT_H), redundant through BUILT_SOURCES.
57425         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
57426         redundant through BUILT_SOURCES.
57427         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
57428         redundant through BUILT_SOURCES.
57429         * modules/stdbool (Makefile.am): Remove explicit dependency on
57430         $(STDBOOL_H), redundant through BUILT_SOURCES.
57431         * modules/stdint (Makefile.am): Remove explicit dependency on
57432         $(STDINT_H), redundant through BUILT_SOURCES.
57433         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
57434         Remove explicit dependency on $(SYSEXITS_H).
57435         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
57436
57437 2005-07-18  Simon Josefsson  <jas@extundo.com>
57438
57439         * lib/check-version.c (check_version): Accept identical versions too.
57440
57441 2005-07-18  Bruno Haible  <bruno@clisp.org>
57442
57443         * modules/lock: New file.
57444         * MODULES.html.sh (Multithreading): New section.
57445
57446 2005-07-18  Bruno Haible  <bruno@clisp.org>
57447
57448         * m4/lock.m4: New file, from GNU gettext.
57449
57450 2005-07-18  Bruno Haible  <bruno@clisp.org>
57451
57452         * lib/lock.h: New file, from GNU gettext.
57453         * lib/lock.c: New file, from GNU gettext.
57454
57455 2005-07-18  Bruno Haible  <bruno@clisp.org>
57456
57457         * lib/lock.h (gl_once_t): New type.
57458         (gl_once_define, gl_once): New macros.
57459         * lib/lock.c (fresh_once): New variable.
57460         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
57461         functions.
57462
57463 2005-07-16  Simon Josefsson  <jas@extundo.com>
57464
57465         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
57466         workaround, suggested by Bruno.
57467
57468 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
57469
57470         * modules/xalloc (Depends-on): Add xalloc-die.
57471         * modules/xvasprintf (Depends-on): Add xalloc-die.
57472
57473 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
57474
57475         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
57476         with a minor change.
57477
57478 2005-07-15  Bruno Haible  <bruno@clisp.org>
57479
57480         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
57481         When using lib/poll.c, define poll as rpl_poll.
57482
57483 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
57484
57485         * modules/argp (Depends-on): Remove unlocked-io.
57486
57487 2005-07-14  Derek Price  <derek@ximbiot.com>
57488
57489         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
57490         for glob symlink bug.
57491
57492 2005-07-14  Bruno Haible  <bruno@clisp.org>
57493
57494         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
57495         Instead, test for *_unlocked function declarations directly.
57496
57497 2005-07-11  Simon Josefsson  <jas@extundo.com>
57498
57499         * modules/size_max: New file.
57500
57501         * modules/xsize: Depend on size_max module for size_max.m4.
57502
57503 2005-07-11  Simon Josefsson  <jas@extundo.com>
57504
57505         * lib/size_max.h: New file.
57506
57507 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
57508
57509         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
57510         copyright symbol and the year.
57511         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
57512         (version_etc_va): Use parameterized copyright notice.
57513         Reword to conform to the current GNU coding standards.
57514
57515 2005-07-11  Karl Berry  <karl@gnu.org>
57516
57517         * doc/gnulib.texi (Quoting): new node.
57518         (Initial import): more info, from Patrice.
57519
57520 2005-07-11  Bruno Haible  <bruno@clisp.org>
57521
57522         * gnulib-tool (func_usage): Document option --avoid.
57523         (Command line options): Handle --avoid.
57524         (func_acceptable): New function.
57525         (func_modules_transitive_closure): Use it.
57526
57527 2005-07-11  Bruno Haible  <bruno@clisp.org>
57528
57529         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
57530         Reported by Jim Meyering.
57531
57532 2005-07-10  Bruno Haible  <bruno@clisp.org>
57533
57534         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
57535         Needed when size_t is smaller than 'unsigned int'.
57536         Reported by Paul Eggert.
57537
57538 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57539
57540         * modules/argp (Depends-on): Add unlocked-io
57541
57542 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57543
57544         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
57545         block of defines.
57546
57547 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
57548
57549         * config/srclist.txt: Comment out regcomp.c, since we have a porting
57550         fix now.
57551
57552 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
57553         and Paul Eggert  <eggert@cs.ucla.edu>
57554
57555         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
57556         in wint_t, not wchar_t.  Remove now-unnecessary cast.
57557
57558 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57559
57560         * modules/regex (Files): Add lib/regex_internal.c,
57561         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
57562         (Depends-on): Add extensions.
57563         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
57564
57565 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57566
57567         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
57568         pathconf.
57569         * m4/same.m4 (gl_SAME): Likewise.
57570         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
57571
57572         * m4/regex.m4: Adjust to new libc regex implementation.
57573         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
57574         all the .c and .h parts of (the new) regex.
57575         Quote the m4 stuff better.
57576         Check for RE_ICASE bug of old gnulib.
57577         Check for REG_STARTEND of recent libc.
57578         Rename local variables from jm_* to gl_*.
57579         Quote operand of "test -f".
57580         Say "recent enough" version of libc, not "version 2".
57581         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
57582         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
57583         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
57584         Remove check for btowc, isascii.
57585         Require AM_LANGINFO_CODESET.
57586
57587 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57588
57589         * lib/regex.c, regex.h: Sync from libc.
57590         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
57591         * lib/regexec.c:
57592         New files, synced from libc, except that regex_internal.h
57593         currently has a small porting fix.
57594
57595 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57596
57597         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
57598         regex_internal.c, regexec.c.
57599         Add regex_internal.h too, but as a comment, since the libc version
57600         is currently broken in gnulib mode.
57601
57602 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
57603
57604         Support programs like Emacs that use gnulib but not gettext.
57605         * MODULES.html.sh (Internationalization functions): Add gettext-h.
57606         * modules/gettext-h: New file.
57607         * modules/gettext (Files): Remove lib/gettext.h.
57608         (Depends-on): Add gettext-h.
57609         (Makefile.am): Remove lib_SOURCES.
57610         * modules/argmatch, modules/c-stack, modules/closeout:
57611         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
57612         * modules/execute, modules/file-type, modules/getaddrinfo:
57613         * modules/getopt, modules/human, modules/javacomp:
57614         * modules/javaexec, modules/mkdir-p, modules/obstack:
57615         * modules/openat, modules/pagealign_alloc, modules/pipe:
57616         * modules/quotearg, modules/regex, modules/rpmatch:
57617         * modules/unicodeio, modules/userspec, modules/version-etc:
57618         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
57619         * modules/xsetenv:
57620         Depend on gettext-h, not gettext.
57621
57622 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
57623
57624         * gnulib-tool (func_import): Add support for 'public domain' license.
57625         * modules/alloca, modules/atexit, modules/memmove:
57626         Now public domain, not GPL.
57627         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
57628         * modules/realloc, modules/strerror, modules/strtod:
57629         Now LGPL, not GPL.
57630
57631 2005-07-05  Bruno Haible  <bruno@clisp.org>
57632
57633         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
57634         autoconf CVS. Needed for mingw.
57635
57636 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57637
57638         Remove the dependency of the strftime module on the tzset module.
57639         * modules/strftime (Depends-on): Remove dependency on tzset.
57640
57641 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57642
57643         Remove the dependency of the strftime module on the tzset module.
57644         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
57645         gl_FUNC_TZSET_CLOBBER.
57646
57647 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57648
57649         Remove the dependency of the strftime module on the tzset module.
57650         * lib/strftime.c (my_strftime)
57651         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
57652         Copy the input structure, to work around some of the bug with
57653         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
57654         Solaris releases, you should also use the tzset module, but we won't
57655         require it as a dependency any more since we don't want LGPLed code
57656         to depend on GPLed code.
57657
57658 2005-07-02  Jim Meyering  <jim@meyering.net>
57659
57660         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
57661         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
57662         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
57663         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
57664
57665 2005-07-02  Jim Meyering  <jim@meyering.net>
57666
57667         * lib/backupfile.c (backup_args): Change a `0' to NULL.
57668
57669 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
57670
57671         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
57672         declares only 'struct timespec;' (!).
57673
57674 2005-07-01  Jim Meyering  <jim@meyering.net>
57675
57676         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
57677         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
57678         * lib/save-cwd.c, tempname.c:
57679         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
57680         and don't include <sys/file.h>).
57681
57682 2005-06-29  Jim Meyering  <jim@meyering.net>
57683
57684         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
57685         type name.  Use the variable name instead.
57686         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
57687         Likewise.
57688
57689 2005-06-28  Simon Josefsson  <jas@extundo.com>
57690
57691         * modules/check-version (Files): Add check-version.m4.
57692
57693 2005-06-28  Simon Josefsson  <jas@extundo.com>
57694
57695         * m4/check-version.m4: New file, suggested by Jim Meyering
57696         <jim@meyering.net>.
57697
57698 2005-06-28  Simon Josefsson  <jas@extundo.com>
57699
57700         * lib/check-version.h, lib/check-version.c: New files.
57701
57702 2005-06-28  Simon Josefsson  <jas@extundo.com>
57703
57704         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
57705         collision with global variable.  Better indentation.  Don't
57706         increment buffer pointer beyond buffer end.  Based on comments
57707         from Paul Eggert <eggert@cs.ucla.edu>.
57708
57709         * lib/base64.h: Indent.
57710
57711 2005-06-28  Simon Josefsson  <jas@extundo.com>
57712
57713         * doc/gnulib.texi (Library version handling): New section.
57714
57715 2005-06-28  Jim Meyering  <jim@meyering.net>
57716
57717         * check-module (find_included_lib_files): Hard-code another
57718         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
57719         but modules/fts-lgpl (correctly) does not list those files.
57720
57721         * modules/canonicalize (Files): Add lib/pathmax.h.
57722
57723 2005-06-25  Simon Josefsson  <jas@extundo.com>
57724
57725         * modules/check-version: New file.
57726
57727 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
57728
57729         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
57730         initializer of struct addrinfo, as an indication that we don't
57731         care how many members the structure has.
57732
57733 2005-06-24  Derek Price  <derek@ximbiot.com>
57734         and Bruno Haible  <bruno@clisp.org>
57735
57736         Remove stat module & update lstat.
57737         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
57738         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
57739         * m4/stat.m4: Remove this file.
57740
57741 2005-06-24  Derek Price  <derek@ximbiot.com>
57742         and Bruno Haible  <bruno@clisp.org>
57743
57744         Remove stat module & update lstat.
57745         * lib/stat.c: Remove this file...
57746         (slash_aware_lstat): ...moving this content and its support...
57747         * lib/lstat.c (rpl_lstat): ...into here.
57748         * lib/lstat.h: New file.
57749
57750 2005-06-24  Derek Price  <derek@ximbiot.com>
57751         and Bruno Haible  <bruno@clisp.org>
57752
57753         Remove stat module & update lstat.
57754         * config/srclist.txt (libc sources): Remove stat.
57755
57756 2005-06-24  Derek Price  <derek@ximbiot.com>
57757         and Bruno Haible  <bruno@clisp.org>
57758
57759         Remove stat module & update lstat.
57760         * MODULES.html.sh (stat): Remove.
57761         * MODULES.html: Regenerated.
57762         * modules/lstat (Description): Correct function name.
57763         (Files): Add "lstat.h".
57764         (Depends-on): Remove stat, add xalloc, stat-macros.
57765         * modules/stat: Remove this file.
57766         (Include): Add "lstat.h", remove <sys/stat.h>.
57767
57768 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57769
57770         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
57771         (ranged_convert): Don't save conversion in a temporary struct.
57772         This causes a warning with GCC 4.0.0, and anyway in the typical
57773         case it's not worth the extra 100 bytes or so of code.
57774         (ranged_convert, __mktime_internal): When calling a function via a
57775         pointer P, use P () rather than (*P) (), as we now assume C89 or
57776         better.
57777
57778 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57779
57780         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
57781         "who -r" failed to give output.  Problem reported by Tim Waugh.
57782
57783         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
57784         (xcalloc): Use it to avoid needless tests.
57785         Problem reported by Jim Meyering.
57786
57787 2005-06-20  Derek Price  <derek@ximbiot.com>
57788
57789         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
57790         unnecessary for Autoconfs > 2.59c.
57791
57792 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57793
57794         * lib/argp.h (__option_is_short): Check upper limit of
57795         __key. Isprint() requires its argument to have the value
57796         of an unsigned char or EOF.
57797
57798 2005-06-16  Jim Meyering  <jim@meyering.net>
57799
57800         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
57801         when either N or S is zero.
57802
57803 2005-06-16  Derek Price  <derek@ximbiot.com>
57804
57805         * m4/bison.m4: Declare YACC & YFLAGS precious.
57806
57807 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
57808
57809         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
57810         multibyte string or pattern, fall back on unibyte matching.
57811         Problem reported by James Youngman.
57812
57813 2005-06-08  Bruno Haible  <bruno@clisp.org>
57814
57815         * modules/csharpcomp: New file.
57816         * MODULES.html.sh (C#): Add csharpcomp.
57817
57818 2005-06-08  Bruno Haible  <bruno@clisp.org>
57819
57820         * m4/csharpcomp.m4: New file, from GNU gettext.
57821
57822 2005-06-08  Bruno Haible  <bruno@clisp.org>
57823
57824         * lib/csharpcomp.h: New file, from GNU gettext.
57825         * lib/csharpcomp.c: New file, from GNU gettext.
57826         * lib/csharpcomp.sh.in: New file, from GNU gettext.
57827
57828 2005-06-08  Bruno Haible  <bruno@clisp.org>
57829
57830         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
57831         warning on mingw.
57832
57833 2005-06-07  Derek Price  <derek@ximbiot.com>
57834
57835         Sync from CVS.
57836         * lib/glob_.h: Indent nested #ifdef.
57837
57838 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57839
57840         Sync from coreutils.
57841         Use "file name" when talking about file names, instead of "filename"
57842         or "path", as per the GNU coding standards.
57843         * lib/mkdir-p.c: Renamed from makepath.c.
57844         (make_dir_parents): Renamed from make_path.  All callers changed.
57845         * lib/mkdir-p.h: Likewise.  All includers changed.
57846         * lib/filenamecat.c: Renamed from path-concat.c.
57847         (file_name_concat): Renamed from path_concat.  All callers changed.
57848         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
57849         * lib/filenamecat.h: Likewise.  All includers changed.
57850         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
57851         in comments or local variable names.
57852         * lib/basename.c: Likewise.
57853         * lib/canonicalize.c, canonicalize.h: Likewise.
57854         * lib/dirname.c, dirname.h: Likewise.
57855         * lib/euidaccess.c: Likewise.
57856         * lib/exclude.c: Likewise
57857         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
57858         * lib/fsusage.c, fsuage.h: Likewise.
57859         * lib/fts.c, fts_.h: Likewise.
57860         * lib/getcwd.c: Likewise.
57861         * lib/getloadavg.c: Likewise.
57862         * lib/mkstemp.c: Likewise.
57863         * lib/mountlist.c, mountlist.h: Likewise.
57864         * lib/openat.c, openat.h: Likewise.
57865         * lib/readlink-stub.c: Likewise.
57866         * lib/readutmp.c, readutmp.h: Likewise.
57867         * lib/rename.c: Likewise.
57868         * lib/rmdir.c: Likewise.
57869         * lib/same.c: Likewise.
57870         * lib/savedir.c: Likewise.
57871         * lib/stripslash.c: Likewise.
57872         * lib/tempname.c: Likewise.
57873         * lib/xreadlink.c: Likewise.
57874         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
57875         All uses changed.
57876         * lib/exclude.h: Likewise.
57877
57878         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
57879         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57880         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
57881         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57882         * lib/pathmax.h: Include <limits.h> unconditionally, since other
57883         files have been getting away with it for years (MORE/BSD 4.3
57884         is extinct now).
57885         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
57886         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57887
57888         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
57889         Define to 256, not 255, as per modern POSIX.
57890
57891 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57892
57893         Sync from coreutils.
57894         Use "file name" when talking about file names, instead of "filename"
57895         or "path", as per the GNU coding standards.
57896         * MODULES.html.sh: mkdir-p renamed from makepath.
57897         filenamecat renamed from path-concat.
57898         * modules/filenamecat: Renamed from modules/path-concat.
57899         (Files): filenamecat.h and filenamecat.c renamed from
57900         path-concat.h and path-concat.c.
57901         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
57902         (Include): filenamecat.h, not path-concat.h.
57903         * modules/mkdir-p: Renamed from modules/makepath.
57904         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
57905         makepath.c.
57906         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
57907         (Include): mkdir-p.h, not makepath.h.
57908
57909 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57910
57911         Sync from coreutils.
57912         * m4/mkdir-p.m4: Renamed from makepath.m4.
57913         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
57914         Rename files from makepath.c to mkdir-p.c, and from
57915         makepath.h to mkdir-p.h.
57916         * m4/filenamecat.m4: Renamed from path-concat.m4.
57917         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
57918         Rename files from path-concat.c to filenamecat.c,
57919         and from path-concat.h to filenamecat.h.
57920         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
57921         "file name" in local variables or comments.
57922         * m4/rename.m4: Likewise.
57923
57924 2005-06-01  Bruno Haible  <bruno@clisp.org>
57925
57926         * modules/csharpexec: New file.
57927         * MODULES.html.sh (C#): New section.
57928
57929 2005-06-01  Bruno Haible  <bruno@clisp.org>
57930
57931         * m4/csharp.m4: New file, from GNU gettext.
57932         * m4/csharpexec.m4: New file, from GNU gettext.
57933
57934 2005-06-01  Bruno Haible  <bruno@clisp.org>
57935
57936         * lib/csharpexec.h: New file, from GNU gettext.
57937         * lib/csharpexec.c: New file, from GNU gettext.
57938         * lib/csharpexec.sh.in: New file, from GNU gettext.
57939
57940 2005-05-31  Derek Price  <derek@ximbiot.com>
57941             Paul Eggert  <eggert@cs.ucla.edu>
57942
57943         Sync from cvs.
57944         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
57945
57946 2005-05-31  Derek Price  <derek@ximbiot.com>
57947             Paul Eggert  <eggert@cs.ucla.edu>
57948
57949         Sync from cvs.
57950         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
57951
57952 2005-05-29  Derek Price  <derek@ximbiot.com>
57953
57954         * config/srclist.txt (glob_.h, glob.c): Add these files.
57955
57956 2005-05-29  Derek Price  <derek@ximbiot.com>
57957
57958         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
57959         * modules/glob: New file.
57960         * modules/getlogin_r: Add link to POSIX spec in description.
57961
57962 2005-05-29  Derek Price  <derek@ximbiot.com>
57963             Paul Eggert  <eggert@cs.ucla.edu>
57964
57965         * m4/glob.m4: New file.
57966
57967 2005-05-29  Derek Price  <derek@ximbiot.com>
57968             Paul Eggert  <eggert@cs.ucla.edu>
57969
57970         * lib/glob_.h, lib/glob.c: New files.
57971
57972 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
57973
57974         * modules/fts (Files): Remove m4/inttypes-pri.m4.
57975         * modules/fts-lgpl (Depends-on): Remove gettext.
57976
57977 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
57978
57979         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
57980         and don't require gt_INTTYPES_PRI.
57981
57982 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
57983
57984         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
57985
57986         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
57987         the configuration hassle isn't worth it.
57988         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
57989         (LONGEST_MODIFIER, PRIuMAX): Remove.
57990
57991 2005-05-27  Bruno Haible  <bruno@clisp.org>
57992
57993         * lib/getlogin_r.h: Remove second include of <stddef.h>.
57994
57995 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
57996
57997         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
57998         _POSIX_PTHREAD_SEMANTICS for Solaris.
57999
58000 2005-05-25  Derek Price  <derek@ximbiot.com>
58001
58002         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
58003
58004 2005-05-25  Derek Price  <derek@ximbiot.com>
58005             Paul Eggert  <eggert@cs.ucla.edu>
58006
58007         * modules/getlogin_r, m4/getlogin_r.m4: New files.
58008         * lib/getlogin_r.c, getlogin_r.h: New files.
58009
58010 2005-05-25  Bruno Haible  <bruno@clisp.org>
58011             Derek Price  <derek@ximbiot.com>
58012
58013         * lib/getlogin_r.h: Simplify API documentation.
58014
58015 2005-05-23  Derek Price  <derek@ximbiot.com>
58016
58017         * modules/minmax (Files): Add m4/minmax.m4.
58018         (configure.ac): Add gl_MINMAX.
58019
58020 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58021
58022         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
58023         so that unistd-safer.h (GPL'ed code) need not be included.
58024
58025 2005-05-22  Bruno Haible  <bruno@clisp.org>
58026
58027         * m4/minmax.m4: New file.
58028         Based on a patch by Derek Price <derek@ximbiot.com>.
58029
58030 2005-05-22  Bruno Haible  <bruno@clisp.org>
58031
58032         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
58033         (INT64_MIN): Fix definition.
58034         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
58035
58036         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
58037         NEED_SIGNED_INT_TYPES.
58038
58039         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
58040         HAVE_SYSTEM_INTTYPES.
58041
58042 2005-05-22  Bruno Haible  <bruno@clisp.org>
58043
58044         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
58045         Also include <sys/param.h> if it defines MIN, MAX.
58046         Based on a patch by Derek Price <derek@ximbiot.com>.
58047
58048 2005-05-21  Jim Meyering  <jim@meyering.net>
58049
58050         * modules/fts (Files): Add m4/inttypes-pri.m4.
58051         (Depends-on): Add lstat and remove gettext.  Alphabetize.
58052
58053 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58054
58055         New fts module.
58056         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
58057         (setup_dir, free_dir): New functions.
58058         (enter_dir, leave_dir): Define trivial
58059         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
58060         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
58061         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
58062         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
58063         Move to fts-cycle.c.
58064         (fts_open): Use setup_dir.
58065         (fts_close): Use free_dir.
58066         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
58067         This adds a label and some gotos, but the alternatives were messier.
58068         Check for memory allocation failure when entering a dir.
58069         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
58070         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
58071         (FTS): New member fts_cycle, that is a union that contains the
58072         old active_dir_ht and cycle_state.  All uses changed to mention
58073         fts_cycle.ht and fts_cycle.state.
58074         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
58075         fts.c, with the following changes:
58076         (setup_dir, free_dir): New functions.
58077         (enter_dir): Now returns bool.  Return true if successful, false
58078         if memory exhausted.  All callers changed.
58079         Do not bother partly cleaning up on
58080         memory allocation failure; that is free_dir's job.
58081         However, free ad if hash_insert fails, to avoid memory leak.
58082         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
58083         fts->fts_options to see which union member to use.
58084
58085 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58086
58087         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
58088         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
58089
58090 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58091
58092         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
58093
58094 2005-05-20  Jim Meyering  <jim@meyering.net>
58095
58096         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
58097         Now a macro, to pacify GCC.
58098
58099 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
58100
58101         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
58102         of -1.
58103
58104 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
58105
58106         * lib/chown.c (rpl_chown): Return -1 on failure.
58107
58108 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
58109
58110         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
58111         Don't check for stddef.h.
58112         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
58113         don't use its results.
58114         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
58115         since we include them unconditionally.  Don't require
58116         AM_STDBOOL_H, since stdbool is a prerequisite.
58117         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
58118         since we assume C89 or better.
58119         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
58120         as we don't use their results.
58121         Don't check for fchdir, memmove, memset, strrchr, as we use
58122         them unconditionally.
58123         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
58124         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
58125
58126 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
58127
58128         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
58129         Include <stddef.h> unconditionally, since we assume C89 now.
58130         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
58131         * lib/fts.c: Include fts_.h first, to check interface.
58132         Do not include intprops.h; no longer needed.
58133         Include cycle-check.h and hash.h, since fts_.h no longer does.
58134         Remove unnecessary casts of closedir to void.
58135         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
58136         decide whether to decrement nlinks.
58137         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
58138         (FTS): Use struct hash_table * instead of Hash_table, so that
58139         we no longer need to include hash.h here.
58140
58141 2005-05-18  Jim Meyering  <jim@meyering.net>
58142
58143         * modules/dirfd (License): Change to LGPL.  Most of the code
58144         is already in the public domain.
58145
58146 2005-05-18  Jim Meyering  <jim@meyering.net>
58147
58148         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
58149         Reported by Yoann Vandoorselaere.
58150
58151 2005-05-17  Jim Meyering  <jim@meyering.net>
58152
58153         * m4/fts.m4: New file, from coreutils.
58154
58155 2005-05-17  Jim Meyering  <jim@meyering.net>
58156
58157         * lib/fts.c, lib/fts_.h: New files, from coreutils.
58158
58159 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58160
58161         Sync from coreutils.
58162         * m4/unlinkdir.m4: New file.
58163
58164 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58165
58166         Sync from coreutils.
58167         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
58168         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
58169         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
58170         White space changes only.
58171         * lib/makepath.c (make_path): Port to hosts where leading "//" is
58172         special.
58173         * lib/yesno.c: Include getline.h, not ctype.h.
58174         (yesno): Don't remove leading white space; POSIX doesn't allow it.
58175         Use getline to remove arbitrary restriction on response length.
58176
58177 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58178
58179         * config/srclist-update: Spell out "Street" in FSF postal
58180         mail address; this is the style the FSF seems to prefer.
58181
58182         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
58183         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
58184         this updates FSF postal mail address.
58185
58186         Sync from coreutils.
58187         * modules/unlinkdir: New file.
58188         * modules/yesno (Depends-on): Add getline.
58189         * MODULES.html.sh (File system functions): Add unlinkdir.
58190
58191 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58192
58193         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
58194         lib/strsep.h:
58195         Change the initial comment to refer to GPL, not LGPL.
58196         gnulib-tool will change it to LGPL as needed.
58197
58198         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
58199         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
58200         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
58201         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
58202         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
58203         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
58204         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
58205         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
58206         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
58207         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
58208         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
58209         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
58210         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
58211         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
58212         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
58213         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
58214         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
58215         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
58216         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
58217         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
58218         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
58219         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
58220         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
58221         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
58222         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
58223         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
58224         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
58225         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
58226         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
58227         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
58228         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
58229         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
58230         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
58231         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
58232         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
58233         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
58234         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
58235         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
58236         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
58237         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
58238         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
58239         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
58240         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
58241         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
58242         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
58243         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
58244         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
58245         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
58246         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
58247         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
58248         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
58249         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
58250         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
58251         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
58252         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
58253         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
58254         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
58255         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
58256         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
58257         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
58258         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
58259         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
58260         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
58261         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
58262         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
58263         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
58264         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
58265         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
58266         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
58267         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
58268         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
58269         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
58270         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
58271         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
58272         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
58273         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
58274         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
58275         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
58276         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
58277         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
58278         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
58279         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
58280         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
58281         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
58282         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
58283         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
58284         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
58285         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
58286         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
58287         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
58288         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
58289         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
58290         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
58291         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
58292         lib/yesno.c, lib/yesno.h:
58293         Update FSF postal mail address.
58294
58295 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58296
58297         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
58298         tests/test-memmem.c, tests/test-stpncpy.c:
58299         Update FSF postal mail address.
58300
58301 2005-05-13  Bruno Haible  <bruno@clisp.org>
58302
58303         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
58304         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
58305         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
58306         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
58307         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
58308         Add support for 64-bit integers in the MSVC compiler.
58309
58310 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58311
58312         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
58313
58314 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
58315
58316         * gnulib-tool (func_import): Sort and uniquify recommended includes.
58317
58318 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
58319
58320         * doc/getdate.texi (General date syntax): Don't say that date
58321         date --iso-8601=ns generates acceptable dates; it doesn't yet.
58322         Problem reported by Nic Ferrier.
58323
58324 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58325
58326         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
58327         specified in ai_socktype. Fix invalid ai_protocol
58328         check. ai_protocol is usually set to 0 or depending on
58329         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
58330         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
58331         ai_socktype / ai_protocol in the returned addrinfo structure.
58332
58333 2005-05-10  Simon Josefsson  <jas@extundo.com>
58334
58335         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
58336         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58337
58338 2005-05-10  Karl Berry  <karl@gnu.org>
58339
58340         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
58341         (from http://www.gnu.org/licenses).
58342         * doc/COPYING.LIB: also rename to COPYING.LESSER.
58343         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
58344         fdl.texi suffices.
58345
58346 2005-05-10  Karl Berry  <karl@gnu.org>
58347
58348         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
58349         (COPYING.DOC): remove.
58350
58351         * config/srclist-update: new FSF address.
58352
58353 2005-05-10  Derek Price  <derek@ximbiot.com>
58354
58355         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
58356         possible.
58357
58358 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58359             Bruno Haible  <bruno@clisp.org>
58360
58361         * modules/inet_ntop: New file.
58362         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58363         inet_ntop.
58364
58365 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58366             Bruno Haible  <bruno@clisp.org>
58367
58368         * m4/inet_ntop.m4: New file.
58369
58370 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58371             Bruno Haible  <bruno@clisp.org>
58372
58373         * lib/inet_ntop.h: New file.
58374         * lib/inet_ntop.c: New file, from glibc with modifications.
58375
58376 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
58377
58378         * modules/time_r (License): Change to LGPL.
58379         * modules/extensions (License): Change to LGPL.  Actually,
58380         the license is more permissive than that, but currently gnulib-tool
58381         doesn't know how to handle more-permissive licenses.
58382
58383         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
58384         Problem reported by Dave Love.
58385
58386 2005-05-08  Jim Meyering  <jim@meyering.net>
58387
58388         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
58389         blank.
58390
58391 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
58392
58393         * modules/argmatch (Depends-on): Add stdbool.
58394         * modules/backupfile (Depends-on): Likewise.
58395         * modules/chdir-long (Depends-on): Likewise.
58396         * modules/closeout (Depends-on): Likewise.
58397         * modules/cycle-check (Depends-on): Likewise.
58398         * modules/dirname (Depends-on): Likewise.
58399         * modules/fnmatch (Depends-on): Likewise.
58400         * modules/fsusage (Depends-on): Likewise.
58401         * modules/fwriteerror (Depends-on): Likewise.
58402         * modules/getcwd (Depends-on): Likewise.
58403         * modules/getloadavg (Depends-on): Likewise.
58404         * modules/hard-locale (Depends-on): Likewise.
58405         * modules/makepath (Depends-on): Likewise.
58406         * modules/mountlist (Depends-on): Likewise.
58407         * modules/nanosleep (Depends-on): Likewise.
58408         * modules/posixtm (Depends-on): Likewise.
58409         * modules/quotearg (Depends-on): Likewise.
58410         * modules/readtokens (Depends-on): Likewise.
58411         * modules/readtokens0 (Depends-on): Likewise.
58412         * modules/readutmp (Depends-on): Likewise.
58413         * modules/save-cwd (Depends-on): Likewise.
58414         * modules/strftime (Depends-on): Likewise.
58415         * modules/userspec (Depends-on): Likewise.
58416         * modules/utimecmp (Depends-on): Likewise.
58417         * modules/xgetcwd (Depends-on): Likewise.
58418         * modules/xnanosleep (Depends-on): Likewise.
58419         * modules/xstrtod (Depends-on): Likewise.
58420         * modules/yesno (Depends-on): Likewise.
58421
58422 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
58423
58424         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
58425         needless checks.
58426
58427 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58428
58429         Merge from coreutils.  Among other things,
58430         add bulletproofing for cases where stdin, stdout, or stderr are closed.
58431         * lib/fd-safer.c: New file.
58432         * lib/fcntl-safer.h, open-safer.c: Remove.
58433         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
58434         * lib/dup-safer.c: Include unistd-safer.h first.
58435         Don't include errno.h.
58436         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
58437         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
58438         * lib/file-type.c: Rely on file-type.h change.
58439         * lib/getloadavg.c: Include unistd-safer.h.
58440         (getloadavg): Use safer open.
58441         * lib/getusershell.c: Include "stdio-safer.h".
58442         (getusershell): Use safer fopen.
58443         * lib/long-options.c (long_options): Use NULL rather than 0.
58444         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
58445         'free'.
58446         * lib/modechange.c: Likewise.
58447         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
58448         (MODE_DONE): New constant.
58449         (struct mode_change): Remove 'next' member.
58450         (make_node_op_equals): New function; like the old one of the
58451         same name, except it allocates an array.
58452         (mode_compile, mode_create_from_ref): Use it.
58453         (mode_compile): Allocate result as an array, not a linked list.
58454         Parse octal string ourself, so that we catch mistakes like "+0".
58455         (mode_adjust): Arg is an array, not a linked list.
58456         * lib/modechange.c: Include stat-macros.h, xalloc.h.
58457         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
58458         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
58459         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
58460         Remove.  This is now stat-macros.h's job.
58461         (talloc): Remove.  All callers replaced by xalloc, so that
58462         our invokers don't have to worry about reporting memory failures.
58463         (make_node_op_equals): Remove.
58464         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
58465         New constants.
58466         (struct mode_change): Moved here from modechange.h.
58467         (mode_append_entry): Remove.
58468         (mode_compile): Remove MASKED_OPS arg, since it encouraged
58469         apps to have incorrect behavior.  Use simpler algorithm for head
58470         and tail.  Don't futz with umask; that's now the job of mode_adjust.
58471         Detect more invalid usages rather than having somewhat-random behavior.
58472         Don't insert an "a=" action, as that leads to incorrect behavior.
58473         (mode_compile, mode_create_from_ref): Return NULL on error instead
58474         of an enum, since now there's only one way to have an error.  All
58475         callers changed.
58476         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
58477         at the correct time.  Simplify calculation of "+u" and its ilk.
58478         Don't mishandle "+X".
58479         (mode_free): Remove "register" and localize decls.
58480         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
58481         (struct mode_change): Move to modechange.c; callers don't
58482         need to see this stuff.
58483         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
58484         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
58485         (mode_change, mode_adjust): Reflect the new signatures noted above.
58486         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
58487         that might redefine system include files.
58488         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
58489         (my_usleep): Use NULL rather than (void *) 0.
58490         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
58491         Use siginterrupt to specify that system calls should be interrupted.
58492         (rpl_nanosleep): Move initialization of suspended closer to call of
58493         my_usleep.
58494         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
58495         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
58496         (desirable_utmp_entry): New function.
58497         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
58498         using x2nrealloc, to simplify logic.
58499         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
58500         size calculation.  Do not assume utmp file is a regular file.
58501         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
58502         (READ_UTMP_CHECK_PIDS): New constant.
58503         * lib/save-cwd.c: Include unistd-safer.h.
58504         (save_cwd): Use fd_safer.
58505         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
58506         [!_LIBC] Include "stat-macros.h" instead.
58507         * lib/unistd-safer.h (fd_safer): New decl.
58508
58509 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58510
58511         * modules/getloadavg (Depends-on): Add unistd-safer.
58512         * modules/getusershell (Depends-on): Add stdio-safer.
58513         * modules/lstat (Depends-on): Remove xalloc.
58514         * modules/mkstemp (Depends-on): Add stat-macros.
58515         * modules/modechange (Depends-on): Remove xstrtol.
58516         Add stat-macros, xalloc.
58517         * modules/save-cwd (Depends-on): Add unistd-safer.
58518         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
58519         * modules/unistd-safer (Files): Add lib/fd-safer.c
58520         (Makefile.am): Remove lib_SOURCES.
58521
58522         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
58523         Remove fcntl-safer; unistd-safer supersedes it.
58524
58525 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58526
58527         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
58528         AC_HEADER_STAT.
58529         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
58530         (gl_PREREQ_CHOWN): Remove.
58531         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
58532         it.  Don't require AC_HEADER_STAT.
58533         (gl_PREREQ_LSTAT): Remove.
58534         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
58535         Don't require AC_HEADER_STAT.
58536         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
58537         (gl_PREREQ_RMDIR): Remove.
58538         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
58539         mention stat-macros.h or AC_HEADER_STAT, since we'll make
58540         the stat-macros module a prerequisite.
58541         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
58542         * m4/filemode.m4 (gl_FILEMODE): Likewise.
58543         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
58544         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
58545         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
58546         variable names.
58547         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
58548         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
58549         variable prefixes.
58550         * m4/fcntl-safer.m4: Remove.
58551         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
58552         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
58553         Invoke gl_PREREQ_FD_SAFER.
58554         (gl_PREREQ_FD_SAFER): New macro.
58555         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
58556         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
58557         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
58558         Remove duplicate call to AC_LIBOBJ(readutmp).
58559         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
58560
58561         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
58562         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
58563
58564 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58565
58566         * MODULES.html.sh (Misc): Add byteswap.
58567
58568 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58569
58570         * modules/getcwd (Depends-on): Add extensions.
58571         * modules/openat (Depends-on): Likewise.
58572
58573 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58574
58575         * modules/byteswap: New file.
58576
58577 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58578
58579         * m4/byteswap.m4: New file.
58580
58581 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58582
58583         * lib/byteswap_.h: New file.
58584
58585 2005-04-25  Karl Berry  <karl@gnu.org>
58586
58587         * m4/gettext.m4: Update from GNU gettext 0.14.4.
58588
58589 2005-04-25  Albert Chin  <china@thewrittenword.com>
58590
58591         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
58592         Toolkit C bug.
58593
58594 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
58595
58596         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
58597         (func_ln_if_changed) Remove forcibly for no error message
58598         in case file does not exist.
58599
58600 2005-04-19  Simon Josefsson  <jas@extundo.com>
58601
58602         * gnulib-tool (Options): Make --symlink mean --symbolic.
58603
58604 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
58605
58606         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
58607
58608 2005-04-16  Simon Josefsson  <jas@extundo.com>
58609
58610         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
58611
58612 2005-04-15  Simon Josefsson  <jas@extundo.com>
58613
58614         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
58615
58616 2005-04-15  Simon Josefsson  <jas@extundo.com>
58617
58618         * gnulib-tool: Rename --symlink to --symbolic.
58619
58620 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
58621
58622         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
58623         symbolic links to files instead of copying/moving.  Add --aux-dir,
58624         specifying directory relative --dir where auxiliary build tools
58625         are placed.
58626
58627 2005-04-14  Bruno Haible  <bruno@clisp.org>
58628
58629         * modules/allocsa (License): Change to LGPL.
58630         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58631
58632 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
58633
58634         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
58635         that "UTC +1 second" continues to work.  Problem reported
58636         by Dmitry V. Levin.
58637         (relunit_snumber): New rule.
58638         (relunit): Use it.
58639
58640 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
58641
58642         * lib/getdate.y (universal_time_zone_table): New constant.
58643         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
58644         universal_time_zone_table.
58645         (lookup_zone): Prefer universal_time_zone_table to
58646         local_time_zone_table, so that "GMT" time stamps are allowed in
58647         London during the summer.  Problem reported by Ian Abbott.
58648
58649 2005-04-12  Jim Meyering  <jim@meyering.net>
58650
58651         * lib/human.c (humblock): Set *options even when returning due to
58652         xstrtoumax conversion failure.  Thanks to a used-uninitialized
58653         warning from gcc-4.
58654
58655 2005-04-09  Jim Meyering  <jim@meyering.net>
58656
58657         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
58658         -Wuninitialized: initialize tm0.tm_year.
58659
58660 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
58661
58662         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
58663         count, since there's no maximum.  All uses changed.
58664         Add member dsts_seen.
58665         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
58666         not being INT_MAX.
58667         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
58668         Use pc_rels_seen to decide whther a date is absolute.
58669
58670         * lib/getdate.y (number): Don't overwrite year.
58671         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
58672         check.
58673
58674 2005-04-02  Simon Josefsson  <jas@extundo.com>
58675
58676         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
58677         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
58678
58679 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
58680
58681         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
58682         where no absolute path name can be longer than PATH_MAX.
58683
58684 2005-03-27  Jim Meyering  <jim@meyering.net>
58685
58686         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
58687
58688 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
58689
58690         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
58691         "one's complement" -> "ones' complement" in comment, as per Knuth.
58692         "value of type" -> "type or expression" in comment.
58693         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
58694
58695 2005-03-26  Jim Meyering  <jim@meyering.net>
58696
58697         Comment nits.
58698         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
58699         Correct typos: s/or/of/.
58700
58701 2005-03-26  Jim Meyering  <jim@meyering.net>
58702
58703         * modules/check-include-files: Move to ../ and rename to...
58704         * check-module: ...this.
58705
58706 2005-03-25  Jim Meyering  <jim@meyering.net>
58707
58708         * modules/xvasprintf (Files): Add xalloc.h.
58709
58710 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
58711
58712         * modules/gettext (Files): config/config.rpath ->
58713         build-aux/config.rpath
58714         * modules/iconv (Files): Likewise.
58715         Problem reported by Oskar Liljeblad.
58716
58717 2005-03-23  Jim Meyering  <jim@meyering.net>
58718
58719         * modules/check-include-files: New script to check for
58720         missing dependencies, multiple includes, etc.
58721
58722         * modules/c-strtold (Depends-on): Add xalloc.
58723         * modules/c-strtod (Depends-on): Add xalloc.
58724         * modules/hash (Depends-on): Add xalloc.
58725         (Files): Remove lib/xalloc.h.
58726
58727         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
58728         * modules/userspec (Files): Add lib/inttostr.h.
58729
58730 2005-03-23  Jim Meyering  <jim@meyering.net>
58731
58732         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
58733
58734 2005-03-22  Jim Meyering  <jim@meyering.net>
58735
58736         * modules/stat-macros: New module.
58737         * modules/canonicalize, modules/euidaccess, modules/file-type,
58738         * modules/filemode, modules/lchown, modules/makepath,
58739         * modules/rmdir, modules/stat: Depend on new stat-macros module
58740         rather than listing lib/stat-macros.h manually.
58741         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
58742
58743 2005-03-22  Jim Meyering  <jim@meyering.net>
58744
58745         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
58746
58747 2005-03-22  Bruno Haible  <bruno@clisp.org>
58748
58749         * config/srclist.txt: Replace target directory 'config' with
58750         'build-aux'.
58751         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
58752         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
58753         ../build-aux/.
58754
58755 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
58756
58757         * modules/chdir-long (Depends-on): Add mempcpy.
58758
58759         * modules/acl, modules/backupfile, modules/c-strtod,
58760         modules/c-strtold, modules/canon-host, modules/canonicalize,
58761         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
58762         modules/exclude, modules/exitfail, modules/file-type,
58763         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
58764         modules/getdate, modules/getline, modules/getpagesize,
58765         modules/getpass, modules/getugroups, modules/group-member,
58766         modules/hard-locale, modules/hash, modules/human, modules/idcache,
58767         modules/inttostr, modules/long-options, modules/makepath,
58768         modules/md5, modules/memcasecmp, modules/memcoll,
58769         modules/modechange, modules/mountlist, modules/path-concat,
58770         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
58771         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
58772         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
58773         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
58774         modules/strftime, modules/strndup, modules/strverscmp,
58775         modules/timespec, modules/unlocked-io, modules/userspec,
58776         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
58777         modules/yesno:
58778         Remove lib_SOURCES line from Makefile.am section, as this is now
58779         done automatically by the corresponding Autoconf macro.
58780
58781 2005-03-21  Jim Meyering  <jim@meyering.net>
58782
58783         Changes imported from coreutils.
58784
58785         * lib/cycle-check.c: Don't include xalloc.h.
58786
58787         * lib/path-concat.c: Don't include assert.h.
58788         (path_concat): Remove assertion that would have triggered
58789         for ABASE starting with more than one slash.
58790         Reported by Andreas Schwab.
58791
58792         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
58793         properly when ABASE is an absolute file name.
58794         Correct the description of this function.
58795         Include <assert.h>.
58796         Add an assertion and a test driver.
58797         This fixes a bug introduced on 2004-07-02.
58798         Andreas Schwab reported the resulting failure of cp --parents:
58799         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
58800
58801 2005-03-21  Jim Meyering  <jim@meyering.net>
58802
58803         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
58804         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
58805
58806 2005-03-21  Jim Meyering  <jim@meyering.net>
58807         and  Paul Eggert  <eggert@cs.ucla.edu>
58808
58809         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
58810         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
58811         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
58812         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
58813         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
58814         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
58815         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
58816         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
58817         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
58818         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
58819         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
58820         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
58821         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
58822         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
58823         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
58824         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
58825         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
58826         for these modules.
58827
58828 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
58829
58830         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
58831         (which shouldn't happen), generate nothing instead of returning 0
58832         immediately, so that nstrftime (NULL, ...) doesn't return 0.
58833
58834 2005-03-16  Bruno Haible  <bruno@clisp.org>
58835
58836         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
58837         HAVE_LONGLONG_64BIT.
58838
58839 2005-03-16  Bruno Haible  <bruno@clisp.org>
58840
58841         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
58842         HAVE_LONGLONG_64BIT.
58843
58844 2005-03-16  Bruno Haible  <bruno@clisp.org>
58845
58846         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
58847         HAVE_LONGLONG_64BIT.
58848
58849 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
58850
58851         * lib/strftime.c (my_strftime): Prepend space to format so that we can
58852         reliably distinguish strftime failure from empty output on POSIX
58853         hosts.
58854
58855 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
58856
58857         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
58858         (iconv_string): Don't guess a size-zero buffer, as that might cause
58859         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
58860         result would be 'too large', where 'too large' is (heuristically)
58861         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
58862         overflow concerns.  This will prevent some unwanted malloc failures
58863         when the inputs are very large.
58864
58865 2005-03-15  Karl Berry  <karl@gnu.org>
58866
58867         * config/srclist.txt (config.rpath): from gettext.
58868         * config/config.rpath: update.
58869
58870 2005-03-15  Bruno Haible  <bruno@clisp.org>
58871
58872         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
58873         to 'negate'.
58874
58875         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
58876         variable.
58877
58878         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
58879         results.
58880
58881 2005-03-14  Simon Josefsson  <jas@extundo.com>
58882
58883         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
58884         <fx@gnu.org>.
58885
58886 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
58887
58888         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
58889         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
58890         intprops.h.
58891         * lib/strtol.c: Likewise.
58892
58893 2005-03-14  Jim Meyering  <jim@meyering.net>
58894
58895         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
58896         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
58897         to be nonzero so that we (and caller) can detect the difference
58898         between a valid zero-length expansion and an error return, even
58899         when the underlying strftime fails before writing anything into
58900         that location.
58901
58902 2005-03-14  Bruno Haible  <bruno@clisp.org>
58903
58904         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
58905         Update from GNU gettext 0.14.3.
58906
58907 2005-03-10  Jim Meyering  <jim@meyering.net>
58908
58909         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
58910
58911 2005-03-10  Jim Meyering  <jim@meyering.net>
58912
58913         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
58914         so that this module works on systems without fchdir.
58915
58916 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
58917
58918         Factor int-properties macros into a single file, except for
58919         glibc-related files.
58920         * lib/intprops.h: New file.
58921         * lib/getloadavg.c: Include it instead of limits.h.
58922         (INT_STRLEN_BOUND): Remove.
58923         * lib/human.c: Include intprops.h.
58924         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
58925         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
58926         302/1000.
58927         * lib/inttostr.h: Include intprops.h instead of limits.h.
58928         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
58929         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
58930         for consistency with intprops.h.
58931         (time_t_is_integer, twos_complement_arithmetic): Use them.
58932         * lib/sig2str.h: Include <signal.h>, intprops.h.
58933         (INT_STRLEN_BOUND): Remove.
58934         * lib/strftime.c (TYPE_SIGNED): Remove.
58935         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
58936         * lib/strtol.c: Adjust comments to match intprops.h.
58937         * lib/userspec.c: Include intprops.h.
58938         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
58939         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
58940         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
58941         instead of rolling our own expressions.
58942         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
58943
58944         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
58945         instead of int.
58946         (my_strftime): Do not mishandle years close to INT_MAX, by doing
58947         the right thing even if adding 1900 would overflow.  Similarly
58948         for tm_mon + 1 and tm_yday + 1.
58949         Make %Y always equivalent to %C%y, and similarly for %G and %g.
58950         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
58951         (DO_SIGNED_NUMBER): New macro.
58952         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
58953
58954 2005-03-07  Bruno Haible  <bruno@clisp.org>
58955
58956         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
58957
58958 2005-03-07  Bruno Haible  <bruno@clisp.org>
58959
58960         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
58961
58962 2005-03-04  Derek R. Price  <derek@ximbiot.com>
58963
58964         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
58965         (func_import): Only replace files via --import when they have actually
58966         changed.
58967
58968 2005-03-03  Derek R. Price  <derek@ximbiot.com>
58969
58970         * m4/mmap-anon.m4: New file.
58971         * m4/pagealign_alloc.m4: New file.
58972
58973 2005-03-03  Derek R. Price  <derek@ximbiot.com>
58974             Bruno Haible  <bruno@clisp.org>
58975
58976         * modules/pagealign_alloc: New file.
58977         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
58978
58979 2005-03-03  Derek R. Price  <derek@ximbiot.com>
58980             Bruno Haible  <bruno@clisp.org>
58981
58982         * lib/pagealign_alloc.h: New file.
58983         * lib/pagealign_alloc.c: New file.
58984
58985 2005-03-03  Bruno Haible  <bruno@clisp.org>
58986
58987         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
58988         Use an all-permissive copyright notice, recommended by RMS.
58989
58990 2005-03-02  Bruno Haible  <bruno@clisp.org>
58991
58992         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
58993         of AIX, the replacement has to be done only after <string.h> is
58994         included, therefore not in config.h. stpncpy.h does the replacement,
58995         and stpncpy.c uses it.
58996
58997 2005-03-02  Bruno Haible  <bruno@clisp.org>
58998
58999         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
59000         stpncpy.c uses it.
59001
59002 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59003
59004         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
59005         The workaround isn't strictly needed for POSIX conformance, and
59006         it's too much of a pain to configure and maintain.  We'll ask
59007         people to fix their kernels instead.
59008         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
59009         (NANOSLEEP_BUG_WORKAROUND): Remove.
59010         (xnanosleep): Remove the workaround.
59011
59012 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59013
59014         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
59015         Reported by Derek Price.
59016         (Include): Add "timespec.h".
59017
59018         * modules/xnanosleep (Depends-on): Remove gethrxtime.
59019
59020 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59021
59022         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
59023         to detect nanosleep bug.
59024
59025 2005-03-01  Bruno Haible  <bruno@clisp.org>
59026
59027         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
59028
59029 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
59030
59031         * modules/gethrxtime: New file.
59032         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
59033         (Depends-on): Add gethrxtime.
59034         (configure.ac): Add gl_XNANOSLEEP.
59035         (Makefile.am): Remove lib_SOURCES line.
59036
59037 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59038
59039         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
59040         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
59041
59042 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59043
59044         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
59045         * lib/timespec.h (gettime): Return void, since it always
59046         succeeds now.  All uses changed.
59047         * lib/gettime.c (gettime) Likewise.
59048         [HAVE_NANOTIME]: Prefer nanotime.
59049         Assume gettimeofday succeeds, as POSIX requires.
59050         Assime time () succeeds, since other code already does.
59051         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
59052         (timespec_subtract): Remove.
59053         (NANOSLEEP_BUG_WORKAROUND): New constant.
59054         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
59055         things considerably.  Use it only on GNU/Linux hosts, since the
59056         workaround shouldn't be needed elsewhere.
59057
59058 2005-02-24  Bruno Haible  <bruno@clisp.org>
59059
59060         * modules/gettext (Files): Add m4/glibc2.m4.
59061
59062 2005-02-24  Bruno Haible  <bruno@clisp.org>
59063
59064         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
59065         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
59066         * m4/progtest.m4:
59067         Update from GNU gettext 0.14.2.
59068         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
59069
59070 2005-02-24  Bruno Haible  <bruno@clisp.org>
59071
59072         * lib/localcharset.c: Update from GNU gettext 0.14.2.
59073         * lib/config.charset: Update from GNU gettext 0.14.2.
59074
59075 2005-02-24  Bruno Haible  <bruno@clisp.org>
59076
59077         * lib/gettext.h: Update from GNU gettext 0.14.2.
59078
59079 2005-02-23  Simon Josefsson  <jas@extundo.com>
59080
59081         * m4/iconvme.m4: New file.
59082
59083 2005-02-23  Jim Meyering  <jim@meyering.net>
59084
59085         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
59086         change.
59087         Thanks to Bruno Haible for catching it.
59088
59089 2005-02-22  Simon Josefsson  <jas@extundo.com>
59090
59091         * modules/iconvme: New file.
59092
59093         * MODULES.html.sh: Add iconvme.
59094
59095 2005-02-22  Simon Josefsson  <jas@extundo.com>
59096
59097         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
59098
59099 2005-02-22  Simon Josefsson  <jas@extundo.com>
59100
59101         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
59102
59103 2005-02-22  Jim Meyering  <jim@meyering.net>
59104
59105         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
59106         s/ifndef/ifdef/.
59107
59108 2005-02-20  Neil Conway  <neilc@samurai.com>
59109
59110         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
59111         returned by OSX/Darwin if the specified buffer is not large
59112         enough for the hostname.
59113
59114 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59115
59116         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
59117         pass it to _help, otherwise the latter coredumps trying to
59118         dereference state.root_argp.
59119
59120 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59121
59122         * modules/chdir-long (Depends-on): Add memrchr.
59123         * modules/memrchr (Files): Add lib/memrchr.h.
59124         (Include): "memrchr.h".
59125
59126 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59127
59128         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
59129
59130 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59131
59132         * lib/memrchr.h: New file.
59133         * lib/chdir-long.c: Include it.
59134         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
59135         Don't bother including stddef.h.
59136
59137 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
59138
59139         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
59140         inclusion.
59141         Include <sys/types.h>, for dev_t.
59142         (ME_DUMMY, ME_REMOTE): Move from here....
59143         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
59144         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
59145         Dmitry V. Levin.
59146         Include mountlist.h first, to test the interface.
59147
59148 2005-01-29  Bruno Haible  <bruno@clisp.org>
59149
59150         * lib/progname.c (program_name): Initialize.
59151         Needed when linking statically on MacOS X.
59152
59153 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59154
59155         Sync from coreutils.
59156         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
59157         (Depends-on): Add c-strtod.
59158         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
59159
59160 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59161
59162         Sync from coreutils.
59163         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
59164
59165         Remove files that are specific to coreutils.
59166         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
59167
59168 2005-01-28  Bruno Haible  <bruno@clisp.org>
59169
59170         * modules/javacomp: New file.
59171         * MODULES.html.sh (Java): Add javacomp.
59172
59173 2005-01-28  Bruno Haible  <bruno@clisp.org>
59174
59175         * m4/javacomp.m4: New file, from GNU gettext.
59176
59177 2005-01-28  Bruno Haible  <bruno@clisp.org>
59178
59179         * lib/javacomp.sh.in: New file, from GNU gettext.
59180         * lib/javacomp.h: New file, from GNU gettext.
59181         * lib/javacomp.c: New file, from GNU gettext.
59182
59183 2005-01-26  Simon Josefsson  <jas@extundo.com>
59184
59185         * lib/gai_strerror.c: Use GPL in header.
59186
59187 2005-01-26  Bruno Haible  <bruno@clisp.org>
59188
59189         * modules/javaexec: New file.
59190         * MODULES.html.sh (Java): Add javaexec.
59191
59192 2005-01-26  Bruno Haible  <bruno@clisp.org>
59193
59194         * m4/javaexec.m4: New file, from GNU gettext.
59195
59196 2005-01-26  Bruno Haible  <bruno@clisp.org>
59197
59198         * lib/javaexec.sh.in: New file, from GNU gettext.
59199         * lib/javaexec.h: New file, from GNU gettext.
59200         * lib/javaexec.c: New file, from GNU gettext.
59201
59202 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59203
59204         * modules/lchown (Depends-on): Remove lchown.h
59205
59206 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59207
59208         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
59209         must be defined if the header file was not found, in order
59210         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
59211
59212 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59213
59214         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
59215         initializers for struct pentry_state.
59216         (__argp_error): Check return value of __asprintf
59217         (__argp_failure): Translate error message
59218
59219         * lib/argp-parse.c: Removed braces around the expansion of N_()
59220
59221 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59222
59223         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
59224         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
59225         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
59226         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
59227         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
59228         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
59229         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
59230         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
59231         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
59232         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
59233         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
59234         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
59235         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
59236         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
59237         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
59238         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
59239         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
59240         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
59241         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
59242         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
59243         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
59244         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
59245         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
59246         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
59247         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
59248         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
59249         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
59250         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
59251         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
59252         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
59253         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
59254         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
59255         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
59256         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
59257         xstrtol.m4, xstrtoumax.m4, yesno.m4:
59258         Use an all-permissive copyright notice, recommended by RMS.
59259
59260 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
59261
59262         * modules/chdir-long (Depends-on): Remove mempcpy.
59263
59264 2005-01-21  Jim Meyering  <jim@meyering.net>
59265
59266         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
59267         same value as for Solaris 9.
59268
59269         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
59270         component length.  This included changing the parameter to be
59271         of type `char *' rather than `char const *'.
59272         * lib/chdir-long.h (chdir_long): Update prototype.
59273
59274         * lib/openat.c (fdopendir, fstatat): New functions.
59275         * lib/openat.h: Include headers required for use of DIR and struct
59276         stat.
59277         [AT_SYMLINK_NOFOLLOW]: Define.
59278         (fdopendir, fstatat): Add prototypes.
59279
59280 2005-01-21  Bruno Haible  <bruno@clisp.org>
59281
59282         * modules/classpath: New file.
59283         * MODULES.html.sh (Java): Add classpath.
59284
59285 2005-01-21  Bruno Haible  <bruno@clisp.org>
59286
59287         * lib/classpath.h: New file, from GNU gettext.
59288         * lib/classpath.c: New file, from GNU gettext.
59289
59290 2005-01-20  Simon Josefsson  <jas@extundo.com>
59291
59292         * modules/version-etc-fsf: New file.
59293
59294 2005-01-20  Simon Josefsson  <jas@extundo.com>
59295
59296         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
59297         * lib/version-etc.c: Remove version_etc_copyright.
59298         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
59299         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
59300
59301 2005-01-20  Simon Josefsson  <jas@extundo.com>
59302
59303         * lib/base64.h (isbase64): Add.
59304
59305         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
59306         using a unsigned prototype, don't inline.
59307         (base64_decode): Use it.
59308
59309 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59310
59311         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
59312         it.
59313
59314 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59315
59316         * lib/save-cwd.c (save_cwd): Remove code to support the case
59317         where fchdir is missing or flaky.
59318
59319 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59320
59321         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
59322
59323 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59324
59325         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
59326         AC_LIBSOURCES now does this.
59327         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
59328         with new ullong_max module.
59329
59330 2005-01-19  Bruno Haible  <bruno@clisp.org>
59331
59332         * modules/sh-quote: New file.
59333         * MODULES.html.sh (Executing programs): Add sh-quote.
59334
59335 2005-01-19  Bruno Haible  <bruno@clisp.org>
59336
59337         * lib/sh-quote.h: New file, from GNU gettext.
59338         * lib/sh-quote.c: New file, from GNU gettext.
59339
59340 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59341
59342         Merge from coreutils.
59343         * m4/ullong_max.m4: New file.
59344         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
59345         (gl_MACROS): Assume localeconv exists.
59346
59347 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59348
59349         Merge changes from coreutils, as described below in several
59350         changelogs dated today.
59351
59352         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
59353         (O_DIRECTORY): Remove; not needed here, since "." must be
59354         a directory.  All uses removed.
59355         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
59356         universal on Suns, and we also need to test for IRIX.
59357         Revamp code to use 'if' rather than '#if'.
59358         Avoid unnecessary comparison of cwd->desc to 0.
59359
59360         * lib/utimens.c (futimens): Robustify the previous patch, by checking
59361         for known valid error numbers rather than observed invalid ones.
59362
59363 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59364
59365         * modules/ullong_max: New file.
59366
59367         * modules/chdir-long, modules/openat: New files.
59368         * modules/save-cwd (Depends-on): Depend on chdir-long.
59369         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
59370
59371 2005-01-18  Jim Meyering  <jim@meyering.net>
59372
59373         Merge from coreutils.
59374         * m4/chdir-long.m4, m4/openat.m4: New files.
59375         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
59376         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
59377         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
59378         is sane and DOES follow symlinks.  Besides, testing 20 different
59379         systems found no broken chown implementations.
59380         Prompted by a change in rsync's copy of this macro.
59381         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
59382
59383         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
59384
59385         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
59386         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
59387         NULL-means-set-to-current-time semantics.
59388         Remove temporary file immediately, rather than waiting
59389         for configure's at-exit trap code to do it.
59390
59391 2005-01-18  Jim Meyering  <jim@meyering.net>
59392
59393         * lib/version-etc.c (version_etc_copyright): Update copyright date.
59394
59395         * lib/utimens.c (futimens): Account for the fact that futimes
59396         can also fail with errno == ENOSYS or errno == ENOENT.
59397         Patch from Dmitry V. Levin.
59398
59399         Change the name of the robust chdir function from chdir to chdir_long.
59400         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
59401         (restore_cwd): Use chdir_long, not chdir.
59402         * lib/chdir-long.c: Renamed from chdir.c.
59403         * lib/chdir-long.h: Renamed from chdir.h.
59404         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
59405         Hurd.
59406
59407 2005-01-18  Bruno Haible  <bruno@clisp.org>
59408
59409         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
59410         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
59411         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
59412         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
59413         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
59414         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
59415         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
59416         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
59417         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
59418         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
59419         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
59420         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
59421         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
59422         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
59423         Use an all-permissive copyright notice, recommended by RMS.
59424
59425 2005-01-18  Bob Proulx  <bob@proulx.com>
59426
59427         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
59428         simplify offsetof() macro construct to avoid compile failure with
59429         native HP-UX 11.0 ANSI C compiler.
59430
59431 2005-01-17  Bruno Haible  <bruno@clisp.org>
59432
59433         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
59434         redundant because stpncpy.m4 takes care of it.
59435
59436 2005-01-17  Bruno Haible  <bruno@clisp.org>
59437
59438         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
59439
59440 2005-01-17  Bruno Haible  <bruno@clisp.org>
59441
59442         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
59443         used.
59444
59445 2005-01-17  Bruno Haible  <bruno@clisp.org>
59446
59447         * lib/fwriteerror.h (fwriteerror): Change specification to include
59448         fclose.
59449         * lib/fwriteerror.c: Include <stdbool.h>.
59450         (fwriteerror): At the end, close the file stream. Record whether
59451         stdout was already closed.
59452
59453 2005-01-17  Bruno Haible  <bruno@clisp.org>
59454
59455         * lib/execute.c (environ): Declare if needed.
59456         * lib/pipe.c (environ): Likewise.
59457         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
59458
59459 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59460
59461         * modules/argp: Depend on vsnprintf
59462
59463 2005-01-10  Jim Meyering  <jim@meyering.net>
59464
59465         * modules/closeout (Depends-on): Add atexit.
59466
59467 2005-01-06  Bruno Haible  <bruno@clisp.org>
59468
59469         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
59470
59471 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59472
59473         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
59474         definitions to be after all include files, to avoid collisions.
59475         Problem reported by Bob Proulx.
59476
59477 2005-01-04  Jim Meyering  <jim@meyering.net>
59478
59479         Changes imported from coreutils.
59480         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
59481         as the mkstemp template, use a temporary directory and an
59482         8.3-friendly template to avoid trouble on systems like DJGPP.
59483         Reported by Juan M. Guerrero via Stepan Kasal.
59484         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
59485         close. Remove the temporary directory right away, rather than waiting
59486         for configure's at-exit trap code to do it.
59487         Suggestion from Stepan Kasal.
59488
59489 2005-01-01  Simon Josefsson  <jas@extundo.com>
59490
59491         * gnulib-tool: Print #include directives when --import'ing.
59492
59493 2004-12-28  Simon Josefsson  <jas@extundo.com>
59494
59495         * tests/test-base64.c: Include required header files.  Remove
59496         unused variables.
59497
59498 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
59499
59500         * modules/error (Depends-on): Remove gettext.
59501
59502 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
59503
59504         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
59505         not needed.  This removes a dependency on the gettext module.
59506         [defined _LIBC]: Do not include <libintl.h>; not needed.
59507
59508 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
59509
59510         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
59511         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
59512
59513 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
59514
59515         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
59516         HAVE_DECL_STRTOLD.
59517
59518 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59519
59520         * modules/getdate (Depends-on): Remove alloca-opt.
59521
59522 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59523
59524         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
59525
59526 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59527
59528         * lib/argp-parse.c: Include <stddef.h>.
59529         (alignof, alignto): New macros.
59530         (parser_init): Don't assume that void * is aligned sufficiently
59531         for struct option.
59532
59533         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
59534         need to extend the stack.
59535         (YYINITDEPTH): New macro, so that the initial stack isn't overly
59536         large.
59537
59538 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59539
59540         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
59541
59542 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
59543
59544         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
59545         (2004-10-24) change.  Apparently this was a false alarm.
59546
59547         * modules/getdate: Depend on alloca-opt, not alloca.
59548
59549 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
59550
59551         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
59552         Remove now-obsolete comment about AIX.
59553         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
59554         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
59555         (YYMAXDEPTH): New macro.
59556
59557 2004-12-18  Simon Josefsson  <jas@extundo.com>
59558
59559         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
59560
59561 2004-12-18  Bruno Haible  <bruno@clisp.org>
59562
59563         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
59564
59565 2004-12-18  Bruno Haible  <bruno@clisp.org>
59566
59567         * lib/fatal-signal.c (fatal_signals): Make non-const.
59568         (init_fatal_signals): New function.
59569         (uninstall_handlers, install_handlers): Ignore signals that were set to
59570         SIG_IGN.
59571         (at_fatal_signal): Call init_fatal_signals.
59572         (init_fatal_signal_set): Likewise. Ignore signals that were set to
59573         SIG_IGN.
59574         Reported by Paul Eggert.
59575
59576 2004-12-18  Bruno Haible  <bruno@clisp.org>
59577
59578         * doc/alloca.texi: New file.
59579         * doc/alloca-opt.texi: New file.
59580
59581 2004-12-17  Jim Meyering  <jim@meyering.net>
59582
59583         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
59584         Otherwise, install-sh could exit with improper exit status when
59585         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
59586
59587 2004-12-16  Simon Josefsson  <jas@extundo.com>
59588
59589         * tests/test-base64.c: Add license.
59590
59591 2004-12-15  Stepan Kasal  <address@hidden>
59592
59593         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
59594
59595 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
59596
59597         * modules/getcwd (Files): Add m4/d-ino.m4.
59598         Suggested by Mark D. Baushke.
59599
59600 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
59601
59602         * lib/getdate.y (textint): New member "negative".
59603         (time_zone_hhmm): New function.
59604         Expect 14 shift-reduce conflicts, not 13.
59605         (o_colon_minutes): New rule.
59606         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
59607         (yylex): Set the "negative" member of signed numbers.
59608
59609 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
59610
59611         * doc/getdate.texi (Time of day items, Time zone items):
59612         Describe new formats +00:00, UTC+00:00.
59613
59614 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
59615
59616         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
59617         spurious "-l"s.  Problem reported by Stepan Kasal.
59618
59619 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
59620
59621         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
59622         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
59623
59624 2004-12-04  Simon Josefsson  <jas@extundo.com>
59625
59626         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
59627         Vandoorselaere <yoann@prelude-ids.org>.
59628
59629 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59630
59631         Changes imported from coreutils.
59632         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
59633         exist.
59634         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
59635
59636 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59637
59638         Changes imported from coreutils.
59639         * lib/hard-locale.c: Assume <locale.h> exists.
59640         Include "strdup.h".
59641         (GLIBC_VERSION): New macro.
59642         (hard_locale): Assume setlocale exists.
59643         Rewrite to avoid #ifdef.
59644         Use strdup rather than malloc + strcpy.
59645         * lib/human.c: Assume <locale.h> exists.
59646         (human_readable): Assume localeconv exists.
59647
59648 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59649
59650         * modules/hard-locale (Depends-on): Add strdup.
59651
59652 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
59653
59654         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
59655         convert T2, not T.  (Imported from libc.)
59656
59657 2004-11-30  Simon Josefsson  <jas@extundo.com>
59658
59659         * modules/restrict (License): Change to LGPL.
59660
59661 2004-11-30  Simon Josefsson  <jas@extundo.com>
59662
59663         * m4/restrict.m4: Add copyright and copying conditions.
59664
59665 2004-11-30  Simon Josefsson  <jas@extundo.com>
59666
59667         * m4/base64.m4: New file.
59668
59669 2004-11-30  Simon Josefsson  <jas@extundo.com>
59670
59671         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
59672         base64.
59673
59674         * tests/test-base64.c: New file.
59675
59676         * modules/base64: New file.
59677
59678 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
59679
59680         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
59681         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
59682
59683         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
59684
59685 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
59686
59687         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
59688         (__getcwd.c): Don't restore errno; glibc doesn't.
59689         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
59690         first, falling back to our code only if its results look suspicious.
59691         Ensure that the resulting buffer is only as large as necessary.
59692
59693         * lib/readutmp.c: Include readutmp.h first.
59694         Include <errno.h>, since readutmp.h no longer does that.
59695         * lib/readutmp.h: Don't include <errno.h>,
59696         <sys/param.h>, <time.h>; not needed to establish interface.
59697         (errno): Remove decl.
59698         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
59699         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
59700         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
59701
59702 2004-11-28  Simon Josefsson  <jas@extundo.com>
59703
59704         * lib/base64.h, base64.c: New file.
59705
59706 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
59707
59708         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
59709
59710 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
59711
59712         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
59713         (Depends-on): Remove pathmax, same.  Add mempcpy.
59714         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
59715         (Makefile.am): Append getcwd.h to lib_SOURCES.
59716         (Include): Add getcwd.h.
59717         (Maintainer): Change from Jim Meyering to "all, glibc",
59718         since getdate now uses intended-for-glibc code.
59719         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
59720         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
59721
59722 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
59723
59724         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
59725         HP's ANSI C compiler.
59726         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
59727         Declaring int functions causes warnings on some modern systems and
59728         shouldn't be needed to compile on ancient ones.
59729         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
59730         defined.
59731
59732         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
59733         with the following changes.
59734         (__set_errno): Parenthesize properly.
59735         Include <stdbool.h>.
59736         (MIN, MAX, MATCHING_INO): New macros.
59737         (__getcwd): Define with prototype, not K&R form.
59738         Use heuristics to allocate default buffer on stack if possible.
59739         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
59740         behavior, and to avoid the PATH_MAX limit when computing
59741         ../../../../...
59742         Use MATCHING_INO to compare inode number to file.
59743         Check for arithmetic overflow in size calculations.
59744         Fix bug in reallocation of dot array that caused getcwd to fail
59745         on directories nested deeper than 75.
59746         Be more careful about saving errno on error.
59747         Do not use realloc; use only free+malloc, as this is a bit
59748         more flexible and avoids a needless copy operation.
59749         Do not inspect st_dev and st_ino for symbolic links; POSIX
59750         doesn't specify the latter.
59751         Check for closedir errors.
59752         Avoid needless casts.
59753         Use "#ifdef weak_alias" around weak_alias, to be like other
59754         glibc code.
59755         The following changes to getcwd.c have effect only when used in
59756         gnulib; they have no effect inside glibc proper.
59757         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
59758         as alloca isn't used.
59759         (alloca, __alloca): Likewise.
59760         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
59761         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
59762         unconditionally, as gnulib assumes C89 or better.
59763         Do not include <sys/param.h>.
59764         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
59765         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
59766         better.
59767         (NULL) [!defined NULL]: Remove; we assume C89 or better.
59768         Include <dirent.h> in a way that is compatible with modern Autoconf.
59769         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
59770         New macros, if not already defined.
59771         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
59772         Use "_LIBC", not "defined _LIBC", for consistency.
59773         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
59774         a mempcpy module.
59775         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
59776         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
59777         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
59778         credit only to Jim Meyering and adjust the copyright dates.
59779         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
59780         <stdlib.h>, <unistd.h>, "pathmax.h".
59781         Instead, include "xgetcwd.h" (first) and "getcwd.h".
59782         (INITIAL_BUFFER_SIZE): Remove.
59783         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
59784
59785 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
59786
59787         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
59788         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
59789         Use the _ONCE methods, for efficiency.
59790         Check for fcntl.h.  In test program, include <errno.h>
59791         and <fcntl.h> if available.  Remove old K&R cruft from
59792         test program.  Check for common errors in GNU/Linux,
59793         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
59794         don't do AC_LIBOBJ, as that's getcwd.m4's job.
59795         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
59796         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
59797         name accordingly.
59798         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
59799         accommodate new getcwd.c.
59800         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
59801         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
59802         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
59803         that's all we need now.
59804
59805 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59806
59807         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
59808         argp-parse.c depends on getopt internals, that means we should
59809         always use our getopt, to be on the safe side.
59810         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
59811         order not to spoil the result of an eventual previous invocation
59812         of gl_GETOPT_SUBSTITUTE.
59813
59814 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59815
59816         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
59817         redefinition warnings. To avoid them, include the defines
59818         in `#if !defined __need_getopt ... #endif'. The only place
59819         where __getopt_argv_const is used is in definitions
59820         of getopt_long and getopt_long_only below, which are as well
59821         protected by `#ifndef __need_getopt'.
59822         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
59823         __need_getopt after including <stdio.h> and <unistd.h> These
59824         headers might have defined it.
59825
59826 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
59827
59828         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
59829
59830 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
59831
59832         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
59833         (futimens): New function, which uses futimes if available.
59834         (futimens, utimens): Support timespec==NULL, with same semantics
59835         as utime and utimens.
59836         * lib/utimens.h (futimens): New decl.
59837
59838 2004-11-23  Jim Meyering  <jim@meyering.net>
59839
59840         * lib/getopt_.h: Remove trailing blanks.
59841
59842 2004-11-23  Jim Meyering  <jim@meyering.net>
59843
59844         * lib/__fpending.c: Add comment.
59845
59846 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
59847
59848         * modules/canonicalize (Depends-on): Add xreadlink.
59849         Problem reported by James Youngman.
59850
59851 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
59852
59853         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
59854         New macros.
59855         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
59856         optopt): Use them instead of invoking ## directly; otherwise, the
59857         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
59858
59859 2004-11-19  Bruno Haible  <bruno@clisp.org>
59860
59861         * lib/strtok_r.c: Move comments from here...
59862         * lib/strtok_r.h: ... to here.
59863
59864 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
59865
59866         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
59867         implementations that mishandle size_t overflow.
59868
59869 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
59870
59871         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
59872         might fail.  Problem reported by Yoann Vandoorselaere.
59873         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
59874         implementations that mishandle size_t overflow.
59875
59876 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59877
59878         * modules/canon-host (Depends-on): Add strdup.
59879
59880 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59881
59882         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
59883
59884 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59885
59886         * lib/canon-host.c: Include "strdup.h".
59887         (canon_host): Use getaddrinfo if available, so that IPv6 works.
59888         Use strdup instead of malloc/strcpy to duplicate strings.
59889
59890         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
59891         (human_space_before_unit): New constant.
59892         * lib/human.c (human_readable): Support it.
59893
59894         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
59895         (xgetcwd): Set errno correctly when failing.
59896         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
59897         the failure is actually due to a PATH_MAX problem.
59898
59899         Further getopt changes to make it more likely that glibc will
59900         buy the changes back.
59901         * lib/getopt.c (POSIXLY_CORRECT): New constant.
59902         (getopt): Use it, so to preserve glibc semantic
59903         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
59904         when compiling for libc.
59905         * lib/getopt_.h (__getopt_argv_const): Bring it back.
59906         (getopt_long, getopt_long_only): Use it.
59907
59908         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
59909         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
59910         (getopt): Argv is now char * const *, as per standard.
59911         (_getopt_internal_r, _getopt_internal): Argv is now char **,
59912         not char *__getopt_argv_const *.
59913         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
59914         _getopt_long_only_r): Likewise.
59915         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
59916         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
59917         _getopt_long_r, _getopt_long_only_r): Likewise.
59918         * lib/getopt_.h (__getopt_argv_const): Remove.
59919         (getopt): Argv is now char * const *, as per standard.
59920
59921         * lib/getdate.y (tORDINAL): New token.
59922         (day, relunit): Allow it for relative times.
59923         (relative_time_table): Use tORDINAL for ordinals.
59924
59925 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59926
59927         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
59928         Document that "second" isn't allowed as an ordinal number.
59929
59930 2004-11-16  Jim Meyering  <jim@meyering.net>
59931
59932         * modules/closeout (Depends-on): Add fpending.
59933
59934 2004-11-15  Jim Meyering  <jim@meyering.net>
59935
59936         * lib/closeout.c: Include "__fpending.h" once again.
59937         Include <stdbool.h>.
59938         (close_stdout): Don't fail just because stdout was closed initially,
59939         since some programs don't write to stdout in the normal course of
59940         operation (other than --version and --help), and we don't want this
59941         function to make e.g. `touch file >&-' fail.
59942         But do fail if it was closed and someone has tried to write to it.
59943         E.g., `printf foo >&-' must fail.
59944
59945 2004-11-13  Jim Meyering  <jim@meyering.net>
59946
59947         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
59948
59949 2004-11-12  Simon Josefsson  <jas@extundo.com>
59950
59951         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
59952         small doc fix is still pending.
59953
59954 2004-11-11  Simon Josefsson  <jas@extundo.com>
59955
59956         * modules/strtok_r: New file.
59957
59958         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59959         strtok_r.
59960
59961 2004-11-11  Simon Josefsson  <jas@extundo.com>
59962
59963         * m4/strtok_r.m4: New file.
59964
59965         * m4/getopt.m4: Replace opterr.
59966
59967 2004-11-11  Simon Josefsson  <jas@extundo.com>
59968
59969         * lib/strtok_r.h, strtok_r.c: New file.
59970
59971 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
59972
59973         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
59974         of replacing opterr, getopt, etc.  This should handle the
59975         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
59976
59977 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
59978
59979         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
59980         we can stop lying to compilers about the constness of argv when we
59981         are compiled outside glibc.
59982         (getopt, getopt_long, getopt_long_only): Use it.
59983         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
59984         _getopt_internal, getopt): Likewise.
59985         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
59986         _getopt_long_only_r): Likewise.
59987         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
59988         _getopt_long_r, _getopt_long_only_r): Likewise.
59989
59990         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
59991         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
59992         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
59993         the other external symbols.
59994         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
59995         declaration, since the above renaming now works around collisions.
59996
59997 2004-11-11  Jim Meyering  <jim@meyering.net>
59998
59999         * lib/linebreak.c: Remove trailing blanks.
60000         * lib/alloca_.h: Likewise.
60001         * lib/acosl.c: Likewise.
60002         * lib/euidaccess.c: Likewise.
60003         * lib/allocsa.h: Likewise.
60004
60005 2004-11-10  Simon Josefsson  <jas@extundo.com>
60006
60007         * m4/getaddrinfo.m4: New file.
60008
60009 2004-11-10  Simon Josefsson  <jas@extundo.com>
60010
60011         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
60012
60013 2004-11-10  Simon Josefsson  <jas@extundo.com>
60014
60015         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60016         getaddrinfo.
60017
60018         * modules/getaddrinfo: New file.
60019
60020 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60021
60022         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
60023
60024 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60025
60026         * lib/mktime.c (SHR): New macro, which is a portable
60027         substitute for >> that should work even on Crays.
60028         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
60029         Problem reported by Mark D. Baushke in
60030         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
60031         * lib/getdate.y (SHR): Likewise.
60032         (tm_diff): Use it.
60033         * lib/strftime.c (SHR): Likewise.
60034         (tm_diff): Use it.
60035         * lib/quotearg.c (struct quoting_options): Use unsigned int for
60036         quote_these_too, so that right shifts are well defined.  All uses
60037         changed.
60038
60039 2004-11-10  Jim Meyering  <jim@meyering.net>
60040
60041         Ensure that no close failure goes unreported.
60042         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
60043         return early when it seems there's nothing to flush.
60044         Don't include __fpending.h.
60045
60046 2004-11-10  Jim Meyering  <jim@meyering.net>
60047
60048         * modules/closeout (Depends-on): Remove fpending.
60049
60050 2004-11-10  Jim Meyering  <jim@meyering.net>
60051
60052         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
60053
60054 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60055
60056         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
60057         gl_FUNC_STRFTIME.
60058         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
60059         and AC_REQUIRE when possible, to avoid duplicate checks.
60060         Check for <wchar.h>.
60061
60062 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60063
60064         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
60065
60066 2004-11-09  Bruno Haible  <bruno@clisp.org>
60067
60068         * m4/sockpfaf.m4: New file.
60069
60070 2004-11-05  Bruno Haible  <bruno@clisp.org>
60071
60072         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
60073         Reported by Mark D. Baushke <mdb@cvshome.org>.
60074
60075 2004-11-04  Bruno Haible  <bruno@clisp.org>
60076
60077         2004-09-11  Bruno Haible  <bruno@clisp.org>
60078                 * allocsa.valgrind: New file.
60079         2004-02-06  Bruno Haible  <bruno@clisp.org>
60080                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
60081                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
60082                 Reported by Christopher Seip <chris.seip@hp.com>.
60083
60084 2004-11-04  Bruno Haible  <bruno@clisp.org>
60085
60086         * modules/allocsa (Files): Add lib/allocsa.valgrind.
60087         (Makefile.am): Distribute it.
60088
60089 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
60090
60091         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
60092         with errno == ERANGE if the buffer is too small.
60093         Problem reported by Mark D. Baushke.
60094
60095 2004-11-03  Albert Chin  <china@thewrittenword.com>
60096             Paul Eggert  <eggert@cs.ucla.edu>
60097
60098         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
60099         equivalent, substitute $ac_type for equivalent type rather than
60100         blindly using uint32_t *always* which won't work if uint32_t is not
60101         available.  Define _UINT32_T to work around typedef of uint32_t if
60102         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
60103         2.5.1.
60104
60105 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60106
60107         * m4/jm-macros.m4: Sync from coreutils.
60108         (gl_MACROS): Check for mbrlen, for pathchk.
60109         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
60110
60111 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60112
60113         * lib/xreadlink.c (MAXSIZE): New macro.
60114         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
60115         size does not exceed MAXSIZE.  Avoid cast.
60116         As suggested by Mark D. Baushke in
60117         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
60118         if readlink fails with buffer size just under MAXSIZE, try again
60119         with MAXSIZE.
60120
60121 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60122
60123         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
60124
60125 2004-11-02  Derek R. Price  <derek@ximbiot.com>
60126         and  Paul Eggert  <eggert@cs.ucla.edu>
60127
60128         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
60129         (get_date): Overparenthesize to avoid GCC warning.
60130
60131 2004-11-02  Bruno Haible  <bruno@clisp.org>
60132
60133         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
60134         returns void.
60135
60136 2004-11-02  Bruno Haible  <bruno@clisp.org>
60137
60138         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
60139         function returns void.
60140
60141 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60142
60143         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
60144         fflush_unlocked, flockfile, funlockfile, funlockfile,
60145         fputs_unlocked, putc_unlocked.
60146
60147 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60148
60149         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
60150         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
60151         already declared.
60152
60153 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60154
60155         * modules/getdate (Files): Add doc/getdate.texi.
60156         (Depends-on): Add setenv, xalloc.
60157
60158 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60159
60160         * lib/getdate.y: Add support for TZ="foo" within a date string.
60161         Fix some bugs near time_t boundaries.  Reject dates with
60162         out-of-range components, e.g., "Sept 31".
60163         Include <stdlib.h>, "setenv.h", "xalloc.h".
60164         (ISDIGIT_LOCALE): Remove; unused.
60165         Note that the TZ and time functions used here are not reentrant.
60166         (mktime_ok, get_tz): New functions.
60167         (TZBUFSIZE): New constant.
60168         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
60169         This requires that we sometimes generate our own TZ="XXX..." setting.
60170
60171 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60172
60173         * doc/getdate.texi: New file, from coreutils with modifications for
60174         the new TZ parsing.
60175
60176 2004-10-27  Derek R. Price  <derek@ximbiot.com>
60177
60178         * lib/mktime.c (not_equal_tm): Remove redundant check.
60179
60180 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60181
60182         * modules/regex (lib_SOURCES): Add regex.c.
60183         Reported by James Youngman in
60184         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
60185
60186 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60187
60188         * lib/getdate.y: Use Bison 1.875 features, and some minor
60189         code cleanups.  This change does not affect semantics.
60190         Don't include <stdlib.h>; no longer needed.
60191         Don't include unlocked-io.h; only the "#if TEST" code uses
60192         stdio, and performance isn't crucial there.
60193         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
60194         Bison 1.875 features as described below.
60195         All uses of "PC." replaced by "pc->".
60196         (YYSTYPE): Add a forward declaration.
60197         (yylex, yyerror): Use full prototypes in forward decls.
60198         Use "%pure-parser" rather than obsolescent "%pure_parser".
60199         Use %parse-param and %lex-param instead of obsolescent
60200         YYPARSE_PARAM and YYLEX_PARAM.
60201         (meridian_table, month_and_day_table, time_units_table,
60202         relative_time_table, time_zone_table, military_table,
60203         lookup_zone, lookup_word, get_date):
60204         Use NULL instead of 0 where appropriate.
60205         (to_hour): Avoid abort (), to avoid a dependency on
60206         stdlib.h.
60207         (yyerror, yylex): Now accepts parser_control * arg.
60208         (main) [TEST]: Use '\0' rather than 0 for char.
60209
60210 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60211
60212         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
60213
60214 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60215
60216         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
60217         It's now the caller's responsibility to handle the case where
60218         !HAVE_GETPAGESIZE && !defined getpagesize.
60219
60220         * lib/mktime.c (leapyear): Arg is long int, not int.
60221
60222 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
60223
60224         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
60225
60226 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60227
60228         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
60229         missing.  Problem reported by James Youngman.
60230
60231 2004-10-16  Simon Josefsson  <jas@extundo.com>
60232
60233         * gnulib-tool: Fix comments.  Fix parse problem.
60234         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
60235
60236 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
60237
60238         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
60239         implementation of getopt_long.  Problem reported by Alexander Taler in:
60240         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
60241
60242 2004-10-15  Bruno Haible  <bruno@clisp.org>
60243
60244         * gnulib-tool: Untabify. Initialize supplied_libname.
60245         (func_usage): More homogenous output.
60246         (func_modules_transitive_closure, func_modules_to_filelist,
60247         func_emit_lib_Makefile_am): New functions.
60248         (func_import): New function, extracted from big case statement. Use
60249         func_get_license, func_modules_transitive_closure,
60250         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
60251         opt_lgpl. Don't use test -a, as it's not portable.
60252         (func_create_testdir): Use func_modules_transitive_closure,
60253         func_modules_to_filelist, func_emit_lib_Makefile_am.
60254
60255 2004-10-15  Bruno Haible  <bruno@clisp.org>
60256
60257         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
60258
60259 2004-10-15  Bruno Haible  <bruno@clisp.org>
60260
60261         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
60262         the portions belonging to each module.
60263         Suggested by Derek Robert Price <derek@ximbiot.com>.
60264
60265 2004-10-12  Simon Josefsson  <jas@extundo.com>
60266
60267         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
60268         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
60269         to real functions.
60270
60271 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60272
60273         * modules/vsnprintf: New file.
60274
60275 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60276
60277         * m4/vsnprintf.m4: New file.
60278
60279 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60280
60281         * lib/vsnprintf.h: New file.
60282         * lib/vsnprintf.c: New file.
60283
60284 2004-10-11  Bruno Haible  <bruno@clisp.org>
60285
60286         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
60287         vsnprintf.
60288
60289 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
60290
60291         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
60292
60293 2004-10-07  Bruno Haible  <bruno@clisp.org>
60294
60295         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
60296         fits into the provided buffer.
60297
60298 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
60299
60300         * lib/diacrit.c, diacrit.h: Add GPL notice.
60301
60302         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
60303         notice.
60304         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
60305         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
60306         This avoids a potential constant-folding bug.
60307
60308 2004-10-05  Bruno Haible  <bruno@clisp.org>
60309
60310         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
60311         for the declaration of strsep.
60312
60313 2004-10-05  Bruno Haible  <bruno@clisp.org>
60314
60315         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
60316
60317 2004-10-04  Simon Josefsson  <jas@extundo.com>
60318
60319         * modules/memmem: New file.
60320         * tests/test-memmem.c: New file.
60321         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
60322
60323 2004-10-04  Simon Josefsson  <jas@extundo.com>
60324
60325         * m4/memmem.m4: New file.
60326
60327 2004-10-04  Simon Josefsson  <jas@extundo.com>
60328
60329         * lib/memmem.h: New file.
60330         * lib/memmem.c: New file, taken from glibc.
60331
60332 2004-10-04  Simon Josefsson  <jas@extundo.com>
60333
60334         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
60335         '#ifdef USE_UNLOCKED_IO'.
60336
60337 2004-10-04  Simon Josefsson  <jas@extundo.com>
60338
60339         * config/srclist.txt: Add memmem from glibc.
60340
60341 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60342
60343         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
60344
60345         * modules/argmatch, modules/argp, modules/closeout, modules/error,
60346         modules/exclude, modules/getdate, modules/getline,
60347         modules/getndelim2, modules/getpass, modules/getpass-gnu,
60348         modules/getusershell, modules/linebuffer, modules/md5,
60349         modules/mountlist, modules/posixtm, modules/readtokens,
60350         modules/readutmp, modules/regex, modules/sha1,
60351         modules/version-etc, modules/yesno:
60352         Remove dependency on unlocked-io.
60353
60354 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60355
60356         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
60357
60358         * m4/unlocked-io.m4: Add copyright notice.
60359         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
60360
60361 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60362
60363         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
60364         * lib/xmalloc.c (xmemdup): Likewise.
60365         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
60366         XFREE): Remove these long-obsolescent macros.
60367         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
60368         * lib/xstrdup.c: Remove.
60369
60370         * lib/regex.c (re_comp): Cast gettext return value to char *,
60371         Problem reported by Martin Neitzel via Mark D. Baushke.
60372
60373 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60374
60375         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
60376         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
60377         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
60378         regex.c, sha1.c, version-etc.c, yesno.c:
60379         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
60380         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
60381         the includer's responsibility.
60382
60383         Sync from coreutils.
60384
60385         * lib/modechange.c (mode_compile): Don't decrement a pointer that
60386         points to the start of a string, as the C Standard says the
60387         resulting behavior is undefined.
60388
60389         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
60390         simple -> simple_backups, numbered_existing ->
60391         numbered_existing_backups, numbered -> numbered_backups
60392         to avoid shadowing problems.  All uses changed.
60393         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
60394         * lib/backupfile.c (check_extension, numbered_backup):
60395         Rename locals to avoid shadowing 'basename'.
60396         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
60397         once.
60398
60399         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
60400         * lib/.cvsignore: Add getopt.h.
60401
60402 2004-10-04  Bruno Haible  <bruno@clisp.org>
60403
60404         * modules/README: New file.
60405         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
60406         not a module.
60407
60408 2004-10-02  Jim Meyering  <jim@meyering.net>
60409
60410         * lib/dirfd.h, getpagesize.h: Add copyright notice.
60411
60412 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60413
60414         * modules/strsep: New file.
60415
60416 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60417
60418         * m4/strsep.m4: New file.
60419
60420 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60421
60422         * lib/strsep.h: New file.
60423         * lib/strsep.c: New file.
60424
60425 2004-10-01  Simon Josefsson  <jas@extundo.com>
60426
60427         * lib/snprintf.c (snprintf): Handle size==0.
60428
60429 2004-10-01  Simon Josefsson  <jas@extundo.com>
60430             Bruno Haible  <bruno@clisp.org>
60431
60432         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
60433         (snprintf): Declare 'args'.
60434
60435 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
60436
60437         * lib/snprintf.c: Remove comments as to why each header is needed.
60438
60439 2004-10-01  Bruno Haible  <bruno@clisp.org>
60440
60441         * MODULES.html.sh: Add strsep.
60442
60443 2004-09-30  Simon Josefsson  <jas@extundo.com>
60444
60445         * modules/snprintf: New file.
60446
60447 2004-09-30  Simon Josefsson  <jas@extundo.com>
60448
60449         * m4/snprintf.m4: New file.
60450
60451 2004-09-30  Simon Josefsson  <jas@extundo.com>
60452
60453         * lib/snprintf.h, lib/snprintf.c: New files.
60454
60455 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60456
60457         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
60458         (hol_entry_help): Never translate an empty string.
60459         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
60460         * lib/argp.h (OPTION_NO_TRANS): New option.
60461
60462 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60463
60464         * modules/argp (Maintainer): Replace Simon Josefsson
60465         by Sergey Poznyakoff.
60466
60467 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60468
60469         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
60470         changes merged back into glibc.
60471
60472 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60473
60474         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
60475
60476 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
60477
60478         * lib/xvasprintf.c: Include xalloc.h.
60479         (xvasprintf): Use xalloc_die, not xmalloc_die.
60480
60481 2004-09-29  Bruno Haible  <bruno@clisp.org>
60482
60483         * modules/alloca-opt: New file, derived from modules/alloca.
60484         * modules/allocsa: Depend on alloca-opt instead of alloca.
60485         * modules/setenv: Likewise.
60486         * modules/vasnprintf: Likewise.
60487         * MODULES.html.sh: Add alloca-opt.
60488
60489 2004-09-28  Simon Josefsson  <jas@extundo.com>
60490
60491         * gnulib-tool: New parameter --lgpl, to asseert that modules are
60492         LGPL, and to replace license template from GPL to LGPL.
60493
60494 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
60495
60496         * modules/dummy: Change license to LGPL.
60497
60498 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
60499
60500         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
60501
60502 2004-09-24  Simon Josefsson  <jas@extundo.com>
60503
60504         * modules/minmax (License): Change from GPL to LGPL.
60505
60506 2004-09-23  Simon Josefsson  <jas@extundo.com>
60507
60508         * gnulib-tool (--import): Typo.
60509
60510 2004-09-23  Simon Josefsson  <jas@extundo.com>
60511
60512         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
60513
60514 2004-09-22  Bruno Haible  <bruno@clisp.org>
60515
60516         * modules/*: Add 'License' field.
60517         * gnulib-tool: Accept --extract-license option.
60518         (func_get_license): New function.
60519
60520 2004-09-21  Bruno Haible  <bruno@clisp.org>
60521
60522         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
60523         Reported by Simon Josefsson.
60524
60525 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60526
60527         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
60528         gl_AC_TYPE_LONG_LONG.
60529
60530 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60531
60532         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
60533
60534 2004-09-18  Simon Josefsson  <jas@extundo.com>
60535         and  Paul Eggert  <eggert@cs.ucla.edu>
60536
60537         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
60538         calls with autoreconf.  Define GL_LIB.
60539
60540 2004-09-14  Karl Berry  <karl@gnu.org>
60541
60542         * config/srclist.txt: unsync setenv.c, sigh.
60543
60544 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60545
60546         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
60547         Problem reported by Bruno Haible in:
60548         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
60549
60550 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60551
60552         * config/srclist.txt: Comment out argp-pvh.c.
60553
60554 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
60555
60556         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
60557         in case some system header has #define'd it.  Problem reported by
60558         Soeren D. Schulze in
60559         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
60560
60561 2004-09-09  Karl Berry  <karl@gnu.org>
60562
60563         * regex.[ch]: delete from the root.  These were supposed to be
60564                 synced with emacs cvs, but this has not happened for about
60565                 a year, and anyway nothing else uses emacs regex.[ch].
60566                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
60567                 lib/regex[.ch] is untouched.
60568
60569 2004-09-09  Bruno Haible  <bruno@clisp.org>
60570
60571         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
60572
60573 2004-09-09  Bruno Haible  <bruno@clisp.org>
60574
60575         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
60576         modifications.
60577         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
60578
60579 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
60580
60581         * modules/xvasprintf: New file.
60582         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
60583
60584 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
60585
60586         * lib/xvasprintf.h: New file.
60587         * lib/xvasprintf.c: New file.
60588         * lib/xasprintf.c: New file.
60589
60590 2004-09-08  Bruno Haible  <bruno@clisp.org>
60591
60592         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
60593
60594 2004-09-08  Bruno Haible  <bruno@clisp.org>
60595
60596         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
60597         length is > INT_MAX.
60598         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
60599         more.
60600
60601 2004-09-08  Bruno Haible  <bruno@clisp.org>
60602
60603         * lib/stdint_.h: New file, taken from GNU clisp.
60604
60605 2004-09-08  Bruno Haible  <bruno@clisp.org>
60606             Oskar Liljeblad  <oskar@osk.mine.nu>
60607
60608         * modules/stdint: New file.
60609         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
60610
60611 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60612
60613         Import from coreutils.
60614         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
60615         strings on unbounded length.  alloca's performance benefits aren't
60616         that important here.
60617         (V_STRDUP): Remove.
60618         (parse_with_separator): New function, with most of the internals
60619         of the old parse_user_spec.  Allow user to omit both user and group,
60620         for compatibility with FreeBSD.
60621         Clone only the user name, not the entire spec.
60622         Do not set *uid, *gid unless entirely successful.
60623         Avoid memory leak in some failing cases.
60624         Fix regression for USER.GROUP reported by Dmitry V. Levin in
60625         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
60626         (parse_user_spec): Rewrite to use parse_with_separator.
60627
60628 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60629
60630         * modules/userspec: Don't depend on alloca.
60631
60632 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60633
60634         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
60635
60636 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60637
60638         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
60639         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
60640         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
60641
60642 2004-08-16  Simon Josefsson  <jas@extundo.com>
60643
60644         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
60645         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
60646         Add --dry-run for --import.
60647         Let user provided command line parameters override configure.ac
60648         settings.
60649
60650 2004-08-12  Simon Josefsson  <jas@extundo.com>
60651
60652         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
60653         as discussed with Paul Eggert in threads rooted at
60654         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
60655         and
60656         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
60657         Before, the test was empty, and relied on ELIDE_CODE in source
60658         code.)
60659         (gl_PREREQ_GETOPT): New macro.
60660         (gl_GETOPT): Use them.
60661
60662 2004-08-12  Simon Josefsson  <jas@extundo.com>
60663
60664         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
60665         * lib/getopt_.h: Renamed from getopt.h.
60666
60667 2004-08-12  Simon Josefsson  <jas@extundo.com>
60668
60669         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
60670         Change default library name from libfoo to libgnu.
60671         Now, if you have a configure.ac that says:
60672                 gl_SOURCE_BASE(gl)
60673                 gl_M4_BASE(gl/m4)
60674                 gl_MODULES(error getopt etcetera)
60675                 gl_INIT
60676         you can import all you need by running:
60677                 ../gnulib/gnulib-tool --import
60678
60679         * modules/getopt (Files): Rename getopt.h to getopt_.h.
60680         (Makefile.am): Rewrite, use logic from argz.
60681         (Include): Use <getopt.h> instead of "getopt.h".
60682
60683 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60684
60685         * modules/argp (Files): Add m4/unlocked-io.m4.
60686         (Depends-on): Add extensions.
60687
60688 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60689
60690         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
60691         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
60692         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
60693         Check for program_invocation_name, program_invocation_short_name,
60694         flockfile, funlockfile, features.h, _getopt_long_only_r.
60695
60696 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60697
60698         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
60699         its complicated substitute.
60700         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
60701         and program_invocation_name.
60702         (__argp_basename) [!_LIBC]: Remove; the only use was
60703         replaced by its body.
60704         (__argp_short_program_name): Change condition from
60705         !defined __argp_short_program_name to
60706         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
60707         to match argp-namefrob.h.
60708         (__argp_failure): Don't assume strerror_r returns char *.
60709         * lib/argp-parse.c (N_): Define unconditionally.
60710         (argp_default_options): Fill out initializers with 0 to avoid
60711         gcc warnings.
60712
60713 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60714
60715         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
60716         getopt1.c.
60717
60718 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60719
60720         Merge from coreutils.
60721
60722         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
60723
60724         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
60725         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
60726
60727 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60728
60729         Merge from coreutils.
60730
60731         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
60732         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
60733         for Reliant Unix 5.43.
60734
60735         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
60736         (union fooround): Use uintmax_t, not long int.
60737         The rest is a merge from libc:
60738         [defined _LIBC]: Include <shlib-compat.h>.
60739         (_obstack) [defined _LIBC]: Remove after 2.3.4.
60740
60741         * lib/settime.c (settime): Recode to avoid warning with
60742         Sun Forte C 6U2.
60743
60744         * lib/strverscmp.c: Convert to UTF-8.
60745
60746 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60747
60748         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
60749         m4/uintmax_t.m4.
60750
60751 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60752
60753         * modules/xalloc-die: New file.
60754         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
60755
60756         * modules/md5 (Files): Add m4/uint32_t.m4.
60757         * modules/sha1: Renamed from modules/sha.
60758         (Files):
60759         Rename lib/sha.h to lib/sha1.h.
60760         Rename lib/sha.c to lib/sha1.c.
60761         Rename m4/sha.m4 to m4/sha1.m4.
60762         (lib_SOURCES): Likewise.
60763         (configure.ac): Rename gl_SHA to gl_SHA1.
60764         (Include): sha.h -> sha1.h.
60765
60766 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60767
60768         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
60769         * m4/sha1.m4: Renamed from sha.m4.
60770         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
60771
60772 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60773
60774         * lib/obstack.h (obstack_empty_p):
60775         Don't assume that chunk->contents is suitably aligned.
60776         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
60777         Likewise. Problem reported by Benno in
60778         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
60779
60780         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
60781         readable.  This could be improved further but it'd take some work.
60782
60783 2004-08-08  Simon Josefsson  <jas@extundo.com>
60784
60785         * modules/xgethostname (Depends-on): Remove exit and error (not
60786         used).
60787
60788         * modules/getpass-gnu: Add getpass.h.
60789         (Depends-on): Add stdbool.
60790         * modules/getpass: Add getpass.h.
60791
60792 2004-08-08  Simon Josefsson  <jas@extundo.com>
60793
60794         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
60795         Check getpass declaration.
60796
60797 2004-08-08  Simon Josefsson  <jas@extundo.com>
60798
60799         * lib/xgethostname.c: Don't include error.h (not used).
60800
60801         * lib/getpass.h: Add.
60802         * lib/getpass.c: Include getpass.h first.
60803
60804 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
60805
60806         * lib/xalloc-die.c: New file.
60807         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
60808         All uses removed.
60809         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
60810         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
60811         xalloc-die.c.
60812         (_, N_, xalloc_die): Move to xalloc-die.c.
60813         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
60814         so that we needn't mess with xalloc_msg_memory_exhausted.
60815
60816         * lib/sha1.h: Renamed from sha.h.
60817         (SHA1_H): Renamed from _SHA_H.
60818         (sha1_ctx): Renamed from sha_ctx.
60819         (sha1_init_ctx): Renamed from sha_init_ctx.
60820         (sha1_process_block): Renamed from sha_process_block.
60821         (sha1_process_bytes): Renamed from sha_process_bytes.
60822         (sha1_finish_ctx): Renamed from sha_finish_ctx.
60823         (sha1_read_ctx): Renamed from sha_read_ctx.
60824         (sha1_stream): Renamed from sha_stream.
60825         (sha1_buffer): Renamed from sha_buffer.
60826         * lib/sha1.c: Likewise; renamed from sha.c.
60827         Do not include <sys/types.h>.
60828         Include <stddef.h> rather than <stdlib.h>.
60829
60830 2004-08-08  Bruno Haible  <bruno@clisp.org>
60831
60832         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
60833         FILESYSTEM_PREFIX_LEN.
60834         * lib/progreloc.c: Likewise.
60835         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
60836
60837 2004-08-06  Simon Josefsson  <jas@extundo.com>
60838
60839         * modules/progname (Depends-on): Don't depend on stdbool.
60840
60841 2004-08-06  Simon Josefsson  <jas@extundo.com>
60842
60843         * modules/getsubopt: New file.
60844         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60845         getsubopt.
60846
60847 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60848
60849         More merge from coreutils.
60850
60851         * m4/utimens.m4, m4/utimecmp.m4: New files.
60852         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
60853         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
60854         prereq.m4, sha.m4: Import changes from coreutils.
60855
60856 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60857
60858         More merge from coreutils.
60859         * modules/raise, modules/readtokens0, modules/utimens:
60860         * modules/utimecmp, module/xnanosleep: New files.
60861         * modules/strftime: Add lib/strftime.h.
60862         Change include from <time.h> to "strftime.h".
60863         * modules/yesno: Add lib/yesno.h.
60864         * modules/backupfile: Remove lib/addext.c.
60865         * modules/euidaccess: Add stat-macros.h.
60866         * modules/canonicalize, modules/euidaccess,
60867         modules/filemode, modules/lchown, modules/makepath,
60868         modules/rmdir, modules/stat: Likewise.
60869
60870 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60871
60872         Merge from tar.
60873         * lib/argp-help.c (make_hol, hol_append): Don't assume that
60874         SIZE_MAX is a valid preprocessor constant.
60875         (__argp_basename): Change from "#ifndef _LIBC"
60876         to "#ifndef __argp_short_program_name", so that
60877         we don't compile these functions for tar.
60878
60879         More merges from coreutils.
60880         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
60881         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
60882         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
60883         * lib/addext.c: Remove; no longer needed.
60884         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
60885         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
60886         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
60887         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
60888         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
60889         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
60890         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
60891         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
60892         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
60893         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
60894         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
60895         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
60896         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
60897         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
60898         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
60899         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
60900         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
60901         Import changes from coreutils.
60902
60903 2004-08-05  Simon Josefsson  <jas@extundo.com>
60904
60905         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
60906
60907 2004-08-05  Simon Josefsson  <jas@extundo.com>
60908
60909         * m4/getsubopt.m4: New file.
60910
60911 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
60912
60913         Merge from coreutils.
60914
60915         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
60916         * m4/getcwd-path-max.m4: New files.
60917
60918         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
60919         FILESYSTEM_PREFIX_LEN ->
60920         FILE_SYSTEM_PREFIX_LEN.
60921         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
60922         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
60923         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
60924         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
60925
60926         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
60927         prerequisite modules now handle the DOS stuff.
60928         Don't check for unistd.h.
60929
60930 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
60931
60932         Merge from coreutils.
60933
60934         * lib/.gdb-history: Remove; this doesn't belong here.
60935
60936         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
60937         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
60938         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
60939         * lib/getcwd.c: New files.
60940
60941         * lib/dirname.h: Include <stdbool.h>.
60942         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
60943         for consistency with POSIX terminology.  All uses changed.
60944         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
60945         (strip_trailing_slashes): Use bool for booleans.
60946         * lib/stripslash.c (strip_trailing_slashes): Likewise.
60947
60948         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
60949         sometimes returns a positive errno value even when it succeeds.
60950         (print_errno_message) [!LIBC]: Fall back on strerror if
60951         __strerror_r fails.
60952
60953         * lib/path-concat.c (mempcpy): Don't define if a system header defines
60954         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
60955         (longest_relative_suffix): New function.
60956         (path_concat): Use it.  Assume first argument is not NULL.
60957         Port to DOS.  Omit redundant separators.
60958         Report an error instead of returning NULL.
60959         Use mempcpy instead of memcpy.
60960         (xpath_concat): Remove: not declared or used.
60961
60962         * lib/same.h: Include <stdbool.h>
60963         (same_name): Return bool, not int.
60964         * lib/same.c (same_name): Likewise.
60965         (errno): Don't declare; we assume C89 or better now.
60966
60967         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
60968         if not already defined.
60969
60970         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
60971         * lib/dup-safer.c (errno): Likewise.
60972
60973 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
60974
60975         Merge from coreutils.
60976         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
60977         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
60978         * modules/path-concat: Don't depend on strdup.
60979
60980 2004-08-03  Simon Josefsson  <jas@extundo.com>
60981
60982         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
60983         * lib/progname.h: Don't include stdbool.h.
60984
60985 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
60986
60987         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
60988         * MODULES.html.sh (func_all_modules): Remove fatal.
60989
60990 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
60991
60992         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
60993
60994 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
60995
60996         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
60997         working.
60998
60999 2004-08-02  Simon Josefsson  <jas@extundo.com>
61000
61001         * lib/getsubopt.h: New file, with comments from Bruno Haible.
61002         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
61003         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
61004
61005 2004-08-01  Simon Josefsson  <jas@extundo.com>
61006
61007         * lib/xgetdomainname.c: Include stdlib.h, for free().
61008
61009 2004-07-19  Bruno Haible  <bruno@clisp.org>
61010
61011         * MODULES.html.sh (func_all_modules): Add dummy.
61012
61013 2004-07-16  Simon Josefsson  <jas@extundo.com>
61014
61015         * modules/dummy: New file.
61016
61017 2004-07-16  Simon Josefsson  <jas@extundo.com>
61018
61019         * lib/dummy.c: New file.
61020
61021 2004-07-16  Bruno Haible  <bruno@clisp.org>
61022
61023         * lib/backupfile.h: Add extern "C" for C++.
61024         * lib/closeout.h: Likewise.
61025         * lib/copy-file.h: Likewise.
61026         * lib/findprog.h: Likewise.
61027         * lib/full-write.h: Likewise.
61028         * lib/pathname.h: Likewise.
61029         * lib/progname.h: Likewise.
61030         * lib/stpcpy.h: Likewise.
61031         * lib/stpncpy.h: Likewise.
61032         * lib/strcase.h: Likewise.
61033         * lib/strstr.h: Likewise.
61034         * lib/xalloc.h: Likewise.
61035
61036         * lib/mbswidth.h: Add extern "C" for C++.
61037         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
61038
61039 2004-07-13  Robert Millan  <robertmh@gnu.org>
61040
61041         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
61042
61043 2004-07-09  Simon Josefsson  <jas@extundo.com>
61044
61045         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
61046         failed without this.)
61047
61048 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61049
61050         * modules/chown (Files): Add lib/fchown-stub.c, since
61051         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
61052
61053 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61054
61055         * lib/fchown-stub.c: New file.
61056
61057 2004-06-24  Jim Meyering  <jim@meyering.net>
61058
61059         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
61060
61061 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61062
61063         * modules/argz: Omit "#include".
61064
61065         * MODULES.html.sh (func_all_modules): Add calloc, to match
61066         2004-06-01 addition of calloc module.
61067
61068 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61069
61070         * m4/argz.m4: New file, which is autoupdated from libtool.
61071
61072 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61073
61074         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
61075         libtool.
61076
61077 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61078
61079         * config/srclist-update: Don't insist on "USA." before the
61080         close-comment, as libtool omits the period and puts the */ on a
61081         separate line.
61082         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
61083         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
61084
61085 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
61086
61087         * modules/argz: New file.
61088         * MODULES.html.sh (func_all_modules): Add argz.
61089
61090 2004-06-12  Jim Meyering  <jim@meyering.net>
61091         and  Paul Eggert  <eggert@cs.ucla.edu>
61092
61093         * modules/hash (Files): Add lib/xalloc.h.
61094         * modules/pipe (Depends-on): Add wait-process.
61095         * modules/stat (Depends-on): Add xalloc.
61096         * modules/userspec (Files): Add lib/userspec.h.
61097         * modules/xstrto
61098
61099         Upgrade from gettext-0.13.
61100         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
61101         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
61102         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
61103
61104 2004-06-10  Jim Meyering  <jim@meyering.net>
61105
61106         * lib/calloc.c: New file.
61107
61108 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61109
61110         * lib/getdate.y (yylex): Allow space between sign and number.
61111         Problem reported by Dan Jacobson.
61112
61113 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
61114
61115         Merge from coreutils CVS.
61116
61117         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
61118         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
61119         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
61120         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
61121         xstrtol.m4: Fix copyright date and/or serial number.
61122
61123         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
61124         See if we need an fchown replacement.
61125         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
61126         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
61127         and use the replacement function if we detect either defect.
61128
61129         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
61130         gl_UTIMECMP.
61131
61132 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
61133         and  Jim Meyering  <jim@meyering.net>
61134
61135         Merge from coreutils CVS.
61136
61137         * lib/stat-macros.h: New file, with contents from file-type.h
61138         and coreutils' system.h.
61139         * lib/file-type.c: Include "stat-macros.h".
61140         * lib/file-type.h (file_type): Move all macro definitions to new file,
61141         stat-macros.h.
61142
61143         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
61144         Wrap old code with this conditional.
61145         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
61146         function that does not dereference symlinks.
61147         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
61148
61149         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
61150         dependency problems.
61151         (xreadlink): Accept new arg SIZE, for efficiency.
61152         All decls and uses changed.
61153         * lib/xreadlink.h: Include <stddef.h>, for size_t.
61154
61155         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
61156         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
61157
61158         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
61159         sysexits.h.
61160
61161 2004-06-01  Jim Meyering  <jim@meyering.net>
61162
61163         * m4/calloc.m4: New file.
61164
61165 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
61166
61167         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
61168         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
61169         Also, fix a typo in a diagnostic.
61170
61171 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
61172
61173         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
61174         or AC_FUNC_REALLOC.
61175
61176 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
61177
61178         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
61179         macros to be defined.
61180         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
61181         the allocator returns NULL because the requested size is zero.
61182
61183 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
61184
61185         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
61186         var.  Add comment explaining why libc still defines it.  This
61187         merges the following patch from glibc:
61188         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
61189
61190 2004-05-20  Andreas Schwab  <schwab@suse.de>
61191
61192         * m4/free.m4: Replace free if it not known to work, not the other
61193         way round.
61194
61195 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61196
61197         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
61198         present in glibc since revision 1.1 of this file.
61199         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
61200         obstack_alignment_mask, obstack_alloc, obstack_base,
61201         obstack_blank, obstack_blank_fast, obstack_chunk_size,
61202         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
61203         obstack_grow0, obstack_init, obstack_int_grow,
61204         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
61205         obstack_next_free, obstack_object_size, obstack_ptr_grow,
61206         obstack_ptr_grow_fast, obstack_room): Remove declarations of
61207         nonexistent functions.
61208
61209 2004-05-18  Karl Berry  <karl@gnu.org>
61210
61211         * config/srclist.txt: break link for vasnprintf.c.
61212
61213 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61214
61215         Port obstack to the AS/400, where pointers are 16 bytes wide and
61216         you cannot cast an integer to a valid pointer.  This patch is
61217         currently waiting to be integrated into glibc; see
61218         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
61219
61220         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
61221         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
61222         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
61223         (struct obstack): temp member is now a union of a pointer and
61224         an integer, instead of an integer.  All integer uses changed.
61225         This does not affect the physical layout of struct obstack,
61226         except on hosts (like the AS/400) where the size or alignment of
61227         void * is greater than that of ptrdiff_t.
61228         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
61229         __STDC__)]: Store temporary in pointer member of union, not
61230         integer member.
61231         * lib/obstack.c: Include <stddef.h>, for offsetof.
61232         (struct fooalign): Remove; it doesn't need a name.
61233         (union fooround): Change double to long double, and add void *.
61234         (DEFAULT_ALIGNMENT): Use offsetof to compute.
61235         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
61236         not a macro.  Hence the values are always int; so remove all
61237         casts-to-int in uses.
61238
61239 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61240
61241         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
61242         we can get this patch merged into glibc.
61243
61244 2004-05-17  Derek R. Price  <derek@ximbiot.com>
61245             Paul Eggert  <eggert@cs.ucla.edu>
61246
61247         * m4/argp: Depend on alloca.
61248
61249 2004-05-17  Derek R. Price  <derek@ximbiot.com>
61250             Paul Eggert  <eggert@cs.ucla.edu>
61251
61252         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
61253         freecoding.
61254
61255 2004-05-17  Bruno Haible  <bruno@clisp.org>
61256
61257         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
61258         precision that consists of a '.' followed by an empty digit string.
61259         Patch by Tor Lillqvist <tml@iki.fi>.
61260
61261 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61262
61263         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
61264         for backward compatibility with older code.  We need our own
61265         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
61266         it under some other name, and our alloca.h will define it.
61267
61268 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61269             Derek Price  <derek@ximbiot.com>
61270
61271         * lib/alloca.c: Include <alloca.h>, to get our interface.
61272         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
61273         include <alloca.h> first.  Use C89 prototype for alloca; this
61274         requires including <stddef.h> for size_t.  Use extern "C" if C++.
61275         Use #elif for simplicity, since we can assume C89 now.
61276         Don't try to source the system alloca.h since it will not be found
61277         and to prevent recursively including its replacement.
61278         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
61279         * lib/regex.c: Likewise.
61280
61281 2004-05-16  Derek Price  <derek@ximbiot.com>
61282             Paul Eggert  <eggert@cs.ucla.edu>
61283
61284         getline cleanup.  This changes the getndelim2 API: both order of
61285         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
61286         no delimiter).
61287
61288         * lib/getline.c: Don't include stddef.h or stdio.h, since our
61289         interface does that.
61290         (getline): Always use getdelim, so that we don't have two
61291         copies of this code.
61292         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
61293         if available.
61294         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
61295         (GETNDELIM2_MAXIMUM): New macro.
61296         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
61297         instead of the old practice of delim2==0.  All callers changed.
61298         Return -1 on overflow, instead of returning junk.
61299         Do not set *linesize unless allocation succeeds.
61300         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
61301         that we include sys/types.h.
61302         * lib/getnline.h: Likewise.
61303         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
61304         (getndelim2): Reorder arguments.
61305         * lib/getnline.c (getnline, getndelim):
61306         Don't discard the NMAX argument.
61307         (getnline): Invoke getndelim, to avoid code duplication.
61308         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
61309         of (size_t) -1 by callers of the getnline family.
61310
61311 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61312
61313         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
61314         Check for gettimeofday.
61315         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
61316         Check for settimeofday, stime.
61317
61318 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61319
61320         * lib/nanosleep.c (suspended): Change its type from int to
61321         sig_atomic_t volatile.
61322         (first_call): Make it private to rpl_nanosleep, and have it
61323         be zero initially as that's a bit faster.
61324         (my_usleep): Round up fractional times instead of truncating them,
61325         as this is the usual meaning for 'sleep'.
61326
61327         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
61328         doesn't work.
61329         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
61330         (ENOSYS): Define if not defined.
61331         (settime): Fall back on stime if it exists and settimeofday fails.
61332         But don't bother with fallbacks if a method fails with errno == EPERM.
61333
61334 2004-05-11  Jim Meyering  <jim@meyering.net>
61335
61336         Prior to this change, the save_cwd caller required read access to the
61337         current directory on most systems (ones with the fchdir function).
61338
61339         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
61340         fails, try write-only, and finally, resort to using xgetcwd.
61341
61342 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
61343
61344         * lib/obstack.c, obstack.h: Import changes from libc.
61345
61346 2004-04-28  Bruno Haible  <bruno@clisp.org>
61347
61348         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
61349         also implicitly appends .exe to executables.
61350         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
61351         accepts Windows pathnames.
61352         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
61353         Treat Cygwin like Windows, since it now accepts Windows pathnames.
61354         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
61355         Treat Cygwin like Windows, since it now accepts Windows pathnames.
61356         Reported by Derek Robert Price <derek@ximbiot.com>.
61357
61358 2004-04-21  Karl Berry  <karl@gnu.org>
61359
61360         * config/srclist.txt (localcharset.c): break sync.
61361
61362 2004-04-20  Paul Eggert  <eggert@twinsun.com>
61363
61364         * m4/host-os.m4: Add a copyright notice.
61365
61366 2004-04-20  Jim Meyering  <jim@meyering.net>
61367
61368         Change UTILS_ to gl_ in AC_DEFINE'd names.
61369         Change utils_- and jm_-prefixed variables, too.
61370         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
61371         UTILS_FUNC_MKDIR_TRAILING_SLASH.
61372         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
61373
61374         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
61375         Don't emit trailing blanks.
61376         Also rename jm_-prefixed variables to have gl_ prefix.
61377
61378         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
61379         Also rename jm_-prefixed variables to have gl_ prefix.
61380
61381         * m4/jm-macros.m4: Reflect the renamings.
61382         * m4/prereq.m4: Likewise.
61383
61384 2004-04-20  Jim Meyering  <jim@meyering.net>
61385
61386         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
61387         memory.
61388
61389 2004-04-20  Jim Meyering  <jim@meyering.net>
61390             Bruno Haible  <bruno@clisp.org>
61391
61392         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
61393         memory when realloc fails.
61394
61395 2004-04-19  Jim Meyering  <jim@meyering.net>
61396
61397         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
61398         now that readutmp.c may call `free (0)'.
61399
61400 2004-04-19  Bruno Haible  <bruno@clisp.org>
61401
61402         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
61403         * m4/inttypes_h.m4: Likewise.
61404         * m4/stdint_h.m4: Likewise.
61405         * m4/intmax_t.m4: Likewise.
61406         * m4/uintmax_t.m4: Likewise.
61407
61408 2004-04-18  Jim Meyering  <jim@meyering.net>
61409
61410         * m4/prereq.m4: Don't forbid jm_ prefix.
61411
61412         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
61413         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
61414         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
61415         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
61416         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
61417         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
61418         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
61419         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
61420         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
61421         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
61422         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
61423         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
61424         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
61425         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
61426         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
61427         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
61428         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
61429         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
61430         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
61431
61432 2004-04-18  Jim Meyering  <jim@meyering.net>
61433
61434         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
61435         failure, don't leak memory and do call END_UTMP_ENT.
61436
61437 2004-04-16  Jim Meyering  <jim@meyering.net>
61438
61439         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
61440         coreutils' stat program.
61441         (gl_PREREQ): Don't require jm_PREREQ_STAT.
61442
61443 2004-04-11  Paul Eggert  <eggert@twinsun.com>
61444
61445         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
61446         C89.
61447         (CHAR_BIT): Remove, since we assume C89.
61448         Include <stdint.h> if available, as per current Autoconf CVS advice.
61449
61450 2004-03-31  Jim Meyering  <jim@meyering.net>
61451
61452         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
61453         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
61454         * m4/xalloc.m4: Likewise.
61455
61456 2004-03-30  Paul Eggert  <eggert@twinsun.com>
61457
61458         Merge from coreutils.
61459
61460         * m4/inttostr.m4: New file.
61461         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
61462         Require AM_STDBOOL_H and gl_TIMESPEC instead.
61463         Require gl_CLOCK_TIME.
61464         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
61465
61466 2004-03-30  Paul Eggert  <eggert@twinsun.com>
61467
61468         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
61469         not bool, to be more consistent with Unix conventions.
61470         Suggested by Bruno Haible.
61471
61472         Merge from coreutils.
61473
61474         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
61475         * lib/umaxtostr.c: New files.
61476
61477         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
61478         the usual <time.h> dance.
61479         (get_date): Change signature to support fractional time stamps.
61480         All callers changed.
61481         * lib/getdate.y: Include "getdate.h" first, as we can now
61482         assume C89 and don't need to worry about 'const'.
61483         Similarly, include "unlocked-io.h" near start, not in middle.
61484         Include <limits.h>.
61485         (textint.value): Use long int rather than int.
61486         (textint.digits): Use size_t rather than int.
61487         (BILLION, LOG10_BILLION): New constants.
61488         (parser_control): New member rel_ns.  Members day_ordinal,
61489         time_zone, month, day, hour, minutes, rel_year, rel_month,
61490         rel_day, rel_hour, rel_minutes, rel_seconds
61491         are now long int, not int.  Member seconds is now struct timespec,
61492         not int.  New member timespec_seen.  Members dates_seen, days_seen,
61493         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
61494         not int.
61495         (%union.intval): Now long int, not int.
61496         New member timespec.
61497         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
61498         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
61499         (spec): Now is a timespec or an item list.
61500         (timespec, items): New nonterminals.
61501         (time, rel, relunit, number, get_date):
61502         Add support for fractional seconds.
61503         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
61504         (gmtime, localtime, mktime): Remove decls; not needed with C89.
61505         (to_hour): First arg is now long int, not int.
61506         (to_year): Returns long int, not int.
61507         Don't treat year -70 like 70.
61508         (tm_diff): Returns long int, not int.
61509         (lookup_word): Use bool instead of int when appropriate.
61510         (yylex): Use size_t for count, not int.
61511         Detect overflow when parsing large integer constants.
61512         Add support for fractions.
61513         (get_date): Make pointers 'const' if possible.
61514         Use more-portable code to detect integer overflow.
61515         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
61516         Don't use ctime; it's not reliable if the year has >4 digits.
61517
61518         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
61519         This is for compatibility with BSD.
61520
61521         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
61522         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
61523         From coreutils' system.h.
61524
61525         * lib/userspec.c: Don't include "posixver.h".
61526         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
61527         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
61528         compatible extension.  Simplify code by removing a boolean int
61529         that was always nonzero if a string was nonnull.
61530
61531 2004-03-30  Jim Meyering  <jim@meyering.net>
61532
61533         Merge from coreutils.
61534
61535         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
61536         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
61537         on some systems one must include <grp.h> before it.
61538         Reported by Christian Krackowizer.
61539
61540 2004-03-30  Jim Meyering  <jim@meyering.net>
61541
61542         Merge from coreutils.
61543
61544         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
61545
61546         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
61547         an empty input stream.
61548
61549         * lib/readtokens.c: Include <stdbool.h>.
61550         (readtoken): Use `size_t' rather than int/long.
61551         All callers adjusted.
61552         Use `bool' rather than `int' where appropriate.
61553         Use memset rather than an explicit loop.
61554         Use x2nrealloc rather than xrealloc.
61555         Allow the use of `\0' as a delimiter.
61556         (readtokens): Likewise.
61557         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
61558
61559 2004-03-30  Jim Meyering  <jim@meyering.net>
61560
61561         * m4/realloc.m4: Remove file, since now it does no more than
61562         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
61563         the `configure.ac' section of module/realloc.
61564         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
61565
61566 2004-03-30  Bruno Haible  <bruno@clisp.org>
61567
61568         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
61569         nonnull.
61570
61571 2004-03-29  Paul Eggert  <eggert@twinsun.com>
61572
61573         Merge changes to getloadavg.c from coreutils and Emacs.
61574
61575         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
61576         Define to an expression, not to the empty string.
61577         Include cloexec.h and xalloc.h.
61578         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
61579         Use set_cloexec_flag rather than rolling our own.
61580         * lib/cloexec.c, lib/cloexec.h: New files.
61581
61582 2004-03-29  Paul Eggert  <eggert@twinsun.com>
61583
61584         * m4/cloexec.m4: New file.
61585
61586 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61587
61588         * lib/getopt.h: Sync with libc CVS.
61589
61590 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61591             Bruno Haible  <bruno@clisp.org>
61592
61593         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
61594         mbswidth.
61595
61596 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61597             Bruno Haible  <bruno@clisp.org>
61598
61599         * lib/mbswidth.h: Include <wchar.h> only if
61600         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
61601         <wchar.h>.
61602         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
61603
61604 2004-03-09  Paul Eggert  <eggert@twinsun.com>
61605
61606         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
61607         Sync with libc CVS.
61608         * lib/getopt_int.h: New file, also synced from libc.
61609
61610 2004-03-09  Paul Eggert  <eggert@twinsun.com>
61611
61612         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
61613         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
61614         Bring back getopt.c, getopt.h, getopt1.c.
61615
61616 2004-03-07  Paul Eggert  <eggert@twinsun.com>
61617
61618         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
61619         All uses changed.  Check for sa_sigaction member; this fixes
61620         a bug first reported by Jason Andrade in
61621         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
61622
61623 2004-03-07  Paul Eggert  <eggert@twinsun.com>
61624
61625         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
61626         '#if' expressions.  Unlike the code it replaces, it does not
61627         depend on (defined _SC_PAGESIZE).  However, it does depend on
61628         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
61629         first reported by Jason Andrade in
61630         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
61631
61632 2004-02-25  Simon Josefsson  <jas@extundo.com>
61633
61634         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
61635
61636 2004-02-25  Simon Josefsson  <jas@extundo.com>
61637
61638         * lib/strdup.h: New file.
61639         * lib/strdup.c: Include it.
61640         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
61641         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
61642
61643 2004-02-23  Karl Berry  <karl@gnu.org>
61644
61645         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
61646         (from fencepost.gnu.org:/gd/gnuorg).
61647
61648 2004-02-23  Karl Berry  <karl@gnu.org>
61649
61650         * config/srclistvars.sh (GNUORG) [karl]: redefine.
61651         * config/srclist.txt: add maintain/standards documents.
61652
61653 2004-02-18  Bruno Haible  <bruno@clisp.org>
61654
61655         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
61656         Reported by Derek Robert Price <derek@ximbiot.com>.
61657
61658 2004-02-16  Karl Berry  <karl@gnu.org>
61659
61660         * config/mkinstalldirs, install-sh: update from automake.
61661
61662 2004-02-06  Karl Berry  <karl@gnu.org>
61663
61664         * m4/po.m4: update from gettext 0.14.1.
61665
61666 2004-02-06  Karl Berry  <karl@gnu.org>
61667
61668         * lib/config.charset: update from gettext 0.14.1.
61669
61670 2004-02-05  Paul Eggert  <eggert@twinsun.com>
61671
61672         Add comments and code, prompted by suggestions from Bruno Haible
61673         for sh-quote.
61674         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
61675         describing the enum quoting_style values.
61676         * lib/quotearg.c (quotearg_alloc): New function.
61677         (quotearg_buffer_restyled): Treat lone { and } as special.
61678         Treat = as special.  Work around bug with older shells
61679         that "see" a '\' that is really the 2nd byte of a multibyte char.
61680         Quote empty string with shell_quoting_style.
61681
61682 2004-02-03  Bruno Haible  <bruno@clisp.org>
61683
61684         * m4/pipe.m4: New file, from GNU gettext.
61685
61686 2004-02-03  Bruno Haible  <bruno@clisp.org>
61687
61688         * lib/pipe.h: New file, from GNU gettext.
61689         * lib/pipe.c: New file, from GNU gettext.
61690
61691 2004-01-27  Bruno Haible  <bruno@clisp.org>
61692
61693         * m4/execute.m4: New file, from GNU gettext.
61694
61695 2004-01-27  Bruno Haible  <bruno@clisp.org>
61696
61697         * lib/execute.h: New file, from GNU gettext.
61698         * lib/execute.c: New file, from GNU gettext.
61699         * lib/w32spawn.h: New file, from GNU gettext.
61700
61701 2004-01-24  Paul Eggert  <eggert@twinsun.com>
61702
61703         Merge from diffutils.
61704
61705         * lib/file-type.c (file_type): Add typed memory objects.
61706         * lib/file-type.h (S_TYPEISTMO): New macro.
61707
61708         * lib/c-stack.h (c_stack_action): Remove argv argument.
61709         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
61710         (die): Don't calculate message unless segv_action returns.
61711         (get_stack_location, min_address_from_argv, max_address_from_argv,
61712         volatile stack_base, volatile_stack_size): Remove.
61713         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
61714         that every segmentation violation is a stack overflow.  (Ouch!)
61715         See Debian bug 136249 (still outstanding) for more info about why
61716         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
61717
61718 2004-01-24  Paul Eggert  <eggert@twinsun.com>
61719
61720         Exit-status fix from coreutils.
61721
61722         Use exit_failure consistently in place of EXIT_FAILURE,
61723         so that program exit statuses are consistent on failure.
61724
61725         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
61726         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
61727         * lib/argmatch.h: Comment fix to match the above.
61728         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
61729         Now a macro referring to exit_failure, instead of a separate
61730         variable.  Include "exitfail.h" to get it.
61731         * lib/xstrtol.h: Include "exitfail.h".
61732         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
61733
61734         * lib/long-options.c (parse_long_options): Use prototype
61735         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
61736         for clarity.
61737
61738 2004-01-21  Jim Meyering  <jim@meyering.net>
61739
61740         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
61741         so as not to conflict with a different-sized __mktime_internal
61742         function in GNU libc.
61743         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
61744         Problem building statically-linked `ls' reported by Michael Brunnbauer.
61745
61746 2004-01-20  Karl Berry  <karl@gnu.org>
61747
61748         * config/config.guess: update from config.
61749
61750         * config/srclistvars.sh: GNUWWWLICENSES for karl.
61751
61752 2004-01-20  Bruno Haible  <bruno@clisp.org>
61753
61754         Safer stack allocation.
61755         * lib/setenv.c: Include allocsa.h.
61756         (alloca): Remove fallback definition.
61757         (freea): Remove macro.
61758         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
61759         instead of freea.
61760
61761 2004-01-20  Bruno Haible  <bruno@clisp.org>
61762
61763         * m4/eealloc.m4: New file, from GNU gettext.
61764
61765 2004-01-20  Bruno Haible  <bruno@clisp.org>
61766
61767         * m4/allocsa.m4: New file, from GNU gettext.
61768
61769 2004-01-20  Bruno Haible  <bruno@clisp.org>
61770
61771         * lib/xallocsa.h: New file, from GNU gettext.
61772         * lib/xallocsa.c: New file, from GNU gettext.
61773
61774 2004-01-20  Bruno Haible  <bruno@clisp.org>
61775
61776         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
61777
61778 2004-01-20  Bruno Haible  <bruno@clisp.org>
61779
61780         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
61781         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
61782         specially.
61783
61784 2004-01-20  Bruno Haible  <bruno@clisp.org>
61785
61786         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
61787         patch.
61788
61789 2004-01-20  Bruno Haible  <bruno@clisp.org>
61790
61791         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
61792
61793 2004-01-20  Bruno Haible  <bruno@clisp.org>
61794
61795         * lib/eealloc.h: New file.
61796
61797 2004-01-20  Bruno Haible  <bruno@clisp.org>
61798
61799         * lib/binary-io.h: Avoid warnings on Cygwin.
61800
61801 2004-01-20  Bruno Haible  <bruno@clisp.org>
61802
61803         * lib/allocsa.h: New file, from GNU gettext.
61804         * lib/allocsa.c: New file, from GNU gettext.
61805
61806 2004-01-18  Karl Berry  <karl@gnu.org>
61807
61808         * doc/gpl.texi, doc/lgpl.texi: new files.
61809
61810 2004-01-18  Karl Berry  <karl@gnu.org>
61811
61812         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
61813         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
61814
61815 2004-01-15  Paul Eggert  <eggert@twinsun.com>
61816
61817         Merge from coreutils.
61818
61819         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
61820         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
61821         (gl_DEFAULT_POSIX2_VERSION): Move
61822         the documentation from 'configure' into 'config.hin',
61823         so that 'configure --help' isn't burdened by it and
61824         we don't have to worry about its formatting there.
61825         Reword the documentation so that it's more succinct
61826         and can be run together into a single paragraph.
61827         * m4/same.m4 (gl_SAME): Check for pathconf.
61828
61829 2004-01-15  Paul Eggert  <eggert@twinsun.com>
61830
61831         Merge from coreutils.
61832
61833         * lib/posixver.c: Include posixver.h.
61834
61835         * lib/same.c: Include <stdbool.h>, <limits.h>.
61836         (_POSIX_NAME_MAX): Define if not defined.
61837         (MIN): New macro.
61838         (same_name): If file names are silently truncated, report
61839         that the file names are the same if they are the same after
61840         the silent truncation.
61841
61842         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
61843         conversion function.
61844         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
61845         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
61846         longer needed.
61847
61848 2004-01-15  Jim Meyering  <jim@meyering.net>
61849
61850         Merge from coreutils.
61851
61852         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
61853         if no library is required.
61854         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
61855         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
61856         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
61857         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
61858         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
61859         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
61860         value, $ac_cv_search_crypt, if it's "none required".
61861         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
61862         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
61863         not gl_FUNC_GETLOADAVG.
61864         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
61865         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
61866
61867 2004-01-15  Jim Meyering  <jim@meyering.net>
61868
61869         Merge from coreutils.
61870
61871         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
61872         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
61873         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
61874
61875         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
61876         optional configure-time default.
61877
61878         * lib/version-etc.c (version_etc_copyright): Update copyright date.
61879
61880         * lib/xreadlink.c (xreadlink): Correct outdated comment.
61881
61882 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
61883
61884         Merge from coreutils.
61885
61886         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
61887         value, $ac_cv_search_nanosleep, if it's "none required".
61888
61889 2004-01-14  Paul Eggert  <eggert@twinsun.com>
61890
61891         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
61892         with like-named macro in fnmatch.c.
61893         (EXT): Use an internal constant instead.
61894
61895         Merge fnmatch patches from glibc.
61896         * lib/fnmatch.c (mbsinit): Remove define.
61897         Add libc_hidden_ver (__fnmatch, fnmatch).
61898         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
61899         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
61900
61901 2004-01-14  Karl Berry  <karl@gnu.org>
61902
61903         * config/install-sh: update from automake.
61904
61905 2004-01-13  Karl Berry  <karl@gnu.org>
61906
61907         * config/install-sh: update from automake.
61908
61909 2004-01-09  Karl Berry  <karl@gnu.org>
61910
61911         * config/install-sh: update from automake.
61912
61913 2004-01-05  Karl Berry  <karl@gnu.org>
61914
61915         * config/config.{sub,guess}: update from config.
61916
61917 2003-12-31  Karl Berry  <karl@gnu.org>
61918
61919         * config/depcomp: update from automake.
61920
61921 2003-12-14  Karl Berry  <karl@gnu.org>
61922
61923         * lib/config.charset: update from gettext-runtime.
61924
61925 2003-12-03  Paul Eggert  <eggert@twinsun.com>
61926
61927         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
61928         Bug reported by Alfred M. Szmidt.
61929
61930 2003-12-03  Bruno Haible  <bruno@clisp.org>
61931
61932         * m4/gettext.m4: Upgrade from gettext-0.13.
61933         * m4/po.m4: Upgrade from gettext-0.13.
61934         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
61935         * m4/intmax.m4: New file, from gettext-0.13.
61936         * m4/printf-posix.m4: New file, from gettext-0.13.
61937
61938 2003-11-29  Karl Berry  <karl@gnu.org>
61939
61940         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
61941
61942 2003-11-25  Paul Eggert  <eggert@twinsun.com>
61943             Bruno Haible  <bruno@clisp.org>
61944
61945         * lib/printf-parse.h: Don't include sys/types.h.
61946         (ARG_NONE): New macro.
61947         (char_directive): Change type of *arg_index fields to size_t.
61948         * lib/printf-parse.c: Don't include sys/types.h.
61949         (SSIZE_MAX): Remove macro.
61950         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
61951         Remove unnecessary overflow check.
61952         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
61953         fields.
61954
61955 2003-11-25  Bruno Haible  <bruno@clisp.org>
61956
61957         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
61958
61959 2003-11-25  Bruno Haible  <bruno@clisp.org>
61960
61961         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
61962         gt_TYPE_SSIZE_T.
61963
61964 2003-11-24  Paul Eggert  <eggert@twinsun.com>
61965
61966         * modules/alloca: Remove dependency on xalloc.
61967
61968 2003-11-24  Paul Eggert  <eggert@twinsun.com>
61969
61970         * lib/alloca.c: Remove dependency on xalloc module.
61971         (xalloc_die): Remove.
61972         (memory_full) [!defined emacs]: New macro.
61973         [!defined emacs]: Don't include xalloc.h.
61974         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
61975         address arithmetic overflows.  Change datatypes a bit to avoid
61976         unnecessary casts.
61977
61978 2003-11-22  Jim Meyering  <jim@meyering.net>
61979
61980         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
61981         s/size/size_t/.
61982
61983 2003-11-21  Karl Berry  <karl@gnu.org>
61984
61985         * config/config.{sub,guess}: update from config.
61986
61987 2003-11-18  Karl Berry  <karl@gnu.org>
61988
61989         * config/config.{sub,guess}: update from config.
61990
61991         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
61992
61993 2003-11-17  Paul Eggert  <eggert@twinsun.com>
61994
61995         * README: Mention that S+T cannot overflow if S is the size of
61996         an existing object and T is sufficiently small.
61997
61998 2003-11-17  Jim Meyering  <jim@meyering.net>
61999
62000         On systems without utime and without a utimes function capable of
62001         dealing with a NULL struct utimbuf* argument, this utime replacement
62002         could -- in unusual circumstances -- leak a file descriptor.
62003         * lib/utime.c: Include <unistd.h> and <errno.h>.
62004         (utime_null): Be sure to close `fd' and to preserve errno.
62005         Reported by Geoff Collyer via Arnold Robbins.
62006
62007 2003-11-17  Bruno Haible  <bruno@clisp.org>
62008
62009         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
62010         (Depends-on): Add xsize.
62011
62012 2003-11-17  Bruno Haible  <bruno@clisp.org>
62013
62014         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
62015
62016 2003-11-17  Bruno Haible  <bruno@clisp.org>
62017
62018         * lib/vasnprintf.c (alloca): Remove fallback definition.
62019         (freea): Remove definition.
62020         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
62021         Reported by Paul Eggert.
62022
62023 2003-11-16  Paul Eggert  <eggert@twinsun.com>
62024             Bruno Haible  <bruno@clisp.org>
62025
62026         Protect against address arithmetic overflow.
62027         * lib/printf-args.h: Include stddef.h.
62028         (arguments): Change type of field 'count' to size_t.
62029         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
62030         'unsigned int' where appropriate.
62031         * lib/printf-parse.h: Include sys/types.h.
62032         (char_directive): Change type of *arg_index fields to ssize_t.
62033         (char_directives): Change type of fields 'count', max_*_length to
62034         size_t.
62035         * lib/printf-parse.c: Include sys/types.h and xsize.h.
62036         (SSIZE_MAX): Define fallback value.
62037         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
62038         instead of 'int' where appropriate. Check a_allocated, d_allocated
62039         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
62040         * lib/vasnprintf.c: Include xsize.h.
62041         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
62042         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
62043         overflow. Avoid wraparound when converting a width or precision from
62044         decimal to binary.
62045
62046 2003-11-16  Bruno Haible  <bruno@clisp.org>
62047
62048         Update from GNU gettext.
62049         * lib/printf-parse.c: Generalize to it can be compiled for wide
62050         strings.
62051         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
62052         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
62053         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
62054         SNPRINTF): New macros.
62055         Don't include <alloca.h> if the file is used inside libintl.
62056         (local_wcslen): New function, for Solaris 2.5.1.
62057         (VASNPRINTF): Use it instead of wcslen.
62058
62059 2003-11-16  Bruno Haible  <bruno@clisp.org>
62060
62061         * lib/xsize.h (xmax): New function.
62062         (xsum, xsum3, xsum4): Declare as "pure" functions.
62063
62064 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62065
62066         * modules/xalloc (Files): Undo latest change, since xalloc.h
62067         no longer needs SIZE_MAX or PTRDIFF_MAX.
62068
62069 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62070
62071         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
62072         gl_PTRDIFF_MAX.
62073
62074 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62075
62076         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
62077         "return", to pacify some unknown compiler.  Problem reported
62078         by Joerg Schilling.
62079
62080 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62081
62082         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
62083         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
62084         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
62085         heuristic is just as accurate as far as we know, and it removes a
62086         dependency on size_max.m4 and ptrdiff_max.m4.
62087
62088 2003-11-11  Bruno Haible  <bruno@clisp.org>
62089
62090         * modules/xsize (Files): Add m4/size_max.m4.
62091         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
62092
62093 2003-11-11  Bruno Haible  <bruno@clisp.org>
62094
62095         * m4/size_max.m4: New file.
62096         * m4/ptrdiff_max.m4: New file.
62097         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
62098         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
62099         (gl_XALLOC): Invoke it.
62100
62101 2003-11-11  Bruno Haible  <bruno@clisp.org>
62102
62103         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
62104         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
62105         defined.
62106
62107 2003-11-10  Paul Eggert  <eggert@twinsun.com>
62108
62109         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
62110         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
62111         rejected some allocations of exactly SIZE_MAX - 2 bytes.
62112         From Bruno Haible.
62113         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
62114         not (size_t) -1, since it's defined here.
62115
62116 2003-11-09  Karl Berry  <karl@gnu.org>
62117
62118         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
62119
62120 2003-11-06  Paul Eggert  <eggert@twinsun.com>
62121
62122         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
62123         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
62124         Reject sizes of exactly SIZE_MAX bytes.
62125         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
62126         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
62127
62128 2003-11-05  Bruno Haible  <bruno@clisp.org>
62129
62130         * lib/xsize.h: Include limits.h, to avoid a possible collision with
62131         SIZE_MAX defined in <limits.h> on Solaris.
62132
62133 2003-11-04  Jim Meyering  <jim@meyering.net>
62134
62135         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
62136         variable names, rather than @VAR@.
62137         * modules/poll: Likewise.
62138
62139 2003-11-04  Bruno Haible  <bruno@clisp.org>
62140
62141         * modules/xsize: New file.
62142         * modules/linebreak: Depend on xsize.
62143         * MODULES.html.sh (func_all_modules): Add xsize.
62144
62145 2003-11-04  Bruno Haible  <bruno@clisp.org>
62146
62147         * m4/xsize.m4: New file.
62148
62149 2003-11-04  Bruno Haible  <bruno@clisp.org>
62150
62151         * lib/xsize.h: New file.
62152         * lib/linebreak.c: Include xsize.h.
62153         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
62154         argument for overflow.
62155         Suggested by Paul Eggert.
62156
62157 2003-11-03  Karl Berry  <karl@gnu.org>
62158
62159         * config/config.{guess,sub}: update from config.
62160
62161 2003-11-03  Jim Meyering  <jim@meyering.net>
62162
62163         * modules/userspec (lib_SOURCES): Add userspec.h.
62164         (Include): Add "userspec.h".
62165         Improve description.
62166
62167 2003-11-03  Jim Meyering  <jim@meyering.net>
62168
62169         * lib/userspec.c: Include "userspec.h".
62170         * lib/userspec.h: New file.
62171
62172 2003-11-03  Bruno Haible  <bruno@clisp.org>
62173
62174         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
62175
62176 2003-11-03  Bruno Haible  <bruno@clisp.org>
62177
62178         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
62179         available, to avoid (extremely rare) race condition.
62180         Suggested by Paul Eggert.
62181
62182 2003-11-02  Karl Berry  <karl@gnu.org>
62183
62184         * config/srclist.txt (vasprintf.c): sync broken, sigh.
62185
62186 2003-10-31  Paul Eggert  <eggert@twinsun.com>
62187
62188         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
62189         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
62190         (read_filesystem_list): Set and use me_type_malloced.
62191         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
62192         whatever the type happens to be), for brevity and consistency.
62193         Check for size calculation overflow on Alphas running OSF/1.
62194
62195 2003-10-31  Jim Meyering  <jim@meyering.net>
62196
62197         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
62198
62199         * lib/linebuffer.c: Include <string.h> for declaration of memset.
62200
62201 2003-10-30  Paul Eggert  <eggert@twinsun.com>
62202             Bruno Haible  <bruno@clisp.org>
62203
62204         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
62205         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
62206
62207 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62208
62209         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
62210         netbsd*-gnu*.  Suggested by Robert Millan.
62211
62212 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62213
62214         * modules/group-member: Depend on stdbool.
62215
62216 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62217
62218         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
62219
62220 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62221
62222         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
62223         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
62224         after the 'gnu' in these cases.  This fixes some bugs in the
62225         previous change, and is based on suggestions by Robert Millan.
62226
62227 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62228
62229         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
62230         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
62231         no longer needed.
62232         * lib/quotearg.c (quotearg_n_options): Use it.
62233         * lib/group-member.c: Include <stdbool.h>.
62234         (free_group_info): Arg is now const *; don't free arg.
62235         (get_group_info): Now returns bool and accepts struct group_info *,
62236         rather than returning a malloc'ed struct group_info *.
62237         All uses changed.  Check for overflow in internal size calculation.
62238
62239         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
62240         rather than xmalloc/xrealloc.
62241         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
62242         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
62243         conformance bug: the old code used a pointer after freeing the
62244         storage that it addressed.
62245         * lib/hash.c (hash_initialize): Simplify the code by using
62246         xalloc_oversized rather than doing it by hand.
62247         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
62248         the buffer preserved.  Use free and xmalloc instead.
62249         * lib/quotearg.c (quotearg_n_options): Likewise.
62250         Use a simpler test for size overflow.  Don't use xalloc_oversized
62251         because unsigned int might be wider than size_t (!); this suggests
62252         that we should switch from unsigned int to size_t for slot numbers.
62253
62254 2003-10-28  Paul Eggert  <eggert@twinsun.com>
62255
62256         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
62257         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
62258         NetBSD kernels.  Requested by Richard Stallman.
62259
62260 2003-10-27  Paul Eggert  <eggert@twinsun.com>
62261
62262         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
62263         to allocate the returned structure.  Do not allocate a subarray,
62264         as x2nrealloc will do that.
62265         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
62266         instead of xnrealloc.
62267         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
62268
62269 2003-10-27  Bruno Haible  <bruno@clisp.org>
62270
62271         * lib/stdbool_.h: Better support for BeOS.
62272
62273 2003-10-26  Paul Eggert  <eggert@twinsun.com>
62274
62275         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
62276         now uses inline.
62277
62278 2003-10-26  Paul Eggert  <eggert@twinsun.com>
62279
62280         * lib/xalloc.h (xalloc_oversized): New static inline function, for
62281         callers that want to do their own size-overflow checking.  Include
62282         <stdbool.h>, since xalloc_oversized returns bool.
62283         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
62284         to use xalloc_oversized.
62285
62286         Add two functions x2realloc, x2nrealloc, for programs that grow
62287         arrays dynamically by doubling their sizes.
62288         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
62289         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
62290         New functions.
62291
62292         Port to C99 semantics for 'inline' of external functions.
62293         Bug reported by Bruno Haible.
62294         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
62295         with the old contents of xnmalloc.
62296         (xnmalloc, xmalloc): Use it.
62297         (xnrealloc_inline): New static inline function,
62298         with the old contents of xnrealloc.
62299         (xnrealloc, xrealloc): Use it.
62300
62301         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
62302         that.
62303
62304 2003-10-26  Karl Berry  <karl@gnu.org>
62305
62306         * config/srclist.txt (COPYING.DOC): no longer available from
62307         /gd/gnuorg; don't know where the ultimate source is.
62308
62309 2003-10-25  Paul Eggert  <eggert@twinsun.com>
62310
62311         Fix several address-calculation bugs in the hash modules,
62312         plus some minor code cleanup.
62313
62314         * lib/hash.h: Include <stdbool.h>, for bool.
62315         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
62316         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
62317         hash_get_n_entries, hash_get_max_bucket_length,
62318         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
62319         hash_rehash): Use size_t rather than unsigned.
62320         * lib/hash.c (struct hash_table, hash_get_n_buckets,
62321         hash_get_n_buckets_used, hash_get_n_entries,
62322         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
62323         hash_get_entries, hash_do_for_each, hash_string, is_prime,
62324         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
62325         Likewise.
62326         (SIZE_MAX): Define if not defined.
62327         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
62328         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
62329         hash_print):
62330         Use const * when possible.
62331         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
62332         (check_tuning): Fix bug: if tuning parameters were very close to
62333         0 or 1, rounding errors could have caused subscript violations.
62334         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
62335         (hash_initialize): Add 'fail:' label
62336         to free table and return NULL, and use it to simplify code.
62337         Use calloc rather than clearing the storage ourself.
62338         (hash_initialize, hash_rehash): Check for arithmetic overflow in
62339         buffer size calculations.
62340         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
62341         Include <stddef.h>, for size_t.
62342         * lib/hash-pjw.c (hash_pjw): Likewise.
62343         Switch to method described by Bruno Haible.
62344         Include <limits.h>, for CHAR_BIT.
62345         (SIZE_BITS): New macro.
62346
62347 2003-10-23  Paul Eggert  <eggert@twinsun.com>
62348
62349         * m4/getline.m4 (AM_FUNC_GETLINE):
62350         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
62351         hosts.  Problem reported by Derek Robert Price in
62352         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
62353         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
62354         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
62355
62356 2003-10-21  Paul Eggert  <eggert@twinsun.com>
62357
62358         * lib/getndelim2.c (getndelim2): When size calculation overflows,
62359         ceiling the allocation at NMAX bytes rather than silently
62360         discarding input bytes before NMAX is reached.  This makes
62361         a difference only if NMAX exceeds SIZE_MAX / 2.
62362
62363         * lib/obstack.c: Merge from glibc.
62364         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
62365         Add libc_hidden_def (_obstack_newchunk).
62366         (_obstack_free) [! defined _LIBC]: Remove.
62367         [defined _LIBC]: Make a strong alias from obstack_free, rather than
62368         a clone of the function body.
62369         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
62370         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
62371
62372         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
62373         glibc.
62374         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
62375         arg to memcpy.
62376
62377         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
62378         (obstack_ptr_grow_fast, obstack_int_grow_fast):
62379         Don't use lvalue casts, as GCC plans to remove support for them
62380         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
62381         was also present in the non-GCC version, indicating that this
62382         code had always been buggy and had never been widely used.
62383         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
62384         Use the fast variant of each macro, rather than copying the
62385         definiens of the fast variant; that way, we'll be more likely to
62386         catch future bugs in the fast variants.
62387
62388 2003-10-20  Bruno Haible  <bruno@clisp.org>
62389
62390         * modules/wait-process: New file.
62391         * MODULES.html.sh (func_all_modules): Add wait-process.
62392
62393 2003-10-20  Bruno Haible  <bruno@clisp.org>
62394
62395         * m4/wait-process.m4: New file.
62396
62397 2003-10-20  Bruno Haible  <bruno@clisp.org>
62398
62399         * lib/wait-process.h: New file, from GNU gettext.
62400         * lib/wait-process.c: New file, from GNU gettext.
62401
62402 2003-10-19  Jim Meyering  <jim@meyering.net>
62403
62404         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
62405         HPUX 10.20.
62406
62407 2003-10-18  Karl Berry  <karl@gnu.org>
62408
62409         * config/config.guess: update from config.
62410
62411 2003-10-16  Paul Eggert  <eggert@twinsun.com>
62412
62413         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
62414         (getgroups): First arg is int, not size_t.
62415         Don't let 'free' mangle errno.
62416
62417 2003-10-16  Paul Eggert  <eggert@twinsun.com>
62418
62419         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
62420
62421 2003-10-16  Karl Berry  <karl@gnu.org>
62422
62423         * config/config.{guess,sub}: update from config.
62424
62425 2003-10-16  Jim Meyering  <jim@meyering.net>
62426
62427         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
62428         memcpy.
62429
62430 2003-10-15  Paul Eggert  <eggert@twinsun.com>
62431
62432         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
62433         (SIZE_MAX): Remove.
62434         (new_exclude, add_exclude_file): Initial size no longer needs to
62435         be a power of 2.
62436         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
62437         our own address arithmetic overflow checking.
62438
62439         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
62440         (fnmatch): Do not alloca more than 2000 wide characters;
62441         instead, use malloc for large buffers.
62442         Check for address arithmetic overflow, and return -1
62443         with errno set to ENOMEM in that case.
62444         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
62445         (NEW_PATTERN): Do not alloca more than 8000 bytes;
62446         instead, return -1.  Check for address arithmetic overflow.
62447
62448 2003-10-14  Paul Eggert  <eggert@twinsun.com>
62449
62450         Handle invalid suffixes and overflow independently, so that
62451         callers can treat them independently as needed.  Fix some bugs in
62452         suffix handling, e.g., "100k@" was not diagnosed as an invalid
62453         suffix for a human-readable blocksize.  The major caller-visible
62454         change is the addition of a new
62455         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
62456         that both overflow and suffix chars were found.
62457
62458         * lib/human.c (humblock): Don't check separately for invalid suffix
62459         char; that is xstrtoumax's job (now that its bug is fixed).
62460         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
62461         INTMAX_MAX]: New macros.
62462         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
62463         TYPE_MAXIMUM): New macros.
62464         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
62465         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
62466         if overflow occurs, as it's what __strtol does and it's more useful
62467         in practice.
62468         (__xstrtol): If __strtol reports some error other than ERANGE,
62469         reflect it to the caller as LONGINT_INVALID.  If it reports
62470         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
62471         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
62472         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
62473         value.
62474         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
62475         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
62476         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
62477         [defined UINTMAX_MAX]: New macros.
62478
62479 2003-10-14  Bruno Haible  <bruno@clisp.org>
62480
62481         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
62482
62483 2003-10-14  Bruno Haible  <bruno@clisp.org>
62484
62485         * m4/sig_atomic_t: New file, from GNU gettext.
62486         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
62487
62488 2003-10-14  Bruno Haible  <bruno@clisp.org>
62489
62490         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
62491         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
62492         Also use volatile where needed.
62493
62494 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62495
62496         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
62497         Change maintainer from Bruno Haible to 'all'.
62498
62499 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62500
62501         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
62502
62503 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62504
62505         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
62506         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
62507         and define in terms of the other primitives.
62508         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
62509         (SIZE_MAX): Define if not already defined.
62510         (array_size_overflow): New function.
62511         (xalloc_die): Abort instead of exiting if 'error' returns.
62512         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
62513         (xmalloc, xrealloc): Use them.
62514         (xcalloc): Check for address arithmetic overflow.
62515         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
62516         a bit faster than strcpy.
62517
62518 2003-10-10  Simon Josefsson  <jas@extundo.com>
62519
62520         * modules/argp (Depends-on): Add restrict and strcase.
62521
62522 2003-10-10  Simon Josefsson  <jas@extundo.com>
62523
62524         * m4/argp.m4: Add AC_C_INLINE.
62525
62526 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62527
62528         Merge getpass from libc, plus a few fixes.
62529
62530         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
62531         Include <stdbool.h>.
62532         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
62533         __fsetlocking to empty.
62534         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
62535         do include <bits/libc-lock.h>.
62536         Do not include <fcntl.h>; not needed.
62537         [_LIBC]: Include <wchar.h>.
62538         (NOTCANCEL_MODE): New macro.
62539         (flockfile, funlockfile) [_LIBC]: New macros.
62540         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
62541         [!_LIBC]: New macros.
62542         (call_fclose): New function.
62543         (getpass): Use it.  Save tty stream separately; this simplifies the
62544         code and makes it more reliable if stdin happens to equal stdout.
62545         Invoke __fsetlocking on tty.
62546         Handle thread cancellation if needed.
62547         Namespace cleanup (use __tcgetattr, __getline).
62548         Use bool for Booleans.
62549         [USE_IN_LIBIO]: Handle wide streams.
62550         [!_LIBC]: Unconditionally do the fseek, since we don't know what
62551         stream might go where.
62552
62553         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
62554         doesn't have to include <stdio.h> before us.
62555         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
62556         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
62557         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
62558         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
62559         if not declared, so that we can use getpass.c code from libc without
62560         rewriting it.
62561         (flockfile, ftrylockfile, funlockfile): New macros.
62562
62563 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62564
62565         * modules/getpass: Depend on stdbool.
62566
62567 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62568
62569         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
62570
62571 2003-10-07  Karl Berry  <karl@gnu.org>
62572
62573         * config/config.{guess,sub}: update from config.
62574
62575 2003-10-06  Jim Meyering  <jim@meyering.net>
62576             Bruno Haible  <bruno@clisp.org>
62577
62578         This lets translators provide better translations for the
62579         "Written by ..." part of --version output.
62580         * lib/version-etc.h: Include stdarg.h.
62581         (version_etc_copyright): Declare as readonly.
62582         (version_etc): Make this function variadic with a NULL-terminated list
62583         of author name strings.
62584         (version_etc_va): New declaration.
62585         * lib/version-etc.c: Include stdarg.h, stdlib.h.
62586         (version_etc_copyright): Declare as readonly.
62587         (version_etc_va): New function. Provide a different translatable string
62588         for each possible number of authors < 10. Abbreviate when there are 10
62589         authors or more.
62590         (version_etc): Make this function variadic. Call version_etc_va.
62591         Suggestion from Gary V. Vaughan.
62592
62593         * lib/long-options.h (parse_long_options): Change prototype: the
62594         authors string is moved to the end and becomes variadic.
62595         * lib/long-options.c: Include stdarg.h.
62596         (parse_long_options): Make this function variadic, too.
62597         Call version_etc_va, not version_etc.
62598
62599 2003-10-06  Bruno Haible  <bruno@clisp.org>
62600
62601         * modules/version-etc-2: Remove file.
62602         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
62603
62604 2003-10-06  Bruno Haible  <bruno@clisp.org>
62605
62606         * modules/fatal-signal: New file.
62607         * MODULES.html.sh (func_all_modules): Add fatal-signal.
62608
62609 2003-10-06  Bruno Haible  <bruno@clisp.org>
62610
62611         * m4/fatal-signal.m4: New file.
62612         * m4/signalblocking.m4: New file, from GNU gettext.
62613
62614 2003-10-06  Bruno Haible  <bruno@clisp.org>
62615
62616         * lib/version-etc-2.h: Remove file.
62617         * lib/version-etc-2.c: Remove file.
62618
62619 2003-10-06  Bruno Haible  <bruno@clisp.org>
62620
62621         * lib/fatal-signal.h: New file, from GNU gettext.
62622         * lib/fatal-signal.c: New file, from GNU gettext.
62623
62624 2003-10-05  Paul Eggert  <eggert@twinsun.com>
62625
62626         * README: Rework advice for preventing empty .o files.
62627         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
62628         not <sys/types.h>.
62629
62630 2003-10-04  Karl Berry  <karl@gnu.org>
62631
62632         * lib/argp*: update from libc.
62633
62634 2003-10-04  Karl Berry  <karl@gnu.org>
62635
62636         * config/config.{guess,sub}: update from config.
62637
62638 2003-10-02  Bruno Haible  <bruno@clisp.org>
62639
62640         * modules/lchown (Include): Add lchown.h.
62641         * modules/time_r (Include): Use "..." syntax.
62642         * modules/xgetdomainname (Include): Add xgetdomainname.h.
62643
62644 2003-10-01  Simon Josefsson  <jas@extundo.com>
62645
62646         * MODULES.html.sh (func_all_modules): Move gethostname from section
62647         'based on' to section 'lacking' POSIX:2001.
62648
62649 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
62650
62651         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
62652         to output mode on the same stream.
62653
62654 2003-09-29  Paul Eggert  <eggert@twinsun.com>
62655
62656         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
62657         Fix arg typo in previous patch.
62658
62659 2003-09-28  Jim Meyering  <jim@meyering.net>
62660
62661         * lib/error.c: Correct cpp indentation.
62662
62663 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62664
62665         * modules/free: New file.
62666
62667 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62668
62669         * m4/free.m4: New file.
62670
62671 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62672
62673         * lib/minmax.h (MIN, MAX)
62674         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
62675         Omit the special code that used __typeof__, since we worry that
62676         it could be more trouble than it's worth.  See:
62677         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
62678         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
62679
62680         * lib/free.c: New file.
62681
62682 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
62683
62684         Trivial fixes to Makefile.am parts of module listings.
62685         * modules/strstr: Append strstr.h to lib_SOURCES.
62686         * modules/strcase: Likewise, for strcase.h.
62687
62688 2003-09-27  Karl Berry  <karl@gnu.org>
62689
62690         * config/mkinstalldirs: update from automake.
62691
62692 2003-09-26  Paul Eggert  <eggert@twinsun.com>
62693
62694         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
62695         (error_tail): Do not loop, reallocating temporary buffer, since
62696         the output cannot contain more wide characters than the input
62697         contains bytes, the size must be big enough already.  This avoids
62698         one potential size overflow calculation.  Check for size overflow
62699         when calculating temporary buffer size.  Free temporary buffer
62700         when done, if it was allocated with malloc; this plugs a memory
62701         leak.  Remove casts from void * to pointers, that are no longer
62702         needed now that we're assuming C89 or better.
62703
62704         Merge error changes from glibc.
62705
62706         * lib/error.c, error.h: Update copyright notice header to match glibc.
62707         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
62708         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
62709         Disable cancellation while printing error.
62710         * lib/error.h: Prepend __ to parameter names.
62711
62712 2003-09-26  Jim Meyering  <jim@meyering.net>
62713
62714         * lib/error.c (error_tail): Move some declarations
62715         into inner scope where the local variables are used.
62716
62717 2003-09-26  Bruno Haible  <bruno@clisp.org>
62718
62719         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
62720         stpncpy().
62721         Don't define stpncpy through config.h; it's now done through stpncpy.h.
62722
62723 2003-09-26  Bruno Haible  <bruno@clisp.org>
62724
62725         * lib/stpncpy.h (gnu_stpncpy): New declaration.
62726         (stpncpy): Define as alias for gnu_stpncpy.
62727         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
62728
62729 2003-09-25  Simon Josefsson  <jas@extundo.com>
62730
62731         * lib/xgetdomainname.h: New file.
62732         * lib/xgetdomainname.c: New file.
62733
62734 2003-09-25  Simon Josefsson  <jas@extundo.com>
62735             Bruno Haible  <bruno@clisp.org>
62736
62737         * modules/getdomainname: New file.
62738         * modules/xgetdomainname: New file.
62739         * MODULES.html.sh (func_all_modules): Add getdomainname,
62740         xgetdomainname.
62741
62742 2003-09-25  Simon Josefsson  <jas@extundo.com>
62743             Bruno Haible  <bruno@clisp.org>
62744
62745         * m4/getdomainname.m4: New file.
62746
62747 2003-09-25  Simon Josefsson  <jas@extundo.com>
62748             Bruno Haible  <bruno@clisp.org>
62749
62750         * lib/getdomainname.h: New file.
62751         * lib/getdomainname.c: New file.
62752
62753 2003-09-25  Karl Berry  <karl@gnu.org>
62754
62755         * lib/argp-fmtstream.c, argp-help.c: update from libc.
62756
62757 2003-09-25  Karl Berry  <karl@gnu.org>
62758
62759         * config/install-sh: update from automake.
62760
62761 2003-09-25  Bruno Haible  <bruno@clisp.org>
62762
62763         * modules/version-etc-2: New file, from modules/version-etc with
62764         modifications.
62765         * MODULES.html.sh (func_all_modules): Add version-etc-2.
62766
62767 2003-09-25  Bruno Haible  <bruno@clisp.org>
62768
62769         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
62770         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
62771
62772 2003-09-24  Simon Josefsson  <jas@extundo.com>
62773
62774         * modules/xgethostname: Add xgethostname.h.
62775
62776 2003-09-24  Paul Eggert  <eggert@twinsun.com>
62777
62778         * lib/linebuffer.c (freebuffer): Don't free the argument, just
62779         the buffer associated with the argument.  Bug reported by
62780         Simon Josefsson.
62781
62782 2003-09-24  Paul Eggert  <eggert@twinsun.com>
62783
62784         * README: Document assumptions that 'int' is at least 32 bits
62785         wide, that integer arithmetic is 2's complement without overflow,
62786         that there are no holes in integer values, that adding sizes of
62787         two nonoverlapping objects can't overflow, and that all-bits-zero
62788         yields scalar zero.  Fix spelling and capitalization typos.
62789
62790 2003-09-19  Karl Berry  <karl@gnu.org>
62791
62792         * lib/argp.h: update from libc.
62793
62794 2003-09-17  Paul Eggert  <eggert@twinsun.com>
62795
62796         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
62797         to avoid spurious warnings like "AC_RUN_IFELSE was called before
62798         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
62799
62800 2003-09-17  Paul Eggert  <eggert@twinsun.com>
62801
62802         * gnulib-tool: Use "test -h", not "test -L", for portability
62803         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
62804         (tags_regexp): Remove, since \| doesn't conform to POSIX.
62805         (sed_extract_prog): Issue s commands one-by-one, rather than
62806         using \| in one s command.
62807
62808 2003-09-16  Paul Eggert  <eggert@twinsun.com>
62809
62810         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
62811         input error, instead of returning NULL the next time we are called
62812         (and therefore losing track of errno).
62813
62814 2003-09-16  Bruno Haible  <bruno@clisp.org>
62815
62816         * gnulib-tool (func_create_testdir): Warn about duplicated
62817         dependencies.
62818
62819 2003-09-15  Paul Eggert  <eggert@twinsun.com>
62820
62821         * modules/argmatch, modules/fatal, modules/obstack,
62822         modules/xalloc, modules/xgethostname: Sort dependencies by
62823         importance, not alphabetically.
62824
62825 2003-09-15  Paul Eggert  <eggert@twinsun.com>
62826
62827         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
62828         fails, so that the caller gets the proper errno.
62829
62830         * lib/readutmp.c (read_utmp): Likewise.
62831         Check for fstat error.  Close stream and free storage
62832         when failing.
62833
62834 2003-09-14  Karl Berry  <karl@gnu.org>
62835
62836         * config/srclist.txt (strdup.c): disable for c89 changes.
62837
62838 2003-09-14  Jim Meyering  <jim@meyering.net>
62839
62840         * lib/getloadavg.c: Correct cpp indentation.
62841         * lib/strdup.c: Likewise.
62842         * lib/vasnprintf.c: Likewise.
62843
62844 2003-09-14  Bruno Haible  <bruno@clisp.org>
62845
62846         * modules/fwriteerror: New file.
62847         * MODULES.html.sh (func_all_modules): Add fwriteerror.
62848
62849 2003-09-14  Bruno Haible  <bruno@clisp.org>
62850
62851         * lib/fwriteerror.h: New file.
62852         * lib/fwriteerror.c: New file.
62853
62854 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62855
62856         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
62857         modules/xgethostname, modules/xalloc: Depend on exit.
62858
62859 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62860
62861         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
62862
62863         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
62864         and AC_MINIX, too, so that their extensions are available.
62865
62866         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
62867         This macro has been superseded by gl_BACKUPFILE.
62868
62869         More patches to assume C89 or better.
62870
62871         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
62872
62873         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
62874         unconditionally.
62875         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
62876         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
62877         Include <string.h>, <stdlib.h> unconditionally.
62878         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
62879         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
62880         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
62881         headers or for string.h.
62882         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
62883         or strtoul.
62884
62885         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
62886         headers.
62887         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
62888         * m4/userspec.m4 (gl_USERSPEC): Likewise.
62889         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
62890         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
62891         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62892         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
62893         memcpy, memset.
62894         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
62895         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
62896         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
62897         strtol.
62898         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
62899         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
62900         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
62901         strtoul.
62902
62903 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62904
62905         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
62906         * lib/obstack.c [!defined _LIBC]: Likewise.
62907         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
62908         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
62909         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
62910
62911         More changes to assume C89 or better.
62912
62913         * lib/error.c (error_tail): Assume vprintf.
62914
62915         * lib/argmatch.c (getenv): Remove decl.
62916         * lib/progreloc.c (get_full_program_name): Define via prototype.
62917         * lib/setenv.c (clearenv): Likewise.
62918         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
62919         needed.
62920         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
62921         (malloc, memcpy): Remove decls.
62922         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
62923         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
62924         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
62925         (memcpy): Remove macro.
62926         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
62927         (__P): Remove.  All uses removed.
62928         (PTR): Remove.  All uses changed to void *.
62929         (CHAR_BIT, NULL): Remove.
62930         (spaces, zeros, memset_space, memset_zero)
62931         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
62932         Remove.
62933         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
62934         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
62935         Define with prototype.
62936         Remove now-unnecessary prototype decl.
62937         (extra_args_spec): Assume ANSI C.  All uses changed.
62938         (extra_args_spec_iso): Remove.
62939         (my_strftime, emacs_strftimeu): Define via prototype.
62940         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
62941         unconditionally.
62942         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
62943         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
62944         (strtoul, strtol): Remove decls.
62945         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
62946         LONG_MAX): Remove.
62947         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
62948         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
62949         (LOCALE_PARAM_PROTO): New macro.
62950         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
62951         (INTERNAL (strtol), strtol): Define with a prototype.
62952         (PARAMS): Remove.  All uses removed.
62953         * lib/tempname.c: Include <string.h> unconditionally.
62954         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
62955         * lib/xgethostname.c (main): Define with a prototype.
62956         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
62957         Include <stdlib.h> unconditionally.
62958         (calloc, malloc, realloc, free): Remove decls.
62959         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
62960         Include <stdlib.h> unconditionally.  Sort include file names.
62961         (strtod): Remove.
62962         (xstrtod): Define with a prototype.
62963         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
62964         (strtol, strtoul): Remove decls.
62965
62966 2003-09-11  Paul Eggert  <eggert@twinsun.com>
62967
62968         More patches to assume C89 or better.
62969         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
62970         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
62971         string.h, memchr, STDC_HEADERS.
62972
62973 2003-09-11  Paul Eggert  <eggert@twinsun.com>
62974
62975         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
62976         Include <stdlib.h>, <string.h> unconditionally.
62977         Remove now-unnecessary cast to char *.
62978         * lib/strnlen.c: Include <string.h> unconditionally.
62979         * lib/yesno.c (yesno): Define with a prototype.
62980
62981 2003-09-11  Bruno Haible  <bruno@clisp.org>
62982
62983         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
62984
62985 2003-09-10  Jim Meyering  <jim@meyering.net>
62986
62987         * lib/error.c: Correct indentation of cpp directives.
62988
62989 2003-09-10  Bruno Haible  <bruno@clisp.org>
62990
62991         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
62992         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
62993         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
62994         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
62995         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
62996         <stdlib.h> and <string.h> checks.
62997         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
62998         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
62999
63000 2003-09-10  Bruno Haible  <bruno@clisp.org>
63001
63002         * lib/strcspn.c: Include <string.h> unconditionally.
63003         * lib/strpbrk.c: Include <string.h> unconditionally.
63004         * lib/strstr.c: Include <string.h> unconditionally.
63005         * lib/unicodeio.c: Include <string.h> unconditionally.
63006         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
63007         * lib/unsetenv.c: Likewise.
63008         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
63009         * lib/yesno.c: Include <stdlib.h> unconditionally.
63010         (rpmatch): Add prototype.
63011
63012 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63013
63014         More patches to assume C89 or better.
63015         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
63016         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
63017         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
63018         or for string.h.
63019         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
63020         stdlib.h.
63021         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
63022         C headers.
63023         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
63024         string.h.
63025         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
63026         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
63027         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
63028         or for string.h.
63029         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
63030         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
63031         C headers.
63032         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
63033         memcpy.
63034         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
63035         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
63036         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
63037         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
63038         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
63039         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
63040         string.h, free.
63041         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
63042         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
63043         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
63044         C headers, or for string.h.
63045         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
63046         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
63047         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
63048         headers, memory.h, stdlib.h, string.h, strings.h.
63049         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
63050         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
63051         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
63052         strchr.
63053         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
63054         headers, memory.h, string.h.
63055         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
63056         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
63057         free.
63058         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
63059         headers.
63060         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
63061         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
63062         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
63063         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
63064         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
63065
63066 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63067
63068         More K&R removal.
63069
63070         * lib/acosl.c (main): Use a prototype.
63071         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
63072         tanl.c: Likewise.
63073
63074         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
63075
63076         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
63077         (getopt, etopt_long, getopt_long_only, _getopt_internal)
63078         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
63079         with a prototype.
63080         * lib/getopt.c (const): Remove macro.
63081         Include <string.h> unconditionally.
63082         (my_index): Remove; all uses changed to strchr.
63083         (strlen): Remove decl.
63084         (exchange): Remove forward decl; no longer needed.
63085         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
63086         Define with prototype.
63087         * lib/getopt1.c (const): Remove macro.
63088         (getopt_long, getopt_long_only, main): Define with prototype.
63089
63090         * lib/getugroups.c: Include <string.h> unconditionally.
63091
63092         * lib/getusershell.c: Include <stdlib.h> unconditionally.
63093         (getusershell, setusershell, endusershell, readname, main):
63094         Define with prototypes.
63095
63096         * lib/group-member.c: Include group-member.h first.
63097         Include <stdlib.h> unconditionally.
63098
63099         * lib/hard-locale.c: Include hard-locale.h first.
63100         Include <stdlib.h>, <string.h> unconditionally.
63101
63102         * lib/hash.c (free, malloc): Remove decls.
63103         Include <stdlib.h> unconditionally.
63104
63105         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
63106         (getenv): Do not declare.
63107
63108         * lib/idcache.c: Include <string.h> unconditionally.
63109
63110         * lib/long-options.c: Include long-options.h first, to test interface.
63111         Include <stdlib.h> unconditionally.
63112
63113         * lib/makepath.c: Include makepath.h first, to test interface.
63114         Include <stdlib.h> and <string.h> unconditionally.
63115
63116         * lib/linebuffer.c: Include <stdlib.h>.
63117         (free): Remove decl.
63118
63119         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
63120         stddef.h. rpl_malloc returns void *, not char *.
63121         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
63122         prototype.
63123
63124         * lib/md5.h: Include <limits.h> unconditionally.
63125         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
63126         (__P): Remove; all uses removed.
63127         * lib/md5.c: Include "md5.h" first.
63128         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
63129         md5_buffer, md5_process_bytes, md5_process_block):
63130         Define with prototypes.
63131         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
63132         * lib/sha.c: Include "sha.h" first.
63133         Include <stdlib.h>, <string.h> unconditionally.
63134
63135         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
63136         * lib/memcmp.c (__ptr_t): Likewise.
63137         * lib/memrchr.c (__ptr_t): Likewise.
63138         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
63139         Include <string.h> unconditionally.
63140         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
63141         * lib/memchr.c: Include <stdlib.h> unconditionally.
63142         * lib/memchr.c (LONG_MAX): Remove.
63143         * lib/memrchr.c (LONG_MAX): Likewise.
63144         * lib/memchr.c (__memchr): Define via a prototype.
63145         * lib/memrchr.c (__memrchr): Likewise.
63146         * lib/memcmp.c (__P): Remove, and remove all uses.
63147         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
63148         Remove forward decls; no longer needed.
63149         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
63150         Use types required by C89 in prototype.
63151
63152         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
63153         * lib/savedir.c: Likewise.
63154         * lib/mkdir.c (free): Remove decl.
63155         * lib/rmdir.c (rmdir): Define with a prototype.
63156         * lib/savedir.c: Include savedir.h first, to test interface.
63157
63158         * lib/mktime.c (STDC_HEADERS): Remove.
63159         Include <stdlib.h>, <string.h> unconditionally.
63160
63161         * lib/modechange.c: Include <stdlib.h> unconditionally.
63162         (malloc): Remove decl.
63163
63164         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
63165         (free): Remove decl.
63166
63167         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
63168         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
63169         (This type really should be intptr_t, but that's a C99ism.)
63170         (_obstack_memcpy): Remove: all uses changed to memcpy.
63171         Include <string.h> unconditionally.
63172         (struct obstack): Assume __STDC__ for types of members
63173         chunkfun, freefun, extra_arg.
63174         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
63175         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
63176         obstack_begin, obstack_specify_allocation,
63177         obstack_specify_allocation_with_arg, obstack_chunkfun,
63178         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
63179         Remove unprototyped decls and the macros that use them.
63180         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
63181         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
63182         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
63183         (defined __STDC__ && __STDC__)]:
63184         Remove nonprototyped code.
63185         Include <stdlib.h> unconditionally.
63186         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
63187         _obstack_allocated_p, _obstack_free, obstack_free,
63188         _obstack_memory_used, print_and_abort):
63189         Define using prototypes.
63190         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
63191         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
63192         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
63193         obstack_next_free, obstack_object_size, obstack_room) [0]:
63194         Remove unused, unprototyped code.
63195
63196         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
63197
63198         * lib/physmem.c (physmem_total, physmem_available, main): Define
63199         with prototypes.
63200
63201         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
63202         (main): Define with a prototype.
63203
63204         * lib/posixver.c (getenv): Remove decl.
63205
63206         * lib/putenv.c (malloc): Returns void *, not char *.
63207         Include <string.h> unconditionally.
63208         (strchr, memcpy, NULL): Do not define.
63209
63210         * lib/readtokens.c: Include readtokens.h first, to test interface.
63211         Include <stdlib.h>, <string.h> unconditionally.
63212         (init_tokenbuffer): Define with a prototype.
63213
63214         * lib/regex.c (PARAMS): Remove.  All uses removed.
63215         All uses of _RE_ARGS removed, too.
63216         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
63217         unconditionally.
63218         (bzero): Assume memset exists.
63219         (memcmp, memcpy, NULL): Remove.
63220         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
63221         char, or assignments to local vars of type signed char.
63222         (init_syntax_once, PREFIX(extract_number_and_incr),
63223         PREFIX(print_partial_compiled_pattern),
63224         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
63225         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
63226         PREFIX(regex_grow_registers), PREFIX(regex_compile),
63227         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
63228         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
63229         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
63230         wcs_compile_range, byte_compile_range, truncate_wchar,
63231         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
63232         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
63233         count_mbs_length, wcs_re_match_2_internal,
63234         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
63235         PREFIX(alt_match_null_string_p),
63236         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
63237         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
63238         regfree, PREFIX(extract_number)): Define with prototype.  Remove
63239         now-unnecessary declaration, if any.
63240         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
63241         regcomp, regexec):
63242         Remove now-unnecessary casts among pointer types.
63243         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
63244
63245         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
63246         (free): Remove decl.
63247
63248         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
63249
63250         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
63251         (free): Remove decl.
63252
63253         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
63254         * lib/xgetcwd.c: Likewise.
63255
63256         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
63257         (free): Remove decl.
63258
63259         * lib/strchrnul.c (strchrnul): Define with a prototype.
63260         Fix bug: c_in was not converted to char before searching.
63261
63262         The following changes are not K&R related:
63263
63264         * lib/group-member.h: Include <sys/types.h>, so that this file is
63265         self-contained.
63266         * lib/makepath.h: Likewise.
63267
63268         * lib/getusershell.c (readname, default_index, line_size, readname):
63269         Use size_t, not int, for sizes.
63270         (readname): If the size overflows, report an error instead of
63271         looping forever.
63272
63273 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63274
63275         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
63276         libc.
63277
63278 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63279
63280         * README: New section: portability guidelines.
63281
63282 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
63283
63284         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
63285         C89 spec.
63286
63287 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
63288
63289         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
63290
63291 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63292
63293         Assume C89 or better; remove K&R cruft.
63294         A few of these changes were first proposed by Derek Robert Price
63295         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
63296
63297         * lib/addext.c: Include <string.h> unconditionally.
63298         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
63299         Don't declare getenv or malloc.
63300
63301         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
63302         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
63303         (NULL): Remove.
63304         (find_stack_direction, alloca): Use prototypes.
63305
63306         * lib/atexit.c (atexit): Define using a prototype.
63307
63308         * lib/basename.c, dirname.c, stripslash.c:
63309         Include <string.h> unconditionally.
63310
63311         * lib/bcopy.c: Include <stddef.h>.
63312         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
63313
63314         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
63315
63316         * lib/error.h (error, error_at_line, error_print_progname)
63317         [! (defined (__STDC__) && __STDC__)]: Remove decls.
63318         * lib/error.c: Include error.h first, to check interface.
63319         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
63320         (VA_START): Remove; all uses changeed to va_start.
63321         (exit, strerror): Remove decls.
63322         (error_print_progname): Prototype uncondionally.
63323         Don't include <errno.h>; no longer needed.
63324         (private_strerror): Remove.
63325         (error_tail): Always define.
63326         (error, error_at_line): Assume C89 or better; always use prototypes.
63327         * lib/fatal.c: Include "fatal.h" first, to test interface.
63328         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
63329         (VA_START): Remove; all uses changed to va_start.
63330         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
63331         this case.
63332         (exit): Remove decl.
63333         (fatal): Prototype unconditionally.  Assume va_start works.
63334         Abort at end, to pacify gcc.
63335
63336         * lib/euidaccess.c (main): Define with a prototype.
63337
63338         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
63339
63340         * lib/exitfail.c: Include <stdlib.h> unconditionally.
63341
63342         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
63343         prototypes.
63344         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
63345         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
63346         (getenv): Remove decl.
63347         (fnmatch): Define using a prototype.
63348         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
63349         (FCT): Define using a prototype.
63350
63351         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
63352
63353         * lib/gethostname.c: Include <stddef.h>.
63354         (gethostname): Define with prototype.  Length is size_t, not int.
63355
63356 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63357
63358         Assume C89 or better; remove K&R cruft.
63359         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
63360         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
63361         string.h, getenv, malloc.
63362         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
63363         headers.
63364         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
63365         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
63366         do not check for strerror.
63367         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
63368         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
63369         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
63370         do not check for doprnt or vprintf.
63371         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
63372         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
63373
63374 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63375
63376         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
63377         getversion.c should have been removed then, but was accidentally
63378         preserved.
63379
63380         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
63381         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
63382
63383 2003-09-08  Karl Berry  <karl@gnu.org>
63384
63385         * config/config.sub, config.guess, srclistvars.sh: update from savannah
63386                 config, forget about prep.
63387
63388         * config/depcomp, missing: update from automake.
63389
63390 2003-09-07  Paul Eggert  <eggert@twinsun.com>
63391
63392         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
63393         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
63394
63395 2003-09-07  Paul Eggert  <eggert@twinsun.com>
63396
63397         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
63398         copy_tm_result.  Bug reported by Simon Josefsson in
63399         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
63400
63401 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63402
63403         * m4/time_r.m4: New file.
63404         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
63405         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
63406         is. Check for timegm declaration.
63407         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
63408         Do not check for gmtime_r.
63409         Replace mktime if __mktime_internal does not exist and if mktime
63410         hasn't been replaced already.
63411
63412 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63413
63414         * lib/time_r.c, lib/time_r.h: New files.
63415
63416         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
63417         __localtime_r.
63418         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
63419         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
63420
63421         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
63422         __gmtime_r.
63423         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
63424         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
63425         Include <time_r.h>.
63426
63427         * lib/timegm.c: Switch to glibc implementation, with the following
63428         changes:
63429         [defined HAVE_CONFIG_H]: Include <config.h>.
63430         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
63431         (__mktime_internal) [!defined _LIBC]: New decl.
63432         (__gmtime_r) [!defined _LIBC]: New macro and function.
63433         (timegm): Use a prototype, since gnulib assumes C89.
63434         Do not bother declaring tmp to be const, as it's not really usefu.
63435         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
63436         (timegm): Declare only if HAVE_DECL_TIMEGM.
63437
63438 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63439
63440         * MODULES.html.sh (func_all_modules): Add time_r.
63441         * modules/time_r: New file.
63442         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
63443         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
63444
63445 2003-09-03  Paul Eggert  <eggert@twinsun.com>
63446
63447         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
63448         Bug reported by Lute Kamstra in
63449         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
63450
63451         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
63452         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
63453         course with correspondingly smaller numbers for tomorrow and
63454         yesterday.  From Tadayoshi Funaba.  Originally installed into
63455         sh-utils on 1999-08-07, but the patch got lost (I guess during the
63456         coreutils merge?).
63457
63458 2003-08-31  Simon Josefsson  <jas@extundo.com>
63459
63460         * modules/timegm: New file.
63461         * MODULES.html.sh (func_all_modules): Add timegm.
63462
63463 2003-08-31  Simon Josefsson  <jas@extundo.com>
63464
63465         * m4/timegm.m4: New file.
63466
63467 2003-08-31  Simon Josefsson  <jas@extundo.com>
63468
63469         * lib/timegm.h: New file.
63470         * lib/timegm.c: New file.  Based on
63471         wget-1.8.2/src/http.c:mktime_from_utc.
63472
63473 2003-08-31  Karl Berry  <karl@gnu.org>
63474
63475         * lib/argp.h: update from libc.
63476
63477 2003-08-28  Bruno Haible  <bruno@clisp.org>
63478
63479         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
63480         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
63481         followed by '#define fnmatch fnmatch_posix' gives an error.
63482
63483 2003-08-28  Bruno Haible  <bruno@clisp.org>
63484
63485         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
63486         warning on QNX, which defines O_BINARY to 000000.
63487
63488 2003-08-27  Jim Meyering  <jim@meyering.net>
63489
63490         * m4/mkstemp.m4: Require that the system mkstemp be able to create
63491         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
63492         would fail after 32.  Reported by Danny Levinson.  Details here:
63493         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
63494
63495 2003-08-24  Bruno Haible  <bruno@clisp.org>
63496
63497         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
63498         MSVC7 <stdio.h> is included later.
63499
63500 2003-08-22  Simon Josefsson  <jas@extundo.com>
63501
63502         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
63503
63504 2003-08-20  Karl Berry  <karl@gnu.org>
63505
63506         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
63507
63508 2003-08-20  Bruno Haible  <bruno@clisp.org>
63509
63510         * modules/progname: New file.
63511         * MODULES.html.sh (func_all_modules): Add progname.
63512
63513 2003-08-20  Bruno Haible  <bruno@clisp.org>
63514
63515         * lib/progname.h: New file, from GNU gettext.
63516         * lib/progname.c: New file, from GNU gettext.
63517         * lib/progreloc.c: New file, from GNU gettext.
63518
63519 2003-08-19  Jim Meyering  <jim@meyering.net>
63520
63521         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
63522         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
63523
63524 2003-08-19  Bruno Haible  <bruno@clisp.org>
63525
63526         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
63527         more.
63528
63529 2003-08-19  Bruno Haible  <bruno@clisp.org>
63530
63531         * lib/xstrdup.c: Assume <string.h> exists.
63532
63533 2003-08-18  Paul Eggert  <eggert@twinsun.com>
63534
63535         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
63536         in makefile rules.
63537
63538 2003-08-18  Jim Meyering  <jim@meyering.net>
63539
63540         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
63541         * m4/lib-ld.m4: Likewise.
63542
63543 2003-08-18  Jim Meyering  <jim@meyering.net>
63544
63545         * lib/setenv.h: Indent nested cpp directive.
63546         * lib/vasnprintf.c: Remove trailing blanks.
63547
63548 2003-08-17  Simon Josefsson  <jas@extundo.com>
63549
63550         * modules/xstrndup: New file.
63551         * MODULES.html.sh (func_all_modules): Add xstrndup.
63552
63553 2003-08-17  Simon Josefsson  <jas@extundo.com>
63554
63555         * modules/argp: Fix autoconf macro name. Add more dependencies.
63556
63557 2003-08-17  Simon Josefsson  <jas@extundo.com>
63558
63559         * m4/xstrndup.m4: New file.
63560
63561 2003-08-17  Simon Josefsson  <jas@extundo.com>
63562
63563         * m4/argp.m4: New file.
63564
63565 2003-08-17  Simon Josefsson  <jas@extundo.com>
63566             Bruno Haible  <bruno@clisp.org>
63567
63568         * lib/xstrndup.h: New file.
63569         * lib/xstrndup.c: New file.
63570
63571 2003-08-17  Bruno Haible  <bruno@clisp.org>
63572
63573         * modules/strndup (Files, Include): Add lib/strndup.h.
63574
63575 2003-08-17  Bruno Haible  <bruno@clisp.org>
63576
63577         * modules/euidaccess (Files): Add lib/euidaccess.h.
63578
63579 2003-08-17  Bruno Haible  <bruno@clisp.org>
63580
63581         * lib/strndup.h: New file.
63582
63583 2003-08-17  Bruno Haible  <bruno@clisp.org>
63584
63585         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
63586         like AC_GNU_SOURCE.
63587         * modules/extensions (configure.ac): Comment out the invocation of
63588         gl_USE_SYSTEM_EXTENSIONS.
63589
63590 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63591
63592         Merges from coreutils, etc.
63593         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
63594         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
63595         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
63596         fixing a typo.
63597         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
63598         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
63599
63600 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63601
63602         Document merge from coreutils.
63603         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
63604         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
63605         * modules/utime: Add m4/utimes-null.m4.
63606
63607 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63608
63609         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
63610         space, undoing this 2003-08-12 change:
63611         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
63612
63613 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63614
63615         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
63616         strtoul.c from libc, undoing this 2003-08-12 change:
63617         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
63618
63619 2003-08-16  Jim Meyering  <jim@meyering.net>
63620
63621         Merges from coreutils.
63622         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
63623         prefix.  Adjust cache variables similarly.  Create 500 rather than
63624         just 300 files, to exercise bug on Darwin6.5, too.
63625         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
63626         $missing_dir.
63627         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
63628         AM_SYS_POSIX_TERMIOS.
63629         Reported by mkc@mathdogs.com.
63630         Also change use of $am_cv_sys_posix_termios
63631         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
63632         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
63633         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
63634         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
63635         in /proc/mounts until it finds one with matching device number.  This
63636         is unnecessary when the FILE argument *is* a mount point.  No stat call
63637         is necessary in that case.  So, disable the statvfs-testing code on
63638         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
63639         as RedHat bug# 84846.
63640         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
63641         to 1MB, so as not to render systems with no stack size limit (e.g.,
63642         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
63643         Include <unistd.h>.  On some systems,
63644         it is required for the definition of _SC_PAGESIZE.
63645
63646 2003-08-16  Jim Meyering  <jim@meyering.net>
63647
63648         Merge from coreutils.
63649         * lib/xstrtoimax.c: #else #if -> #elif.
63650         * lib/xstrtoumax.c: Likewise.
63651
63652 2003-08-16  Jim Meyering  <jim@meyering.net>
63653
63654         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
63655         * m4/utimes.m4: Removed.
63656         * m4/utimes-null.m4: Renamed from utimes.m4.
63657
63658         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
63659         to 1MB, so as not to render systems with no stack size limit (e.g.,
63660         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
63661         Include <unistd.h>.  On some systems,
63662         it is required for the definition of _SC_PAGESIZE.
63663
63664 2003-08-16  Jim Meyering  <jim@meyering.net>
63665         and Paul Eggert  <eggert@cs.ucla.edu>
63666
63667         Merges from coreutils, etc.
63668
63669         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
63670         using the latest version from cvs.  This avoids problems with #line
63671         directives using a vendor (Sun) compiler.
63672         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
63673         Don't set GETGROUPS_LIB here; now it's
63674         done via getgroups.m4's wrapper function.
63675         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
63676         rather than just in sh-util/configure.in, so that the
63677         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
63678         same.
63679         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
63680         AC_FUNC_GETLOADAVG where to find getloadavg.c.
63681         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
63682         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
63683         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
63684         Remove code that is now done by the newly-required macros.
63685         Append $(EXEEXT) to DF_PROG.
63686         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
63687         Do not invoke or require the following here,
63688         since prereq.m4 or some gnulib .m4 now does this for us:
63689         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
63690         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
63691         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
63692         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
63693         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
63694         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
63695         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
63696         AC_FUNC_OBSTACK.
63697         Do not replace the following functions, as this is now the job
63698         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
63699         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
63700         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
63701         atexit getpass, strdup, getpagesize.
63702         Replace 'raise'.
63703         Do not check for the following functions, as this is now the job
63704         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
63705         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
63706         setregid.
63707         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
63708         Check for sys/sysctl.h.
63709         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
63710         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
63711         of checking for ssize_t ourselves.
63712
63713         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
63714         Require every macro that gnulib/modules/* suggests for us.
63715         (jm_PREREQ_ADDEXT): New macro.
63716         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
63717         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
63718
63719         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
63720         (gl_PHYSMEM): Use it.
63721         Also check for `table' function.
63722         Check for new headers and functions.
63723         Add check for sys/sysmp.h.
63724         With suggestions from Kaveh Ghazi.
63725         Ignore headers that are present but cannot be compiled.  This
63726         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
63727         C 5.4.
63728
63729 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63730
63731         Document merge from coreutils.
63732         * modules/userspec: Depend on posixver.
63733         * modules/strftime: Depend on tzset.
63734
63735 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63736
63737         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
63738         rather than tab, after '#' in shell-script copyright notices.
63739         Suggested by Bruno Haible.
63740
63741 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63742
63743         * config/srclist-update: Use three spaces, rather than tab, after '#'
63744         in shell-script copyright notices.  Suggested by Bruno Haible.
63745         Remove unnecessary parenthesization in regular expression.
63746
63747 2003-08-15  Jim Meyering  <jim@meyering.net>
63748
63749         Merge from coreutils.
63750         * lib/xgethostname.c: Include <stdlib.h>.
63751         (xghostname): Don't exit for anything other than memory-related
63752         failure; just return NULL.
63753         * lib/userspec.c: Include "posixver.h".
63754         (parse_user_spec): Accept `.' as a separator only
63755         in pre-POSIX-200112 mode.
63756         * lib/strtoimax.c: Use #elif rather than #else #if.
63757         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
63758         Remove function, now that we can rely on a working tzset function.
63759         [!_LIBC]: Ensure that the required autoconf test has been run.
63760         [!defined _NL_CURRENT && HAVE_STRFTIME]:
63761         Use underlying_strftime for %r.
63762         * lib/sha.c: Merge in some clean-up and optimization changes from
63763         glibc.
63764         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
63765         Ensure that it is a multiple of 64.
63766         Rearrange loop exit tests so as to avoid performing an
63767         additional fread after encountering an error or EOF.
63768         * lib/realloc.c: Update copyright date.
63769
63770 2003-08-15  Jim Meyering  <jim@meyering.net>
63771         and Paul Eggert  <eggert@twinsun.com>
63772
63773         Merge from coreutils.
63774         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
63775         member but strut utmpx does not.  Needed for AIX 4.3.3.
63776         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
63777
63778 2003-08-15  Jim Meyering  <jim@meyering.net>
63779         and Paul Eggert  <eggert@cs.ucla.edu>
63780
63781         Merges from coreutils, etc.
63782         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
63783         Require gl_FUNC_TZSET_CLOBBER.
63784         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
63785         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
63786         members.
63787
63788 2003-08-14  Paul Eggert  <eggert@twinsun.com>
63789
63790         Help the merge from coreutils.
63791         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
63792         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
63793         * m4/tzset.m4: Use it too.
63794
63795 2003-08-14  Paul Eggert  <eggert@twinsun.com>
63796
63797         * modules/tzset: New file.
63798
63799 2003-08-14  Jim Meyering  <jim@meyering.net>
63800
63801         Merges from coreutils.
63802         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
63803         variable names, rather than @FNMATCH_H@.
63804         * modules/alloca: Likewise for $(ALLOCA_H).
63805
63806         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
63807         the three copies of the literal target, `fnmatch.h'.
63808         * modules/alloca (alloca.h): Likewise.
63809
63810 2003-08-14  Jim Meyering  <jim@meyering.net>
63811
63812         Merge from coreutils.
63813         * m4/tzset.m4: New file.
63814         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
63815         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
63816         otherwise, AIX 5.1 systems would end up using the latter.
63817         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
63818         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
63819         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
63820         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
63821
63822 2003-08-14  Jim Meyering  <jim@meyering.net>
63823
63824         Merge from coreutils.
63825         * lib/obstack.h: Whitespace changes.
63826         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
63827         and xcalloc return values.
63828         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
63829         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
63830         hang on OSF/1 5.1 for DIR on both local and remote file systems.
63831         Reported by (and fix confirmed by) Nelson H. F. Beebe.
63832         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
63833         error from mntctl.
63834         Use mntctl's return value to drive the entry-processing loop, since
63835         we can't rely on the value of the vmt_length member in the last
63836         entry.  On some systems doing so could result in exhausting
63837         virtual memory.  Based in part on a patch from Mike Jetzer.
63838
63839 2003-08-14  Jim Meyering  <jim@meyering.net>
63840         and Paul Eggert  <eggert@twinsun.com>
63841
63842         Merges from coreutils, plus other fixes.
63843         * lib/physmem.c: Merge in portability changes from gcc/libiberty
63844         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
63845         for credits and details.  Thanks to Kaveh Ghazi for helping
63846         to keep these files in sync.
63847         (ARRAY_SIZE): Define it.
63848         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
63849         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
63850         (memcasecmp): Don't assume size_t fits in unsigned int.
63851         Remove casts and duplicate code.
63852         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
63853         (memcpy): Remove definition.
63854         Merge in some clean-up and optimization changes from glibc.
63855         [BLOCKSIZE]: Move definition to top of file.
63856         Ensure that it is a multiple of 64.
63857         Rearrange loop exit tests so as to avoid performing an
63858         additional fread after encountering an error or EOF.
63859         * lib/md5.h (md5_uintptr): Define.
63860         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
63861         return to the initial working directory.  Preserve errno
63862         for caller.
63863         * lib/idcache.c: Include "xalloc.h".
63864         (xmalloc, xrealloc): Remove decls.
63865         (getuser): Remove casts no longer required in C89.
63866         * lib/human.c: Include stdio.h, for sprintf.
63867         * lib/group-member.c: Include "xalloc.h".
63868         (xmalloc, xrealloc): Remove decls.
63869         (get_group_info): Remove casts no longer required in C89.
63870         * lib/getusershell.c (readname): Remove casts no longer required in
63871         C89.
63872         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
63873         * lib/getline.c: Whitespace fix, from coreutils.
63874
63875 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63876
63877         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
63878         Check for isascii.
63879
63880         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
63881         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
63882         Undo previous (whitespace-only) change.
63883
63884 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63885
63886         * lib/exclude.c: Include <ctype.h>
63887         (IN_CTYPE_DOMAIN): New macro.
63888         (is_space): New fn.
63889         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
63890         and empty lines.
63891
63892         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
63893         Undo previous (whitespace-only) change.
63894
63895 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63896
63897         * config/srclist-update: Change update back to the old behavior,
63898         leaving whitespace alone.  Use one 'sed' command rather than a
63899         pipeline.
63900         (fixlicense): Now a variable, not a function.
63901         (remove_trailing_blanks): Remove.
63902         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
63903         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
63904         Undo previous (whitespace-only) change.
63905
63906 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63907
63908         Merge from coreutils.
63909         * modules/euidaccess: Add lib_SOURCES, include for new
63910         file euidaccess.h
63911
63912 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63913
63914         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
63915         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
63916         Normalize leading white space and remove trailing white space.
63917
63918         Merge from coreutils
63919         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
63920
63921         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
63922         0.12.1.  These files are now being upgraded automatically by
63923         ../config/srclist-update.
63924
63925 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63926
63927         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
63928         Normalize leading white space and remove trailing white space.
63929         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
63930         notice, as per ../config/srclist-update.
63931
63932         Merge from coreutils.
63933         * lib/euidaccess.h: New file.
63934         * lib/euidaccess.c: Include it.
63935         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
63936         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
63937         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
63938
63939 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63940
63941         * config/srclist-update: Add copyright notice.
63942         (remove_id_lines, remove_trailing_blanks): New constants.
63943         (fixfile): Use them to normalize spacing a bit in copied files.
63944         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
63945         Normalize leading white space and remove trailing white space.
63946
63947         * config/texinfo.tex: Sync with texinfo.
63948
63949         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
63950         strtoul.c from libc, to merge coreutils whitespace changes.
63951
63952         * config/srclist.txt: Get the following m4 files from gettext:
63953         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
63954         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
63955         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
63956         wint_t.m4.
63957
63958 2003-08-12  Karl Berry  <karl@gnu.org>
63959
63960         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
63961         been made.
63962
63963 2003-08-11  Paul Eggert  <eggert@twinsun.com>
63964
63965         * modules/gnu-source, m4/gnu-source.m4:
63966         Remove; we're assuming Autoconf 2.54 or later now.
63967         Suggested by Bruno Haible.
63968         * MODULES.html.sh (func_all_modules): Remove gnu-source.
63969
63970 2003-08-11  Bruno Haible  <bruno@clisp.org>
63971
63972         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
63973
63974 2003-08-11  Bruno Haible  <bruno@clisp.org>
63975
63976         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
63977         (vasnprintf): Use it instead of wcslen.
63978
63979 2003-08-11  Bruno Haible  <bruno@clisp.org>
63980
63981         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
63982         value to ensure that _Bool promotes to int. Use #define for _Bool when
63983         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
63984
63985 2003-08-10  Karl Berry  <karl@gnu.org>
63986
63987         * lib/regex.h: update from libc (whitespace fix).
63988
63989 2003-08-09  Paul Eggert  <eggert@twinsun.com>
63990
63991         Merge some files from coreutils.  These changes were
63992         originally made by Jim Meyering.
63993         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
63994         many older Unixes require this.
63995         * lib/alloca.c (alloca): Remove cast to argument of free;
63996         no longer needed in C89.
63997         * lib/alloca_.h, regex.h: Fix white space to match
63998         what GNU indent does.
63999
64000 2003-08-09  Paul Eggert  <eggert@twinsun.com>
64001
64002         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
64003         apparently Emacs's Unicode mode got confused before my 2003-08-05
64004         checkin.
64005
64006 2003-08-08  Paul Eggert  <eggert@twinsun.com>
64007
64008         * m4/extensions.m4: New file.
64009         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
64010         Require gl_USE_SYSTEM_EXTENSIONS.
64011         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
64012         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
64013
64014 2003-08-08  Paul Eggert  <eggert@twinsun.com>
64015
64016         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
64017         * modules/extensions, modules/gnu-source: New files.
64018         * modules/timespec, modules/unlocked-io: Depend on extensions.
64019
64020 2003-08-07  Paul Eggert  <eggert@twinsun.com>
64021
64022         * modules/restrict: New file.
64023         * MODULES.html.sh (func_all_modules): Add restrict.
64024         * modules/regex: Depend on restrict.
64025
64026 2003-08-07  Paul Eggert  <eggert@twinsun.com>
64027
64028         * m4/restrict.m4: New file.
64029         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
64030
64031 2003-08-07  Bruno Haible  <bruno@clisp.org>
64032
64033         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
64034         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
64035
64036 2003-08-07  Bruno Haible  <bruno@clisp.org>
64037
64038         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
64039         makes the module 'getndelim2' compatible with the module 'getline'.
64040
64041 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64042
64043         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
64044         byte with "\201" to avoid glitches when editing that source file
64045         with multi-gnome-terminal.
64046
64047 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64048
64049         * lib/bumpalloc.h: Remove.
64050
64051 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64052
64053         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
64054         * modules/bumpalloc: Remove.
64055
64056 2003-08-04  Paul Eggert  <eggert@twinsun.com>
64057
64058         * lib/getloadavg.c: Change copyright notice and spacing to conform to
64059         GNU coding style.
64060
64061         Merge from coreutils.
64062         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
64063         1. From glibc.
64064         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
64065         from Karl Berry, implemented by Jim Meyering.
64066         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
64067         from Dmitry V. Levin.
64068         Remove anachronistic cast of xrealloc.
64069         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
64070         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
64071         type. Otherwise, it wouldn't compile with at least /bin/cc on
64072         ymp-cray-unicos9.0.2.X.
64073         Combine two mostly-identical uses of alloca into one.
64074         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
64075
64076 2003-08-04  Dave Love  <d.love@dl.ac.uk>
64077
64078         [From Emacs.]
64079
64080         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
64081         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
64082         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
64083         obsolete NLIST_NAME_UNION.
64084         [__GNU__]: Undef BSD and FSCALE.
64085         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
64086
64087 2003-08-03  Paul Eggert  <eggert@twinsun.com>
64088
64089         * lib/stdbool_.h (_Bool): Make it signed char, instead of
64090         an enum type, so that it's guaranteed to promote to int.  See:
64091         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
64092
64093 2003-08-03  Karl Berry  <karl@gnu.org>
64094
64095         * config/depcomp: update from automake.
64096
64097 2003-07-31  Paul Eggert  <eggert@twinsun.com>
64098
64099         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
64100         (strerror): Don't assume that a printable int fits in 14 bytes.
64101
64102 2003-07-31  Bruno Haible  <bruno@clisp.org>
64103
64104         * modules/getpass-gnu: New file.
64105         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
64106
64107 2003-07-31  Bruno Haible  <bruno@clisp.org>
64108
64109         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
64110
64111 2003-07-24  Karl Berry  <karl@gnu.org>
64112
64113         * config/missing: update from automake.
64114
64115 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
64116             Bruno Haible  <bruno@clisp.org>
64117
64118         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
64119         * lib/getline.c (getline, getdelim): Likewise.
64120         Remove _GNU_SOURCE define; now it's defined in config.h through
64121         m4/getline.m4.
64122
64123 2003-07-23  Karl Berry  <karl@gnu.org>
64124
64125         * config/config.sub: update from prep.
64126
64127 2003-07-22  Paul Eggert  <eggert@twinsun.com>
64128
64129         * modules/xalloc (Depends-on): Add exitfail.
64130         * modules/xmemcoll: Likewise.
64131
64132 2003-07-22  Paul Eggert  <eggert@twinsun.com>
64133
64134         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
64135         over-parenthesization in macros.
64136
64137         Sync with coreutils.
64138
64139         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
64140         required by C99.
64141
64142         Use `exit_failure' for xalloc and xmemcoll instead of their own
64143         private exit-failure variables.
64144         * lib/xalloc.h (xalloc_exit_failure): Remove.
64145         * lib/xmalloc.c: Likewise.  Include exitfail.h.
64146         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
64147         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
64148         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
64149         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
64150
64151 2003-07-20  Jim Meyering  <jim@meyering.net>
64152
64153         * modules/closeout (Depends-on): Add exitfail.
64154         Suggestion from Bruno Haible.
64155
64156 2003-07-19  Karl Berry  <karl@gnu.org>
64157
64158         * config/config.sub: update from prep.
64159
64160 2003-07-18  Paul Eggert  <eggert@twinsun.com>
64161
64162         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
64163         Remove.
64164         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
64165         to test that it can stand by itself.  Include "exitfail.h".
64166         Clients should set exit_failure instead.
64167         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
64168
64169 2003-07-18  Bruno Haible  <bruno@clisp.org>
64170
64171         * modules/getndelim2: New file.
64172         * modules/getline: Share files with module getndelim2.
64173         * modules/getnline: Depend on getndelim2 instead of sharing files with
64174         it. Add getnline.c to lib_SOURCES.
64175         * MODULES.html.sh (func_all_modules): Add getndelim2.
64176
64177 2003-07-18  Bruno Haible  <bruno@clisp.org>
64178
64179         * m4/getndelim2.m4: New file.
64180         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
64181         invoke gl_PREREQ_GETNDELIM2.
64182         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
64183         gl_PREREQ_GETNDELIM2.
64184         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
64185         gl_GETNDELIM2.
64186
64187 2003-07-18  Bruno Haible  <bruno@clisp.org>
64188
64189         * lib/getndelim2.h: New file.
64190         * lib/getndelim2.c: Make into a module of its own. Include config.h,
64191         getndelim2.h.
64192         (getndelim2): Make non-static. Change return type to ssize_t.
64193         * lib/getline.h: Change argument names.
64194         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
64195         * lib/getnline.c: Include getndelim2.h.
64196
64197 2003-07-18  Andreas Schwab  <schwab@suse.de>
64198
64199         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
64200
64201 2003-07-17  Karl Berry  <karl@gnu.org>
64202
64203         * config/config.sub: update from prep.
64204
64205 2003-07-17  Bruno Haible  <bruno@clisp.org>
64206
64207         * modules/getnline: New file.
64208         * modules/getline: Add lib/getndelim2.c to source file list.
64209         * MODULES.html.sh (func_all_modules): Add getnline.
64210
64211 2003-07-17  Bruno Haible  <bruno@clisp.org>
64212
64213         * m4/getnline.m4: New file.
64214
64215 2003-07-17  Bruno Haible  <bruno@clisp.org>
64216
64217         * m4/Makefile.am.in: Remove file.
64218         * m4/Makefile.am: Remove file.
64219         * m4/Makefile.in: Remove file.
64220
64221 2003-07-17  Bruno Haible  <bruno@clisp.org>
64222
64223         * lib/getnline.h: New file.
64224         * lib/getnline.c: New file.
64225         * lib/getndelim2.c: New file, extracted from getline.c.
64226         (getndelim2): Renamed from getdelim2, with added nmax argument.
64227         * lib/getline.c: Include getndelim2.c.
64228         (getdelim2): Moved out to getndelim2.c.
64229         (getline, getdelim): Update.
64230
64231 2003-07-17  Bruno Haible  <bruno@clisp.org>
64232
64233         * lib/Makefile.am: Remove file.
64234         * lib/Makefile.in: Remove file.
64235
64236 2003-07-17  Bruno Haible  <bruno@clisp.org>
64237
64238         * configure.in: Remove file.
64239         * Makefile.in: Remove file.
64240
64241 2003-07-17  Bruno Haible  <bruno@clisp.org>
64242
64243         * MODULES.html.sh: Put the </BODY> right before </HTML>.
64244
64245 2003-07-16  Karl Berry  <karl@gnu.org>
64246
64247         * config/srclist-update: was running fixlicense twice, which caused
64248                 texinfo.tex to be nullified for some reason.  Simplify,
64249                 $gplsrc is no longer needed as far as I can see?
64250
64251 2003-07-16  Jim Meyering  <jim@meyering.net>
64252
64253         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
64254
64255 2003-07-15  Paul Eggert  <eggert@twinsun.com>
64256
64257         * config/srclist.txt: Get the following files from gettext-runtime/intl
64258         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
64259         ref-del.sin.  From Bruno Haible.
64260         * config/srclist-update (fixfile): Change grep pattern again, since the
64261         previous fix didn't work (there was another trailing $).  Use
64262         '[$]' to escape the $s.
64263
64264 2003-07-15  Karl Berry  <karl@gnu.org>
64265
64266         * lib/vasnprintf.c: update from gettext.
64267
64268 2003-07-15  Karl Berry  <karl@gnu.org>
64269
64270         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
64271         gets expanded when surrounded by '$'.
64272
64273 2003-07-15  Jim Meyering  <jim@meyering.net>
64274
64275         * modules/save-cwd: Don't depend on error.  From Derek Price.
64276
64277 2003-07-15  Jim Meyering  <jim@meyering.net>
64278
64279         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
64280
64281 2003-07-14  Simon Josefsson  <jas@extundo.com>
64282
64283         * modules/mempcpy: New file.
64284         * MODULES.html.sh (func_all_modules): Add mempcpy.
64285
64286 2003-07-14  Simon Josefsson  <jas@extundo.com>
64287
64288         * m4/mempcpy.m4: New file.
64289
64290 2003-07-14  Simon Josefsson  <jas@extundo.com>
64291
64292         * lib/mempcpy.h: New file.
64293         * lib/mempcpy.c: New file.
64294
64295 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64296
64297         * modules/getdate, modules/posixtm: Depend on mktime.
64298
64299 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64300
64301         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
64302         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
64303         unicodeio.c, unicodeio.h, unlocked-io.h:
64304         Switch from LGPL to GPL.
64305
64306 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64307
64308         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
64309         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
64310         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
64311         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
64312         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
64313         updated automatically by ../config/srclist-update.  This changes
64314         their license from LPGL to GPL.
64315
64316 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64317
64318         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
64319         assumed to refer to the root of the most recent stable gettext version.
64320         * config/srclistvars.sh: Add defaults for eggert.
64321         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
64322         Match "This program" as well as "The program".  This is needed
64323         for gettext.
64324
64325 2003-07-14  Jim Meyering  <jim@meyering.net>
64326
64327         Don't emit diagnostics.  Let callers do that.
64328         * lib/save-cwd.c: Don't include "error.h".
64329         (save_cwd): Don't call error.  Ensure that errno is valid
64330         when returning nonzero.
64331
64332         * lib/save-cwd.h (restore_cwd): Update prototype.
64333         * lib/save-cwd.c (restore_cwd): Remove two parameters.
64334         Simplify.  Don't call error upon failure.  Let callers do that.
64335         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
64336         when auditing is enabled.  But don't bother updating the #if.
64337
64338 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
64339
64340         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
64341         it breaks C++ compilation.
64342         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
64343
64344 2003-07-10  Simon Josefsson  <jas@extundo.com>
64345
64346         * modules/strchrnul (Makefile.am): Add strchrnul.h.
64347
64348 2003-07-10  Jim Meyering  <jim@meyering.net>
64349
64350         * m4/clock_time.m4: Remove trailing blank.
64351         * m4/intmax_t.m4: Likewise.
64352
64353 2003-07-10  Jim Meyering  <jim@meyering.net>
64354
64355         * lib/vasnprintf.c: Remove trailing blanks.
64356         Make cpp indentation consistent.
64357
64358 2003-07-09  Paul Eggert  <eggert@twinsun.com>
64359
64360         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
64361         posixver.c, strftime.c, strnlen.c, strverscmp.c:
64362         Switch from LGPL to GPL.
64363
64364 2003-07-09  Paul Eggert  <eggert@twinsun.com>
64365
64366         * config/srclist.txt: Sort sublists.  Add
64367         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
64368         that differ from gnulib for one reason or another; we'd like this list
64369         to be smaller but for now let's document what we have.
64370
64371 2003-07-08  Paul Eggert  <eggert@twinsun.com>
64372
64373         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
64374         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
64375         and sweeter "eval x=$x".
64376         * config/srclist.txt: Get lib/argp* from glibc.
64377
64378 2003-07-07  Paul Eggert  <eggert@twinsun.com>
64379
64380         * lib/mktime.c: Fix some boundary cases and remove need for floating
64381         point.
64382
64383         Issue a compile-time diagnostic if time_t is floating point, or if
64384         two's complement arithmetic is not in effect, or if arithmetic
64385         right shift does not propagate the sign.  These assumptions were
64386         all in the original code but they weren't checked.
64387
64388         (TIME_T_MIDPOINT, verify): New macros.
64389         (__isleap): Remove; it has integer overflow problems.
64390         (leapyear): New function, without those problems.
64391         (ydhms_tm_diff): Remove; splitting into two parts.
64392         (ydhms_diff): New function, containing the arithmetic part of
64393         the old ydhms_tm_diff function.  Issue a compile-time
64394         diagnostic if we are not using C99 integer division.
64395         Avoid casts when possible.
64396         (guess_time_tm): New function, containing the checking part of
64397         the old ydhms_tm_diff function.  Return the new value, rather than
64398         the difference between it and the old.  Accept a new argument T
64399         so that *T specifies the old value.  Check for overflow in the result.
64400
64401         (__mktime_internal): Use a time_t offset, not a long int offset.
64402         This undoes the 2003-06-04 change, which is no longer needed now
64403         that we have better overflow checking.
64404         (localtime_offset): Likewise.
64405
64406         (__mktime_internal): Avoid harmful overflow on hosts where time_t
64407         and long are 64-bit but int is only 32-bit.
64408         (ydhms_diff): Use long int to store year1 and yday1.
64409         Issue a compile-time diagnostic if long int is not wide enough.
64410
64411         (__mktime_internal): Use long int to store adjusted year and yday.
64412         Use plain C rather than preprocessor commands, if that doesn't
64413         affect efficiency.
64414         Check for overflow (and try to repair) after each probe
64415         rather than checking only at the very end.  This avoids some bugs
64416         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
64417         does not equal GMT offset at maximum time).
64418         Use integer to check for overflow rather than floating point; this
64419         is more portable to non-IEEE hosts, and is a tad faster.
64420         When we detect that we are oscillating between two values,
64421         don't check whether tm_isdst has the requested value, since
64422         we already know the answer.  When tm_isdst has the wrong value,
64423         use a different heuristic to find the right one, based on the
64424         extreme values actually observed in practice in tz2003a,
64425         rather than the (overly optimistic) "previous 3 calendar quarters".
64426
64427         (not_equal_tm, print_tm, check_result): Use "const T" rather than
64428         "T const" to accommodate glibc style.
64429         (check_result): Use less-confusing report format.  "long" -> "long int.
64430         (main): Likewise.
64431         Don't loop if the iteration overflows time_t.
64432         Allow a negative step in the iteration.
64433
64434 2003-07-06  Karl Berry  <karl@gnu.org>
64435
64436         * config/depcomp: update from automake.
64437         * config/config.sub: update from prep.
64438
64439 2003-07-03  Karl Berry  <karl@gnu.org>
64440
64441         * config/config.guess: update from prep.
64442
64443 2003-07-01  Paul Eggert  <eggert@twinsun.com>
64444
64445         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
64446         xreadlink.c now includes it unconditionally.
64447
64448 2003-07-01  Paul Eggert  <eggert@twinsun.com>
64449
64450         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
64451         having it depend on HAVE_SYS_TYPES_H.
64452
64453 2003-07-01  Bruno Haible  <bruno@clisp.org>
64454
64455         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
64456         <sys/types.h> should be sufficient.
64457         Reported by Paul Eggert.
64458
64459 2003-06-26  Karl Berry  <karl@gnu.org>
64460
64461         * config/depcomp: update from automake.
64462
64463 2003-06-26  Bruno Haible  <bruno@clisp.org>
64464
64465         * modules/human: Depend on module stdbool.
64466
64467 2003-06-25  Bruno Haible  <bruno@clisp.org>
64468
64469         * modules/readlink: New file.
64470         * modules/xreadlink: Depend on it.
64471         * MODULES.html.sh (func_all_modules): Add readlink.
64472
64473 2003-06-25  Bruno Haible  <bruno@clisp.org>
64474
64475         * m4/readlink.m4: New file.
64476
64477 2003-06-25  Bruno Haible  <bruno@clisp.org>
64478
64479         * lib/readlink.c: New file.
64480
64481 2003-06-22  Karl Berry  <karl@gnu.org>
64482
64483         * config/srclist.txt: update mkinstalldirs from automake.
64484         * config/mkinstalldirs: update.
64485
64486 2003-06-22  Bruno Haible  <bruno@clisp.org>
64487
64488         Portability to mingw32.
64489         * m4/ssize_t.m4: New file, from GNU gettext.
64490         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
64491         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
64492
64493 2003-06-22  Bruno Haible  <bruno@clisp.org>
64494
64495         * modules/safe-read: Add m4/ssize_t.m4.
64496         * modules/xreadlink: Add m4/ssize_t.m4.
64497
64498 2003-06-20  Bruno Haible  <bruno@clisp.org>
64499
64500         Assume C89, so PARAMS isn't needed.
64501         * lib/unicodeio.h (PARAMS): Remove.
64502         * lib/unicodeio.c: Don't use PARAMS.
64503
64504 2003-06-18  Karl Berry  <karl@gnu.org>
64505
64506         * config/config.{guess,sub}: update from prep.
64507
64508 2003-06-18  Jim Meyering  <jim@meyering.net>
64509
64510         Merge changes from coreutils.
64511         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
64512         Remove explicit declarations of xmalloc and realloc.
64513         Include xalloc.h.
64514         (read_utmp): Remove anachronistic cast of xmalloc.
64515
64516 2003-06-17  Paul Eggert  <eggert@twinsun.com>
64517
64518         Assume C89, so PARAMS isn't needed.
64519         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
64520         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
64521         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
64522         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
64523         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
64524         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
64525         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
64526         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
64527         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
64528         lib/xstrtod.h, lib/xstrtol.h: Likewise.
64529         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
64530         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
64531         no longer needed. Anyway, config.h should always be included before any
64532         other file.
64533
64534 2003-06-11  Simon Josefsson  <jas@extundo.com>
64535
64536         * modules/sysexits: New file.
64537         * MODULES.html.sh (func_all_modules): Add sysexits.
64538
64539 2003-06-11  Simon Josefsson  <jas@extundo.com>
64540
64541         * lib/sysexit_.h: New file.
64542
64543 2003-06-11  Derek Price  <derek@ximbiot.com>
64544
64545         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
64546         necessary.
64547
64548 2003-06-11  Bruno Haible  <bruno@clisp.org>
64549
64550         * m4/sysexits.m4: New file.
64551
64552 2003-06-10  Simon Josefsson  <jas@extundo.com>
64553
64554         * lib/argp.h: New file, from glibc.
64555         * lib/argp-ba.c: New file, from glibc.
64556         * lib/argp-eexst.c: New file, from glibc.
64557         * lib/argp-fmtstream.c: New file, from glibc.
64558         * lib/argp-fmtstream.h: New file, from glibc.
64559         * lib/argp-fs-xinl.c: New file, from glibc.
64560         * lib/argp-help.c: New file, from glibc.
64561         * lib/argp-namefrob.h: New file, from glibc.
64562         * lib/argp-parse.c: New file, from glibc.
64563         * lib/argp-pv.c: New file, from glibc.
64564         * lib/argp-pvh.c: New file, from glibc.
64565         * lib/argp-xinl.c: New file, from glibc.
64566
64567 2003-06-10  Simon Josefsson  <jas@extundo.com>
64568
64569         * modules/strchrnul: New file.
64570
64571 2003-06-10  Simon Josefsson  <jas@extundo.com>
64572
64573         * modules/argp: New file.
64574
64575 2003-06-10  Simon Josefsson  <jas@extundo.com>
64576
64577         * m4/strchrnul.m4: New file.
64578
64579 2003-06-10  Simon Josefsson  <jas@extundo.com>
64580
64581         * lib/strchrnul.h: New file.
64582         * lib/strchrnul.c: New file.
64583
64584 2003-06-10  Bruno Haible  <bruno@clisp.org>
64585
64586         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
64587
64588 2003-06-07  Karl Berry  <karl@gnu.org>
64589
64590         * config/config.{guess,sub}: update from prep.
64591
64592 2003-06-07  Jim Meyering  <jim@meyering.net>
64593
64594         * modules/strtod: Use $(...) notation, not @...@ for
64595         AC_REPLACE'd variables.
64596         * modules/localcharset: Likewise.
64597
64598 2003-06-07  Jim Meyering  <jim@meyering.net>
64599
64600         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
64601         in place of my name in the copyright comment.
64602         Remove definition and uses of __P.
64603
64604         From coreutils.
64605         * lib/stat.c: Don't declare xmalloc explicitly.
64606         Instead, include "xalloc.h".
64607         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
64608         xrealloc, and xcalloc return values.
64609         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
64610         Improve comment.
64611         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
64612
64613 2003-06-07  Bruno Haible  <bruno@clisp.org>
64614
64615         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
64616         avoid AC_CONFIG_LINKS.
64617         * modules/fnmatch (Makefile.am): Use explicit creation rule for
64618         fnmatch.h, to avoid AC_CONFIG_LINKS.
64619         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
64620
64621 2003-06-07  Bruno Haible  <bruno@clisp.org>
64622
64623         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
64624         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
64625         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
64626         directory.
64627         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
64628         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
64629         directory.
64630
64631 2003-06-06  Jim Meyering  <jim@meyering.net>
64632
64633         Merge from coreutils.
64634         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
64635         Consolidate declarations and initializations of *_base* locals.
64636
64637         Merge from coreutils.
64638         This avoids a core dump on systems without GNU putenv,
64639         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
64640         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
64641         (unsetenv): New static function, from GNU libc.
64642         (rpl_putenv): Use it.
64643
64644         * lib/modechange.c: Remove trailing blanks.
64645
64646         Merge from coreutils.
64647         * lib/fsusage.c: Remove declaration of statfs.
64648         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
64649
64650         * lib/posixtm.c: Include <stdbool.h> unconditionally.
64651
64652 2003-06-06  Jim Meyering  <jim@meyering.net>
64653
64654         * lib/stdbool_.h: Renamed from stdbool.h.in.
64655
64656 2003-06-06  Jim Meyering  <jim@meyering.net>
64657             Bruno Haible  <bruno@clisp.org>
64658
64659         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
64660         Adjust Makefile.am snippet not to redirect directly to target.
64661         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
64662
64663 2003-06-05  Paul Eggert  <eggert@twinsun.com>
64664
64665         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
64666         mismatch, look in future quarters as well as past.  This fixes a
64667         bug when processing fall-backwards gaps immediately after a long
64668         period of daylight-saving time.
64669
64670         * lib/mktime.c: Assume freestanding C89 or better.
64671         (HAVE_LIMITS_H): Remove.  Assume it's 1.
64672         (__P): Remove; not used.
64673         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
64674         (mktime, not_equal_tm, print_tm, check_result,
64675         main): Use prototypes.  Use const * where appropriate.
64676         (main): Fix typo in testing code that uncovered by above changes.
64677         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
64678
64679 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64680
64681         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
64682         locale.h, localeconv.  This merges changes from coreutils.
64683
64684         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
64685         It can be removed after the next Autoconf is released.
64686         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
64687         needed.
64688
64689 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64690
64691         * lib/mktime.c: Fix Debian bug 177940
64692         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
64693         (localtime_offset): Now long int, not time_t, because we want it
64694         to be guaranteed to be signed.  All uses changed.
64695         (__mktime_internal): If overflow would occur when adding offset,
64696         don't add it.
64697
64698         Merge 'human' changes from coreutils.  Rewrite to support
64699         locale-specific notations like thousands separators.
64700         * lib/human.c: Simplify authorship notice.
64701         Include human.h immediately after config.h.
64702         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
64703         <limits.h>: Do not include, since human.h does.
64704         (SIZE_MAX, UINTMAX_MAX): New macros.
64705         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
64706         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
64707         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
64708         (power_letter): Renamed from suffixes.
64709         (generate_suffix_backwards): Remove.
64710         (adjust_value): Now takes int style (because of human.h changes)
64711         and long double value (for greater precision on some platforms).
64712         (group_number): New function.
64713         (human_readable): Use it.  Use integer options, not enum.
64714         Put the options before the sizes in the arg list.
64715         Support all the new options.
64716         The old human_readable function has been removed;
64717         use inttostr.h instead.
64718         (human_readable, default_block_size, humblock):
64719         Use uintmax_t, not int, for block sizes.
64720         (human_readable_inexact, block_size_types): Remove.
64721         (block_size_opts): New constant.
64722         (human_options): Renamed from human_block_size, with new signature
64723         that allows block sizes up to UINTMAX_MAX.  All callers changed.
64724         * lib/human.h: Add copyright and authorship notice.
64725         Include <limits.h> and <stdbool.h> unconditionally.
64726         (PARAMS): Remove.  All uses removed.
64727         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
64728         (enum human_inexact_style): Remove tag; now a nameless enum.
64729         (human_floor, human_ceiling, human_round_to_even): Now have
64730         values 2, 0, 1 rather than -1, 1, 0.
64731         (human_group_digits, human_suppress_point_zero, human_autoscale,
64732         human_base_1024, human_SI, human_B): New constants.
64733         (human_readable_inexact, human_block_size): Remove.
64734         (human_readable): Size args are now uintmax_t, not int.
64735         (human_options): New decl.
64736
64737         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
64738         unnecessary now that we assume C89 or better.  This change
64739         imported from coreutils.
64740
64741         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
64742         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
64743         in the 2003-05-30 sync from glibc.
64744
64745         .h files should stand alone, but we shouldn't include <sys/types.h>
64746         if we can get away with just <stddef.h>.
64747
64748         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
64749         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
64750         rather than <sys/types.h>, as we merely need size_t.
64751         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
64752         to get size_t.
64753         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
64754         Include <stdio.h>, to get FILE.
64755         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
64756         memcasecmp.h has included <stddef.h> and all we need is size_t.
64757         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
64758         our interface, instead of including <sys/types.h>
64759
64760 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64761
64762         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
64763         now, as glibc mktime is buggy on non-glibc systems.
64764
64765 2003-06-03  Karl Berry  <karl@gnu.org>
64766
64767         * config/config.sub: update from prep.
64768
64769 2003-06-02  Paul Eggert  <eggert@twinsun.com>
64770
64771         [from coreutils]
64772         Fix some minor time-related bugs with POSIX time arguments.
64773         Some valid time stamps were being rejected (notably -1, and
64774         time stamps before 1900 on 64-bit hosts).  And some invalid
64775         time stamps were being accepted, e.g. September 31.
64776
64777         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
64778         that we can return (time_t) -1 successfully.
64779         * lib/posixtm.c: Likewise.
64780         [HAVE_STDBOOL_H]: Include <stdbool.h>.
64781         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
64782         (t): Remove static var.
64783         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
64784         of static var.  All uses changed.
64785         (year): Do not reject years before 1900; they can occur with
64786         64-bit time_t.
64787         (posix_time_parse): Do not check for out-of-range components;
64788         that is now the caller's responsibility, since our checks were
64789         only approximations.
64790         (posixtime): Use mktime to check for out-of-range components,
64791         since it knows them exactly.
64792         If mktime returns (time_t) -1, check whether an error actually occurred
64793         by invoking localtime on -1.
64794         (main) [TEST_POSIXTIME]: Check for input data errors, and report
64795         posixtime failures better.
64796         Improve the test data (in comments only).
64797
64798 2003-06-02  Karl Berry  <karl@gnu.org>
64799
64800         * config/mkinstalldirs (version): new variable.
64801         (--version): new option.
64802         (usage): improve message.
64803
64804 2003-05-30  Karl Berry  <karl@gnu.org>
64805
64806         * lib/mktime.c: update from libc.
64807
64808 2003-05-30  Bruno Haible  <bruno@clisp.org>
64809
64810         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
64811         * config/config.rpath: Upgrade to gettext-0.12.1.
64812
64813 2003-05-30  Bruno Haible  <bruno@clisp.org>
64814
64815         * m4/gettext.m4: Upgrade to gettext-0.12.1.
64816         * m4/nls.m4: New file, from gettext-0.12.1.
64817         * m4/po.m4: New file, from gettext-0.12.1.
64818         * m4/progtest.m4: Upgrade to gettext-0.12.1.
64819
64820 2003-05-30  Bruno Haible  <bruno@clisp.org>
64821
64822         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
64823         * lib/localcharset.h: Likewise.
64824         * lib/localcharset.c: Likewise.
64825
64826 2003-05-29  Karl Berry  <karl@gnu.org>
64827
64828         * config/config.rpath: update from gettext.
64829
64830 2003-05-28  Paul Eggert  <eggert@twinsun.com>
64831
64832         Assume the headers required for C89 freestanding compilers.
64833         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
64834         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
64835         * m4/human.m4 (gl_HUMAN): Likewise.
64836         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
64837         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
64838         * m4/userspec.m4 (gl_USERSPEC): Likewise.
64839         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
64840         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
64841         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
64842
64843 2003-05-28  Paul Eggert  <eggert@twinsun.com>
64844
64845         Assume the headers required for C89 freestanding compilers.
64846         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
64847         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
64848         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
64849         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
64850         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
64851         define, since <limits.h> is guaranteed to do that.
64852         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
64853         * lib/exclude.c: Include <stdbool.h> unconditionally.
64854         * lib/tempname.c: Include <stddef.h> unconditionally.
64855         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
64856         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
64857         <stddef.h> does that.
64858         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
64859         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
64860         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
64861         needed.
64862         * lib/xstrtol.c: Likewise.
64863         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
64864         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
64865
64866         * lib/addext.c (addext): Use assignment rather than cast, to avoid
64867         warnings on some platforms.
64868
64869         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
64870         arbitrarily.
64871
64872 2003-05-26  Jim Meyering  <jim@meyering.net>
64873
64874         Merge in a change from coreutils:
64875         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
64876         that is guaranteed to be `no'.  Use `no_such_member' to indicate
64877         that condition, rather than `-1' which is slightly misleading.
64878         Change the name of the cache variable to have the gl_ prefix.
64879         Prompted by a patch from Richard Dawe for DJGPP.
64880
64881 2003-05-24  Karl Berry  <karl@gnu.org>
64882
64883         * config/config.guess: update from prep.
64884
64885 2003-05-22  Karl Berry  <karl@gnu.org>
64886
64887         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
64888
64889 2003-05-20  Karl Berry  <karl@gnu.org>
64890
64891         * config/config.guess: update from prep.
64892
64893 2003-05-18  Karl Berry  <karl@gnu.org>
64894
64895         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
64896         might actually be set by the user.
64897
64898         * config/depcomp, install-sh, mdate-sh: update from automake.
64899
64900 2003-05-17  Bruno Haible  <bruno@clisp.org>
64901
64902         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
64903         invalid expansion for AC_EGREP_CPP.
64904         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
64905         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
64906         Suggested by Akim Demaille <akim@epita.fr> in
64907         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
64908
64909 2003-05-12  Jim Meyering  <jim@meyering.net>
64910
64911         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
64912         the space-padded-by-default conversion specifiers, %e, %k, %l.
64913
64914 2003-05-12  Bruno Haible  <bruno@clisp.org>
64915
64916         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
64917         the string is longer than 4 KB.
64918
64919 2003-05-11  Karl Berry  <karl@gnu.org>
64920
64921         * config/config.{guess,sub}: update from prep.
64922
64923 2003-05-09  Bruno Haible  <bruno@clisp.org>
64924
64925         * modules/error: Add m4/strerror_r.m4 to file list.
64926
64927 2003-05-03  Bruno Haible  <bruno@clisp.org>
64928
64929         Upgrade to Unicode-4.0.
64930         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
64931         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
64932         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
64933         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
64934         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
64935         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
64936         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
64937         Change width of U+E0100..U+E01EF from 1 to 0.
64938
64939 2003-04-25  Jim Meyering  <jim@meyering.net>
64940
64941         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
64942         of type size_t, not int.
64943
64944 2003-04-25  Bruno Haible  <bruno@clisp.org>
64945
64946         * lib/copy-file.c: Include <stddef.h>, for size_t.
64947
64948 2003-04-21  Paul Eggert  <eggert@twinsun.com>
64949
64950         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
64951         code which expansion is under static control.  Patch imported from
64952         Akim Demaille's patch to Bison; see
64953         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
64954
64955 2003-04-14  Bruno Haible  <bruno@clisp.org>
64956
64957         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
64958
64959 2003-04-11  Jim Meyering  <jim@meyering.net>
64960
64961         Merge changes from Coreutils.
64962
64963         2003-03-22  Jim Meyering  <jim@meyering.net>
64964
64965         * lib/strftime.c (widen): Cast alloca return value to proper type.
64966
64967         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
64968
64969         From GNU libc.
64970         * lib/strftime.c (my_strftime): Handle very large width
64971         specifications for numeric values correctly.  Improve checks for
64972         overflow.
64973
64974         2003-01-19  Jim Meyering  <jim@meyering.net>
64975
64976         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
64977         definitions.
64978         (nl_get_alt_digit) [! defined my_strftime]: Define.
64979         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
64980         _nl_get_alt_digit and _nl_get_walt_digit.
64981
64982         * lib/strftime.c (my_strftime): Merge in locale-related changes from
64983         libc. These changes have no effect outside of _LIBC.
64984
64985 2003-04-10  Bruno Haible  <bruno@clisp.org>
64986
64987         * modules/findprog: New file.
64988         * MODULES.html.sh (func_all_modules): Add it.
64989
64990 2003-04-10  Bruno Haible  <bruno@clisp.org>
64991
64992         * m4/findprog.m4: New file.
64993         * m4/eaccess.m4: New file.
64994
64995 2003-04-10  Bruno Haible  <bruno@clisp.org>
64996
64997         * lib/findprog.h: New file, from GNU gettext.
64998         * lib/findprog.c: New file, from GNU gettext.
64999
65000 2003-04-05  Jim Meyering  <jim@meyering.net>
65001
65002         Merge changes from Coreutils.
65003
65004         * lib/exclude.h (PARAMS): Remove definition and uses.
65005         * lib/exclude.c: Remove uses of `PARAMS'.
65006
65007         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
65008         Add test-cases for DOS filenames. Declare program_name.
65009         (main): Set up program_name.  Patch by Rich Dawe.
65010
65011         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
65012         error from mntctl.
65013         Use mntctl's return value to drive the entry-processing loop, since
65014         we can't rely on the value of the vmt_length member in the last
65015         entry.  On some systems doing so could result in exhausting
65016         virtual memory.  Based in part on a patch from Mike Jetzer.
65017
65018 2003-04-04  Bruno Haible  <bruno@clisp.org>
65019
65020         * modules/linebreak: New file.
65021         * MODULES.html.sh (func_all_modules): Add it.
65022
65023 2003-04-04  Bruno Haible  <bruno@clisp.org>
65024
65025         * m4/linebreak.m4: New file.
65026
65027 2003-04-04  Bruno Haible  <bruno@clisp.org>
65028
65029         * lib/linebreak.h: New file, from GNU gettext.
65030         * lib/linebreak.c: New file, from GNU gettext with slight
65031         modifications.
65032         * lib/lbrkprop.h: New file, from GNU gettext.
65033
65034 2003-04-03  Bruno Haible  <bruno@clisp.org>
65035
65036         * modules/utf8-ucs4: New file.
65037         * modules/utf16-ucs4: New file.
65038         * modules/ucs4-utf8: New file.
65039         * modules/ucs4-utf16: New file.
65040         * MODULES.html.sh (func_all_modules): Add them.
65041
65042 2003-04-03  Bruno Haible  <bruno@clisp.org>
65043
65044         * m4/utf-ucs4.m4: New file.
65045         * m4/ucs4-utf.m4: New file.
65046
65047 2003-04-03  Bruno Haible  <bruno@clisp.org>
65048
65049         * lib/utf8-ucs4.h: New file, from GNU gettext.
65050         * lib/utf16-ucs4.h: New file, from GNU gettext.
65051         * lib/ucs4-utf8.h: New file, from GNU gettext.
65052         * lib/ucs4-utf16.h: New file, from GNU gettext.
65053
65054 2003-04-02  Bruno Haible  <bruno@clisp.org>
65055
65056         * modules/binary-io: New file.
65057         * MODULES.html.sh (func_all_modules): Add it.
65058
65059 2003-04-02  Bruno Haible  <bruno@clisp.org>
65060
65061         * lib/binary-io.h: New file, from GNU gettext.
65062
65063 2003-04-01  Bruno Haible  <bruno@clisp.org>
65064
65065         * modules/pathname: New file.
65066         * MODULES.html.sh (func_all_modules): Add it.
65067
65068 2003-04-01  Bruno Haible  <bruno@clisp.org>
65069
65070         * lib/pathname.h: New file, from GNU gettext.
65071         * lib/concatpath.c: New file, from GNU gettext.
65072
65073 2003-03-30  Bruno Haible  <bruno@clisp.org>
65074
65075         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
65076
65077 2003-03-30  Bruno Haible  <bruno@clisp.org>
65078
65079         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
65080         function chown() doesn't exist.
65081
65082 2003-03-28  Bruno Haible  <bruno@clisp.org>
65083
65084         * modules/copy-file: New file.
65085         * MODULES.html.sh (func_all_modules): Add it.
65086
65087 2003-03-28  Bruno Haible  <bruno@clisp.org>
65088
65089         * m4/copy-file.m4: New file.
65090
65091 2003-03-28  Bruno Haible  <bruno@clisp.org>
65092
65093         * lib/copy-file.h: New file, from GNU gettext.
65094         * lib/copy-file.c: New file, from GNU gettext.
65095
65096 2003-03-18  Jim Meyering  <jim@meyering.net>
65097
65098         * lib/quote.c (quote_n): Fix typo in comment.
65099
65100 2003-03-18  Bruno Haible  <bruno@clisp.org>
65101
65102         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
65103         checking.
65104         * m4/onceonly_2_57.m4: Likewise.
65105
65106 2003-03-17  Bruno Haible  <bruno@clisp.org>
65107
65108         * m4/onceonly.m4: Require autoconf 2.54 or newer.
65109         (m4_quote): Remove macro.
65110         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
65111
65112 2003-03-14  Jim Meyering  <jim@meyering.net>
65113
65114         Merge changes from Coreutils.
65115         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
65116         to be const, in order to avoid warnings.
65117         (obstack_room): Likewise.
65118         (obstack_empty_p): Likewise.
65119
65120 2003-03-14  Bruno Haible  <bruno@clisp.org>
65121
65122         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
65123         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
65124
65125 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65126
65127         Merge changes from Bison.
65128         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
65129         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
65130         when compiling Bison 1.875's `bitset bset = obstack_alloc
65131         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
65132         * lib/hash.c: Include <stdbool.h> unconditionally.
65133
65134 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65135
65136         * m4/onceonly.m4 (m4_quote): New macro.
65137         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
65138         Quote AC_FOREACH variable-expansions properly.
65139
65140 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65141
65142         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
65143
65144 2003-03-09  Paul Eggert  <eggert@twinsun.com>
65145
65146         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
65147         Reported by Bruce Becker; see:
65148         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
65149
65150 2003-03-03  Paul Eggert  <eggert@twinsun.com>
65151             Bruno Haible  <bruno@clisp.org>
65152
65153         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
65154         Reported by John Hughes, see
65155         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
65156
65157 2003-02-20  Bruno Haible  <bruno@clisp.org>
65158
65159         * MODULES.html.sh (func_all_modules): Add poll.
65160
65161 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65162
65163         * modules/poll: New file.
65164
65165 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65166
65167         * lib/poll_.h: New file.
65168         * lib/poll.c: New file.
65169
65170 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65171
65172         * m4/poll.m4: New file.
65173
65174 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65175
65176         * modules/mathl: New file.
65177
65178 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65179
65180         * lib/mathl.h: New file.
65181         * lib/acosl.c: New file.
65182         * lib/asinl.c: New file.
65183         * lib/atanl.c: New file.
65184         * lib/ceill.c: New file.
65185         * lib/cosl.c: New file.
65186         * lib/expl.c: New file.
65187         * lib/floorl.c: New file.
65188         * lib/frexpl.c: New file.
65189         * lib/ldexpl.c: New file.
65190         * lib/logl.c: New file.
65191         * lib/sincosl.c: New file.
65192         * lib/sinl.c: New file.
65193         * lib/sqrtl.c: New file.
65194         * lib/tanl.c: New file.
65195         * lib/trigl.c: New file.
65196         * lib/trigl.h: New file.
65197
65198 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65199
65200         * m4/mathl.m4: New file.
65201
65202 2003-02-18  Bruno Haible  <bruno@clisp.org>
65203
65204         * MODULES.html.sh (func_all_modules): Add mathl.
65205
65206 2003-02-17  Bruno Haible  <bruno@clisp.org>
65207
65208         * modules/mkdtemp: New module.
65209         * MODULES.html.sh (func_all_modules): Add it.
65210
65211 2003-02-17  Bruno Haible  <bruno@clisp.org>
65212
65213         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
65214
65215 2003-02-17  Bruno Haible  <bruno@clisp.org>
65216
65217         * lib/mkdtemp.h: New file, from GNU gettext.
65218         * lib/mkdtemp.c: New file, from GNU gettext.
65219
65220 2003-02-02  Jim Meyering  <jim@meyering.net>
65221
65222         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
65223         e.g. glibc-2.2.93.
65224
65225 2003-01-31  Bruno Haible  <bruno@clisp.org>
65226
65227         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
65228         'rpl_rename'.
65229         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
65230         'rpl_strnlen'.
65231         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
65232         'rpl_strtod'.
65233         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
65234         'rpl_utime'.
65235
65236 2003-01-31  Bruno Haible  <bruno@clisp.org>
65237
65238         * lib/rename.c: #undef rename before defining rpl_rename.
65239         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
65240
65241 2003-01-30  Bruno Haible  <bruno@clisp.org>
65242
65243         * modules/vasnprintf, modules/vasprintf: New modules.
65244         * MODULES.html.sh (func_all_modules): Add them.
65245
65246 2003-01-30  Bruno Haible  <bruno@clisp.org>
65247
65248         * m4/signed.m4: New file, from GNU gettext.
65249         * m4/longdouble.m4: New file, from GNU gettext.
65250         * m4/wchar_t.m4: New file, from GNU gettext.
65251         * m4/wint_t.m4: New file, from GNU gettext.
65252         * m4/vasnprintf.m4: New file.
65253         * m4/vasprintf.m4: New file.
65254
65255 2003-01-30  Bruno Haible  <bruno@clisp.org>
65256
65257         * lib/printf-args.h: New file, from GNU gettext.
65258         * lib/printf-args.c: New file, from GNU gettext.
65259         * lib/printf-parse.h: New file, from GNU gettext.
65260         * lib/printf-parse.c: New file, from GNU gettext.
65261         * lib/vasnprintf.h: New file, from GNU gettext.
65262         * lib/vasnprintf.c: New file, from GNU gettext.
65263         * lib/asnprintf.c: New file, from GNU gettext.
65264         * lib/vasprintf.h: New file, from GNU gettext with modifications.
65265         * lib/vasprintf.c: New file, from GNU gettext.
65266         * lib/asprintf.c: New file, from GNU gettext.
65267
65268 2003-01-29  Bruno Haible  <bruno@clisp.org>
65269
65270         * modules/stpncpy: New module.
65271         * MODULES.html.sh (func_all_modules): Add it.
65272
65273 2003-01-29  Bruno Haible  <bruno@clisp.org>
65274
65275         * m4/stpncpy.m4: New file.
65276
65277 2003-01-29  Bruno Haible  <bruno@clisp.org>
65278
65279         * lib/stpncpy.h: New file, from GNU gettext with modifications.
65280         * lib/stpncpy.c: New file, from GNU gettext with modifications.
65281
65282 2003-01-28  Bruno Haible  <bruno@clisp.org>
65283
65284         * modules/c-ctype: New module.
65285         * MODULES.html.sh (func_all_modules): Add it.
65286
65287 2003-01-28  Bruno Haible  <bruno@clisp.org>
65288
65289         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
65290         Paul Eggert.
65291         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
65292         Paul Eggert.
65293
65294 2003-01-27  Bruno Haible  <bruno@clisp.org>
65295
65296         * modules/xsetenv: New module.
65297         * MODULES.html.sh (func_all_modules): Add it.
65298
65299 2003-01-27  Bruno Haible  <bruno@clisp.org>
65300
65301         * lib/xsetenv.h: New file, from GNU gettext.
65302         * lib/xsetenv.c: New file, from GNU gettext.
65303
65304 2003-01-23  Jim Meyering  <jim@meyering.net>
65305
65306         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
65307         from working on systems without dirfd (at least Irix and OSF1/Tru64).
65308
65309 2003-01-23  Bruno Haible  <bruno@clisp.org>
65310
65311         * modules/minmax: New module.
65312         * MODULES.html.sh (func_all_modules): Add it.
65313
65314 2003-01-23  Bruno Haible  <bruno@clisp.org>
65315
65316         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
65317         Eggert.
65318
65319 2003-01-22  Bruno Haible  <bruno@clisp.org>
65320
65321         * modules/exit: New module.
65322         * MODULES.html.sh (func_all_modules): Add it.
65323
65324 2003-01-22  Bruno Haible  <bruno@clisp.org>
65325
65326         * lib/exit.h: New file, from GNU gettext.
65327
65328 2003-01-19  Bruno Haible  <bruno@clisp.org>
65329
65330         * gnulib-tool: Recognize option --extract-maintainer.
65331         (func_get_maintainer): New function.
65332         * modules/*: Add Maintainer entry.
65333
65334 2003-01-16  Jim Meyering  <jim@meyering.net>
65335
65336         * m4/regex.m4: The `regex' struct is both input and output.
65337         Initialize it before each use.  Patch by Tim Waugh.
65338
65339 2003-01-16  Bruno Haible  <bruno@clisp.org>
65340
65341         * MODULES.html.sh: Add a table of contents. Add the module name as
65342         leftmost column. Add hyperlinks.
65343
65344 2003-01-15  Bruno Haible  <bruno@clisp.org>
65345
65346         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
65347
65348 2003-01-15  Bruno Haible  <bruno@clisp.org>
65349
65350         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
65351         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
65352         suffix.
65353
65354 2003-01-15  Bruno Haible  <bruno@clisp.org>
65355
65356         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
65357
65358 2003-01-15  Bruno Haible  <bruno@clisp.org>
65359
65360         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
65361         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
65362
65363 2003-01-14  Jim Meyering  <jim@meyering.net>
65364
65365         * lib/same.c (same_name): Tweak a comment.
65366
65367 2003-01-14  Bruno Haible  <bruno@clisp.org>
65368
65369         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
65370         when a string comparison is sufficient.
65371
65372 2003-01-14  Bruno Haible  <bruno@clisp.org>
65373
65374         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
65375         'unsigned int'.
65376
65377 2003-01-14  Bruno Haible  <bruno@clisp.org>
65378
65379         * lib/hash-pjw.c: Add comment about low quality of this function.
65380
65381 2003-01-13  Bruno Haible  <bruno@clisp.org>
65382
65383         * modules/stpcpy: Distribute lib/stpcpy.h.
65384         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
65385
65386 2003-01-13  Bruno Haible  <bruno@clisp.org>
65387
65388         * modules/*: Add a description.
65389         * modules/strpbrk: Fix Makefile.am snippet.
65390         * modules/strtoimax: Fix dependencies.
65391         * modules/strtoumax: Likewise.
65392
65393 2003-01-13  Bruno Haible  <bruno@clisp.org>
65394
65395         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
65396         * modules/alloca (Makefile.am): All object files depend on alloca.h.
65397         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
65398
65399 2003-01-13  Bruno Haible  <bruno@clisp.org>
65400
65401         * gnulib-tool (func_create_testdir): Store config/* files in the main
65402         directory.
65403         * config.rpath: Move to ...
65404         * config/config.rpath: ... here.
65405         * modules/gettext: Contains config/config.rpath, not config.rpath.
65406         * modules/iconv: Likewise.
65407
65408 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65409
65410         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65411         to avoid collisions with libcurses and libreadline.
65412
65413         * m4/getstr.m4: Remove.
65414         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
65415
65416 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65417
65418         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65419         to avoid collisions with libcurses and libreadline.
65420
65421         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
65422         * lib/getstr.h, getstr.c: Remove.
65423         * lib/getline.c: Include "getline.h", to check interface.
65424         Move body of old getstr.c here: this defines MIN_CHUNK and
65425         declares getdelim2, which is renamed from getstr.
65426         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
65427
65428         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
65429         All uses changed.
65430         * lib/linebuffer.h: Likewise.
65431         (readline): Remove backward-compatibility macro.
65432
65433 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65434
65435         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65436         to avoid collisions with libcurses and libreadline.
65437         * getstr: Remove.
65438         * MODULES.html.sh: Remove getstr.
65439         * modules/getline: Depend on unlocked-io, not getstr.
65440
65441 2003-01-12  Jim Meyering  <jim@meyering.net>
65442
65443         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
65444
65445 2003-01-10  Bruno Haible  <bruno@clisp.org>
65446
65447         * modules/alloca: Change Makefile.am requirements. Simplify Include
65448         requirements. Add lib/alloca_.h to file list.
65449
65450 2003-01-10  Bruno Haible  <bruno@clisp.org>
65451
65452         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
65453
65454 2003-01-10  Bruno Haible  <bruno@clisp.org>
65455
65456         * lib/alloca_.h: New file.
65457         * lib/getdate.y: Unconditionally include alloca.h.
65458         * lib/makepath.c: Likewise.
65459         * lib/setenv.c: Likewise.
65460         * lib/userspec.c: Likewise.
65461
65462 2003-01-09  Karl Berry  <karl@gnu.org>
65463
65464         * MODULES.html.sh: include `dirname $0` in PATH, to find
65465         gnulib-tool.
65466
65467 2003-01-09  Bruno Haible  <bruno@clisp.org>
65468
65469         * modules/stdbool: Change configure.ac, Makefile.am requirements.
65470         Simplify Include requirements. Add lib/stdbool.h.in to file list.
65471
65472 2003-01-09  Bruno Haible  <bruno@clisp.org>
65473
65474         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
65475
65476 2003-01-09  Bruno Haible  <bruno@clisp.org>
65477
65478         * lib/stdbool.h.in: New file.
65479
65480 2003-01-09  Bruno Haible  <bruno@clisp.org>
65481
65482         * gnulib-tool (func_all_modules): Ignore files ending in ~.
65483         * MODULES.html.sh: Likewise.
65484
65485 2003-01-08  Jim Meyering  <jim@meyering.net>
65486
65487         * lib/full-write.c: Undefine and define-away `const' after inclusion
65488         of errno.h, not before.  Suggestion from Bruno Haible.
65489
65490 2003-01-08  Bruno Haible  <bruno@clisp.org>
65491
65492         * modules/full-read: Depend on full-write.
65493
65494 2003-01-08  Bruno Haible  <bruno@clisp.org>
65495
65496         * lib/safe-read.c: Include specification header first, to ensure its
65497         selfcontainedness.
65498         * lib/full-write.c: Likewise.
65499
65500 2003-01-07  Jim Meyering  <jim@meyering.net>
65501
65502         * lib/full-write.c: Rework so that it may serve to define full_read,
65503         too.
65504         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
65505
65506 2003-01-07  Bruno Haible  <bruno@clisp.org>
65507
65508         * lib/strtoimax.c: Include <stdint.h> as an alternative to
65509         <inttypes.h>.
65510         * lib/xstrtol.h: Likewise.
65511         * lib/xstrtoimax.c: Likewise.
65512         * lib/xstrtoumax.c: Likewise.
65513         * lib/human.h: Likewise.
65514
65515         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
65516         on systems that have <inttypes.h> but not <stdint.h>.
65517
65518 2003-01-07  Bruno Haible  <bruno@clisp.org>
65519
65520         * MODULES.html.sh: Add copyright notice.
65521         (missed_files): Omit CVS directory entries.
65522         (func_module): Make it work with sed-3.02.
65523         * MODULES.txt: Remove file.
65524
65525 2003-01-06  Jim Meyering  <jim@meyering.net>
65526
65527         * lib/version-etc.c: Update year in translatable copyright string.
65528
65529 2003-01-03  Karl Berry  <karl@gnu.org>
65530
65531         * config/config.{guess,sub}: update from prep.
65532
65533 2003-01-02  Karl Berry  <karl@gnu.org>
65534
65535         * doc/COPYING.DOC: belatedly updated to 1.2.
65536
65537 2003-01-01  Karl Berry  <karl@gnu.org>
65538
65539         * gnulib-tool (func_verify_module): report module name $module in
65540         error message, not $1.
65541         * gnulib-tool (create-testdir): don't complain if destdir couldn't
65542         be created, only if it doesn't exist.
65543         * gnulib-tool (last_checkin_date): don't expand the $Date here.
65544
65545 2002-12-31  Paul Eggert  <eggert@twinsun.com>
65546
65547         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
65548
65549 2002-12-31  Paul Eggert  <eggert@twinsun.com>
65550
65551         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
65552         memcmp if strcoll doesn't work.
65553
65554 2002-12-31  Bruno Haible  <bruno@clisp.org>
65555
65556         * lib/utime.c (utime_null): No need to call ftruncate if the file was
65557         nonempty.
65558
65559 2002-12-31  Bruno Haible  <bruno@clisp.org>
65560
65561         * lib/memcoll.c (STRCOLL): New macro.
65562         (memcoll): Use it.
65563
65564 2002-12-31  Bruno Haible  <bruno@clisp.org>
65565
65566         * lib/localcharset.h: New file.
65567         * lib/localcharset.c: Include it.
65568         * lib/unicodeio.c: Likewise.
65569
65570 2002-12-31  Bruno Haible  <bruno@clisp.org>
65571
65572         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
65573         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
65574
65575 2002-12-31  Bruno Haible  <bruno@clisp.org>
65576
65577         * lib/getline.h: Include <stddef.h>, for size_t.
65578
65579         * lib/unicodeio.h: Include <stddef.h>, for size_t.
65580         * lib/unicodeio.c: Don't include <stddef.h>.
65581
65582 2002-12-31  Bruno Haible  <bruno@clisp.org>
65583
65584         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
65585         HAVE_TM_ZONE.
65586
65587 2002-12-24  Karl Berry  <karl@gnu.org>
65588
65589         * config/config.guess: update from prep.
65590
65591 2002-12-24  Bruno Haible  <bruno@clisp.org>
65592
65593         General infrasructure.
65594         * m4/README: Rewritten.
65595         * m4/onceonly.m4: New file.
65596         * m4/onceonly_2_57.m4: New file.
65597
65598         Module atexit.
65599         * m4/atexit.m4: New file.
65600
65601         Module strtod.
65602         * m4/strtod.m4: New file.
65603
65604         Module strtol.
65605         * m4/strtol.m4: New file.
65606
65607         Module strtoul.
65608         * m4/strtoul.m4: New file.
65609
65610         Module memchr.
65611         * m4/memchr.m4: New file.
65612
65613         Module memcmp.
65614         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
65615         (jm_FUNC_MEMCMP): Invoke it.
65616
65617         Module memcpy.
65618         * m4/memcpy.m4: New file.
65619
65620         Module memmove.
65621         * m4/memmove.m4: New file.
65622
65623         Module memset.
65624         * m4/memset.m4: New file.
65625
65626         Module strcspn.
65627         * m4/strcspn.m4: New file.
65628
65629         Module strpbrk.
65630         * m4/strpbrk.m4: New file.
65631
65632         Module strstr.
65633         * m4/strstr.m4: New file.
65634
65635         Module strerror.
65636         * m4/strerror.m4: New file.
65637
65638         Module mktime.
65639         * m4/mktime.m4: Renamed from jm-mktime.m4.
65640         (gl_PREREQ_MKTIME): New macro.
65641         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
65642
65643         Module malloc.
65644         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
65645         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
65646         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
65647
65648         Module realloc.
65649         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
65650         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
65651         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
65652
65653         Module strftime.
65654         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
65655         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
65656         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
65657         gl_TM_GMTOFF.
65658         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
65659
65660         Module xalloc.
65661         * m4/xalloc.m4: New file.
65662
65663         Module alloca.
65664         * m4/alloca.m4: New file.
65665
65666         Module putenv.
65667         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
65668         (jm_FUNC_PUTENV): Invoke it.
65669
65670         Module setenv.
65671         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
65672         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
65673         when invoked twice.
65674         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
65675         gt_FUNC_SETENV.
65676
65677         Module memrchr.
65678         * m4/memrchr.m4: New file.
65679
65680         Module stpcpy.
65681         * m4/stpcpy.m4: New file.
65682
65683         Module strcase.
65684         * m4/strcase.m4: New file.
65685
65686         Module strdup.
65687         * m4/strdup.m4: New file.
65688
65689         Module strnlen.
65690         * m4/strnlen.m4: New file.
65691
65692         Module strndup.
65693         * m4/strndup.m4: New file.
65694
65695         Module xstrtod.
65696         * m4/xstrtod.m4: New file.
65697
65698         Module xstrtol.
65699         * m4/xstrtol.m4: New file.
65700
65701         Module getdate.
65702         * m4/getdate.m4: New file.
65703
65704         Module unlocked-io.
65705         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
65706         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
65707         * m4/jm-glibc-io.m4n: Remove file.
65708
65709         Module long-options.
65710         * m4/long-options.m4: New file.
65711
65712         Module md5.
65713         * m4/md5.m4: New file.
65714
65715         Module sha.
65716         * m4/sha.m4: New file.
65717
65718         Module getstr.
65719         * m4/getstr.m4: New file.
65720
65721         Module getline.
65722         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
65723         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
65724         <sys/types.h>, for size_t. Use the function name gnu_getline, not
65725         simply getline. Infoke gl_PREREQ_GETLINE.
65726
65727         Module obstack.
65728         * m4/obstack.m4: New file.
65729
65730         Module hash.
65731         * m4/hash.m4: New file.
65732
65733         Module readtokens.
65734         * m4/readtokens.m4: New file.
65735
65736         Module strverscmp.
65737         * m4/strverscmp.m4: New file.
65738
65739         Module stdbool.
65740         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
65741         OSF/1.
65742
65743         Module strtoll.
65744         * m4/strtoll.m4: New file.
65745
65746         Module strtoull.
65747         * m4/strtoull.m4: New file.
65748
65749         Module strtoimax.
65750         * m4/strtoimax.m4: New file.
65751
65752         Module strtoumax.
65753         * m4/strtoumax.m4: New file.
65754
65755         Module xstrtoimax.
65756         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
65757         jm_AC_PREREQ_XSTRTOIMAX.
65758         Moved the strtol prerequisites to strtol.m4.
65759         Moved the strtoll prerequisites to strtoll.m4.
65760         Moved the strtoimax prerequisites to strtoimax.m4.
65761
65762         Module xstrtoumax.
65763         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
65764         jm_AC_PREREQ_XSTRTOUMAX.
65765         Moved the strtoul prerequisites to strtoul.m4.
65766         Moved the strtoull prerequisites to strtoull.m4.
65767         Moved the strtoumax prerequisites to strtoumax.m4.
65768
65769         Module chown.
65770         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
65771         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
65772
65773         Module dup2.
65774         * m4/dup2.m4: New file.
65775
65776         Module ftruncate.
65777         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
65778         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
65779
65780         Module getgroups.
65781         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
65782         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
65783
65784         Module gettimeofday.
65785         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
65786         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
65787         gl_PREREQ_GETTIMEOFDAY.
65788
65789         Module mkdir.
65790         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
65791         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
65792
65793         Module mkstemp.
65794         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
65795         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
65796         jm_AC_TYPE_UINTMAX_T.
65797         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
65798
65799         Module stat.
65800         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
65801         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
65802
65803         Module lstat.
65804         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
65805         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
65806
65807         Module timespec.
65808         * m4/timespec.m4 (gl_TIMESPEC): New macro.
65809         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
65810         * m4/st_mtim.m4: Indentation.
65811
65812         Module nanosleep.
65813         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
65814         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
65815         gl_PREREQ_NANOSLEEP.
65816
65817         Module regex.
65818         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
65819         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
65820         (gl_REGEX): New macro.
65821
65822         Module rename.
65823         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
65824         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
65825
65826         Module rmdir.
65827         * m4/rmdir.m4: New file.
65828
65829         Module utime.
65830         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
65831         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
65832         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
65833
65834         Module dirname.
65835         * m4/dirname.m4: New file.
65836
65837         Module getopt.
65838         * m4/getopt.m4: New file.
65839
65840         Module unistd-safer.
65841         * m4/unistd-safer.m4: New file.
65842
65843         Module fnmatch.
65844         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
65845         declaration.
65846         (gl_PREREQ_FNMATCH_EXTRA): New macro.
65847         (gl_FUNC_FNMATCH_POSIX): New macro.
65848         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
65849         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
65850         simply fnmatch.
65851
65852         Module exclude.
65853         * m4/exclude.m4: New file.
65854
65855         Module human.
65856         * m4/human.m4: New file.
65857
65858         Module acl.
65859         * m4/acl.m4: Nop.
65860
65861         Module backupfile.
65862         * m4/backupfile.m4: New file.
65863         * m4/d-ino.m4: Indentation.
65864
65865         Module fsusage.
65866         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
65867         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
65868         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
65869
65870         Module dirfd.
65871         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
65872         requirements.
65873
65874         Module euidaccess.
65875         * m4/euidaccess.m4: New file.
65876
65877         Module file-type.
65878         * m4/file-type.m4: New file.
65879
65880         Module fileblocks.
65881         * m4/fileblocks.m4: New file.
65882
65883         Module filemode.
65884         * m4/filemode.m4: New file.
65885
65886         Module isdir.
65887         * m4/isdir.m4: New file.
65888
65889         Module lchown.
65890         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
65891         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
65892
65893         Module makepath.
65894         * m4/makepath.m4: New file.
65895
65896         Module modechange.
65897         * m4/modechange.m4: New file.
65898
65899         Module mountlist.
65900         * m4/mountlist.m4: New file.
65901         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
65902         Indentation.
65903
65904         Module path-concat.
65905         * m4/path-concat.m4: New file.
65906
65907         Module pathmax.
65908         * m4/pathmax.m4: New file.
65909
65910         Module same.
65911         * m4/same.m4: New file.
65912
65913         Module save-cwd.
65914         * m4/save-cwd.m4: New file.
65915
65916         Module savedir.
65917         * m4/savedir.m4: New file.
65918
65919         Module xgetcwd.
65920         * m4/xgetcwd.m4: New file.
65921         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
65922
65923         Module xreadlink.
65924         * m4/xreadlink.m4: New file.
65925
65926         Module safe-read.
65927         * m4/safe-read.m4: New file.
65928
65929         Module safe-write.
65930         * m4/safe-write.m4: New file.
65931
65932         Module closeout.
65933         * m4/closeout.m4: New file.
65934
65935         Module stdio-safer.
65936         * m4/stdio-safer.m4: New file.
65937
65938         Module getpass.
65939         * m4/getpass.m4: New file.
65940
65941         Module getugroups.
65942         * m4/getugroups.m4: New file.
65943
65944         Module group-member.
65945         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
65946         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
65947
65948         Module idcache.
65949         * m4/idcache.m4: New file.
65950
65951         Module userspec.
65952         * m4/userspec.m4: New file.
65953
65954         Module gettime.
65955         * m4/clock_time.m4: New file.
65956         * m4/gettime.m4: New file.
65957
65958         Module settime.
65959         * m4/settime.m4: New file.
65960
65961         Module posixtm.
65962         * m4/posixtm.m4: New file.
65963
65964         Module gethostname.
65965         * m4/gethostname.m4: New file.
65966
65967         Module canon-host.
65968         * m4/canon-host.m4: New file.
65969
65970         Module gettext.
65971         * m4/codeset.m4: New file, from gettext-0.11.5.
65972         * m4/gettext.m4: New file, from gettext-0.11.5.
65973         * m4/glibc21.m4: New file, from gettext-0.11.5.
65974         * m4/iconv.m4: New file, from gettext-0.11.5.
65975         * m4/intdiv0.m4: New file, from gettext-0.11.5.
65976         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
65977         * m4/inttypes.m4: New file, from gettext-0.11.5.
65978         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
65979         * m4/isc-posix.m4: New file, from gettext-0.11.5.
65980         * m4/lcmessage.m4: New file, from gettext-0.11.5.
65981         * m4/lib-ld.m4: New file, from gettext-0.11.5.
65982         * m4/lib-link.m4: New file, from gettext-0.11.5.
65983         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
65984         * m4/progtest.m4: New file, from gettext-0.11.5.
65985         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
65986         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
65987         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
65988
65989         Module localcharset.
65990         * m4/localcharset.m4: New file.
65991
65992         Module hard-locale.
65993         * m4/hard-locale.m4: New file.
65994
65995         Module mbswidth.
65996         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
65997         onceonly macros.
65998         * m4/mbrtowc.m4: Add comment.
65999
66000         Module memcasecmp.
66001         * m4/memcasecmp.m4: New file.
66002
66003         Module memcoll.
66004         * m4/memcoll.m4: New file.
66005
66006         Module unicodeio.
66007         * m4/unicodeio.m4: New file.
66008
66009         Module rpmatch.
66010         * m4/rpmatch.m4: New file.
66011
66012         Module yesno.
66013         * m4/yesno.m4: New file.
66014
66015         Module exitfail.
66016         * m4/exitfail.m4: New file.
66017
66018         Module c-stack.
66019         * m4/c-stack.m4 (gl_C_STACK): New macro.
66020         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
66021
66022         Module error.
66023         * m4/error.m4 (gl_ERROR): New macro.
66024         (jm_PREREQ_ERROR): Use onceonly macros.
66025
66026         Module fatal.
66027         * m4/fatal.m4: New file.
66028
66029         Module getloadavg.
66030         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
66031         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
66032
66033         Module getpagesize.
66034         * m4/getpagesize.m4: New file.
66035
66036         Module getusershell.
66037         * m4/getusershell.m4: New file.
66038
66039         Module physmem.
66040         * m4/physmem.m4: New file.
66041
66042         Module posixver.
66043         * m4/posixver.m4: New file.
66044
66045         Module quotearg.
66046         * m4/quotearg.m4: New file.
66047
66048         Module quote.
66049         * m4/quote.m4: New file.
66050
66051         Module readutmp.
66052         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
66053
66054         Module sig2str.
66055         * m4/sig2str.m4: New file.
66056
66057         Other.
66058         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
66059         ulonglong.m4.
66060         * m4/intmax_t.m4: New file.
66061         * m4/d-type.m4: Indentation.
66062         * m4/jm-macros.m4: Update.
66063         * m4/prereq.m4 (jm_PREREQ): Update.
66064         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
66065         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
66066         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
66067         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
66068         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
66069         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
66070         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
66071         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
66072         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
66073         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
66074         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
66075         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
66076         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
66077         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
66078         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
66079         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
66080         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
66081         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
66082         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
66083
66084 2002-12-24  Bruno Haible  <bruno@clisp.org>
66085
66086         * MODULES.txt: Update according to m4/ changes.
66087
66088         Module gettext.
66089         * config.rpath: New file, from gettext-0.11.5.
66090
66091         * modules/*: New module descriptions.
66092         * gnulib-tool: New file.
66093         * MODULES.html.sh: New file.
66094
66095 2002-12-21  Karl Berry  <karl@gnu.org>
66096
66097         * doc/fdl.texi: update to version 1.2.
66098
66099 2002-12-19  Karl Berry  <karl@gnu.org>
66100
66101         * config/config.guess: update from prep.
66102
66103 2002-12-18  Bruno Haible  <bruno@clisp.org>
66104
66105         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
66106         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
66107
66108 2002-12-17  Bruno Haible  <bruno@clisp.org>
66109
66110         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
66111         stdlib.h, string.h.
66112
66113 2002-12-17  Bruno Haible  <bruno@clisp.org>
66114
66115         * lib/canon-host.c (strdup): Remove unused declaration.
66116
66117         * lib/fsusage.c: Include full_read.h.
66118         (get_fs_usage): Use full_read instead of safe_read.
66119
66120         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
66121
66122 2002-12-12  Karl Berry  <karl@gnu.org>
66123
66124         * config/config.guess: update from prep.
66125
66126 2002-12-11  Bruno Haible  <bruno@clisp.org>
66127
66128         * m4/setenv.m4: New file, from gettext-0.11.5.
66129
66130 2002-12-11  Bruno Haible  <bruno@clisp.org>
66131
66132         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
66133         not unsetenv().
66134         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
66135         modifications:
66136
66137         2002-12-11  Bruno Haible  <bruno@clisp.org>
66138
66139                 * setenv.c (alloca): Fall back to malloc.
66140                 (freea): New macro.
66141                 (setenv): Use freea() to free memory allocated with alloca().
66142
66143         2002-11-13  Bruno Haible  <bruno@clisp.org>
66144
66145                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
66146                 function declarations.
66147                 * unsetenv.c (unsetenv): Likewise.
66148
66149         2002-03-04  Bruno Haible  <bruno@clisp.org>
66150
66151                 Portability to AIX 4.3.3.
66152                 * unsetenv.c: New file, extracted from setenv.c.
66153                 * setenv.c: Move the unsetenv() function to unsetenv.c.
66154
66155         2001-12-20  Bruno Haible  <bruno@clisp.org>
66156
66157                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
66158                 use malloc instead. For SunOS 4.
66159
66160         2001-12-11  Bruno Haible  <bruno@clisp.org>
66161
66162                 * setenv.c: Declare alloca.
66163                 (compar_fn_t): New typedef.
66164                 (KNOWN_VALUE, STORE_VALUE): Use it.
66165
66166         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
66167         setenv.h.
66168
66169 2002-12-10  Paul Eggert  <eggert@twinsun.com>
66170
66171         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
66172         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
66173         Choose values that are less likely to collide with system fnmatch
66174         options.
66175         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
66176         defined (e.g., a pure POSIX system).
66177         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
66178         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
66179
66180 2002-12-06  Paul Eggert  <eggert@twinsun.com>
66181
66182         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
66183         a pain in practice to deal with generated m4 files.  This change
66184         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
66185
66186         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
66187         and jm-glibc-io.m4, as they are no longer a special case.
66188         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
66189         kludge and the auto-generation stuff.  Check only whether the
66190         functions are declared, not whether they exist, since older hosts
66191         that don't declare the functions can't use the optimization anyway.
66192
66193 2002-12-06  Jim Meyering  <jim@meyering.net>
66194
66195         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
66196
66197         Merge in changes from libc's misc/error.c, in preparation
66198         for the merge of gnulib's changes back into libc.
66199
66200         * lib/error.c (_): Define only if not already defined.
66201         Move definition to follow all #include directives.
66202         Include unlocked-io.h only if !_LIBC.
66203         [_LIBC]: Include <libio/libioP.h>.
66204         [USE_IN_LIBIO]: Include <libio/iolibio.h>
66205         (fflush): Tweak definition to use INTUSE.
66206         (putc): Define.
66207
66208 2002-12-05  Paul Eggert  <eggert@twinsun.com>
66209
66210         * lib/alloca.c [defined emacs]: Include "lisp.h".
66211         (xalloc_die) [defined emacs]: New macro.
66212         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
66213         [! defined emacs]: Include <xalloc.h>.
66214         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
66215         (pointer): Typedef to POINTER_TYPE *.
66216         (malloc): Remove decl; we now always use xmalloc.
66217         (alloca): Use old-style definition, since Emacs needs this.
66218         Check for arithmetic overflow when computing combined size.
66219
66220 2002-12-04  Paul Eggert  <eggert@twinsun.com>
66221
66222         Do not generate unlocked-io.h automatically, since it's easier to
66223         maintain it by hand.
66224
66225         * lib/unlocked-io.h: New file, from GNU diffutils,
66226         but with proper copyright notice and attribution.
66227         * lib/gen-uio: Remove.
66228         * lib/Makefile.am: Add copyright notice.
66229         (libfetish_a_SOURCES): Add unlocked-io.h.
66230         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
66231         (DISTCLEANFILES, io_functions): Remove macros.
66232         (EXTRA_DIST): Remove gen_uio.
66233         (unlocked-io.h): Remove rule.
66234
66235 2002-12-04  Jim Meyering  <jim@meyering.net>
66236
66237         Reflect the fact that stat.c and lstat.c are no longer generated.
66238         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
66239         (DISTCLEANFILES): Likewise.
66240         (EXTRA_DIST): Likewise.
66241         (all_local): Don't depend on stat.c or lstat.c.
66242         (stat.c, lstat.c): Remove rules.
66243         (EXTRA_DIST): Remove xstat.in.
66244
66245         * lib/xstat.in: Remove file.  Contents moved into stat.c.
66246         * lib/stat.c: New file.  Contents mostly from xstat.in.
66247         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
66248         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
66249
66250         * lib/safe-read.c: Rework so that it may serve to define safe_write,
66251         too.
66252         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
66253
66254 2002-12-03  Jim Meyering  <jim@meyering.net>
66255
66256         * lib/safe-read.c, safe-write.c: Change variable names and comments,
66257         but not semantics, to minimize the differences between these two files.
66258         (safe_read): Change comment to mention SAFE_READ_ERROR.
66259
66260         * lib/safe-read.c (IS_EINTR): Define.
66261         (safe_read): Use IS_EINTR in place of in-function cpp directives.
66262
66263 2002-12-02  Jim Meyering  <jim@meyering.net>
66264
66265         * lib/safe-read.c (EINTR): Define.
66266         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
66267         (INT_MAX): Provide fallback.
66268         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
66269
66270         * lib/safe-read.h (SAFE_READ_ERROR): Define.
66271
66272 2002-12-02  Bruno Haible  <bruno@clisp.org>
66273
66274         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
66275         Define, taken from safe-read.c.
66276         (INT_MAX): Provide fallback.
66277         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
66278         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
66279
66280         * lib/safe-read.c (EINTR): Remove definition.
66281         (safe_read): Don't use EINTR if it is absent.
66282
66283 2002-12-01  Jim Meyering  <jim@meyering.net>
66284
66285         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
66286         zero.
66287         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
66288
66289 2002-11-27  Paul Eggert  <eggert@twinsun.com>
66290
66291         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
66292         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
66293         with `if (! (value < limit)) abort ();', for readability.
66294
66295 2002-11-26  Karl Berry  <karl@gnu.org>
66296
66297         * lib/strdup.c: copy from libc again, with jim's ok.
66298         * lib/.cppi-disable: re-add strdup.c
66299
66300 2002-11-25  Karl Berry  <karl@gnu.org>
66301
66302         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
66303         instead of "strtol.c".
66304
66305 2002-11-25  Karl Berry  <karl@gnu.org>
66306
66307         * config/install-sh: update from automake for variable quoting, $0 in
66308         error msgs, etc.
66309
66310         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
66311         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
66312         entry.
66313
66314 2002-11-25  Jim Meyering  <jim@meyering.net>
66315
66316         * lib/mktime.c: Sync from libc, now that it has the latest fix.
66317
66318 2002-11-24  Karl Berry  <karl@gnu.org>
66319
66320         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
66321         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
66322
66323 2002-11-24  Jim Meyering  <jim@meyering.net>
66324
66325         Update from coreutils:
66326
66327         * lib/mktime.c: Merge in changes from libc.
66328
66329         Avoid a link-time failure on some Linux systems.
66330         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
66331         (otherwise).
66332         (__mon_yday): Declare with the STATIC attribute.
66333         (__mktime_internal): Likewise.
66334         Based on a report from Greg Schafer.
66335
66336 2002-11-23  Jim Meyering  <jim@meyering.net>
66337
66338         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
66339         Use `unsigned', not `int', as type of index.
66340
66341         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
66342
66343         * lib/fsusage.c: Remove unneeded parentheses around operands of
66344         `defined'.
66345
66346 2002-11-22  Paul Eggert  <eggert@twinsun.com>
66347
66348         * lib/quotearg.h: Allow multiple inclusion by surrounding with
66349         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
66350         so that we can be included first.
66351         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
66352         * lib/quotearg.c: Include quotearg.h immediately after config.h.
66353         No need to include stddef.h or sys/types.h any more.
66354         Surround local include files with "", not "<>".
66355         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
66356         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
66357         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
66358         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
66359         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
66360         (ISPRINT): Remove; no longer needed now that we assume C89.
66361
66362         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
66363         Preserve errno.
66364
66365         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
66366         quotearg_char): Use SIZE_MAX rather than
66367         (size_t) -1 when we are talking about "infinity".
66368
66369         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
66370
66371 2002-11-22  Paul Eggert  <eggert@twinsun.com>
66372
66373         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
66374         hint that one should use `if (! x) abort ();' rather than `assert
66375         (x);', and anyway it's one less thing to worry about configuring.
66376         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
66377         hash_rehash, hash_insert): Use abort rather than assert.
66378
66379 2002-11-22  Bruno Haible  <bruno@clisp.org>
66380
66381         * lib/safe-read.h: Assume C89. Add comments.
66382         (safe_read): Change return type to size_t.
66383         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
66384         byte counts > SSIZE_MAX correctly.
66385         * lib/safe-write.h: New file.
66386         * lib/safe-write.c: New file.
66387         * lib/full-read.h: New file.
66388         * lib/full-read.c: New file.
66389         * lib/full-write.h: Assume C89. Add comments.
66390         * lib/full-write.c: Include safe-write.h.
66391         (full_write): Rewritten to use safe_write.
66392         Suggested by Jim Meyering and Paul Eggert.
66393
66394 2002-11-21  Jim Meyering  <jim@meyering.net>
66395
66396         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
66397
66398         Merge in changes from the coreutils.
66399
66400         2002-09-25  Paul Eggert  <eggert@twinsun.com>
66401         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
66402         <stdint.h>.
66403         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
66404         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
66405         int.  Work more efficiently if X is the same width as uintmax_t.
66406         Do not compare X to -1, to avoid bogus compiler warning.
66407         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
66408         Don't assume that f_frsize and f_bsize are the same type.
66409
66410         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
66411         warning on FreeBSD.
66412
66413         * lib/makepath.c (make_path): Restore umask *before* creating the final
66414         component.
66415         (make_path): Minor reformatting.
66416
66417         * lib/xmalloc.c: Adjust to work with new autoconf macros,
66418         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
66419         HAVE_MALLOC/HAVE_REALLOC.
66420
66421         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
66422         dummy ones.  At least on GNU/Linux systems, `auto' means something
66423         else.
66424         From Michael Stone.
66425
66426 2002-11-21  Bruno Haible  <bruno@clisp.org>
66427
66428         Remove case insensitive option matching.
66429         * lib/argmatch.h (argcasematch): Remove declaration.
66430         (ARGCASEMATCH): Remove macro.
66431         (__xargmatch_internal): Remove case_sensitive argument.
66432         (XARGMATCH): Update.
66433         (XARGCASEMATCH): Remove macro.
66434         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
66435         case_sensitive argument.
66436         (argcasematch): Remove function.
66437         (__xargmatch_internal): Remove case_sensitive argument.
66438         (main): Use XARGMATCH instead of XARGCASEMATCH.
66439
66440         * lib/xmalloc.c: Change compile-time error message. Add comment about
66441         required autoconf version.
66442
66443 2002-11-20  Paul Eggert  <eggert@twinsun.com>
66444
66445         Merge argmatch cleanups from Bison.  Assume C89.
66446
66447         * lib/argmatch.c: Include config.h here, not in argmatch.h.
66448         Include stdlib.h, for EXIT_FAILURE.
66449         Always include <string.h>, since we assume C89.
66450         (EXIT_FAILURE): Remove pre-C89 bug workaround.
66451         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
66452         Include <stddef.h> instead, since it's all we need for size_t.
66453         (PARAMS): Remove.  All uses removed.
66454         (ARRAY_CARDINALITY): Do not bother to #undef.
66455         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
66456         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
66457         Remove unnecessary parentheses.
66458         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
66459         Insert necessary parentheses.
66460         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
66461         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
66462
66463 2002-11-19  Bruno Haible  <bruno@clisp.org>
66464
66465         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
66466         * lib/mbswidth.h: Include <stddef.h>, for size_t.
66467
66468         * lib/mbswidth.h (PARAMS): Remove macro.
66469         (mbswidth, mbsnwidth): Use ANSI C function declarations.
66470         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
66471
66472         * lib/gcd.h (PARAMS): Remove macro.
66473         (gcd): Use ANSI C function declarations.
66474         * lib/gcd.c (gcd): Likewise.
66475
66476 2002-11-15  Bruno Haible  <bruno@clisp.org>
66477
66478         * lib/strcspn.c: Include <stddef.h>.
66479         (strcspn): Use ANSI C function declaration. Change return type to
66480         size_t. Use NULL.
66481         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
66482         (strpbrk): Use NULL.
66483         * lib/strpbrk.h (PARAMS): Remove macro.
66484         (strpbrk): Use ANSI C function declaration.
66485         * lib/strstr.c: Don't include <sys/types.h>.
66486         * lib/strstr.h (PARAMS): Remove macro.
66487         (strstr): Use ANSI C function declarations.
66488
66489 2002-11-14  Karl Berry  <karl@gnu.org>
66490
66491         * config/mkinstalldirs: `do' on separate line, instead of
66492         `for var; do'.
66493
66494 2002-11-06  Bruno Haible  <bruno@clisp.org>
66495
66496         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
66497         * lib/gcd.c (gcd): Likewise.
66498
66499 2002-11-05  Bruno Haible  <bruno@clisp.org>
66500
66501         * lib/gcd.h: New file, from gettext-0.11.5.
66502         * lib/gcd.c: New file, from gettext-0.11.5.
66503
66504 2002-11-05  Bruno Haible  <bruno@clisp.org>
66505
66506         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66507         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66508         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66509         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66510
66511         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
66512         <libintl.h>.
66513         * lib/makepath.c: Include gettext.h instead of <locale.h> and
66514         <libintl.h>.
66515
66516         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
66517         * lib/human.c: Include gettext.h instead of <libintl.h>.
66518         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
66519         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
66520         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
66521         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
66522         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
66523         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
66524         (textdomain): Remove definition.
66525         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
66526
66527         * lib/long-options.c: Remove include of <libintl.h> and definition of
66528         _.
66529         * lib/same.c: Remove include of <libintl.h> and definition of _.
66530
66531 2002-11-04  Owen Taylor  <otaylor@redhat.com>
66532
66533         * lib/config.charset: A few additions for Solaris.
66534
66535 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
66536
66537         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
66538         * lib/localcharset.c (locale_charset): Declare as extern "C".
66539
66540 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
66541
66542         * lib/config.charset: msdos in uk_UA uses CP1125.
66543
66544 2002-11-04  Bruno Haible  <bruno@clisp.org>
66545
66546         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
66547         * lib/strcase.h: New file, from GNU gettext-0.11.5.
66548         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
66549         * lib/strstr.h: New file, from GNU gettext-0.11.5.
66550         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
66551
66552 2002-11-04  Bruno Haible  <bruno@clisp.org>
66553
66554         * lib/localcharset.c (locale_charset): Don't return an empty string.
66555
66556 2002-11-04  Bruno Haible  <bruno@clisp.org>
66557
66558         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
66559         aliases.
66560
66561 2002-11-04  Bruno Haible  <bruno@clisp.org>
66562
66563         * lib/config.charset: Update for newest glibc. Add canonical names
66564         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
66565
66566 2002-11-04  Bruno Haible  <bruno@clisp.org>
66567
66568         * lib/config.charset: Add support for NetBSD.
66569
66570 2002-11-04  Bruno Haible  <bruno@clisp.org>
66571
66572         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
66573
66574 2002-11-01  Bruno Haible  <bruno@clisp.org>
66575
66576         * configure.in: Add AC_CONFIG_AUX_DIR call.
66577         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
66578         test/Makefile.
66579         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
66580
66581 2002-09-28  Karl Berry  <karl@gnu.org>
66582
66583         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
66584         installed automake until the next release, since changes have been
66585         made.
66586
66587 2002-09-25  Karl Berry  <karl@gnu.org>
66588
66589         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
66590         * lib/getopt*: copy from libc/posix.
66591         * lib/gettext.h: copy from gettext.
66592         * lib/.cppi-disable: add strdup.c, gettext.h.
66593
66594 2002-09-25  Karl Berry  <karl@gnu.org>
66595
66596         * config/srclist.txt: enable gettext.h check.
66597         * config/config.{guess,sub}: update from prep.
66598         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
66599                 from automake 1.6.3.
66600         See srclist*.
66601
66602 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
66603
66604         * regex.c (PATFETCH): Remove the translating fetch.
66605         (PATFETCH_RAW): Rename to PATFETCH.
66606         (set_image_of_range): New fun.
66607         (SET_RANGE_TABLE_WORK_AREA): Use it.
66608         (regex_compile): Don't translate the pattern chars so eagerly.
66609         Only do it when inserting an `exactn' bytecode or when handling
66610         a char-range.
66611         (mutually_exclusive_p): Avoid empty statement.
66612
66613 2002-07-06  Jim Meyering  <meyering@lucent.com>
66614
66615         * m4/README: Don't mention Makefile.am.in.
66616         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
66617
66618 2002-07-01  Jim Meyering  <meyering@lucent.com>
66619
66620         * lib/c-stack.c: Include sys/time.h.
66621         From Volker Borchert.
66622
66623 2002-06-26  Paul Eggert  <eggert@twinsun.com>
66624
66625         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
66626
66627 2002-06-26  Paul Eggert  <eggert@twinsun.com>
66628
66629         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
66630         New macro.  Use it uniformly instead of
66631         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
66632         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
66633         reported by Vin Shelton.
66634
66635 2002-06-22  Paul Eggert  <eggert@twinsun.com>
66636
66637         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
66638         Do not assume SA_SIGINFO behavior.
66639         Bug reported by Jim Meyering on NetBSD 1.5.2.
66640
66641 2002-06-22  Jim Meyering  <meyering@lucent.com>
66642
66643         * m4/c-stack.m4: New file, from diffutils-2.8.2.
66644         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
66645
66646         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
66647         now that configure.ac uses AC_GNU_SOURCE.
66648         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
66649         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
66650
66651         Update to latest tools.  Suggestions from Paul Eggert.
66652         * m4/stdbool.m4: New file, from diffutils-2.8.2.
66653         * m4/gnu-source.m4: Update from diffutils-2.8.2.
66654         * m4/fnmatch.m4: Likewise.
66655         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
66656         to AC_HEADER_STDBOOL
66657
66658 2002-06-22  Jim Meyering  <meyering@lucent.com>
66659
66660         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
66661         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
66662
66663 2002-06-22  Jim Meyering  <meyering@lucent.com>
66664
66665         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
66666
66667         * lib/exitfail.c, exitfail.h: Likewise.
66668         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
66669
66670         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
66671         of fnmatch.h.
66672         (EXTRA_DIST): Add fnmatch_loop.c.
66673         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
66674
66675         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
66676         * lib/fnmatch.c: Update from diffutils-2.8.2.
66677         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
66678         * lib/fnmatch.h: Remove file.
66679
66680 2002-06-21  Jim Meyering  <meyering@lucent.com>
66681
66682         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
66683         * m4/mbrtowc.m4: Likewise.
66684
66685         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
66686         * m4/mbswidth.m4: Reflect name change:
66687         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
66688         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
66689
66690         * m4/lib-link.m4: Update from gettext-0.11.2.
66691         * m4/gettext.m4: Likewise.
66692
66693         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
66694         From Alfred M. Szmidt.
66695
66696 2002-06-18  Paul Eggert  <eggert@twinsun.com>
66697
66698         * lib/file-type.h: Report an error if neither S_ISREG nor
66699         S_IFREG is defined, instead of using a test specific to glibc
66700         2.2.  This should be safe, since POSIX requires S_ISREG and
66701         Unix Version 7 had S_IFREG.  We don't need to check for
66702         <sys/types.h> since we don't use any symbols that it defines.
66703
66704 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
66705
66706         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
66707         $@-t, so that each temporary file name is unique and valid in the first
66708         8 characters, for operation under DOS.
66709
66710 2002-06-15  Paul Eggert  <eggert@twinsun.com>
66711
66712         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
66713
66714 2002-06-15  Jim Meyering  <meyering@lucent.com>
66715
66716         Work even with DJGPP 2.03, which lacks support for symlinks.
66717         From Richard Dawe.
66718         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
66719         is defined.
66720         * lib/lchown.c (S_ISLNK): Likewise.
66721
66722 2002-06-15  Jim Meyering  <meyering@lucent.com>
66723
66724         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
66725         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
66726         have been included before this file.
66727
66728 2002-06-14  Jim Meyering  <meyering@lucent.com>
66729
66730         * lib/file-type.h: Use the version from diffutils-2.8.2.
66731         * lib/file-type.c: Likewise.
66732
66733 2002-06-07  Jim Meyering  <meyering@lucent.com>
66734
66735         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
66736         They're needed at least for NetBSD 1.5.2.
66737         ($statxfs_includes): Include those same headers.
66738         ($statxfs_includes): Include sys/vfs.h if available.
66739         ($statxfs_includes): Likewise for sys/statvfs.h.
66740         Check for the following members in both structs statfs and statvfs:
66741         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
66742
66743 2002-06-01  Jim Meyering  <meyering@lucent.com>
66744
66745         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
66746         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
66747
66748 2002-05-28  Jim Meyering  <meyering@lucent.com>
66749
66750         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
66751         Reported by Volker Borchert.
66752
66753 2002-05-27  Jim Meyering  <meyering@lucent.com>
66754
66755         Fix a problem seen only on nonconforming systems whereby ls.c's
66756         use of localtime, and then of gettimeofday would cause trouble:
66757         the localtime call used to initialize rpl_gettimeofday's save
66758         mechanism would clobber ls's current local time information so
66759         that in any long listing the first file would always be listed
66760         with date 1970-01-01.  Analysis by Volker Borchert.
66761
66762         * lib/gettimeofday.c (localtime): Undefine.
66763         (rpl_localtime): New function.
66764
66765 2002-05-27  Jim Meyering  <meyering@lucent.com>
66766
66767         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
66768         localtime.
66769
66770         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
66771         use the replacement function; it wouldn't resolve at link time.
66772         Reported by Volker Borchert.
66773
66774 2002-05-22  Jim Meyering  <meyering@lucent.com>
66775
66776         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
66777         file-type.h.
66778         * lib/file-type.h: New file.
66779         * lib/file-type.c (file_type): New file/function.  Extracted from
66780         diffutils.
66781
66782 2002-04-30  Jim Meyering  <meyering@lucent.com>
66783
66784         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
66785
66786 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66787
66788         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
66789
66790 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66791
66792         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
66793         Do not check for alloca.h (no longer used) or stdbool.h (was never
66794         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
66795
66796 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66797
66798         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
66799
66800 2002-04-29  Jim Meyering  <meyering@lucent.com>
66801
66802         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
66803         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
66804         Use AC_FUNC_STRNLEN here instead.
66805
66806         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
66807         With autoconf-2.53a, it's part of AC_PROG_CC.
66808
66809 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66810
66811         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
66812         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
66813
66814 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66815
66816         * lib/sig2str.h, lib/sig2str.c: New files.
66817         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
66818
66819 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66820
66821         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
66822         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
66823         of 127, since 64 is the largest conceivable number for ancient
66824         nonstandard hosts.
66825         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
66826
66827 2002-04-28  Jim Meyering  <meyering@lucent.com>
66828
66829         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
66830
66831 2002-04-24  Jim Meyering  <meyering@lucent.com>
66832
66833         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
66834         (jm_PREREQ): Use it.
66835
66836         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
66837         mach/mach.h fcntl.h.
66838         Check for this function: setlocale.
66839
66840 2002-04-24  Jim Meyering  <meyering@lucent.com>
66841
66842         * lib/gettext.h: New file, from Gettext.
66843         * lib/Makefile.am (INCLUDES): Remove -I../intl.
66844         (libfetish_a_SOURCES): Add gettext.h.
66845
66846 2002-04-16  Jim Meyering  <meyering@lucent.com>
66847
66848         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
66849         ut_pid, ut_id, ut_exit.
66850
66851 2002-04-16  Jim Meyering  <meyering@lucent.com>
66852
66853         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
66854         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
66855         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
66856
66857 2002-04-12  Jim Meyering  <meyering@lucent.com>
66858
66859         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
66860         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
66861         existence of the getmntinfo function.  Needed for Darwin 5.3.
66862
66863         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
66864         This is necessary at least on Darwin 5.3.
66865
66866         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
66867         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
66868         strnlen.o in the library, and that makes some versions of ranlib
66869         object.
66870
66871 2002-04-12  Jim Meyering  <meyering@lucent.com>
66872
66873         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
66874
66875 2002-04-09  Jim Meyering  <meyering@lucent.com>
66876
66877         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
66878         to be more precise.  Rather than saying we're checking whether the
66879         function `works', say what we're testing.
66880         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
66881         Reported by Bruno Haible.
66882
66883 2002-03-10  Jim Meyering  <meyering@lucent.com>
66884
66885         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
66886         Suggestion from Santiago Vila.
66887
66888 2002-03-08  Jim Meyering  <meyering@lucent.com>
66889
66890         * lib/rename.c: Mention that this wrapper is needed also on
66891         mips-dec-ultrix4.4 systems.
66892
66893 2002-03-02  Jim Meyering  <meyering@lucent.com>
66894
66895         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
66896         not HAVE_CLOCK_SETTIME.
66897
66898 2002-02-27  Paul Eggert  <eggert@twinsun.com>
66899
66900         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
66901         Check for clock_settime.
66902
66903 2002-02-27  Paul Eggert  <eggert@twinsun.com>
66904
66905         * lib/nanosleep.h: Rename to....
66906         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
66907
66908         * lib/gettime.c: New file.
66909         * lib/settime.c: New file.
66910         * lib/stime.c: Remove.
66911
66912         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
66913         timespec.h.  Remove nanosleep.h.
66914
66915 2002-02-25  Paul Eggert  <eggert@twinsun.com>
66916
66917         * m4/acl.m4: New file.
66918         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
66919         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
66920
66921 2002-02-25  Paul Eggert  <eggert@twinsun.com>
66922
66923         * lib/acl.c, lib/acl.h: New files.
66924         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
66925
66926 2002-02-24  Jim Meyering  <meyering@lucent.com>
66927
66928         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
66929         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
66930         cause trouble.  Reported by Nelson Beebe.
66931
66932 2002-02-23  Paul Eggert  <eggert@twinsun.com>
66933
66934         * lib/path-concat.c (xpath_concat): Reorder code to pacify
66935         compilers that don't know that xalloc_die never returns.
66936
66937 2002-02-20  Jim Meyering  <meyering@lucent.com>
66938
66939         * lib/getdate.c: Regenerate using bison-1.33.
66940
66941 2002-02-17  Jim Meyering  <meyering@lucent.com>
66942
66943         * config/config.guess (main): Don't use `head -1'; it's no longer
66944         portable. Use `sed 1q' instead.
66945
66946 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
66947
66948         * m4/codeset.m4: Upgrade to gettext-0.11.
66949         * m4/gettext.m4: Upgrade to gettext-0.11.
66950         * m4/glibc21.m4: Upgrade to gettext-0.11.
66951         * m4/iconv.m4: Upgrade to gettext-0.11.
66952         * m4/isc-posix.m4: Upgrade to gettext-0.11.
66953         * m4/lcmessage.m4: Upgrade to gettext-0.11.
66954         * m4/lib-ld.m4: New file, from gettext-0.11.
66955         * m4/lib-link.m4: New file, from gettext-0.11.
66956         * m4/lib-prefix.m4: New file, from gettext-0.11.
66957         * m4/progtest.m4: Upgrade to gettext-0.11.
66958
66959 2002-02-15  Paul Eggert  <eggert@twinsun.com>
66960
66961         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
66962         (jm_PREREQ): Use it.
66963
66964 2002-02-15  Paul Eggert  <eggert@twinsun.com>
66965
66966         * lib/posixver.c, lib/posixver.h: New files.
66967         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
66968
66969 2002-02-02  Paul Eggert  <eggert@twinsun.com>
66970             Bruno Haible  <bruno@clisp.org>
66971
66972         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
66973         (fwrite_success_callback): New declaration.
66974         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
66975         print_unicode_char. Call failure callback instead of error.
66976         (fwrite_success_callback): New function.
66977         (exit_failure_callback): New function.
66978         (fallback_failure_callback): New function.
66979         (print_unicode_char): Call unicode_to_mb.
66980
66981 2002-01-26  Jim Meyering  <meyering@lucent.com>
66982
66983         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
66984         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
66985
66986 2002-01-26  Jim Meyering  <meyering@lucent.com>
66987
66988         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
66989
66990 2002-01-22  Paul Eggert  <eggert@twinsun.com>
66991
66992         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
66993
66994 2002-01-22  Jim Meyering  <meyering@lucent.com>
66995
66996         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
66997         Otherwise, some versions of automake would omit the rule that makes
66998         Makefile from Makefile.in.
66999
67000 2002-01-21  Paul Eggert  <eggert@twinsun.com>
67001
67002         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
67003         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
67004         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
67005         (memcoll): Set errno to zero if there is no error.
67006
67007         * lib/quotearg.c (quotearg_buffer_restyled):
67008         Fix bug with quoting buffers containing NUL when backslashing escapes.
67009         This bug was exposed by the other changes in this patch.
67010         (quotearg_n_options): New arg ARGSIZE.
67011         All callers changed.
67012         (quoting_options_from_style): New function.
67013         (quotearg_n_style): Use it.
67014         (quotearg_n_style_mem): New function.
67015
67016         * lib/quotearg.h (quotearg_n_style_mem): New function.
67017
67018 2002-01-19  Jim Meyering  <meyering@lucent.com>
67019
67020         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
67021         Remove useless quotes: DF_PROG="df".
67022         * m4/strnlen.m4: New file.
67023
67024 2002-01-16  Paul Eggert  <eggert@twinsun.com>
67025
67026         * lib/backupfile.c (ISDIGIT): Comment fix.
67027         * lib/getdate.y (ISDIGIT): Likewise.
67028         * lib/posixtm.c (ISDIGIT, year): Likewise.
67029         * lib/strverscmp.c (ISDIGIT): Likewise.
67030         * lib/userspec.c (ISDIGIT): Likewise.
67031
67032 2002-01-16  Jim Meyering  <meyering@lucent.com>
67033
67034         * lib/getdate.y: Add three semicolons, each just before a closing
67035         brace. Bison (as of version 1.31) no longer papers over that mistake.
67036
67037 2002-01-05  Jim Meyering  <meyering@lucent.com>
67038
67039         * lib/version-etc.c (version_etc_copyright): Update copyright year.
67040
67041 2001-12-19  Paul Eggert  <eggert@twinsun.com>
67042
67043         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
67044         not silently exit merely because the output buffer happens to
67045         have nothing pending.
67046
67047 2001-12-18  Paul Eggert  <eggert@twinsun.com>
67048
67049         See the big note in ../ChangeLog.
67050         * lib/human.c (suffixes): Prefer K to k for 1024.
67051         (generate_suffix_backwards): New function.
67052         (human_readable_inexact): Use it.
67053         * lib/xstrtol.c (__xstrtol): If there is no number but there
67054         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
67055         Accept 'K' as well as 'k'.
67056
67057 2001-12-15  Jim Meyering  <meyering@lucent.com>
67058
67059         * lib/regex.h (__restrict_arr): Update from libc.
67060
67061         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
67062         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
67063         (STREQ): Define.
67064
67065 2001-12-14  Jim Meyering  <meyering@lucent.com>
67066
67067         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
67068         Suggestion from Bruno Haible.
67069
67070 2001-12-10  Jim Meyering  <meyering@lucent.com>
67071
67072         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
67073         xrealloc, Instead, include "xalloc.h".
67074         (initbuffer): Don't cast xmalloc return value to char*.
67075         (readline): Reword comment.
67076         Don't cast xrealloc return value to char*
67077         Return NULL, not 0.
67078
67079 2001-12-09  Jim Meyering  <meyering@lucent.com>
67080
67081         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
67082         about `signed and unsigned type in conditional expression'.
67083         * lib/posixtm.c (posix_time_parse): Likewise.
67084
67085         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
67086
67087         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
67088         to avoid a pedantic warning.
67089
67090         * lib/getstr.c: Don't include assert.h.
67091         (getstr): Remove warning-evoking assertions.
67092         Return -1 if offset parameter is out of bounds.
67093         Change the type of a local from int to size_t.
67094
67095         * lib/strftime.c (my_strftime_localtime_r): Include this function
67096         definition in the `#if ! HAVE_TM_GMTOFF' block.
67097
67098         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
67099         Include xalloc.h instead.
67100
67101 2001-12-02  Jim Meyering  <meyering@lucent.com>
67102
67103         * lib/tempname.c: Don't declare getenv, thus reverting the change of
67104         2001-11-18.  It's no longer necessary, now that stdlib.h is always
67105         included.
67106
67107         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
67108         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
67109
67110 2001-11-30  Akim Demaille  <akim@epita.fr>
67111
67112         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
67113         before being defined.
67114
67115 2001-11-27  Paul Eggert  <eggert@twinsun.com>
67116
67117         * lib/quotearg.h (quotearg_n, quotearg_n_style):
67118         First arg is int, not unsigned.
67119         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
67120         (SIZE_MAX, UINT_MAX): New macros.
67121         (quotearg_n_options): Abort if N is negative.
67122         Avoid overflow check on hosts where size_t is 64 bits and int
67123         is 32 bits, as overflow is impossible there.
67124         Fix off-by-one typo that caused unnecessary reallocation.
67125
67126 2001-11-27  Jim Meyering  <meyering@lucent.com>
67127
67128         * lib/tempname.c: Merge with version from libc.
67129         * lib/regex.c: Likewise.
67130
67131         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
67132         systems for which STDC_HEADERS is 0, it was not included, resulting in
67133         a warning about an integer-to-pointer conversion problem with getenv.
67134         Reported by Volker Borchert.
67135
67136 2001-11-26  Jim Meyering  <meyering@lucent.com>
67137
67138         * lib/gtod.h: Remove file.
67139         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
67140         * lib/gettimeofday.c: Don't include gtod.h.
67141         (GTOD_init): Remove function.
67142         (rpl_gettimeofday): Do its job here instead, rather than aborting.
67143         Suggestion from Volker Borchert.
67144
67145 2001-11-23  Jim Meyering  <meyering@lucent.com>
67146
67147         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
67148         it.
67149         * lib/hash.c (struct hash_table): Define it here instead.
67150
67151 2001-11-22  Jim Meyering  <meyering@lucent.com>
67152
67153         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
67154
67155 2001-11-20  Jim Meyering  <meyering@lucent.com>
67156
67157         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
67158         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
67159
67160 2001-11-19  Jim Meyering  <meyering@lucent.com>
67161
67162         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
67163         directory.  Use "conftestXXXXXX" as the template.
67164         Suggestion from Paul Eggert.
67165
67166         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
67167         immediately, so the test doesn't mistakenly hit the max-open-files
67168         limit.
67169
67170 2001-11-18  Paul Eggert  <eggert@twinsun.com>
67171
67172         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
67173         (TEMPORARIES): New macro.
67174         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
67175         removes an artificial limitation (e.g. HP-UX 10.20, where
67176         TMP_MAX is 17576).
67177
67178 2001-11-18  Jim Meyering  <meyering@lucent.com>
67179
67180         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
67181
67182 2001-11-18  Jim Meyering  <meyering@lucent.com>
67183
67184         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
67185         on SunOS 4.
67186
67187         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
67188         files will be created before anything else.
67189
67190 2001-11-17  Paul Eggert  <eggert@twinsun.com>
67191
67192         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
67193         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
67194
67195 2001-11-17  Jim Meyering  <meyering@lucent.com>
67196
67197         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
67198         Prompted by a report from Bob Proulx.
67199
67200         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
67201         Instead, require UTILS_FUNC_MKSTEMP.
67202
67203 2001-11-17  Jim Meyering  <meyering@lucent.com>
67204
67205         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
67206         Now, that's done as part of AC_FUNC_STRTOD.
67207
67208 2001-11-17  Jim Meyering  <meyering@lucent.com>
67209
67210         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
67211         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
67212         rather than group writable.  Patch by Juan F. Codagnone.
67213
67214         * lib/readtokens.c: Remove explicit declarations of xmalloc and
67215         xrealloc, Instead, include "xalloc.h".
67216
67217         * lib/mountlist.c: Include unlocked-io.h after all system headers.
67218         Remove explicit declarations of xmalloc, xrealloc,
67219         and xstrdup.  Instead, include "xalloc.h".
67220
67221         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
67222         unlocked-io.h.
67223         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
67224         Likewise.
67225         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
67226
67227         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
67228         Reported by Padraig Brady.
67229
67230         * lib/mkstemp.c: #undef mkstemp.
67231         Include config.h.
67232         (rpl_mkstemp): Rename from mkstemp.
67233         Protoize.
67234
67235 2001-11-16  Jim Meyering  <meyering@lucent.com>
67236
67237         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
67238         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
67239         determine the amount of total physical memory, use pstat_getstatic.
67240         HPUX-11 doesn't define _SC_PHYS_PAGES.
67241         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
67242         If sysconf couldn't be used to determine the amount of available
67243         physical memory, use both pstat_getstatic and pstat_getdynamic.
67244         Based on a patch from Bob Proulx.
67245
67246 2001-11-10  Jim Meyering  <meyering@lucent.com>
67247
67248         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
67249         (jm_PREREQ): Use it.
67250
67251 2001-11-09  Jim Meyering  <meyering@lucent.com>
67252
67253         * m4/jm-macros.m4: Require autoconf-2.52f.
67254         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
67255         Use these AC_-prefixed names, not the AM_-prefixed ones.
67256
67257         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
67258
67259 2001-11-05  Jim Meyering  <meyering@lucent.com>
67260
67261         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
67262
67263 2001-11-04  Jim Meyering  <meyering@lucent.com>
67264
67265         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
67266         $DEFS.
67267
67268 2001-11-03  Jim Meyering  <meyering@lucent.com>
67269
67270         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
67271         of AC_DEFUN.
67272
67273         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
67274         know the name of the variable in the macro definition.
67275
67276 2001-11-03  Jim Meyering  <meyering@lucent.com>
67277
67278         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
67279         in argmatch_to_argument call.
67280
67281         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
67282         argument.
67283
67284         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
67285         e.g., a fault due to an attempt to free a NULL pointer.
67286
67287 2001-11-01  Jim Meyering  <meyering@lucent.com>
67288
67289         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
67290         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
67291
67292 2001-11-01  Jim Meyering  <meyering@lucent.com>
67293
67294         * lib/dirfd.c, lib/dirfd.h: New files.
67295         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
67296
67297         * lib/hash.c (hash_print) [TESTING]: Clean up.
67298
67299 2001-10-22  Paul Eggert  <eggert@twinsun.com>
67300
67301         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
67302         to avoid a warning if -Wall.
67303
67304 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
67305
67306         * README: New file
67307         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
67308         (per RMS's instructions, this is now the canonical source)
67309         * lgpl/, gpl/: New directories.
67310
67311 2001-10-21  Paul Eggert  <eggert@twinsun.com>
67312
67313         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
67314
67315 2001-10-21  Jim Meyering  <meyering@lucent.com>
67316
67317         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
67318         this code would end up calling gettext even in packages built
67319         with --disable-nls.
67320         * lib/getopt.c (_): Likewise.
67321         * lib/regex.c (_): Likewise.
67322
67323 2001-10-20  Paul Eggert  <eggert@twinsun.com>
67324
67325         * m4/error.m4 (jm_PREREQ_ERROR):
67326         Do not invoke AC_CHECK_FUNCS with strerror_r, as
67327         AC_FUNC_STRERROR_R does that.
67328         Check for strerror declaration.
67329
67330         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
67331         are supposed to have them these days.
67332         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
67333         Merge changes from latest Autoconf CVS.
67334         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
67335         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
67336         POSIX decided to standardize on the int flavor of strerror_r.
67337
67338 2001-10-20  Paul Eggert  <eggert@twinsun.com>
67339
67340         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
67341         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
67342         Use strerror_r that is only a macro, even if it is not a function.
67343         (strerror): Check for HAVE_DECL_STRERROR before declaring.
67344         (private_strerror): Use prototypes, not old-style function definition.
67345         (print_errno_message): New function.
67346         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
67347         char*-flavored one.
67348         (error_tail, error, error_at_line): Use it.
67349
67350 2001-10-11  Jim Meyering  <meyering@lucent.com>
67351
67352         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
67353         and quote_n (1, ... to avoid clobbering a buffer.
67354
67355 2001-10-05  Jim Meyering  <meyering@lucent.com>
67356
67357         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
67358         hash-pjw.h.
67359         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
67360         * lib/hash-pjw.h: New file.
67361
67362 2001-09-30  Jim Meyering  <meyering@lucent.com>
67363
67364         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
67365         `struct fsstat' has the `f_fstypename' member.
67366         Use that to define FS_TYPE, which is now used to make
67367         the getfsstat link test tighter.
67368
67369 2001-09-30  Jim Meyering  <meyering@lucent.com>
67370
67371         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
67372         Include <sys/ucred.h>, for Apple Darwin.
67373         Include sys/mount.h and sys/fs_types.h only if available.
67374         (FS_TYPE): Define.
67375         (read_filesystem_list): Use FS_TYPE.
67376
67377 2001-09-29  Paul Eggert  <eggert@twinsun.com>
67378
67379         * lib/exclude.c (excluded_filename): 0 -> false, since it's
67380         a boolean context.
67381
67382 2001-09-29  Jim Meyering  <meyering@lucent.com>
67383
67384         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
67385         [one-argument getmntent function]): Include stdio.h before mntent.h.
67386         SunOS 4.1.x needs it for the declaration of `FILE'.
67387         Patch by Volker Borchert.
67388
67389         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
67390         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
67391         sys/fs_types.h, and make the link-test for getfsstat guard #include
67392         directives with appropriate #if HAVE_*_H tests so that we can
67393         detect getfsstat on Apple Darwin1.3.7 systems.
67394         Reported by Nelson Beebe.
67395         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
67396
67397 2001-09-28  Paul Eggert  <eggert@twinsun.com>
67398
67399         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
67400         #defines strtoimax.  Also treat the other strto* functions
67401         like strtoimax.
67402
67403         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
67404         Check for strtoul and strtoumax,
67405         as those declarations are made even in the signed case.
67406         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
67407         Likewise, for strtol and strtoimax.
67408
67409 2001-09-28  Paul Eggert  <eggert@twinsun.com>
67410
67411         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
67412         #defines strtoimax.  Also treat the other strto* functions
67413         like strtoimax.
67414
67415         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
67416         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
67417         (strtoimax, strtoumax): Do not declare if already defined as a macro.
67418
67419 2001-09-26  Jim Meyering  <meyering@lucent.com>
67420
67421         Most macros in unlocked-io.h had the wrong number of arguments.
67422         * lib/gen-uio: New script.
67423         (USE_UNLOCKED_IO): Define to 1 if not already defined.
67424         * lib/unlocked-io.hin: Remove file.
67425         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
67426         rather than trying to embed it here.
67427         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
67428         Reported by Padraig Brady.
67429
67430 2001-09-25  Volker Borchert  <bt@teknon.de>
67431
67432         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
67433         `result'.
67434
67435 2001-09-24  Jim Meyering  <meyering@lucent.com>
67436
67437         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
67438
67439 2001-09-23  Jim Meyering  <meyering@lucent.com>
67440
67441         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
67442         instead of the mere test for existence of mntent.h.  The latter
67443         would get a false-positive on AIX 3.4 systems.
67444         In the outer getmntent if-block, don't die if neither of the getmntent
67445         tests succeeds.  Instead, just fall through and continue with the
67446         remaining tests.
67447
67448 2001-09-23  Jim Meyering  <meyering@lucent.com>
67449
67450         * lib/mountlist.c: Remove useless parentheses in #if directives.
67451         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
67452         the deprecated MOUNTED symbol is no longer defined in mntent.h.
67453
67454 2001-09-22  Jim Meyering  <meyering@lucent.com>
67455
67456         * m4/gettext.m4: New file.  From gettext.
67457         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
67458         * m4/progtest.m4: Likewise
67459         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
67460         * m4/glibc21.m4: Likewise.
67461
67462         * m4/libintl.m4: Remove.  No longer used.
67463
67464 2001-09-22  Jim Meyering  <meyering@lucent.com>
67465
67466         * lib/localcharset.c: Update from latest gettext.
67467         * lib/config.charset: Likewise.
67468
67469 2001-09-20  Jim Meyering  <meyering@lucent.com>
67470
67471         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
67472         strtoimax.
67473         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
67474         strtoumax.
67475
67476 2001-09-20  Jim Meyering  <meyering@lucent.com>
67477
67478         * lib/xstrtol.c (strtoimax): Guard declaration with
67479         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
67480         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
67481         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
67482         (strtoumax): Likewise, for completeness (it wasn't necessary).
67483
67484 2001-09-17  Paul Eggert  <eggert@twinsun.com>
67485
67486         * lib/strtoimax.c (HAVE_LONG_LONG):
67487         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
67488         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
67489         to work around bug in IBM C compiler.
67490
67491 2001-09-17  Jim Meyering  <meyering@lucent.com>
67492
67493         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
67494         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
67495         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
67496         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
67497         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
67498         whenever the right hand side need not be expanded by the shell.
67499
67500 2001-09-16  Paul Eggert  <eggert@twinsun.com>
67501
67502         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
67503         library.  It's not correct, as some older glibcs are buggy.
67504         fnmatch wasn't fixed until glibc 2.2.
67505
67506         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
67507         special shell magic here.
67508
67509 2001-09-16  Jim Meyering  <meyering@lucent.com>
67510
67511         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
67512         * m4/jm-macros.m4: Require it.
67513
67514 2001-09-16  Jim Meyering  <meyering@lucent.com>
67515
67516         * lib/mkdir.c: New file.
67517
67518 2001-09-15  Jim Meyering  <meyering@lucent.com>
67519
67520         * m4/jm-macros.m4: Check for help2man.
67521
67522 2001-09-11  Jim Meyering  <meyering@lucent.com>
67523
67524         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
67525         The body, by Paul Eggert, was moved here from configure.in.
67526         * m4/jm-macros.m4: Require UTILS_HOST_OS.
67527
67528 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67529
67530         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
67531         (jm_PREREQ): Use it.
67532
67533 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67534
67535         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
67536         Use ssize_t, not int, to store result of readlink.
67537         Check for ssize_t overflow as well as size_t overflow,
67538         as POSIX says the result of readlink is implementation-defined
67539         when ssize_t overflows.
67540         Remove unnecessary cast to char*.
67541         Use free+malloc instead of realloc, as the storage doesn't need
67542         to be preserved and it's clearer and can be more efficient that way.
67543         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
67544         * lib/xreadlink.h (xreadlink): Update prototype.
67545
67546 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67547
67548         * lib/xgetcwd.c: Revert some of the previous change; intead,
67549         fix the HAVE_GETCWD_NULL code to behave more like the
67550         !HAVE_GETCWD_NULL code used to.
67551
67552         Include "xalloc.h".
67553         (xgetcwd): Do not return NULL when memory is exhausted; instead,
67554         invoke xalloc_die.
67555
67556 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67557
67558         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
67559         sys/param.h, as pathmax.h includes them.
67560
67561 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67562
67563         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
67564         (jm_PREREQ_XGETCWD): New macro.
67565
67566         * m4/getcwd.m4: New file.
67567
67568 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67569
67570         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
67571         like the HAVE_GETCWD_NULL code.
67572         Include pathmax.h if not HAVE_GETCWD.
67573         Do not include xalloc.h.
67574         (INITIAL_BUFFER_SIZE): New symbol.
67575         Do not use xmalloc / xrealloc, since the caller is responsible for
67576         handling errors.  Preserve errno around `free' during failure.
67577         Do not overrun buffer when using getwd.
67578
67579 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67580
67581         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
67582         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
67583         getcwd (NULL, 0).
67584
67585 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67586
67587         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
67588         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
67589         spotted by Jim Meyering.
67590
67591 2001-09-03  Jim Meyering  <meyering@lucent.com>
67592
67593         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
67594         failure.
67595
67596 2001-09-02  Jim Meyering  <meyering@lucent.com>
67597
67598         * lib/error.c: Update from GNU libc.
67599
67600 2001-09-01  Jim Meyering  <meyering@lucent.com>
67601
67602         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
67603         Used by df.
67604
67605 2001-09-01  Jim Meyering  <meyering@lucent.com>
67606
67607         * lib/xreadlink.c: New file.
67608         * lib/xreadlink.h: New file.
67609         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
67610         xreadlink.h.
67611
67612         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
67613         doesn't conflict with sparc Solaris 7's definition in
67614         /usr/include/sys/int_types.h.
67615
67616         * lib/exclude.c: Use `""', not `<>' to #include non-system header
67617         files.
67618         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
67619         and strncasecmp as r-values.  Unixware didn't have declarations.
67620
67621 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67622
67623         * lib/xstrtol.h: Add copyright notice.
67624         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
67625         LONGINT_INVALID_SUFFIX_CHAR.
67626
67627 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67628
67629         * lib/xstrtol.c (strtoimax): New decl.
67630
67631 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67632
67633         * lib/xgetcwd.c: Don't include pathmax.h.
67634         Include stdlib.h and unistd.h if available.
67635         Include xalloc.h.
67636         (xmalloc, xstrdup, free): Remove decls.
67637         (xgetcwd): Don't assume sizes fit in unsigned.
67638         Check for overflow when computing sizes.
67639         Simplify reallocation code.
67640
67641 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67642
67643         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
67644         a directory's st_size can have an arbitrary value, so the old
67645         usage could waste an arbitrary amount of memory.  All uses
67646         changed.
67647         * lib/savedir.h: Update prototype.
67648
67649 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67650
67651         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
67652
67653         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
67654         old strtoimax.c.
67655
67656         Also, make the following further changes to make this file's
67657         configuration more similar to that of strtol.c:
67658         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
67659         (strtoumax, uintmax_t, strtoull, strtol): Remove.
67660         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
67661         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
67662         changed to signed values.
67663
67664         And make the following changes as well:
67665         Fix copyright notice, as 1999 was missing.
67666         (verify): New macro.
67667         (strtoimax): Check sizes at compile-time, not run-time.
67668         Prefer strtol to strtoll if both work.
67669         (main): Remove; it was not that useful and was a pain to maintain.
67670
67671         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
67672
67673 2001-08-31  Jim Meyering  <meyering@lucent.com>
67674
67675         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
67676         Use an initial, malloc'd, buffer of length 128 rather than
67677         a statically allocated one of length 1024.
67678
67679 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67680
67681         Simplify code, partly by assuming autoconf 2.52 semantics.
67682
67683         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
67684
67685         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
67686         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
67687         All uses removed.
67688         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
67689         Move AC_REQUIRE to next-to-top level, to avoid confusion.
67690         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
67691         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
67692         jm_AC_HEADER_INTTYPES_H.
67693         * m4/jm-macros.m4 (jm_MACROS): Likewise.
67694
67695         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
67696
67697         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
67698         Quote first arg of AC_DEFUN.
67699         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
67700         since they are needed to parse the include file even if we need
67701         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
67702         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
67703         but with opposite signedness.
67704
67705 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67706
67707         Merge 'exclude' changes from tar 1.13.22.
67708         This fixes one or two unlikely storage allocation overflow bugs,
67709         but doesn't change user-visible behavior otherwise.
67710
67711 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67712
67713         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
67714         (jm_PREREQ_EXCLUDE): New macro.
67715
67716 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67717
67718         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
67719         tm to be declared.
67720
67721 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67722
67723         * lib/hash.c: Remove '2001' from copyright notice.
67724
67725 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67726
67727         * lib/full-write.h: New file.
67728         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
67729         * lib/full-write.c: Correct credits, as cccp.c no longer
67730         exists and anyway it was so heavily changed from the old cccp
67731         code as to be unrecognizable.  Include full-write.h.
67732         (full_write) Return size_t, with short writes meaning failure.
67733         All callers changed.  This fixes a bug with large buffers
67734         on 64-bit hosts.
67735         * lib/utime.c: Include full-write.h.
67736
67737 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67738
67739         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
67740         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
67741         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
67742         Include if available.
67743         (<xalloc.h>): Include
67744         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
67745         (verify): New macro.  Use it to verify that EXCLUDE macros do not
67746         collide with FNM macros.
67747         (struct patopts): New struct.
67748         (struct exclude): Use it, as exclude patterns now come with options.
67749         (new_exclude): Support above changes.
67750         (new_exclude, add_exclude_file):
67751         Initial size must now be a power of two to simplify overflow checking.
67752         (free_exclude, fnmatch_no_wildcards): New function.
67753         (excluded_filename): No longer requires options arg, as the options
67754         are determined by add_exclude.  Now returns bool, not int.
67755         (excluded_filename, add_exclude):
67756         Add support for the fancy new exclusion options.
67757         (add_exclude, add_exclude_file): Now takes int options arg.
67758         Check for arithmetic overflow when computing sizes.
67759         (add_exclude_file): xrealloc might modify errno, so don't
67760         realloc until after errno might be used.
67761
67762         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
67763         New macros.
67764         (free_exclude): New decl.
67765         (add_exclude, add_exclude_file): Now takes int options arg.
67766         (excluded_filename): No longer requires options arg, as the options
67767         are determined by add_exclude.  Now returns bool, not int.
67768
67769 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67770
67771         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
67772
67773 2001-08-27  Jim Meyering  <meyering@lucent.com>
67774
67775         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
67776
67777         * lib/version-etc.c (N_): Remove definition.
67778         Revert most of last change.
67779         Instead, simply don't mark the `Copyright...' string for translation.
67780         Based on advice from Paul Eggert.
67781
67782         * lib/strtoxmax.c: Tweak comment.
67783
67784 2001-08-26  Jim Meyering  <meyering@lucent.com>
67785
67786         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
67787
67788         * m4/xstrtoimax.m4: New file.
67789         * m4/xstrtoumax.m4: Add comments explaining why we
67790         AC_REPLACE_FUNCS(strtol).
67791
67792 2001-08-26  Jim Meyering  <meyering@lucent.com>
67793
67794         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
67795         of copyright with `%s' so translators don't get an untranslated
67796         message in 2002.
67797         (COPYRIGHT_YEAR): Define.
67798         (version_etc): Use fprintf rather than fputs.
67799         Suggestion from Ulrich Drepper.
67800
67801         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
67802
67803         * lib/strtoll.c: New file, from GNU libc.
67804         * lib/xstrtoimax.c: New file.
67805
67806         * lib/xstrtol.h: Add xstrtoimax.
67807         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
67808         * lib/strtoimax.c: New file.  Likewise, but first define
67809         STRTOUXMAX_SIGNED.
67810
67811         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
67812         ...
67813         * lib/strtoxmax.c: ... then renamed to this.
67814
67815 2001-08-18  Paul Eggert  <eggert@twinsun.com>
67816
67817         * m4/inttypes.m4: Add AC_PREREQ(2.13).
67818         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
67819         (jm_AC_TYPE_INTMAX_T): New macro.
67820         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
67821
67822         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
67823
67824         * m4/longlong.m4: Renamed from ulonglong.m4.
67825         * m4/inttypes.m4: Renamed from inttypes_h.m4.
67826         * m4/uintmax_t.m4: Removed.
67827
67828 2001-08-13  Paul Eggert  <eggert@twinsun.com>
67829
67830         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
67831         Port to Solaris 8, where 'sed' requires a space after the 'r'
67832         command, and where sh dislikes "$/".  Clean up the spacing a bit.
67833         Redirect output to $tmp just once.
67834
67835 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
67836
67837         * lib/addext.c (<errno.h>): Include.
67838         (errno): Declare if not defined.
67839         (addext): Work correctly when pathconf returns -1 and leaves
67840         errno alone because there is no limit.  Also, work even if
67841         pathconf returns a value greater than SIZE_MAX.
67842
67843 2001-08-12  Jim Meyering  <meyering@lucent.com>
67844
67845         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
67846         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
67847         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
67848         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
67849         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
67850         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
67851         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
67852         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
67853         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
67854         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
67855         utime.m4, utimes.m4, xstrtoumax.m4:
67856         Quote the first argument in each use of AC_DEFUN.
67857
67858 2001-08-12  Jim Meyering  <meyering@lucent.com>
67859
67860         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
67861         Simply `return getcwd (NULL, 0);'.
67862         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
67863         Use 1300 as initial value for length, not PATH_MAX.
67864
67865         * lib/pathmax.h: Clean up cpp syntax.
67866
67867 2001-08-12  Jim Meyering  <meyering@lucent.com>
67868
67869         * lib/gettimeofday.c: New file.
67870         * lib/gtod.h: New file.
67871         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
67872
67873 2001-08-05  Jim Meyering  <meyering@lucent.com>
67874
67875         * m4/jm-macros.m4: Require autoconf-2.52.
67876
67877 2001-08-04  Jim Meyering  <meyering@lucent.com>
67878
67879         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
67880         stmt, to get in sync with glibc.
67881
67882 2001-08-03  Paul Eggert  <eggert@twinsun.com>
67883
67884         The following changes are from gettext 0.10.39 as maintained by
67885         Bruno Haible.
67886
67887         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
67888         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
67889         with inverted sense.  All uses changed.
67890
67891         * lib/mbswidth.c: Don't include <limits.h>.
67892         Include <stdlib.h> and <string.h> unconditionally.
67893         (iswcntrl, mbsinit, ISCNTRL): New macros.
67894         (mbsnwidth): Use K&R style function declarations.
67895         Don't bother checking for MB_LEN_MAX == 1, since the compiler
67896         can optimize it when MB_CUR_MAX == 1.
67897         The width of control characters is zero, not 1.
67898
67899 2001-08-03  Paul Eggert  <eggert@twinsun.com>
67900
67901         The following changes are from gettext 0.10.39 as maintained by
67902         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
67903
67904         * m4/codeset.m4: Upgrade to serial AM1.
67905         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
67906         all uses changed.  Quote first arg of AC_DEFUN.
67907         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
67908
67909         * m4/iconv.m4: Upgrade to serial AM2.
67910         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
67911         Add --with-libconv-prefix.
67912         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
67913         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
67914         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
67915         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
67916         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
67917
67918         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
67919         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
67920         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
67921         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
67922         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
67923         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
67924         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
67925         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
67926         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
67927
67928         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
67929         string.h any more.
67930
67931         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
67932         not the default value.
67933
67934         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
67935         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
67936         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
67937         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
67938         Also check for iswcntrl, used for wcwidth fallback.
67939         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
67940         to Autoconf 2.13.
67941
67942 2001-08-03  Jim Meyering  <meyering@lucent.com>
67943
67944         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
67945         as it was in the original.  Reported by Paul Eggert.
67946
67947 2001-07-16  Jim Meyering  <meyering@lucent.com>
67948
67949         * m4/gettimeofday.m4: New file.
67950         Prompted by a report from Bernhard Baehr.
67951
67952 2001-07-15  Jim Meyering  <meyering@lucent.com>
67953
67954         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
67955         stuff. Now it's in ../Makefile.cfg.
67956
67957 2001-07-15  Jim Meyering  <meyering@lucent.com>
67958
67959         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
67960         (BUILT_SOURCES): Add unlocked-io.h.
67961         (io_functions): Define.
67962         (unlocked-io.h): New rule.
67963         (DISTCLEANFILES): Add unlocked-io.h.
67964         (all-local): Depend on unlocked-io.h, to ensure it is created.
67965
67966         * lib/unlocked-io.hin: New file
67967
67968         * lib/regex.c: Update from glibc.
67969
67970 2001-07-05  Jim Meyering  <meyering@lucent.com>
67971
67972         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
67973         recommendation.
67974         (libfetish_a_SOURCES): Put all .h files here instead.
67975         Remove a thus-exposed (better checks in automake) duplicate and
67976         two unnecessary .h files.
67977
67978 2001-07-04  Jim Meyering  <meyering@lucent.com>
67979
67980         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
67981         that generates jm-glibc-io.m4 so that it doesn't trigger any make
67982         distcheck failure.
67983
67984 2001-07-02  Jim Meyering  <meyering@lucent.com>
67985
67986         The following changes were prompted by suggestions from Bruno Haible.
67987
67988         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
67989         is now generated.
67990         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
67991         definition of EXTRA_DIST.
67992         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
67993         ensure that the generated file is created/updated whenever the list
67994         of $(unlocked_functions) is changed.
67995         (jm-glibc-io.m4): New rule.
67996         (unlocked-io.h): New rule -- currently unused.
67997
67998 2001-06-24  Jim Meyering  <meyering@lucent.com>
67999
68000         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
68001         unmatched right bracket, rather than kludging it with an extra,
68002         falsely-matching quote in a comment.  Patch by Akim Demaille.
68003
68004 2001-06-11  Jim Meyering  <meyering@lucent.com>
68005
68006         * lib/regex.c: Update from GNU libc.
68007
68008 2001-05-27  Jim Meyering  <meyering@lucent.com>
68009
68010         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
68011         Check for ut_type in struct utmp.
68012
68013 2001-05-27  Jim Meyering  <meyering@lucent.com>
68014
68015         * lib/readutmp.h (UT_TYPE): Define.
68016
68017 2001-05-24  Jim Meyering  <meyering@lucent.com>
68018
68019         * lib/argmatch.c: Include "quote.h".
68020         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
68021         quote function.  Reported by Göran Uddeborg.
68022
68023 2001-05-22  Jim Meyering  <meyering@lucent.com>
68024
68025         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
68026         now that we use the package-supplied version unconditionally.
68027         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
68028
68029 2001-05-21  Jim Meyering  <meyering@lucent.com>
68030
68031         * m4/regex.m4: Change a couple backticks to single quotes to avoid
68032         shell syntax errors.
68033
68034 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
68035
68036         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
68037
68038 2001-05-20  Paul Eggert  <eggert@twinsun.com>
68039
68040         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
68041         Don't bother to check library strftime, since
68042         we'll be using our own my_strftime function anyway.
68043         Define my_strftime instead of strftime.
68044
68045 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
68046
68047         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
68048         which is not yet declared.
68049
68050 2001-05-15  Jim Meyering  <meyering@lucent.com>
68051
68052         * m4/regex.m4: Use proper quoting so brackets appear in the test
68053         program.
68054         Reported by, and with help from, Bruno Haible.
68055
68056 2001-05-13  Jim Meyering  <meyering@lucent.com>
68057
68058         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
68059         undefined.
68060
68061 2001-05-11  Paul Eggert  <eggert@twinsun.com>
68062
68063         dirname code cleanup.  base_name now behaves more compatibly
68064         with POSIX basename when given file names that have trailing
68065         slashes, and similarly for dir_name.  Add new primitives
68066         base_len and dir_len.  Put the directory-name-related decls
68067         into dirname.h.
68068
68069         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
68070         * lib/backupfile.c (base_name): Likewise.
68071         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
68072         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
68073         * lib/makepath.c (strip_trailing_slashes): Likewise.
68074         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
68075         ISSLASH): Likewise.
68076         * lib/rename.c (strip_trailing_slashes): Likewise.
68077         * lib/same.c (base_name): Likewise.
68078         * lib/stripslash.c (ISSLASH): Likewise.
68079
68080         * lib/addext.c: Include <dirname.h> after size_t is defined.
68081         * lib/backupfile.c: Likewise.
68082
68083         * lib/addext.c (addext): Use base_len to trim redundant
68084         trailing slashes instead of doing it ourselves.
68085         But do not trim the last slash if it is not redundant.
68086
68087         * lib/backupfile.c (find_backup_file_name,
68088         max_backup_version): Use base_len instead of rolling it ourselves.
68089         Handle the case of "" and (on DOS) "C:" correctly.
68090
68091         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
68092         needed. Include <string.h>, <dirname.h>.
68093         (base_name): Allow file names ending in slashes, other than names
68094         that are all slashes.  In this case, return the basename followed
68095         by the slashes.  This is more general, and can be used in places
68096         where the original base_name purposely had an assertion failure.
68097         (base_len): New function.
68098
68099         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
68100         Do not include <assert.h>; no longer needed.
68101         Include xalloc.h.
68102         (memrchr): Remove decl.
68103         (dir_name_r): Remove.
68104         (dir_len): Renamed from dirlen.  All callers changed.
68105         Rewrite in terms of base_name, for simplicity and consistency.
68106         (dir_name): Never return NULL.  All callers changed.
68107         Do not include <stdlib.h> in test program; no longer needed.
68108         return 0; is fine for test program.
68109
68110         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
68111         New macros.
68112         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
68113
68114         * lib/path-concat.c (path_concat): Use base_len to compute
68115         base length, not strlen; this means we cannot rely on memcpy
68116         to null-terminate.
68117
68118         * lib/same.c (STREQ): Remove.
68119         (same_name): Handle the case where the basename ends in trailing '/'.
68120
68121         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
68122         a slash was stripped.  Do not strip the last slash after a
68123         file system prefix.
68124
68125 2001-05-11  Paul Eggert  <eggert@twinsun.com>
68126
68127         * lib/Makefile.am (libfetish_a_SOURCES):
68128         Add strftime.c, since we now compile it on all hosts.
68129
68130         * lib/strftime.c (my_strftime):
68131         Define to nstrftime if emacs, but only if my_strftime is not defined.
68132         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
68133         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
68134         Add one more extra argument: a nanoseconds value.
68135         All uses changed.
68136         (ns): New macro.
68137         (my_strftime function): Add %N format.
68138         (emacs_strftimeu): Renamed from emacs_strftime,
68139         with extra ut argument.
68140
68141 2001-05-09  Paul Eggert  <eggert@twinsun.com>
68142
68143         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
68144
68145 2001-04-21  Jim Meyering  <meyering@lucent.com>
68146
68147         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
68148         doesn't interfere.
68149
68150 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
68151
68152         * m4/ftruncate.m4: Check for chsize.
68153         Link with ftruncate.o unconditionally if ftruncate is missing.
68154         This was required when cross-compiling to i586-mingw32msvc.
68155
68156 2001-04-08  Jim Meyering  <meyering@lucent.com>
68157
68158         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
68159         recomputed; that's necessary when the offset spans a DST transition.
68160         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
68161
68162 2001-04-02  Jim Meyering  <meyering@lucent.com>
68163
68164         * lib/regex.h, regex.c: Update from GNU libc.
68165
68166 2001-03-24  Jim Meyering  <meyering@lucent.com>
68167
68168         * m4/jm-macros.m4: Require autoconf-2.49d.
68169
68170 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
68171
68172         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
68173
68174 2001-03-19  Paul Eggert  <eggert@twinsun.com>
68175
68176         * lib/version-etc.c (version_etc_copyright): Update to 2001.
68177
68178 2001-03-17  Jim Meyering  <meyering@lucent.com>
68179
68180         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
68181         now that the version in autoconf is equivalent.
68182         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
68183
68184         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
68185         Suggestion from Akim Demaille.
68186
68187         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
68188         (jm_PREREQ_TEMPNAME): New function.
68189
68190 2001-03-16  Paul Eggert  <eggert@twinsun.com>
68191
68192         * lib/tempname.c (uint64_t): Define to uintmax_t if
68193         not defined, and if UINT64_MAX is not defined.
68194         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
68195         Reported by John David Anglin.
68196
68197 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
68198
68199         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
68200         resolve alias if codeset is empty.
68201         * lib/config.charset (BeOS): Use wildcard syntax.
68202
68203 2001-03-13  Jim Meyering  <meyering@lucent.com>
68204
68205         * lib/path-concat.c (path_concat)
68206         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
68207         concatenating e.g., `C:' and `foo'.
68208         From Bruno Haible.
68209
68210 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
68211
68212         * lib/localcharset.c (locale_charset): Don't use
68213         setlocale(LC_CTYPE,NULL). Don't return NULL.
68214         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
68215
68216 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
68217
68218         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
68219         support for DOS/DJGPP.
68220
68221 2001-03-01  Paul Eggert  <eggert@twinsun.com>
68222
68223         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
68224         lacks mkstemp.  Compile our own tempname.c if we compile our own
68225         mkstemp.c, as mkstemp relies on tempname.
68226
68227 2001-03-01  Jim Meyering  <meyering@lucent.com>
68228
68229         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
68230         AH_VERBATIM really does output its argument verbatim.
68231
68232 2001-02-28  Paul Eggert  <eggert@twinsun.com>
68233
68234         * lib/Makefile.am (libfetish_a_SOURCES):
68235         Add dup-safer.c, fopen-safer.c.
68236         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
68237
68238         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
68239         * lib/unistd-safer.h: New files.
68240
68241 2001-02-25  Paul Eggert  <eggert@twinsun.com>
68242
68243         The mkstemp replacement is taken from glibc 2.2.2, with some
68244         portability fixes for use outside glibc, as follows:
68245
68246         * lib/tempname.c (struct_stat64): New macro.
68247         (direxists, __gen_tempname): Use it.
68248         This avoids a portability problem with Solaris 8.
68249
68250         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
68251         (<stddef.h>, <stdint.h>, <string.h>):
68252         Include only if STDC_HEADERS || _LIBC.
68253         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
68254         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
68255         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
68256         (__set_errno): Define this macro if <errno.h> doesn't.
68257         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
68258         Define these macros if <stdio.h> doesn't.
68259         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
68260         Define these macros if <sys/stat.h>
68261         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
68262         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
68263         __xstat64): Define if not _LIBC.
68264         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
68265         (__gen_tempname): Invoke gettimeofday only if
68266         HAVE_GETTIMEOFDAY || _LIBC;
68267         otherwise, fall back on plain "time".
68268         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
68269
68270         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
68271
68272         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
68273
68274 2001-02-18  Paul Eggert  <eggert@twinsun.com>
68275
68276         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
68277
68278 2001-02-17  Paul Eggert  <eggert@twinsun.com>
68279
68280         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
68281         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
68282         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
68283         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
68284
68285 2001-02-17  Paul Eggert  <eggert@twinsun.com>
68286
68287         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
68288         Remove workaround macros for hosts that have mbrtowc but not
68289         mbstate_t, as we now insist on proper declarations for both
68290         before using mbrtowc.
68291
68292 2001-02-17  Jim Meyering  <meyering@lucent.com>
68293
68294         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
68295         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
68296         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
68297         UnixWare 7.1.1.
68298
68299         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
68300         rather than AC_CACHE_VAL.
68301
68302 2001-02-17  Jim Meyering  <meyering@lucent.com>
68303
68304         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
68305         around included file name.
68306
68307         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
68308
68309         * lib/strftime.c: Update from GNU libc (the only changes were to
68310         comments).
68311
68312 2001-02-17  Jim Meyering  <meyering@lucent.com>
68313
68314         * lib/regex.c: Update from libc.
68315
68316 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
68317
68318         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
68319         clash.
68320
68321 2001-02-16  Paul Eggert  <eggert@twinsun.com>
68322
68323         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
68324         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
68325         Reported by Mark Hounschell via Paul Eggert.
68326
68327 2001-02-07  Jim Meyering  <meyering@lucent.com>
68328
68329         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
68330
68331 2001-02-05  Jim Meyering  <meyering@lucent.com>
68332
68333         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
68334         it includes the patch required for `large file' support with at least
68335         HP-UX's 10.20 /bin/cc.
68336
68337 2001-02-03  Jim Meyering  <meyering@lucent.com>
68338
68339         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
68340         AS_IF, now that it works once again (mysteriously).
68341         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
68342
68343 2001-01-30  Jim Meyering  <meyering@lucent.com>
68344
68345         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
68346         * m4/chown.m4: Rename conftestchown to conftest.chown.
68347         * m4/rename.m4: s/conftestdir/conftest.d1/ and
68348         s/conftestdir2/conftest.d2/.
68349         * m4/utimes.m4: s/conftestdata/conftest.data/
68350         Inspired by Pavel Roskin's change in autoconf.
68351
68352 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
68353
68354         * lib/config.charset: Update for FreeBSD 4.2.
68355
68356 2001-01-27  Jim Meyering  <meyering@lucent.com>
68357
68358         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
68359         a use of AS_IF.
68360         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
68361
68362 2001-01-26  Jim Meyering  <meyering@lucent.com>
68363
68364         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
68365         quotearg.c includes it.
68366
68367 2001-01-26  Jim Meyering  <meyering@lucent.com>
68368
68369         * lib/quotearg.c: Include stddef.h.
68370         * lib/quote.c: Include stddef.h.
68371         Reported by Axel Kittenberger.
68372
68373         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
68374         line in double quotes so that it evokes a better diagnostic.
68375         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
68376         Reported by Axel Kittenberger.
68377
68378 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
68379
68380         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
68381         as if it was a `charset'.
68382
68383 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
68384
68385         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
68386         has const.
68387
68388 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
68389
68390         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
68391         to avoid a warning.  Add back 'const' to inptr.
68392
68393 2001-01-20  Jim Meyering  <meyering@lucent.com>
68394
68395         Be sure that headers are checked before used in code compiled
68396         for the type checks.
68397         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
68398         In place of that, invoke jm_CHECK_ALL_TYPES.
68399         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
68400         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
68401         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
68402         The check for ssize_t was mistakenly run before the test for unistd.h.
68403
68404         The configure-time check for stdbool.h was missing.
68405         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
68406         (jm_PREREQ_HASH): New function.
68407
68408 2001-01-17  Jim Meyering  <meyering@lucent.com>
68409
68410         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
68411         for autoconf-2.49c.
68412         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
68413
68414 2001-01-16  Jim Meyering  <meyering@lucent.com>
68415
68416         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
68417         From Bruno Haible.
68418
68419 2001-01-14  Jim Meyering  <meyering@lucent.com>
68420
68421         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
68422         foo and bar.  Create conftestdir/ in the script, not in the C code.
68423         Remove directories in the script, not in the C code.
68424         Remove conftestdir{,2} before trying to create the directory.
68425         Make the entire configure script fail if the mkdir fails.
68426
68427 2001-01-14  Jim Meyering  <meyering@lucent.com>
68428
68429         * lib/rename.c: New file.  From Volker Borchert.
68430         Include stdlib.h, string.h or strings.h, and xalloc.h.
68431         Use strip_trailing_slashes rather than open-coding it.
68432
68433 2001-01-03  Paul Eggert  <eggert@twinsun.com>
68434
68435         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
68436
68437 2001-01-03  Jim Meyering  <meyering@lucent.com>
68438
68439         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
68440         of local `inptr' to avoid warning with some system declarations of
68441         iconv.
68442
68443 2001-01-02  Volker Borchert  <bt@teknon.de>
68444
68445         * m4/rename.m4: New file.
68446         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
68447
68448 2001-01-01  Jim Meyering  <meyering@lucent.com>
68449
68450         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
68451         even on systems with utmpx.h.  It's necessary for the declaration of
68452         utmp's ut_user member.  Reported by Andreas Jaeger.
68453
68454         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
68455         available. They are required for the declarations of getgrgid and
68456         getpwuid resp.
68457         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
68458         Reported by Andreas Jaeger.
68459
68460 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
68461
68462         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
68463         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
68464         so `make install' also works in VPATH builds.
68465
68466 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
68467
68468         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
68469         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
68470         can be used in subdirectories.
68471
68472 2000-12-29  Paul Eggert  <eggert@twinsun.com>
68473
68474         * lib/modechange.c: Do not assume that mode_t uses the
68475         traditional octal encoding.  E.g. "chmod 1 FOO" should set
68476         the other-execute bit of FOO even if S_IXOTH != 1.
68477
68478         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
68479         WOTH, XOTH, ALLM): New macros.
68480         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
68481          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
68482         Use them.
68483         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
68484         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
68485         (mode_compile):
68486         No need to use uintmax_t; unsigned long is long enough.
68487         Don't bother to get suffix since we don't use it.
68488
68489 2000-12-26  Jim Meyering  <meyering@lucent.com>
68490
68491         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
68492         better with autoheader.
68493
68494 2000-12-24  Jim Meyering  <meyering@lucent.com>
68495
68496         * lib/hash.c (is_prime): Return explicit boolean values.
68497         (hash_get_first): Return NULL to appease Irix5.6's 89.
68498         Reported by Nelson Beebe.
68499
68500 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
68501
68502         * lib/localcharset.c (locale_charset): Add support for Win32.
68503
68504 2000-12-18  Paul Eggert  <eggert@twinsun.com>
68505
68506         * lib/physmem.h, lib/physmem.c: New files.
68507
68508         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
68509         (noinst_HEADERS): Add physmem.h.
68510
68511         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
68512         't' for compatibility with Solaris 8 sort.
68513
68514 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
68515
68516         * lib/config.charset: Add support for BeOS.
68517
68518 2000-12-17  Jim Meyering  <meyering@lucent.com>
68519
68520         * m4/dos.m4 (jm_AC_DOS): New file and macro.
68521         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
68522
68523 2000-12-16  Jim Meyering  <meyering@lucent.com>
68524
68525         This bug had a serious impact on chown: `chown N:M FILE' (for integer
68526         N and M) would have treated it like `chown N:N FILE'.
68527
68528         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
68529
68530 2000-12-16  Jim Meyering  <meyering@lucent.com>
68531
68532         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
68533         SHELLS_FILE to a file name that's useful on djgpp systems.
68534         Include stdlib.h.
68535         (ADDITIONAL_DEFAULT_SHELLS): Define.
68536         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
68537         Based mostly on a patch from Prashant TR.
68538
68539 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
68540
68541         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
68542         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
68543         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
68544
68545 2000-12-08  Andreas Schwab  <schwab@suse.de>
68546
68547         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
68548         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
68549
68550 2000-12-07  Jim Meyering  <meyering@lucent.com>
68551
68552         * lib/stripslash.c (ISSLASH): Define.
68553         (strip_trailing_slashes): Use ISSLASH rather than comparing against
68554         `/'.
68555         From Prashant TR.
68556
68557         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
68558         (dir_name_r): Declare this function as static.
68559         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
68560         manifest itself on a name containing a mix of slashes and
68561         backslashes.
68562         Make this function work with names starting with a DOS-style
68563         drive letter and colon prefix.
68564         (dir_name): Append `.' if necessary.
68565         Based mostly on patches from Prashant TR and Eli Zaretskii.
68566
68567         * lib/dirname.h (dir_name_r): Remove prototype.
68568
68569 2000-12-06  Paul Eggert  <eggert@twinsun.com>
68570
68571         * m4/off_t-format.m4: Remove this file.
68572         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
68573
68574 2000-12-06  Jim Meyering  <meyering@lucent.com>
68575
68576         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
68577         replacement strtoull, we may well need the replacement strtoul, too.
68578         Check for declarations of strtoul and strtoull.
68579         Check for strtol.  Mainly as a cue to cause automake to include
68580         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
68581         Check for limits.h -- strtol.c needs it.
68582
68583 2000-12-05  Jim Meyering  <meyering@lucent.com>
68584
68585         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
68586
68587 2000-12-04  Jim Meyering  <meyering@lucent.com>
68588
68589         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
68590         Also include memory.h, stdlib.h, unistd.h if appropriate.
68591         Reported by Andreas Jaeger (conflicting declaration of malloc).
68592
68593 2000-12-02  Jim Meyering  <meyering@lucent.com>
68594
68595         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
68596         * m4/jm-macros.m4 (jm_MACROS): require it.
68597
68598 2000-12-02  Jim Meyering  <meyering@lucent.com>
68599
68600         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
68601
68602 2000-12-01  Paul Eggert  <eggert@twinsun.com>
68603
68604         * lib/memrchr.c: Include <config.h> before any system include file.
68605
68606 2000-11-30  Jim Meyering  <meyering@lucent.com>
68607
68608         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
68609
68610 2000-11-30  Jim Meyering  <meyering@lucent.com>
68611
68612         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
68613
68614 2000-11-29  Paul Eggert  <eggert@twinsun.com>
68615
68616         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
68617
68618 2000-11-26  Jim Meyering  <meyering@lucent.com>
68619
68620         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
68621
68622 2000-11-22  Paul Eggert  <eggert@twinsun.com>
68623
68624         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
68625         size of (size_t) -1; it's not portable.
68626
68627 2000-11-17  Jim Meyering  <meyering@lucent.com>
68628
68629         * lib/strstr.c: Update from GNU libc.
68630
68631 2000-11-17  Akim Demaille  <akim@epita.fr>
68632
68633         * lib/obstack.h: Formatting changes.
68634         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
68635         prevent type checking.
68636         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
68637         cast the value to (void *): assigning a `foo *' to a `void *'
68638         variable is valid.
68639         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
68640
68641 2000-11-16  Jim Meyering  <meyering@lucent.com>
68642
68643         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
68644
68645 2000-11-11  Jim Meyering  <meyering@lucent.com>
68646
68647         * lib/error.c: Add a couple #includes, merging from GNU libc version.
68648
68649 2000-11-10  Jim Meyering  <meyering@lucent.com>
68650
68651         * lib/obstack.h: Update from GNU libc.
68652         * lib/obstack.c: Likewise.
68653
68654 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
68655
68656         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
68657
68658 2000-11-06  Paul Eggert  <eggert@twinsun.com>
68659
68660         * lib/getusershell.c (setusershell): Use rewind rather than
68661         fseek/fseeko, to avoid configuration hassles with fseeko.
68662         Don't bother opening SHELLS_FILE if shellstream is NULL;
68663         it's not necessary.
68664
68665 2000-11-05  Jim Meyering  <meyering@lucent.com>
68666
68667         * lib/makepath.h (make_dir): Declare.
68668         * lib/makepath.c (make_dir): Remove `static' attribute.
68669         Tweak a comment.
68670
68671 2000-11-04  Jim Meyering  <meyering@lucent.com>
68672
68673         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
68674
68675 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
68676
68677         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
68678         last one in a bucket, advance to the next bucket.
68679
68680 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
68681
68682         * lib/fnmatch.c: Do not comment out all the code if we are using
68683         the GNU C library, because in some cases we are replacing buggy
68684         code in the GNU C library itself.
68685
68686 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
68687
68688         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
68689         (regex_compile): Catch bogus \(\1\).
68690
68691 2000-10-30  Paul Eggert  <eggert@twinsun.com>
68692
68693         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
68694         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
68695         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
68696
68697 2000-10-30  Paul Eggert  <eggert@twinsun.com>
68698
68699         * lib/error.h, getline.h, modechange.h:
68700         Remove "2000" from Copyright line, as the file hasn't been
68701         changed this year other than in the copyright notice.
68702
68703         * lib/xalloc.h: Add "2000" to Copyright line, as this file
68704         was changed this year.
68705
68706 2000-10-29  Jim Meyering  <meyering@lucent.com>
68707
68708         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
68709         renaming.
68710         * m4/ls-mntd-fs.m4: Likewise
68711
68712 2000-10-29  Jim Meyering  <meyering@lucent.com>
68713
68714         * lib/xstat.in: Fix grammar in comment.
68715
68716 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
68717
68718         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
68719         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
68720         doesn't define __restrict_arr.
68721
68722 2000-10-28  Jim Meyering  <meyering@lucent.com>
68723
68724         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
68725         (jm_PREREQ_MEMCHR): New function.
68726
68727 2000-10-28  Jim Meyering  <meyering@lucent.com>
68728
68729         * lib/memchr.c: Update from libc.
68730         Adjust for portability:
68731         [HAVE_STDLIB_H]: Include stdlib.h.
68732         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
68733         Undef __memchr, too.
68734         [!weak_alias]: Define __memchr to memchr.
68735
68736         * lib/regex.c: Update from libc.
68737         * lib/regex.h: Likewise.
68738         * lib/getopt1.c: Likewise.
68739         * lib/memcmp.c: Likewise.
68740
68741         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
68742         Avoid using fseek, when possible -- it's broken by design.
68743         Patch by Ulrich Drepper.
68744
68745 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
68746
68747         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
68748         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
68749         Giving in to popular pressure to shut up the compiler with casts.
68750
68751 2000-10-26  Jim Meyering  <meyering@lucent.com>
68752
68753         * lib/strftime.c: Update from libc.
68754
68755 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
68756
68757         * regex.c: More `unsigned char' -> `re_char' changes.
68758         Also change several `int' into `re_wchar_t'.
68759         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
68760         (PUSH_FAILURE_POINTER): Don't cast any more.
68761         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
68762         We want GCC to complain, since this piece of code makes
68763         re_match non-reentrant, which *should* be fixed.
68764         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
68765         (EXTEND_BUFFER): Use RETALLOC.
68766         (SET_LIST_BIT): Don't cast.
68767         (re_wchar_t): New type.
68768         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
68769         that those two functions will always properly return.
68770         (IMMEDIATE_QUIT_CHECK): Cast to void.
68771         (analyse_first): Use recursion rather than an explicit stack.
68772         (re_compile_fastmap): Can't fail anymore.
68773         (re_search_2): Don't check re_compile_fastmap for failure.
68774         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
68775         Now also sets the new value (passed in a new argument).
68776         (re_match_2_internal): Use it.
68777         Also, use a new var `reg' of type size_t when looping through regs
68778         rather than reuse the inappropriate `mcnt'.
68779
68780 2000-10-25  Jim Meyering  <meyering@lucent.com>
68781
68782         * lib/obstack.c: Update from libc.
68783
68784 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
68785
68786         * regex.c (regex_compile): Change the way of handling a range from
68787         a char less than 256 to a char not less than 256.
68788
68789 2000-10-24  Andrew Innes  <andrewi@gnu.org>
68790
68791         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
68792         NT-Emacs only.
68793         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
68794         so that re_search functions only quit when callers expect them to.
68795
68796 2000-10-23  Jim Meyering  <meyering@lucent.com>
68797
68798         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
68799         wrong.  That set_locale call must not have any side effects.
68800         From Paul Eggert.
68801
68802 2000-10-22  Jim Meyering  <meyering@lucent.com>
68803
68804         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
68805         [CYCLIC]: Remove now-unused definition.
68806
68807         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
68808         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
68809         Suggestion from Ulrich Drepper.
68810
68811 2000-10-21  Jim Meyering  <meyering@lucent.com>
68812
68813         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
68814         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
68815         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
68816
68817 2000-10-21  Jim Meyering  <meyering@lucent.com>
68818
68819         * lib/dirname.c (memrchr): Declare if necessary.
68820         (dir_name): Remove the restriction that there be no
68821         trailing slashes.  Now, this code skips past them, effectively
68822         ignoring them.
68823         [TEST_DIRNAME] (main): New unit tests.
68824
68825         * lib/memrchr.c: New file from GNU libc.
68826         Undef __memrchr, too.
68827         [!weak_alias]: Define __memrchr to memrchr.
68828         Guard weak_alias use with `#ifdef weak_alias'.
68829
68830 2000-10-21  Jim Meyering  <meyering@lucent.com>
68831
68832         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
68833         (dir_name): Use dir_name_r.
68834         * lib/dirname.h (dir_name_r): Declare it.
68835
68836 2000-10-17  Jim Meyering  <meyering@lucent.com>
68837
68838         * lib/quote.h (PARAMS): Define and use.
68839         Reported by Akim Demaille.
68840
68841         * lib/getopt.c: Update from libc.
68842
68843 2000-10-16  Jim Meyering  <meyering@lucent.com>
68844
68845         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
68846         setlocale.
68847         From Jan Fedak.
68848
68849 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
68850
68851         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
68852
68853 2000-09-25  Jim Meyering  <meyering@lucent.com>
68854
68855         * lib/md5.h (rol): Define (from GnuPG).
68856
68857         * lib/sha.c: Give credit (GnuPG) where due.
68858         (M): Use rol rather than open-coding it.
68859         Add a FIXME comment.
68860
68861 2000-09-21  Jim Meyering  <meyering@lucent.com>
68862
68863         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
68864         Reported by Michael Stone.
68865
68866 2000-09-20  Jim Meyering  <meyering@lucent.com>
68867
68868         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
68869         (noinst_HEADERS): Add sha.h.
68870         Based on code from Scott G. Miller and from GnuPG.
68871
68872 2000-09-18  Jim Meyering  <meyering@lucent.com>
68873
68874         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
68875         LIBS. Otherwise, everyone ends up linking with -lelf for some
68876         configurations.
68877         Reported by Mike Stone.
68878
68879 2000-09-15  Jim Meyering  <meyering@lucent.com>
68880
68881         * lib/regex.c: Update from libc.
68882
68883 2000-09-10  Jim Meyering  <meyering@lucent.com>
68884
68885         * lib/getopt.c (_getopt_internal): Update from glibc.
68886
68887 2000-09-09  Jim Meyering  <meyering@lucent.com>
68888
68889         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
68890         think it should be used as a general replacement for isascii.
68891         * lib/fnmatch.c: Likewise.
68892         * lib/mbswidth.c: Likewise
68893         * lib/regex.c: Likewise.
68894
68895         Don't use atoi.
68896         * lib/userspec.c: Include sys/param.h and limits.h.
68897         Include xstrtol.h.
68898         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
68899         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
68900         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
68901         UID, GID.  Check range.
68902
68903 2000-09-06  Jim Meyering  <meyering@lucent.com>
68904
68905         * lib/getopt.c (_getopt_internal): Update from glibc.
68906
68907 2000-08-30  Jim Meyering  <meyering@lucent.com>
68908
68909         * lib/strftime.c: Merge in changes from GNU libc.
68910
68911 2000-08-26  Jim Meyering  <meyering@lucent.com>
68912
68913         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
68914         * m4/fpending.m4: New file.
68915
68916 2000-08-26  Jim Meyering  <meyering@lucent.com>
68917
68918         * lib/closeout.c: Include "__fpending.h".
68919         (close_stdout_status): Return right away if there's nothing to flush.
68920
68921         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
68922         * lib/__fpending.c: New file.
68923         * lib/__fpending.h: New file.
68924
68925 2000-08-20  Jim Meyering  <meyering@lucent.com>
68926
68927         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
68928         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
68929         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
68930
68931 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
68932
68933         Improve fileutils installation on systems where running
68934         programs (like install) can't be unlinked.
68935         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
68936         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
68937
68938 2000-08-07  Paul Eggert  <eggert@twinsun.com>
68939
68940         Standardize on "memory exhausted" instead of "Memory exhausted"
68941         or "virtual memory exhausted".
68942         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
68943         "virtual memory exhausted".
68944         * lib/same.c (same_name): Invoke xalloc_die instead of printing
68945         our own message.
68946         * lib/userspec.c (parse_user_spec): Likewise.
68947         * lib/bumpalloc.h: comment fix
68948         * lib/same.c, userspec.c: Include xalloc.h.
68949
68950         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
68951         not char *const and pointing to a constant array.
68952         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
68953         (xrealloc): Comment fix.
68954
68955         * lib/userspec.c (parse_user_spec):
68956         Don't translate a message until just before returning,
68957         to avoid unnecessary translation.
68958
68959 2000-08-07  Jim Meyering  <meyering@lucent.com>
68960
68961         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
68962         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
68963         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
68964         getgroups.c, gethostname.c, getopt.h, group-member.c,
68965         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
68966         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
68967         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
68968         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
68969         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
68970         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
68971         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
68972         yesno.c: Back out Copyright date changes for each file with no change
68973         this year.  This eases coordination with other programs using the same
68974         source code modules.  From Paul Eggert.
68975
68976 2000-08-06  Paul Eggert  <eggert@twinsun.com>
68977
68978         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
68979         not char, for compatibility with glibc 2.1.3 strftime.c.
68980
68981 2000-08-03  Greg McGary  <greg@mcgary.org>
68982
68983         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
68984         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
68985         (EXTEND_BUFFER): Use them.
68986
68987 2000-08-01  Jim Meyering  <meyering@lucent.com>
68988
68989         * lib/dirname.c (ISSLASH): Define.
68990         (BACKSLASH_IS_PATH_SEPARATOR): Define.
68991         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
68992         both `\' and `/' may be use as path separators.
68993         Based on a patch from Prashant TR.
68994
68995 2000-07-31  Paul Eggert  <eggert@twinsun.com>
68996
68997         * lib/quotearg.c (quotearg_n_options): Don't make the initial
68998         slot vector a constant, since it might get modified.
68999
69000 2000-07-31  Jim Meyering  <meyering@lucent.com>
69001
69002         * lib/xmalloc.c: Use `virtual memory exhausted', not
69003         `Memory exhausted'.
69004         * lib/obstack.c (print_and_abort): Likewise.
69005
69006 2000-07-30  Paul Eggert  <eggert@twinsun.com>
69007
69008         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
69009         buffer, so that the caller can always quote one small
69010         component of a "memory exhausted" message in slot 0.
69011         From a suggestion by Jim Meyering.
69012
69013 2000-07-30  Jim Meyering  <meyering@lucent.com>
69014
69015         * lib/makepath.c (make_path): Quote the other instance, too.
69016
69017         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
69018         (STATIC_BUF_SIZE): Define.
69019         (quotearg_n_options): Use only statically allocated storage when
69020         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
69021         than STATIC_BUF_SIZE.
69022
69023 2000-07-29  Jim Meyering  <meyering@lucent.com>
69024
69025         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
69026         * lib/dirname.c (dir_name): Likewise.
69027
69028         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
69029         `/'.
69030
69031         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
69032         (dir_name): Assert that there are no trailing slashes.
69033
69034 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
69035
69036         * lib/mbswidth.h (mbswidth): Add a flags argument.
69037         (mbswidth): New declaration.
69038         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
69039         * lib/mbswidth.c (mbswidth): Add a flags argument.
69040         (mbsnwidth): New function.
69041
69042 2000-07-24  Jim Meyering  <meyering@lucent.com>
69043
69044         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
69045
69046 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69047
69048         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
69049
69050 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69051
69052         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
69053         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
69054         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
69055         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
69056         invoke multibyte primitives.
69057
69058 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69059
69060         * lib/quotearg.c:
69061         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
69062         so that mbstate_t is always defined.
69063
69064         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
69065         be 1 in at least one GCC installation, and this configuration
69066         error is likely to be common.  Ignoring MB_LEN_MAX hurts
69067         performance on hosts that have mbrtowc but have only unibyte
69068         locales, but I assume these hosts are rare.
69069
69070 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69071
69072         * lib/mbswidth.c (_XOPEN_SOURCE):
69073         Don't define; this causes problems on Solaris 7.
69074         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
69075
69076 2000-07-23  Jim Meyering  <meyering@lucent.com>
69077
69078         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
69079         too: getgrgid, getpwuid, getuid.
69080
69081 2000-07-23  Jim Meyering  <meyering@lucent.com>
69082
69083         * lib/basename.c (base_name): Add an assertion.
69084
69085 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
69086
69087         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
69088         shadow its mbsinit function.
69089
69090 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
69091
69092         * lib/mbswidth.h: New file.
69093         * lib/mbswidth.c: New file.
69094         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
69095         (noinst_HEADERS): Add mbswidth.h.
69096
69097 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
69098
69099         * lib/config.charset: Add support for FreeBSD. Improve support for
69100         HP-UX and IRIX 6.
69101
69102 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
69103
69104         * m4/mbswidth.m4: New file.
69105         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
69106
69107 2000-07-15  Jim Meyering  <meyering@lucent.com>
69108
69109         * lib/makepath.c: Include quote.h.
69110         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
69111         corresponding argument in a `quote (...)' call.
69112         Give better diagnostics.
69113
69114         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
69115         (noinst_HEADERS): Add quote.h.
69116
69117         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
69118         from tar's src/misc.c.
69119         * lib/quote.h: New file.  Prototypes for same.
69120
69121 2000-07-14  Paul Eggert  <eggert@twinsun.com>
69122
69123         From a suggestion by Bruno Haible.
69124         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
69125         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
69126         to decide whether to define the BeOS workaround macro;
69127         this adjusts to the change to AC_MBSTATE_T.
69128
69129 2000-07-14  Jim Meyering  <meyering@lucent.com>
69130
69131         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
69132         jm_AC_TYPE_UINTMAX_T.
69133
69134 2000-07-13  Paul Eggert  <eggert@twinsun.com>
69135
69136         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
69137
69138         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
69139         quotearg_buffer_restyled): Add support for
69140         clocale_quoting_style.  Undo previous change to
69141         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
69142         and "{RIGHT QUOTATION MARK}" msgids.
69143
69144 2000-07-10  Paul Eggert  <eggert@twinsun.com>
69145
69146         From a suggestion by Bruno Haible.
69147         * m4/mbstate_t.m4 (AC_MBSTATE_T):
69148         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
69149         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
69150         and mbstate_t, to a single-part test that simply defines mbstate_t.
69151         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
69152         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
69153
69154 2000-07-10  Jim Meyering  <meyering@lucent.com>
69155
69156         * m4/strerror_r.m4: Mirror the correction made in autoconf.
69157
69158         * m4/gnu-source.m4: Output to confdefs.h directly.
69159         Suggestion from Akim Demaille.
69160
69161 2000-07-09  Paul Eggert  <eggert@twinsun.com>
69162
69163         The old behavior of quoting `like this' doesn't look good with
69164         newer, ISO-style fonts.  See:
69165         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
69166
69167         Instead, quote "like this" by default.  Let the translator
69168         tailor the locale-specific quoting behavior by providing
69169         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
69170
69171         * lib/quotearg.c (N_): New macro.
69172         (gettext_default): New function.
69173         (quotearg_buffer_restyled): Use
69174         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
69175         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
69176
69177 2000-07-09  Jim Meyering  <meyering@lucent.com>
69178
69179         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
69180         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
69181
69182         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
69183         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
69184
69185 2000-07-09  Jim Meyering  <meyering@lucent.com>
69186
69187         * lib/Most files: Update copyright dates to include 2000.
69188
69189 2000-07-08  Jim Meyering  <meyering@lucent.com>
69190
69191         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
69192         if not defined.
69193         (xgethostname): Remove now-unnecessary #ifdef.
69194         Move declaration of `err' into loop where it's used.
69195
69196 2000-07-05  Paul Eggert  <eggert@twinsun.com>
69197         and Bruno Haible  <haible@clisp.cons.org>
69198
69199         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
69200         only if the test for an object-type mbstate_t fails.  This
69201         prevents us from mistakenly reporting that mbstate_t is a
69202         system object type after we "#define mbstate_t int" to work
69203         around its lack.
69204
69205 2000-07-05  Paul Eggert  <eggert@twinsun.com>
69206         and Bruno Haible  <haible@clisp.cons.org>
69207
69208         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
69209
69210 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69211
69212         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
69213         to strerror_r.
69214         Include <ctype.h> for use of isalpha.
69215
69216 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69217
69218         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
69219         by allocating a larger buffer. Test the gethostname return value for
69220         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
69221         returns an error and ENAMETOOLONG isn't defined.
69222
69223 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69224
69225         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
69226         dimension.
69227
69228 2000-07-04  Jim Meyering  <meyering@lucent.com>
69229
69230         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
69231         of the deprecated AC_CHECKING.
69232
69233 2000-07-04  Jim Meyering  <meyering@lucent.com>
69234
69235         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
69236         Reported by Bruno Haible.
69237
69238 2000-07-04  Jim Meyering  <meyering@lucent.com>
69239
69240         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
69241         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
69242         lacks mbrtowc.
69243
69244 2000-07-03  Paul Eggert  <eggert@twinsun.com>
69245
69246         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
69247         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
69248
69249 2000-07-03  Paul Eggert  <eggert@twinsun.com>
69250         and Bruno Haible  <haible@clisp.cons.org>
69251
69252         * lib/quotearg.c (mbrtowc):
69253         Assign to *pwc, and return 1 only if result is nonzero.
69254         (iswprint): Use ISPRINT when substituting our own mbrtowc.
69255
69256 2000-07-03  Jim Meyering  <meyering@lucent.com>
69257
69258         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
69259
69260 2000-07-03  Jim Meyering  <meyering@lucent.com>
69261
69262         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
69263         This is necessary to get a definition of e.g., UTMP_FILE on
69264         HP-UX 10.20.
69265         From Bob Proulx.
69266
69267 2000-07-02  Jim Meyering  <meyering@lucent.com>
69268
69269         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
69270
69271         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
69272         AC_LIBOBJ(function_name).
69273         * m4/chown.m4: Likewise.
69274         * m4/fnmatch.m4: Likewise.
69275         * m4/ftruncate.m4: Likewise.
69276         * m4/getgroups.m4: Likewise.
69277         * m4/getline.m4: Likewise.
69278         * m4/group-member.m4: Likewise.
69279         * m4/jm-macros.m4: Likewise.
69280         * m4/lstat.m4: Likewise.
69281         * m4/malloc.m4: Likewise.
69282         * m4/memcmp.m4: Likewise.
69283         * m4/nanosleep.m4: Likewise.
69284         * m4/putenv.m4: Likewise.
69285         * m4/realloc.m4: Likewise.
69286         * m4/regex.m4: Likewise.
69287         * m4/stat.m4: Likewise.
69288         * m4/strftime.m4: Likewise.
69289
69290 2000-07-02  Jim Meyering  <meyering@lucent.com>
69291
69292         * lib/quotearg.c (mbstate_t): Don't define here.
69293
69294 2000-07-02  Jim Meyering  <meyering@lucent.com>
69295
69296         * lib/nanosleep.c (SIGCONT): Define if not already defined.
69297
69298 2000-07-01  Jim Meyering  <meyering@lucent.com>
69299
69300         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
69301
69302 2000-07-01  Jim Meyering  <meyering@lucent.com>
69303
69304         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
69305         problem.
69306
69307 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
69308
69309         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
69310         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
69311
69312 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
69313
69314         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
69315         per change in ../m4/ls-mntd-fs.m4.
69316         (read_filesystem_list): Ignore symbolic links.
69317
69318 2000-06-29  Jim Meyering  <meyering@lucent.com>
69319
69320         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
69321         for declaration of strcmp.
69322
69323         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
69324
69325         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
69326         Avoid warning by casting result to `char *' to remove `const'.
69327
69328 2000-06-28  Jim Meyering  <meyering@lucent.com>
69329
69330         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
69331         included by quotearg.c, for which we perform this test.  From
69332         Bruno Haible.
69333
69334 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
69335
69336         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
69337         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
69338         <utmpx.h> exists, put readutmp.o into LIBOBJS.
69339
69340 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
69341
69342         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
69343
69344 2000-06-26  Paul Eggert  <eggert@twinsun.com>
69345
69346         savedir now sets errno on failure and invokes xmalloc to get memory.
69347         Fix a couple of other minor bugs while we're at it.
69348
69349         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
69350         (NAMLEN): Remove macro.
69351         (malloc, realloc): Remove decls.
69352         (stpcpy): Likewise.
69353         ("xalloc.h"): Include.
69354         (NAME_SIZE_DEFAULT): New macro.
69355         (savedir): Use xmalloc / xrealloc to allocate memory.
69356         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
69357         Skip "" directory entries.
69358         Use strlen to calculate directory entry length, since the old method
69359         is rarely used these days and isn't worth supporting.
69360         Don't use a pointer after freeing it.
69361         Check for integer overflow when calculating allocation size.
69362         Use memcpy to copy entries, instead of stpcpy.
69363         Set errno properly when returning NULL.
69364         Check for readdir error.
69365
69366 2000-06-26  Jim Meyering  <meyering@lucent.com>
69367
69368         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
69369
69370 2000-06-25  Jim Meyering  <meyering@lucent.com>
69371
69372         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
69373         Linux header bug when _XOPEN_SOURCE is defined to 500.
69374
69375 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
69376
69377         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
69378         deficiency.
69379
69380 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
69381
69382         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
69383         Include xalloc.h.
69384         Don't include <stdlib.h>.  Don't declare malloc, realloc.
69385
69386 2000-06-24  Jim Meyering  <meyering@lucent.com>
69387
69388         * m4/strerror_r.m4: Revive this file -- to try out an experimental
69389         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
69390         for which strerror does return char*, but which lacks a conveniently
69391         accessible declaration of the function.  If the compile-test says
69392         strerror_r doesn't work, then resort to a `run'-test that works on
69393         BeOS and segfaults on DEC Unix.
69394
69395 2000-06-24  Jim Meyering  <meyering@lucent.com>
69396
69397         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
69398
69399 2000-06-23  Paul Eggert  <eggert@twinsun.com>
69400
69401         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
69402         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
69403
69404 2000-06-23  Paul Eggert  <eggert@twinsun.com>
69405
69406         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
69407         (mbrtowc, mbstate_t): Define substitutes if
69408         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
69409         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
69410         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
69411
69412 2000-06-23  Jim Meyering  <meyering@lucent.com>
69413
69414         * m4/afs.m4: Add missing AC_MSG_RESULT.
69415         Reported by Bruno Haible.
69416
69417         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
69418         Suggestion from Bruno Haible.
69419
69420 2000-06-23  Jim Meyering  <meyering@lucent.com>
69421
69422         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
69423
69424 2000-06-21  Jim Meyering  <meyering@lucent.com>
69425
69426         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
69427
69428 2000-06-21  Jim Meyering  <meyering@lucent.com>
69429
69430         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
69431         (noinst_HEADERS): Add getstr.h.
69432
69433         * lib/getline.c (getstr): Move into a separate file.
69434         * lib/getstr.c (getstr): New file, extracted from getline.c, with
69435         the following changes: new parameter, delim2; both delim[12]
69436         parameters have type `int', not `char'.  The latter would lose
69437         with 8-bit delimiters.
69438         * lib/getstr.h: New file.
69439
69440 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69441
69442         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
69443         than 1024, return a memory chunk of least possible size, instead
69444         of size PATH_MAX + 2. In the loop, increment the size proportionally.
69445         Use free/xmalloc instead of xrealloc to avoid copying for very long
69446         paths.
69447
69448 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69449
69450         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
69451         the empty string.
69452
69453 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69454
69455         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
69456         address, not strdup.  Include <stdlib.h> and don't declare free().
69457
69458 2000-06-19  Jim Meyering  <meyering@lucent.com>
69459
69460         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
69461
69462 2000-06-18  Jim Meyering  <meyering@lucent.com>
69463
69464         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
69465
69466         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
69467         `checking whether...' message to be consistent with that of the
69468         lstat test.
69469
69470 2000-06-18  Jim Meyering  <meyering@lucent.com>
69471
69472         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
69473         Besides, these days every porting target provides a mkdir function.
69474
69475         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
69476         needed. (this snippet comes from src/system.h).
69477
69478 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
69479
69480         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
69481
69482 2000-06-15  Paul Eggert  <eggert@twinsun.com>
69483
69484         * lib/human.c (adjust_value): New function.
69485         (human_readable_inexact): Apply rounding style even when
69486         printing approximate values.
69487
69488 2000-06-14  Paul Eggert  <eggert@twinsun.com>
69489
69490         * lib/human.c (human_readable_inexact): Allow an input block
69491         size that is not a multiple of the output block size, and vice versa.
69492         Reported by Piergiorgio Sartor.
69493
69494 2000-06-14  Paul Eggert  <eggert@twinsun.com>
69495
69496         * lib/getdate.y (get_date): Apply relative times after time
69497         zone indicator, not before.  Reported by Todd A. Jacobs.
69498
69499 2000-06-13  Jim Meyering  <meyering@lucent.com>
69500
69501         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
69502
69503         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
69504
69505 2000-06-12  Paul Eggert  <eggert@twinsun.com>
69506
69507         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
69508
69509 2000-06-12  Jim Meyering  <meyering@lucent.com>
69510
69511         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
69512         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
69513         optional argument.
69514         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
69515         the optional argument, `lib'.
69516
69517 2000-06-08  Jim Meyering  <meyering@lucent.com>
69518
69519         * m4/largefile.m4: Remove file (now that it's part of autoconf).
69520
69521 2000-06-04  Paul Eggert  <eggert@twinsun.com>
69522
69523         Rewrite largefile configuration so that we don't need to run
69524         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
69525         AC_CANONICAL_HOST in configure.in -- jmm]
69526
69527         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
69528         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
69529         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
69530         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
69531         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
69532         All uses changed.
69533         Instead of inspecting the output of getconf, try to compile the
69534         test program without and with the macro definition.
69535         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
69536         for getconf.  Instead, check for the needed flags by compiling
69537         test programs.
69538
69539 2000-06-04  Paul Eggert  <eggert@twinsun.com>
69540
69541         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
69542
69543 2000-06-04  Jim Meyering  <meyering@lucent.com>
69544
69545         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
69546         SunOS 4.1.4 for which gid_t is an unsigned type.
69547
69548 2000-06-03  Jim Meyering  <meyering@lucent.com>
69549
69550         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
69551         now that autoconf requires that.
69552
69553         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
69554         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
69555         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
69556
69557 2000-06-03  Jim Meyering  <meyering@lucent.com>
69558
69559         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
69560
69561 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
69562
69563         * m4/glibc21.m4: New file.
69564         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
69565
69566 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
69567
69568         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
69569         newer, don't install charset.alias.
69570         * lib/config.charset: Change the Linux/glibc rules so they become empty
69571         on glibc-2.1 or newer.
69572
69573 2000-06-02  Jim Meyering  <meyering@lucent.com>
69574
69575         * lib/mountlist.c: Back out last change.  Instead, do this...
69576         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
69577         me_dummy member using the same `ignore'-testing code.
69578         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
69579         fs_type strings.
69580         From Mark D. Roth.
69581
69582 2000-05-29  Jim Meyering  <meyering@lucent.com>
69583
69584         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
69585         mounts with the `ignore' attribute.  Based on a patch from
69586         Mark D. Roth.
69587
69588 2000-05-28  Jim Meyering  <meyering@lucent.com>
69589
69590         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
69591         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69592         * m4/stat.m4: Likewise.
69593         * m4/lstat.m4: Likewise.
69594         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
69595
69596         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
69597         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
69598
69599 2000-05-26  Jim Meyering  <meyering@lucent.com>
69600
69601         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
69602
69603 2000-05-24  Jim Meyering  <meyering@lucent.com>
69604
69605         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
69606         autoconf requires that.
69607         * m4/lib-check.m4: Likewise.
69608         * m4/jm-macros.m4: Likewise.
69609         * m4/strftime.m4: Likewise.
69610
69611         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
69612         AC_CHECK_DECLS, now that autoconf requires that.
69613
69614 2000-05-22  Jim Meyering  <meyering@lucent.com>
69615
69616         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69617         * m4/lstat.m4: Likewise.
69618
69619 2000-05-22  Jim Meyering  <meyering@lucent.com>
69620
69621         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
69622
69623 2000-05-20  Jim Meyering  <meyering@lucent.com>
69624
69625         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
69626         (jm_PREREQ): Use it.
69627
69628 2000-05-18  Jim Meyering  <meyering@lucent.com>
69629
69630         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
69631         back, too, since it may have been modified by allocate_entry.
69632         (hash_delete): Rewrite to use neither the assignment operator
69633         nor the comma operator in an if-expression.
69634
69635 2000-05-15  Paul Eggert  <eggert@twinsun.com>
69636
69637         * lib/closeout.c:
69638         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
69639         Remove; no longer needed.
69640         "quotearg.h": Add include.
69641         (file_name): Do not bother to explicitly initialize to NULL; it's less
69642         efficient on some hosts.
69643         (close_stdout_status): Remove test as to whether stdout was already
69644         closed; it breaks for the case "echo x | sort >&-".
69645         Quote file name colons.
69646         Do not assume that _("write error") lacks format strings.
69647
69648 2000-05-15  Jim Meyering  <meyering@lucent.com>
69649
69650         * lib/version-etc.c (version_etc_copyright): Update the copyright
69651         string used in all --version output.
69652
69653 2000-05-14  Jim Meyering  <meyering@lucent.com>
69654
69655         * lib/closeout.c (close_stdout_set_file_name): New function.
69656         (close_stdout_status): Use new file-scoped global.
69657         Return right away if fstat says the stdout file descriptor is invalid.
69658         * lib/closeout.h (close_stdout_set_file_name): Declare.
69659
69660 2000-05-10  Jim Meyering  <meyering@lucent.com>
69661
69662         * lib/closeout.c [default_exit_status]: New file-scoped variable.
69663         (close_stdout_set_status): New function.
69664         * lib/closeout.h (close_stdout_set_status): Declare.
69665
69666 2000-05-09  Jim Meyering  <meyering@lucent.com>
69667
69668         * m4/gettext.m4: Rename this...
69669         * m4/libintl.m4: ...to this.
69670
69671 2000-05-08  Jim Meyering  <meyering@lucent.com>
69672
69673         * lib/long-options.c: Don't include closeout.h.
69674         (parse_long_options): Don't call close_stdout for --version.
69675
69676 2000-05-06  Paul Eggert  <eggert@twinsun.com>
69677
69678         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
69679         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
69680         2.1.3 bug.  This avoids a clash when files like regex.c define
69681         _GNU_SOURCE.
69682
69683 2000-05-06  Jim Meyering  <meyering@lucent.com>
69684
69685         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
69686         (AC_REPLACE_FUNCS): Add strnlen.
69687
69688         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
69689         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
69690
69691         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
69692         AC_SEARCH_LIBS call for nanosleep.
69693         (LIB_NANOSLEEP): Set and AC_SUBST.
69694
69695 2000-05-06  Jim Meyering  <meyering@lucent.com>
69696
69697         * lib/strnlen.c: Undefine __strnlen and strnlen.
69698         [!weak_alias]: Define __strnlen to strnlen.
69699
69700         * lib/atexit.c: New file, from libiberty.
69701
69702 2000-05-06  Jim Meyering  <meyering@lucent.com>
69703
69704         * lib/closeout.c (close_stdout_status): Also check for errors on the
69705         stderr stream.
69706
69707 2000-05-05  Jim Meyering  <meyering@lucent.com>
69708
69709         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
69710         AC_SEARCH_LIBS call for clock_gettime.
69711         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
69712
69713         * m4/search-libs.m4: Update from autoconf.
69714
69715         su doesn't work on Solaris 2.6.
69716         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
69717         <shadow.h>.  Reported by Dragos Harabor.
69718
69719 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
69720
69721         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
69722         memcpy instead of xmalloc, xrealloc, path_concat.
69723         (locale_charset): Treat empty environment variables as absent.
69724         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
69725
69726 2000-05-04  Jim Meyering  <meyering@lucent.com>
69727
69728         * lib/getopt.c: Update from glibc.
69729         * lib/obstack.c: Likewise.
69730         * lib/obstack.h: Likewise.
69731         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
69732         file
69733
69734         * lib/regex.h: Likewise.
69735         * lib/strndup.c: Likewise.
69736         * lib/strnlen.c: New file, from glibc.
69737
69738 2000-05-03  Jim Meyering  <meyering@lucent.com>
69739
69740         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
69741
69742 2000-05-02  Paul Eggert  <eggert@twinsun.com>
69743
69744         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
69745         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
69746         compile-time test, rather than inspecting host and OS, to
69747         decide whether to define _LARGEFILE_SOURCE.
69748
69749 2000-05-01  Jim Meyering  <meyering@lucent.com>
69750
69751         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
69752
69753         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
69754         Based on a patch from Bruno Haible.
69755
69756 2000-05-01  Jim Meyering  <meyering@lucent.com>
69757
69758         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
69759
69760 2000-04-29  Jim Meyering  <meyering@lucent.com>
69761
69762         * lib/path-concat.c: Declare strdup only if it's not defined.
69763         * lib/canon-host.c: Likewise.
69764
69765 2000-04-28  Jim Meyering  <meyering@lucent.com>
69766
69767         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
69768         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
69769         is included first, then limits.h is included by locale.h by libintl.h.
69770         From John David Anglin.
69771
69772 2000-04-25  Jim Meyering  <meyering@lucent.com>
69773
69774         * lib/makepath.c (S_IRWXUGO): Define.
69775         (make_path): Always perform explicit chmod if MODE specifies any
69776         of the `special' permission bits.  Prompted by a bug report against
69777         install from Mate Wierdl and Joost van Baal.
69778
69779 2000-04-18  Jim Meyering  <meyering@lucent.com>
69780
69781         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
69782         (jm_PREREQ): Use it.
69783
69784 2000-04-18  Jim Meyering  <meyering@lucent.com>
69785
69786         * lib/README: New file.
69787
69788         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
69789         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
69790
69791 2000-04-17  Jim Meyering  <meyering@lucent.com>
69792
69793         Get it right :-)
69794         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
69795         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
69796         Suggestion from Akim Demaille.
69797
69798 2000-04-17  Jim Meyering  <meyering@lucent.com>
69799
69800         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
69801         the definition of it to rpl_strftime also defined-away the system's
69802         declaration.
69803
69804 2000-04-15  Jim Meyering  <meyering@lucent.com>
69805
69806         Use `C' to denote so-called `contiguous' files, the same way
69807         that tar does.
69808         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
69809         (ftypelet): Use S_ISCTG.
69810         From Michael Deutschmann.
69811
69812 2000-04-14  Jim Meyering  <meyering@lucent.com>
69813
69814         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
69815         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
69816         clobbered.
69817
69818 2000-04-14  Jim Meyering  <meyering@lucent.com>
69819
69820         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
69821
69822 2000-04-13  Jim Meyering  <meyering@lucent.com>
69823
69824         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
69825         AH_VERBATIM to insert required #ifndef into config.h.in.
69826         Suggestion from Akim Demaille.
69827
69828 2000-04-12  Jim Meyering  <meyering@lucent.com>
69829
69830         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
69831         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
69832         Christian Krackowizer.
69833
69834         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
69835         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
69836         (AC_SYS_LARGEFILE): Require.
69837         (AM_C_PROTOTYPES): Require.
69838
69839 2000-04-08  Jim Meyering  <meyering@lucent.com>
69840
69841         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
69842         names don't conflict.  Reported by Eli Zaretskii.
69843
69844 2000-04-07  Jim Meyering  <meyering@lucent.com>
69845
69846         * lib/putenv.c: Move inclusion of errno.h so it follows that of
69847         sys/types.h, to work around system header problems on AIX 3.2.5.
69848         From Bruno Haible.
69849
69850 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
69851
69852         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
69853         bug.  Deal with the different error behavior of Irix iconv.
69854
69855 2000-04-05  Paul Eggert  <eggert@twinsun.com>
69856
69857         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
69858         IRIX if the installer said otherwise.
69859
69860 2000-04-05  Jim Meyering  <meyering@lucent.com>
69861
69862         Portability tweaks required for ultrix4.3.
69863         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
69864         (jm_CHECK_DECLS): Add getutent to the list of functions.
69865         (_jm_DECL_HEADERS): Add utmpx.h.
69866         From John David Anglin.
69867
69868         * m4/strftime.m4: Back out the 2000-04-02 change.
69869         Instead of that change, simply undefine putenv in the test program.
69870
69871 2000-04-05  Jim Meyering  <meyering@lucent.com>
69872
69873         Portability tweaks required for ultrix4.3.
69874         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
69875         getutent.
69876         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
69877         * lib/canon-host.c: Declare strdup.
69878         * lib/path-concat.c: Likewise.
69879         From John David Anglin.
69880
69881 2000-04-04  Jim Meyering  <meyering@lucent.com>
69882
69883         Be more DOS 8.3-friendly.
69884         * lib/ref-add.sin: Renamed from ref-add.sed.in.
69885         * lib/ref-del.sin: Renamed from ref-del.sed.in.
69886         * lib/Makefile.am: Reflect renaming.
69887         Reported by Eli Zaretskii.
69888
69889         Use a temporary file name that won't clash with `charset.alias'
69890         in the DOS 8.3 name space.
69891         * lib/Makefile.am (charset_tmp): Define.
69892         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
69893         (uninstall-local): Likewise.
69894         Reported by Eli Zaretskii.
69895
69896 2000-04-03  Jim Meyering  <meyering@lucent.com>
69897
69898         * m4/gettext.m4: Fix typo in comment.
69899
69900         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
69901         textutils/configure.in).  Suggestion from Paul Eggert.
69902         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
69903
69904 2000-04-02  Paul Eggert  <eggert@twinsun.com>
69905
69906         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
69907         variable in the shell rather than using putenv, which isn't
69908         portable.  This avoids the configure-time inter-test dependency
69909         on the potentially-renamed putenv function.
69910
69911 2000-03-30  Paul Eggert  <eggert@twinsun.com>
69912
69913         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
69914         before checking struct stat.st_blksize, so that
69915         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
69916
69917 2000-03-29  Paul Eggert  <eggert@twinsun.com>
69918
69919         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
69920         since strftime.c uses HAVE_STRFTIME to decide whether to use
69921         the underlying strftime.
69922
69923 2000-03-29  Paul Eggert  <eggert@twinsun.com>
69924
69925         * lib/time/strftime.c (my_strftime): Make sure we call the system
69926         strftime, not ourselves, when invoking the underlying strftime.
69927
69928 2000-03-24  Jim Meyering  <meyering@lucent.com>
69929
69930         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
69931         (charset_alias): Define.
69932         (install-exec-local): Factor out common code.
69933         (uninstall-local): Split lines longer than 80.
69934         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
69935         (SUFFIXES): Define.
69936         (.sed.in.sed): New rule.  Don't redirect directly to $@.
69937         (CLEANFILES): Add ref-add.sed and ref-del.sed.
69938
69939 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
69940
69941         * lib/config.charset: Output a line containing "Packages using this
69942         file".
69943         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
69944         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
69945         ref-del.sed): New rules.
69946
69947 2000-03-17  Jim Meyering  <meyering@lucent.com>
69948
69949         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
69950         Otherwise, include <strings.h>
69951
69952 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
69953
69954         * lib/unicodeio.c (utf8_wctomb): New function.
69955         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
69956         format instead of in UCS-4 with platform dependent endianness.
69957
69958 2000-03-10  Jim Meyering  <meyering@lucent.com>
69959
69960         * m4/lib-check.m4: Look for getspnam in -lgen, too.
69961         From Marco Franzen.
69962
69963 2000-03-07  Paul Eggert  <eggert@twinsun.com>
69964
69965         * lib/savedir.c (savedir): Work even if directory size is
69966         negative; this can happen with some screwy NFS configurations.
69967
69968 2000-03-06  Jim Meyering  <meyering@lucent.com>
69969
69970         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
69971         if it's NULL (because we ran out of memory).  From Bruno Haible.
69972
69973 2000-03-05  Jim Meyering  <meyering@lucent.com>
69974
69975         * lib/localcharset.c ("path-concat.h"): Include.
69976         (get_charset_aliases): Use path_concat instead of ANSI string
69977         concatenation.
69978
69979         * lib/unicodeio.h (PARAMS): Define.
69980         Use it to guard prototype.
69981
69982 2000-03-04  Jim Meyering  <meyering@lucent.com>
69983
69984         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
69985         for lib/localcharset.c.
69986
69987 2000-03-04  Jim Meyering  <meyering@lucent.com>
69988
69989         * lib/Makefile.am (install-exec-local): Create $(libdir) before
69990         installing into it.
69991         (uninstall-local): Uncomment this rule so `make distcheck' works
69992         once again.
69993
69994         * lib/unicodeio.c (<errno.h>): Include it.
69995         (errno): Declare if not defined.
69996
69997         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
69998
69999         * lib/config.charset: New version, incorporating remarks from a linux
70000         i18n mailing list.  From Bruno Haible.
70001
70002 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
70003
70004         * m4/codeset.m4: New file.
70005         * m4/iconv.m4: New file.
70006         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
70007
70008 2000-03-03  Jim Meyering  <meyering@lucent.com>
70009
70010         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
70011
70012 2000-03-02  Jim Meyering  <meyering@lucent.com>
70013
70014         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
70015         the messages come out on separate lines.
70016
70017         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
70018         rather than jm_CHECK_DECLARATIONS.
70019         * m4/decl.m4: Remove now-unused file.
70020
70021         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
70022         geteuid.
70023
70024 2000-03-02  Jim Meyering  <meyering@lucent.com>
70025
70026         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
70027
70028 2000-03-01  Jim Meyering  <meyering@lucent.com>
70029
70030         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
70031         * lib/unicodeio.c: Likewise.
70032
70033 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
70034
70035         * lib/config.charset: New file.
70036         * lib/localcharset.c: New file.
70037         * lib/unicodeio.h, lib/unicodeio.c: New files.
70038         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
70039         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
70040         (noinst_HEADERS): Add unicodeio.h.
70041         (all-local, install-exec-local, charset.alias): New targets.
70042
70043 2000-02-28  Paul Eggert  <eggert@twinsun.com>
70044
70045         * lib/quotearg.c (ALERT_CHAR): New macro.
70046         (quotearg_buffer_restyled): Use it.
70047
70048 2000-02-27  Jim Meyering  <meyering@lucent.com>
70049
70050         * m4/check-decl.m4: Add getenv to the list.
70051
70052 2000-02-27  Jim Meyering  <meyering@lucent.com>
70053
70054         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
70055         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
70056
70057         * lib/backupfile.c: Guard inclusion of stdlib.h with
70058         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
70059         Declare malloc if needed.
70060
70061         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
70062         `#ifndef HAVE_DECL..'
70063         now that autoconf always defines the HAVE_DECL_ symbols.
70064         * lib/human.c: Likewise.
70065         * lib/same.c: Likewise.
70066         * lib/strtoumax.c: Likewise.
70067
70068         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
70069         declaration check was not run.
70070         * lib/hash.c: Likewise.
70071         * lib/human.c: Likewise.
70072         * lib/same.c: Likewise.
70073         * lib/strtoumax.c: Likewise.
70074
70075         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
70076         `.', then first look up the entire `.'-containing string as a login
70077         name.
70078
70079 2000-02-23  Jim Meyering  <meyering@lucent.com>
70080
70081         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
70082         in place of my hack.
70083
70084 2000-02-18  Paul Eggert  <eggert@twinsun.com>
70085
70086         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
70087         (textint): New typedef.
70088         (parser_control): Member year changed from int to textint.
70089         All uses changed.
70090         (YYSTYPE): Removed; replaced by %union with int and textint members.
70091         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
70092         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
70093         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
70094         (tSNUMBER, tUNUMBER): Now of type <textintval>.
70095         (date, number, to_year): Use width of number in digits, not its value,
70096         to determine whether it's a 2-digit year, or a 2-digit time.
70097         (yylex): Store number of digits of numeric tokens.
70098         Reported by John Kendall.
70099
70100         (parser_control): Changed from struct parser_control to typedef (for
70101         consistency).  All uses changed.
70102
70103         (tID): Removed; not used.
70104         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
70105
70106 2000-02-14  Paul Eggert  <eggert@twinsun.com>
70107
70108         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
70109         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
70110
70111 2000-02-12  Jim Meyering  <meyering@lucent.com>
70112
70113         * lib/userspec.c (ISDIGIT): Define it.
70114         (isdigit): Remove definition.
70115         (is_number): Use ISDIGIT, not isdigit.
70116         <libintl.h>: Include.
70117         (_ and N_): Define.
70118         (parse_user_spec): Mark translatable strings.
70119
70120 2000-02-10  Jim Meyering  <meyering@lucent.com>
70121
70122         With these changes, nanosleep.[ch] are finally enough like the other
70123         lib/* replacement files to compile on a few more losing systems.
70124
70125         * lib/nanosleep.h: Don't include config.h.
70126         Remove prototype from declaration of nanosleep.
70127         (PARAMS): Remove now-unneeded definition.
70128         * lib/nanosleep.c: #undef nanosleep.
70129         (rpl_nanosleep): Rename from nanosleep.
70130
70131 2000-02-10  Jim Meyering  <meyering@lucent.com>
70132
70133         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
70134         gnu_nanosleep to rpl_nanosleep.
70135
70136 2000-02-09  Jim Meyering  <meyering@lucent.com>
70137
70138         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
70139         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
70140
70141 2000-02-08  Akim Demaille  <akim@epita.fr>
70142
70143         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
70144         `[' and `]' and remove uses of `changequote'.
70145         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
70146         (AC_SYS_LARGEFILE): Likewise.
70147         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70148         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
70149         of changequote.
70150         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
70151         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
70152         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
70153         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
70154
70155 2000-02-05  Jim Meyering  <meyering@lucent.com>
70156
70157         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
70158         Remove explicit use of AC_HEADER_TIME.  It is required by
70159         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
70160         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
70161         in autoconf whereby the expansion of the latter ended up preceding
70162         the expansion of its prerequisite, AC_HEADER_TIME.
70163         Reported by Volker Borchert.
70164
70165 2000-02-03  Jim Meyering  <meyering@lucent.com>
70166
70167         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
70168
70169 2000-02-03  Jim Meyering  <meyering@lucent.com>
70170
70171         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
70172         rather than with `#if HAVE_UTMPNAME'.
70173
70174 2000-02-02  Jim Meyering  <meyering@lucent.com>
70175
70176         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
70177         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
70178         Reported by Eli Zaretskii.
70179
70180 2000-02-01  Jim Meyering  <meyering@lucent.com>
70181
70182         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
70183
70184 2000-01-31  Jim Meyering  <meyering@lucent.com>
70185
70186         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
70187         functions.  Add the time.h and sys/time.h headers along with the
70188         AC_REQUIRE'ment of AC_HEADER_TIME.
70189
70190 2000-01-31  Jim Meyering  <meyering@lucent.com>
70191
70192         * lib/nanosleep.h (nanosleep): Guard declaration with
70193         `#if ! HAVE_DECL_NANOSLEEP'.
70194         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
70195         the declaration in that vendor's sys/timers.h.
70196         Reported by Christian Krackowizer.
70197
70198         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
70199         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
70200         (ISPRINT): Likewise.
70201         Reported by Tom Tromey.
70202
70203 2000-01-30  Jim Meyering  <meyering@lucent.com>
70204
70205         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
70206
70207         * m4/prereq.m4 (utmp_includes): Define.
70208         Check for ut_user and ut_name members in both struct utmpx
70209         and struct utmp.
70210
70211 2000-01-30  Jim Meyering  <meyering@lucent.com>
70212
70213         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
70214         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
70215         header files where only utmpx.ut_user is declared.
70216
70217         * lib/readutmp.h (UT_USER): Define.
70218
70219 2000-01-29  Jim Meyering  <meyering@lucent.com>
70220
70221         * m4/lib-check.m4: New file containing library-related checks from
70222         fileutils and sh-utils (textutils had none).
70223
70224 2000-01-28  Jim Meyering  <meyering@lucent.com>
70225
70226         * m4/perl.m4: Change format of warning message to look more like that
70227         from the missing script.  Suggestion from François Pinard.
70228
70229 2000-01-25  Jim Meyering  <meyering@lucent.com>
70230
70231         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
70232         well as time.h in the compile check.
70233         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
70234         Fix typo in cross-compiling case: s/yes/no/.
70235
70236 2000-01-23  Jim Meyering  <meyering@lucent.com>
70237
70238         * m4/jm-macros.m4: Move df-related tests here from
70239         fileutils/configure.in
70240
70241         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
70242         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
70243
70244         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
70245         s/space/ac_fsusage_space/.
70246         (jm_FILE_SYSTEM_USAGE): Take two parameters.
70247
70248         * m4/ftruncate.m4: New file (derived from part of
70249         fileutils/configure.in).
70250         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
70251         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
70252
70253         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
70254         AC_SUBST these here, rather than just in sh-util/configure.in, so
70255         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
70256         all the same.
70257         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
70258         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
70259         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
70260         (AC_SUBST(POW_LIBM)): Likewise.
70261         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
70262
70263 2000-01-23  Jim Meyering  <meyering@lucent.com>
70264
70265         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
70266         obstack.c.
70267
70268 2000-01-22  Jim Meyering  <meyering@lucent.com>
70269
70270         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
70271
70272         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
70273
70274         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
70275         configure.in
70276         (AC_CHECK_HEADERS): Likewise for sh-utils.
70277         (AC_CHECK_HEADERS): Likewise for textutils.
70278         Merge the three lists of headers.
70279
70280         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
70281         from fileutils' configure.in.
70282
70283         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
70284         code. Moved tests into their own function (_jm_DECL_HEADERS) in
70285         check-decl.m4.
70286
70287         * m4/check-decl.m4: Use #if rather than #ifdef.
70288         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
70289         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
70290         (_jm_DECL_HEADERS): Define new function.
70291         (jm_CHECK_DECLARATIONS): Require it.
70292
70293 2000-01-22  Jim Meyering  <meyering@lucent.com>
70294
70295         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
70296         [! HAVE_DECL_STRTOULL]: Declare strtoull.
70297         Required for some AIX systems.  Reported by Christian Krackowizer.
70298         [TESTING] (main): New function.
70299
70300         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
70301         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
70302         letters.
70303
70304         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
70305         iswprint.
70306
70307         * lib/strverscmp.c (ISDIGIT): Define.
70308         (strverscmp): Use ISDIGIT, not isdigit.
70309
70310 2000-01-19  Jim Meyering  <meyering@lucent.com>
70311
70312         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
70313         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
70314         defines `struct timespec' in <sys/time.h>
70315
70316         * m4/c-bs-a.m4: Remove uses of changequote altogether.
70317         Thanks to Akim for explaining.
70318
70319 2000-01-17  Paul Eggert  <eggert@twinsun.com>
70320
70321         * lib/nanosleep.c (nanosleep):
70322         Don't use SA_INTERRUPT to decide whether to call sigaction, as
70323         POSIX.1 doesn't require SA_INTERRUPT and some systems
70324         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
70325         it's been part of POSIX.1 since day 1 (in 1988).
70326
70327 2000-01-17  Jim Meyering  <meyering@lucent.com>
70328
70329         * lib/interlock: Remove unused file.  Reported by François Pinard.
70330
70331 2000-01-16  Paul Eggert  <eggert@twinsun.com>
70332
70333         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
70334         alert, backslash, formfeed, and vertical tab unnecessarily in
70335         shell quoting style.
70336
70337 2000-01-16  Jim Meyering  <meyering@lucent.com>
70338
70339         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
70340         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
70341         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
70342         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
70343
70344 2000-01-16  Jim Meyering  <meyering@lucent.com>
70345
70346         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
70347         because the latter didn't work.
70348
70349 2000-01-15  Jim Meyering  <meyering@lucent.com>
70350
70351         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
70352         (AC_REPLACE_FUNCS): Add memcpy and memset.
70353         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
70354         Add strpbrk.
70355         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
70356
70357 2000-01-12  Jim Meyering  <meyering@lucent.com>
70358
70359         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
70360         (jm_PREREQ): Use it.
70361         (jm_PREREQ_READUTMP): New macro.
70362         (jm_PREREQ): Use it.
70363
70364 2000-01-11  Paul Eggert  <eggert@twinsun.com>
70365
70366         Quote multibyte characters correctly.
70367         * m4/c-bs-a.m4: New file.
70368         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
70369         (jm_PREREQ): Use it.
70370
70371 2000-01-11  Paul Eggert  <eggert@twinsun.com>
70372
70373         * m4/uintmax_t.m4: Port to autoconf 2.13.
70374
70375 2000-01-08  Jim Meyering  <meyering@ascend.com>
70376
70377         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
70378         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
70379
70380 2000-01-04  Jim Meyering  <meyering@ascend.com>
70381
70382         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
70383         jm_STRUCT_DIRENT_D_TYPE.
70384         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
70385         jm_STRUCT_DIRENT_D_INO.
70386         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
70387         jm_STRUCT_UTIMBUF.
70388         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
70389         renamings.
70390         * m4/utime.m4: Likewise.
70391
70392         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
70393         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
70394
70395 2000-01-03  Paul Eggert  <eggert@twinsun.com>
70396
70397         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
70398         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
70399
70400 2000-01-02  Jim Meyering  <meyering@ascend.com>
70401
70402         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
70403         remember if this is necessary.
70404
70405 1999-12-26  Jim Meyering  <meyering@ascend.com>
70406
70407         * m4/jm-macros.m4: Use it here.
70408         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
70409
70410 1999-12-23  Jim Meyering  <meyering@ascend.com>
70411
70412         * m4/jm-macros.m4: Check for clock_gettime (moved from
70413         fileutils/configure.in)
70414         Check for gettimeofday.
70415
70416 1999-12-20  Jim Meyering  <meyering@ascend.com>
70417
70418         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
70419         autoconf-2.14a-1999-12-20.
70420
70421 1999-12-19  Jim Meyering  <meyering@ascend.com>
70422
70423         * m4/lstat-slash.m4: New file.
70424         * m4/jm-macros.m4: Use the new macro:
70425         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70426
70427 1999-12-07  Jim Meyering  <meyering@ascend.com>
70428
70429         * m4/perl.m4: Require that File::Compare be available, too.
70430         Too many systems seem to lack it.
70431
70432         * m4/strftime.m4: Add checks for most of the cpp macros tested in
70433         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
70434
70435 1999-11-18  Paul Eggert  <eggert@twinsun.com>
70436
70437         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
70438         problem with the QNX 4.25 shell, which doesn't propagate exit
70439         status of failed commands inside shell assignments.
70440
70441 1999-11-17  Jim Meyering  <meyering@ascend.com>
70442
70443         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
70444
70445 1999-11-07  Jim Meyering  <meyering@ascend.com>
70446
70447         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
70448
70449 1999-11-06  Jim Meyering  <meyering@ascend.com>
70450
70451         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
70452         * m4/jm-macros.m4 (jm_MACROS): Use it here.
70453
70454 1999-11-05  Jim Meyering  <meyering@ascend.com>
70455
70456         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
70457         configure.in of textutils, fileutils, and sh-utils into this one
70458         (shared between those packages) file.
70459         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
70460         AC_STRUCT_ST_BLKSIZE.
70461
70462 1999-11-03  Jim Meyering  <meyering@ascend.com>
70463
70464         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
70465         of AC_CHECK_TYPE checks includes unistd.h.
70466         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
70467         Suggestion from Akim Demaille.
70468
70469 1999-10-30  Jim Meyering  <meyering@ascend.com>
70470
70471         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
70472         m4-quoted string.
70473         * m4/ls-mntd-fs.m4: Likewise.
70474         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
70475         * m4/jm-winsz1.m4: Likewise.
70476
70477         * m4/const.m4: Remove file, since the fix made it into the experimental
70478         version of autoconf.
70479         * m4/mktime.m4: Likewise.
70480
70481         * m4/check-type.m4: Remove file, now that the latest version of
70482         AC_CHECK_TYPE takes a third arg to specify additional #includes.
70483
70484         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
70485         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
70486         AC_CHECK_TYPE.
70487
70488 1999-10-04  Jim Meyering  <meyering@ascend.com>
70489
70490         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
70491
70492 1999-09-22  Paul Eggert  <eggert@twinsun.com>
70493
70494         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
70495         2.95.1 bug with HP-UX 10.20.
70496
70497 1999-09-17  Jim Meyering  <meyering@ascend.com>
70498
70499         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
70500         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
70501         due to missing strdup (against sh-utils-2.0).
70502
70503 1999-08-29  Jim Meyering  <meyering@ascend.com>
70504
70505         * m4/jm-macros.m4: Require jm_BISON.
70506         * m4/bison.m4: New file.
70507
70508 1999-08-17  Paul Eggert  <eggert@twinsun.com>
70509
70510         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
70511         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
70512
70513 1999-08-05  Jim Meyering  <meyering@ascend.com>
70514
70515         * m4/getline.m4: Rename test file from conftestdata to conftest.data
70516         to avoid conflicts with `conftest' on 8+3 filesystems.
70517         Suggestion from Eli Zaretskii.
70518
70519 1999-08-04  Jim Meyering  <meyering@ascend.com>
70520
70521         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
70522         fileutils and sh-utils (textutils's getline test was inadequate).
70523         (AM_FUNC_GETLINE): Run this test.
70524         (AC_CHECK_FUNCS): Check for getdelim.
70525         Reported by Bob Proulx.
70526
70527 1999-08-02  Jim Meyering  <meyering@ascend.com>
70528
70529         * m4/jm-macros.m4: Add a comment.
70530
70531 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70532
70533         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
70534         <inttypes.h> defines strtoumax as a macro (and not as a
70535         function).
70536
70537 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70538
70539         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
70540         that we can shift, multiply and divide unsigned long long
70541         values; Ultrix cc can't do it.
70542
70543 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70544
70545         * m4/mktime.m4: New file, which is a preview of what should appear
70546         in the next public autoconf release.
70547
70548 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70549
70550         * m4/lfs.m4: Remove this file.
70551         * m4/largefile.m4: New file.  It contains the old contents of
70552         lfs.m4, except that all names with prefix AC_LFS have been
70553         changed to use the prefix AC_SYS_LARGEFILE instead, to be
70554         compatible with future autoconf versions.  Also, some minor m4
70555         quoting problems have been fixed.
70556
70557 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70558
70559         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
70560         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
70561         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
70562         and simplify the shell code.
70563
70564 1999-08-01  Jim Meyering  <meyering@ascend.com>
70565
70566         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
70567         m4.
70568
70569 1999-07-20  Jim Meyering  <meyering@ascend.com>
70570
70571         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
70572
70573 1999-07-15  Jim Meyering  <meyering@ascend.com>
70574
70575         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
70576
70577 1999-05-22  Jim Meyering  <meyering@ascend.com>
70578
70579         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
70580
70581 1999-05-20  Jim Meyering  <meyering@ascend.com>
70582
70583         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
70584         Add a colon after each `then' in case $4 is empty.
70585
70586 1999-05-16  Jim Meyering  <meyering@ascend.com>
70587
70588         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
70589
70590 1999-05-10  Jim Meyering  <meyering@ascend.com>
70591
70592         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
70593
70594         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
70595         AC_FUNC_MKTIME.
70596
70597 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
70598
70599         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
70600
70601 1999-05-04  Paul Eggert  <eggert@twinsun.com>
70602
70603         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
70604         not CPPFLAGS, so that linking works correctly in IRIX.
70605
70606 1999-04-30  Paul Eggert  <eggert@twinsun.com>
70607
70608         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
70609
70610 1999-04-20  Paul Eggert  <eggert@twinsun.com>
70611
70612         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
70613         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
70614         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
70615         jm_AC_TYPE_UNSIGNED_LONG_LONG.
70616         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
70617
70618         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
70619
70620 1999-04-20  Jim Meyering  <meyering@ascend.com>
70621
70622         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
70623         AC_REPLACE xstroull if necessary.  From Paul Eggert.
70624         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
70625
70626 1999-04-18  Jim Meyering  <meyering@ascend.com>
70627
70628         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
70629         * m4/jm-macros.m4: Use it.
70630
70631 1999-04-06  Jim Meyering  <meyering@ascend.com>
70632
70633         * m4/strftime.m4: Remove test for %f.
70634
70635 1999-03-29  Jim Meyering  <meyering@ascend.com>
70636
70637         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
70638         superset of the AC_TYPE_* checks in the textutils, fileutils,
70639         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
70640         AC_TYPE_PID_T.
70641
70642 1999-03-28  Jim Meyering  <meyering@ascend.com>
70643
70644         * m4/jm-macros.m4: Define GNU_PACKAGE here.
70645         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
70646         replaced e.g., in the *.sh files of the sh-utils.
70647
70648 1999-03-20  Jim Meyering  <meyering@ascend.com>
70649
70650         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
70651         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
70652         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
70653
70654 1999-03-19  Jim Meyering  <meyering@ascend.com>
70655
70656         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
70657
70658 1999-03-12  Jim Meyering  <meyering@ascend.com>
70659
70660         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
70661
70662 1999-03-07  Jim Meyering  <meyering@ascend.com>
70663
70664         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
70665         declared.
70666
70667 1999-02-17  Jim Meyering  <meyering@ascend.com>
70668
70669         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
70670         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
70671
70672 1999-02-07  Jim Meyering  <meyering@ascend.com>
70673
70674         * m4/group-member.m4: New file -- extracted from sh-utils'
70675         configure.in.
70676
70677         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
70678         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
70679
70680 1999-02-06  Jim Meyering  <meyering@ascend.com>
70681
70682         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
70683         * m4/fnmatch.m4: Likewise.
70684         * m4/getgroups.m4: Likewise.
70685         * m4/lstat.m4: Likewise.
70686         * m4/malloc.m4: Likewise.
70687         * m4/putenv.m4: Likewise.
70688         * m4/realloc.m4: Likewise.
70689         * m4/regex.m4: Likewise.
70690         * m4/stat.m4: Likewise.
70691         * m4/strftime.m4: Likewise.
70692         Suggestion from Alain Magloire.
70693
70694         * m4/chown.m4: Use `.$ac_objext', not `.o'.
70695         * m4/fnmatch.m4: Likewise.
70696         * m4/getgroups.m4: Likewise.
70697         * m4/getline.m4: Likewise.
70698         * m4/lstat.m4: Likewise.
70699         * m4/malloc.m4: Likewise.
70700         * m4/memcmp.m4: Likewise.
70701         * m4/putenv.m4: Likewise.
70702         * m4/realloc.m4: Likewise.
70703         * m4/regex.m4: Likewise.
70704         * m4/stat.m4: Likewise.
70705         * m4/strftime.m4: Likewise.
70706         Suggestion from Alain Magloire.
70707
70708         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
70709         an argument.
70710
70711         * m4/regex.m4: Add a run-time Test for proper operation of
70712         re_compile_pattern.
70713
70714 1999-01-31  Jim Meyering  <meyering@ascend.com>
70715
70716         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
70717
70718 1999-01-30  Jim Meyering  <meyering@ascend.com>
70719
70720         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
70721
70722         * m4/jm-mktime.m4: Make this a wrapper around the official
70723         AM_FUNC_MKTIME rather than my private copy, now that the official one
70724         is up to date.
70725         * m4/mktime.m4: Remove file.
70726
70727         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
70728         * m4/uptime.m4: Likewise.
70729         * m4/uintmax_t.m4: Likewise.
70730
70731 1999-01-28  Jim Meyering  <meyering@ascend.com>
70732
70733         * m4/jm-macros.m4: Use jm_AFS.
70734         * m4/afs.m4: New file (from fileutils' configure.in).
70735
70736         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
70737         * m4/chown.m4: Likewise.
70738         * m4/d-ino.m4: Likewise.
70739         * m4/d-type.m4: Likewise.
70740         * m4/fnmatch.m4: Likewise.
70741         * m4/getgroups.m4: Likewise.
70742         * m4/gettext.m4: Likewise.
70743         * m4/jm-mktime.m4: Likewise.
70744         * m4/jm-winsz2.m4: Likewise.
70745         * m4/lcmessage.m4: Likewise.
70746         * m4/ls-mntd-fs.m4: Likewise.
70747         * m4/malloc.m4: Likewise.
70748         * m4/memcmp.m4: Likewise.
70749         * m4/putenv.m4: Likewise.
70750         * m4/realloc.m4: Likewise.
70751         * m4/st_mtim.m4: Likewise.
70752         * m4/strftime.m4: Likewise.
70753
70754 1999-01-16  Jim Meyering  <meyering@ascend.com>
70755
70756         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
70757         (ARGMATCH_DIE_DECL): Define.
70758
70759 1999-01-12  Jim Meyering  <meyering@ascend.com>
70760
70761         * m4/Makefile.am.in: Rewrite to avoid using fmt.
70762         Reported by Lars Hecking.
70763
70764 1999-01-10  Jim Meyering  <meyering@ascend.com>
70765
70766         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
70767         gross kludge.
70768         * m4/inttypes_h.m4: Likewise.
70769         * m4/lstat.m4: Likewise.
70770         * m4/malloc.m4: Likewise.
70771         * m4/readdir.m4: Likewise.
70772         * m4/realloc.m4: Likewise.
70773         * m4/st_dm_mode.m4: Likewise.
70774         * m4/stat.m4: Likewise.
70775         * m4/utimbuf.m4: Likewise.
70776         * m4/utimes.m4: Likewise.
70777
70778         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
70779         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
70780         comments in config.h.in are meaningful.
70781
70782         * m4/jm-macros.m4: Require autoconf-2.13 here.
70783
70784         * m4/regex.m4: By default, don't use the included regex.c on systems
70785         with glibc 2.  Suggestion from Uli Drepper.
70786
70787 1999-01-02  Jim Meyering  <meyering@ascend.com>
70788
70789         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
70790
70791 1998-12-18  Jim Meyering  <meyering@ascend.com>
70792
70793         * m4/Makefile.am.in (Makefile.am): Simplify rule.
70794         Based on a suggestion from Lars Hecking.
70795
70796 1998-11-16  Paul Eggert  <eggert@twinsun.com>
70797
70798         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
70799
70800 1998-11-16  Jim Meyering  <meyering@ascend.com>
70801
70802         * m4/lfs.m4: Double-quote the `uname...` expression.
70803
70804 1998-11-14  Jim Meyering  <meyering@ascend.com>
70805
70806         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
70807         * m4/stat.m4: Likewise.
70808
70809 1998-11-03  Jim Meyering  <meyering@ascend.com>
70810
70811         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
70812         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
70813
70814 1998-10-18  Jim Meyering  <meyering@ascend.com>
70815
70816         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
70817
70818 1998-10-17  Jim Meyering  <meyering@ascend.com>
70819
70820         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
70821         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
70822         calls for those previously hard-coded headers.  Instead, take a new
70823         parameter.
70824         (jm_CHECK_DECLARATIONS): Reflect interface change.
70825         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
70826         (jm_CHECK_DECL_LOCALTIME_R): New macro.
70827
70828         * m4/mktime.m4: Test for spring-forward gap before long-running test.
70829
70830 1998-10-14  Jim Meyering  <meyering@ascend.com>
70831
70832         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
70833         instead of "TZ=America/Vancouver".  From Paul Eggert.
70834
70835 1998-10-11  Jim Meyering  <meyering@ascend.com>
70836
70837         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
70838         This adds a test for a recently added compatibility fix for mktime.c.
70839         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
70840
70841 1998-09-27  Jim Meyering  <meyering@ascend.com>
70842
70843         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
70844
70845         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
70846         ../configure.in, including a change from Gordon Matzigkeit to allow
70847         cross-compiling for the Hurd.
70848
70849         * m4/glibc.m4: New file/macro to test for the GNU C Library
70850         versions 1 and 2.  From Gordon Matzigkeit.
70851         Indent.
70852
70853 1998-09-21  Jim Meyering  <meyering@ascend.com>
70854
70855         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
70856
70857 1998-08-18  Paul Eggert  <eggert@twinsun.com>
70858
70859         Port nanosecond-resolution times to UnixWare 2.1.2 and
70860         pedantic Solaris 2.6.
70861
70862         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
70863         AC_STRUCT_ST_MTIM.
70864         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
70865         Generate name of ns member, instead of just 1 or undef.
70866         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
70867
70868 1998-08-15  Jim Meyering  <meyering@ascend.com>
70869
70870         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
70871         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
70872         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
70873         instead of jm_TYPE_SSIZE_T.
70874
70875 1998-08-12  Jim Meyering  <meyering@ascend.com>
70876
70877         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
70878
70879 1998-08-02  Jim Meyering  <meyering@ascend.com>
70880
70881         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
70882         in acconfig.h manually.
70883
70884 1998-07-31  Paul Eggert  <eggert@twinsun.com>
70885
70886         * m4/st_mtim.m4: New file.
70887
70888 1998-07-28  Jim Meyering  <meyering@ascend.com>
70889
70890         * m4/utimes.m4: Undef stat.
70891
70892 1998-07-25  Jim Meyering  <meyering@ascend.com>
70893
70894         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
70895         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
70896
70897 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
70898
70899         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
70900         uid and gid actually remain unchanged.
70901
70902 1998-07-07  Jim Meyering  <meyering@ascend.com>
70903
70904         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
70905
70906 1998-07-04  Jim Meyering  <meyering@ascend.com>
70907
70908         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
70909         to prove that this macro can be used in packages without regex.c.
70910
70911 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
70912
70913         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
70914         is to be used.
70915
70916 1998-07-03  Jim Meyering  <meyering@ascend.com>
70917
70918         * m4/gettext.m4: Add -lintl if it's found to be necessary.
70919
70920         * m4/gettext.m4: New file -- from gettext-0.10.35.
70921         * m4/lcmessage.m4: Likewise.
70922         * m4/progtest.m4: Likewise.
70923
70924         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
70925         * m4/jm-macros.m4: Require the new macro.
70926
70927 1998-06-29  Jim Meyering  <meyering@ascend.com>
70928
70929         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
70930         for the definition of NGROUPS (used in a system header included
70931         by sys/mount.h).
70932
70933 1998-06-28  Jim Meyering  <meyering@ascend.com>
70934
70935         * m4/ls-mntd-fs.m4: New file.
70936         * m4/fstypename.m4: New file.
70937
70938         * m4/jm-macros.m4: Require the new macro.
70939         * m4/jm-glibc-io.m4: New file.
70940
70941 1998-05-19  Jim Meyering  <meyering@ascend.com>
70942
70943         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
70944         * m4/lchown.m4: New file.
70945
70946         * m4/Makefile.am.in: New file.
70947         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
70948
70949 1998-05-14  Jim Meyering  <meyering@ascend.com>
70950
70951         * m4/Makefile.am (EXTRA_DIST): Add them.
70952         * m4/jm-macros.m4: New file.
70953         * m4/utimbuf.m4: New file.
70954
70955 1998-05-12  Jim Meyering  <meyering@ascend.com>
70956
70957         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
70958
70959 1998-05-11  Jim Meyering  <meyering@ascend.com>
70960
70961         * m4/isc-posix.m4: New file.
70962
70963 1998-05-10  Jim Meyering  <meyering@ascend.com>
70964
70965         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
70966
70967 1998-05-09  Jim Meyering  <meyering@ascend.com>
70968
70969         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
70970         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
70971         with automake.
70972
70973         * m4/ssize_t.m4: New file.
70974         * m4/mktime.m4: Remove file -- the new automake has this now.
70975
70976 1998-04-26  Jim Meyering  <meyering@ascend.com>
70977
70978         * m4/assert.m4: New file.
70979         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
70980
70981 1998-04-05  Jim Meyering  <meyering@ascend.com>
70982
70983         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
70984         (jm_PREREQ): Use it here.
70985
70986 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
70987
70988         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
70989         in acconfig.h.
70990
70991 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
70992
70993         * m4/prereq.m4: New file.
70994         * m4/error.m4: New file.
70995         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
70996
70997 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
70998
70999         * m4/getline.m4: Don't set am_cv_func_working_getline before the
71000         cache-check for the same variable -- that defeated the purpose of
71001         the test; the test program was never run.  This was a problem only
71002         on systems with losing getline functions -- HP-UX 10.20 is one.
71003         Reported by Bjorn Helgaas.
71004
71005 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
71006
71007         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
71008
71009 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
71010
71011         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
71012
71013         * m4/const.m4: New file.  Use an initializer in this declaration
71014         typedef int charset[2]; const charset x;
71015         Reported by Bob Glickstein.
71016
71017 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
71018
71019         * m4/chown.m4: Fix reversed types on -1 args to chown.
71020         From Kaveh Ghazi.
71021
71022 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
71023
71024         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
71025         Add lseek and memchr.
71026
71027         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
71028         T.E.Dickey <dickey@clark.net> said that some older preprocessors
71029         have a 20-character limit on names.
71030
71031 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
71032
71033         * m4/inttypes_h.m4: New file.
71034         * m4/uintmax_t.m4: New file.
71035         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
71036
71037
71038         -----
71039
71040         Local Variables:
71041         coding: utf-8
71042         End:
71043
71044         Copyright (C) 1997-2010 Free Software Foundation, Inc.
71045
71046         Copying and distribution of this file, with or without
71047         modification, are permitted provided the copyright notice
71048         and this notice are preserved.