fcdc6287f372416a34c39164df7fe84808840d1c
[gnulib.git] / ChangeLog
1 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
2
3         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
4         & co.
5
6 2010-10-14  Bruno Haible  <bruno@clisp.org>
7
8         vasnprintf: Don't set errno to 0.
9         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
10         block that sets it to 0.
11         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
12
13 2010-10-14  Bruno Haible  <bruno@clisp.org>
14
15         socketlib: Fix.
16         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
17         gl_PREREQ_SYS_H_WINSOCK2.
18         Reported by Ian Beckwith <ianb@erislabs.net>.
19
20 2010-10-13  Jim Meyering  <meyering@redhat.com>
21
22         test-select-stdin.c: avoid warn_unused_result warnings
23         * tests/test-select-stdin.c: Include "macros.h".
24         ASSERT that read and fflush succeed.
25
26 2010-10-13  Jim Meyering  <meyering@redhat.com>
27
28         git-version-gen: do require git-VC'd files in cwd
29         * build-aux/git-version-gen: Reject a git version string
30         if there are no commits associated with the current directory.
31         This avoids an unlikely false-positive (unrelated dir whose parent
32         repository also contains a tag matching v*), as pointed out
33         by Giuseppe Scrivano in
34         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
35
36 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
37
38         argv-iter: omit nonconforming declaration
39         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
40         enum arg_iter_err declaration, which doesn't conform to C99.
41         Solaris 10 cc warns about this.
42
43 2010-10-13  Eric Blake  <eblake@redhat.com>
44
45         termios: fix compilation on mingw
46         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
47         (gl_TERMIOS_H): Adjust it on mingw.
48         * modules/termios (Makefile.am): Substitute new key.
49         * lib/termios.in.h (includes): Make include_next conditional.
50         * doc/posix-headers/termios.texi (termios.h): Update
51         documentation.
52         Reported by Daniel P. Berrange.
53
54 2010-10-13  Jim Meyering  <meyering@redhat.com>
55
56         git-version-gen: don't require that .git/ be in the current dir
57         * build-aux/git-version-gen: Adjust this script so that it works
58         when run from any working directory beneath the top-level .git/-
59         containing directory.  Inspired by a patch from Giuseppe Scrivano,
60         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
61
62         test-select: avoid warn_unused_result warnings
63         * tests/test-select.c: Include "macros.h".
64         ASSERT that each call to read, write, and pipe succeeds.
65         While not technically required, also check each "close".
66         * modules/select-tests (Files): Add tests/macros.h.
67
68         test-symlinkat: remove declaration of unused local
69         * tests/test-symlinkat.c (main): Remove unused local, "buf".
70
71         test-inttostr: avoid shadowing warnings
72         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
73         and use malloc rather than the stack for the same reason as
74         mentioned in the comment justifying the other allocation.
75
76 2010-10-11  Bruno Haible  <bruno@clisp.org>
77
78         stdlib: Allow multiple gnulib generated replacements to coexist.
79         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
80         Reported by Sam Steingold <sds@gnu.org>.
81
82 2010-10-11  Jim Meyering  <meyering@redhat.com>
83
84         fix a documentation typo
85         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
86
87 2010-10-11  Eric Blake  <eblake@redhat.com>
88
89         futimens: work around Solaris 11 bug
90         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
91         * tests/test-futimens.h (test_futimens): Enhance, rather than
92         weaken test.
93         * doc/posix-functions/futimens.texi (futimens): Document the bug.
94
95 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
96
97         Indentation.
98         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
99         higher-level operators more to the left.
100
101 2010-10-11  Jim Meyering  <meyering@redhat.com>
102
103         test-futimens: avoid unwarranted test failure on Solaris 5.11
104         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
105         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
106         because it tries to dereference the NULL name argument.
107
108 2010-10-11  Bruno Haible  <bruno@clisp.org>
109
110         Indentation.
111         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
112         indentation.
113
114 2010-10-11  Jim Meyering  <meyering@redhat.com>
115
116         spawn.in.h: make indentation consistent with parentheses
117         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
118         Make indentation consistent with parentheses.
119
120 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
121
122         Fix mismatched parens in previous commit
123         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
124         parens.
125
126 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
127
128         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
129
130         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
131         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
132         * lib/malloca.c: Include "verify.h".
133         (verify1): Remove, replacing with a verify call.
134         * lib/relocwrapper.c (verify1): Likewise.
135         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
136         Likewise.
137         * modules/malloca (Depends-on): Add 'verify'.
138         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
139         * modules/vasnprintf (Depends-on): Add 'verify'.
140         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
141         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
142         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
143         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
144         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
145         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
146         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
147
148         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
149
150         Formerly the style was sometimes 2*X - 1, because the C standard
151         was wrongly thought to disallow ?: in integral constant expressions.
152         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
153         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
154         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
155         * lib/stdint.in.h (_verify_intmax_size): Likewise.
156         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
157         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
158         verify that time_t cannot be floating.
159
160 2010-10-08  Eric Blake  <eblake@redhat.com>
161
162         time: enforce recent POSIX ruling that time_t is integral
163         * lib/time.in.h (__time_t_must_be_integral): Detect any
164         problematic systems, allowing the rest of gnulib to assume POSIX.
165
166 2010-10-08  Jim Meyering  <meyering@redhat.com>
167
168         fdopendir: fix a bug on systems lacking openat and /proc support
169         OpenBSD 4.7 is one such system.  The most noticeable effect was
170         failure of any application making nontrivial use of fts: rm, du,
171         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
172           ./rm: traversal failed: `a': Bad file descriptor
173         Debugging that, you see that even though FD 6 was closed just
174         prior to the opendir call in fd_clone_opendir, its resulting
175         dir->dd_fd was 8, rather than the expected value of 6:
176
177         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
178         93                close (fd);
179         (gdb) n
180         94                dir = fd_clone_opendir (dupfd);
181         (gdb) n
182         95                saved_errno = errno;
183         (gdb) p dir->dd_fd
184         $11 = 8
185
186         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
187         The problem is that on OpenBSD, fd_clone_opendir has to resort
188         to using the old-style save/restore CWD mechanism, due to its
189         lack of openat/proc support, and *that* would steal the FD (6)
190         that opendir was supposed to use.
191
192         The fix is to squirrel away the desired FD so that save_cwd uses a
193         different one, and then free the dest FD right before calling opendir.
194         That guarantees opendir will use the required file descriptor.
195
196         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
197
198 2010-10-08  Bruno Haible  <bruno@clisp.org>
199
200         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
201         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
202
203 2010-10-08  Bruno Haible  <bruno@clisp.org>
204
205         nanosleep: Make replacement POSIX compliant.
206         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
207         is out of range.
208         Reported by Jim Meyering.
209
210 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
211
212         bootstrap: add hook for altering gnulib.mk, for Bison
213         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
214         the Bison bootstrapping process can rewrite file names and variables
215         in this file before later parts of 'bootstrap' use the file.
216         Bison wants to include lib/gnulib.mk from the top-level makefile,
217         so it needs the file names in this file to be relative to the top
218         level, not relative to lib; plus it needs variable names to be
219         rewritten.
220         (slurp): Use the new function.
221
222         bootstrap: reformat for readability
223         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
224
225 2010-10-08  Eric Blake  <eblake@redhat.com>
226
227         docs: update cygwin progress
228         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
229         1.7.7.
230         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
231         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
232         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
233         * doc/posix-functions/carg.texi (carg): Likewise.
234         * doc/posix-functions/cargf.texi (cargf): Likewise.
235         * doc/posix-functions/casin.texi (casin): Likewise.
236         * doc/posix-functions/casinf.texi (casinf): Likewise.
237         * doc/posix-functions/casinh.texi (casinh): Likewise.
238         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
239         * doc/posix-functions/catan.texi (catan): Likewise.
240         * doc/posix-functions/catanf.texi (catanf): Likewise.
241         * doc/posix-functions/catanh.texi (catanh): Likewise.
242         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
243         * doc/posix-functions/ccos.texi (ccos): Likewise.
244         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
245         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
246         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
247         * doc/posix-functions/cexp.texi (cexp): Likewise.
248         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
249         * doc/posix-functions/cimag.texi (cimag): Likewise.
250         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
251         * doc/posix-functions/clog.texi (clog): Likewise.
252         * doc/posix-functions/clogf.texi (clogf): Likewise.
253         * doc/posix-functions/conj.texi (conj): Likewise.
254         * doc/posix-functions/conjf.texi (conjf): Likewise.
255         * doc/posix-functions/cpow.texi (cpow): Likewise.
256         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
257         * doc/posix-functions/cproj.texi (cproj): Likewise.
258         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
259         * doc/posix-functions/creal.texi (creal): Likewise.
260         * doc/posix-functions/crealf.texi (crealf): Likewise.
261         * doc/posix-functions/csin.texi (csin): Likewise.
262         * doc/posix-functions/csinf.texi (csinf): Likewise.
263         * doc/posix-functions/csinh.texi (csinh): Likewise.
264         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
265         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
266         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
267         * doc/posix-functions/ctan.texi (ctan): Likewise.
268         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
269         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
270         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
271         * doc/posix-headers/complex.texi (complex.h): Likewise.
272
273 2010-10-07  Jim Meyering  <meyering@redhat.com>
274
275         parse-datetime: avoid compilation failure on OpenBSD 4.7
276         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
277         This works around a compilation failure on OpenBSD 4.7:
278         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
279
280 2010-10-07  Eric Blake  <eblake@redhat.com>
281
282         docs: update cygwin progress
283         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
284         1.7.6.
285         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
286         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
287         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
288         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
289         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
290         Likewise.
291         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
292         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
293         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
294         Likewise.
295         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
296         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
297         Likewise.
298         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
299         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
300         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
301         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
302         Likewise.
303         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
304         Likewise.
305         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
306
307         docs: update parse-datetime history
308         * doc/parse-datetime.texi (Authors of parse_datetime): Better
309         documentation of this function's history and alternatives.
310
311         cygwin: use more robust version check
312         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
313         exclude an eventual cygwin 1.9.1.
314         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
315         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
316         (gl_FUNC_STRCASESTR): Likewise.
317         Reported by Bruno Haible.
318
319 2010-10-06  Bruno Haible  <bruno@clisp.org>
320
321         string, sys_select: Avoid #including large headers unless necessary.
322         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
323         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
324         OSF/1, BeOS, Haiku.
325         Reported by Jim Meyering.
326
327 2010-10-05  Eric Blake  <eblake@redhat.com>
328
329         memmem, strstr, strcasestr: fix bug with long periodic needle
330         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
331         periodic needle having false positive.
332         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
333         and cygwin 1.7.7.
334         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
335         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
336         (gl_FUNC_STRCASESTR): Likewise.
337         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
338         * tests/test-memmem.c (main): Expose the bug.
339         * tests/test-strcasestr.c (main): Likewise.
340         * tests/test-strstr.c (main): Likewise.
341         * tests/test-c-strcasestr.c (main): Likewise.
342         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
343         * doc/posix-functions/strstr.texi (strstr): Likewise.
344         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
345         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
346
347 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
348
349         parse-datetime: do some more renaming
350         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
351         parse_datetime, not get_date.  Mention the renaming.
352         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
353         in comments.
354         * m4/bison.m4: Likewise.
355
356 2010-10-05  Eric Blake  <eblake@redhat.com>
357
358         parse-datetime: better name than get_date
359         * NEWS: Reword the deprecation notice.
360         * modules/get_date: Rename to modules/parse-datetime.
361         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
362         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
363         * lib/get_date.y: Rename to lib/parse-datetime.y.
364         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
365         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
366         * doc/getdate.texi: Provide fallback wrapper.
367         * lib/getdate.h: Move guts, and wrap...
368         * lib/parse-datetime.h: ...new file.
369         * lib/parse-datetime.y (get_date): Rename...
370         (parse_datetime): ...to this.
371         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
372         (gl_PARSE_DATETIME): ...to this.
373         * doc/posix-functions/getdate.texi (get_date): Provide fallback
374         documentation.
375         * modules/getdate (Files): Provide fallback docs and header.
376         (Notice, Depends-on): Update references.
377         * tests/test-parse-datetime.c: Likewise.
378         * DEPENDENCIES: Likewise.
379         * MODULES.html.sh (Date and time <time.h>): Likewise.
380         * doc/parse-datetime.texi (Date input formats)
381         (Authors of parse_datetime): Likewise.
382         * modules/parse-datetime (Files, configure.ac, Makefile.am)
383         (Include): Likewise.
384         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
385         * gnulib-tool: Likewise.
386         * m4/bison.m4 (gl_BISON): Likewise.
387         Suggested by Bruno Haible.
388
389 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
390
391         more ports to Solaris tr, which needs [] around ranges
392         * gnulib-tool: Solaris tr needs [] around ranges.
393         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
394         * tests/test-pipe-filter-gi1.c (main): Likewise.
395         * tests/test-pipe-filter-ii1.c (main): Likewise.
396
397 2010-10-05  Eric Blake  <eblake@redhat.com>
398
399         bootstrap: fix Solaris regression
400         * build-aux/bootstrap (check_versions): Solaris tr still needs []
401         around ranges.
402         Reported by Pádraig Brady.
403
404         bootstrap: work with pkg-config
405         * build-aux/bootstrap (check_versions): Also transliterate - in
406         prerequisite name.
407         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
408         prerequisites that were already found, to avoid confusion.
409         Reported by Justin Clift.
410
411         faccessat: remove unused wrappers
412         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
413         presence of these wrappers dragged in -lgen on Solaris.
414         Reported by Clemens Brogi; fix suggested by Paul Eggert.
415
416 2010-10-05  Jim Meyering  <meyering@redhat.com>
417
418         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
419         * Makefile (sc_pragma_columns): New syntax-check rule.
420
421 2010-10-04  Bruno Haible  <bruno@clisp.org>
422
423         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
424         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
425         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
426         Reported by Bruce Korb and Eric Blake.
427
428 2010-10-04  Bruno Haible  <bruno@clisp.org>
429
430         threadlib: Make option --with-libpth-prefix work.
431         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
432         use $LIBPTH, not just -lpth.
433
434 2010-10-04  Bruno Haible  <bruno@clisp.org>
435
436         Avoid line length limitation from HP NonStop system header files.
437         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
438         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
439         * lib/ctype.in.h: Likewise.
440         * lib/dirent.in.h: Likewise.
441         * lib/errno.in.h: Likewise.
442         * lib/fcntl.in.h: Likewise.
443         * lib/float.in.h: Likewise.
444         * lib/getopt.in.h: Likewise.
445         * lib/iconv.in.h: Likewise.
446         * lib/inttypes.in.h: Likewise.
447         * lib/langinfo.in.h: Likewise.
448         * lib/locale.in.h: Likewise.
449         * lib/math.in.h: Likewise.
450         * lib/netdb.in.h: Likewise.
451         * lib/netinet_in.in.h: Likewise.
452         * lib/poll.in.h: Likewise.
453         * lib/pthread.in.h: Likewise.
454         * lib/pty.in.h: Likewise.
455         * lib/sched.in.h: Likewise.
456         * lib/se-selinux.in.h: Likewise.
457         * lib/search.in.h: Likewise.
458         * lib/signal.in.h: Likewise.
459         * lib/spawn.in.h: Likewise.
460         * lib/stdarg.in.h: Likewise.
461         * lib/stddef.in.h: Likewise.
462         * lib/stdint.in.h: Likewise.
463         * lib/stdio.in.h: Likewise.
464         * lib/stdlib.in.h: Likewise.
465         * lib/string.in.h: Likewise.
466         * lib/strings.in.h: Likewise.
467         * lib/sys_file.in.h: Likewise.
468         * lib/sys_ioctl.in.h: Likewise.
469         * lib/sys_select.in.h: Likewise.
470         * lib/sys_socket.in.h: Likewise.
471         * lib/sys_stat.in.h: Likewise.
472         * lib/sys_time.in.h: Likewise.
473         * lib/sys_times.in.h: Likewise.
474         * lib/sys_utsname.in.h: Likewise.
475         * lib/sys_wait.in.h: Likewise.
476         * lib/sysexits.in.h: Likewise.
477         * lib/termios.in.h: Likewise.
478         * lib/time.in.h: Likewise.
479         * lib/unistd.in.h: Likewise.
480         * lib/wchar.in.h: Likewise.
481         * lib/wctype.in.h: Likewise.
482         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
483         * modules/ctype (Makefile.am): Likewise.
484         * modules/dirent (Makefile.am): Likewise.
485         * modules/errno (Makefile.am): Likewise.
486         * modules/fcntl-h (Makefile.am): Likewise.
487         * modules/float (Makefile.am): Likewise.
488         * modules/getopt-posix (Makefile.am): Likewise.
489         * modules/iconv-h (Makefile.am): Likewise.
490         * modules/inttypes (Makefile.am): Likewise.
491         * modules/langinfo (Makefile.am): Likewise.
492         * modules/locale (Makefile.am): Likewise.
493         * modules/math (Makefile.am): Likewise.
494         * modules/netdb (Makefile.am): Likewise.
495         * modules/netinet_in (Makefile.am): Likewise.
496         * modules/poll-h (Makefile.am): Likewise.
497         * modules/pthread (Makefile.am): Likewise.
498         * modules/pty (Makefile.am): Likewise.
499         * modules/sched (Makefile.am): Likewise.
500         * modules/search (Makefile.am): Likewise.
501         * modules/selinux-h (Makefile.am): Likewise.
502         * modules/signal (Makefile.am): Likewise.
503         * modules/spawn (Makefile.am): Likewise.
504         * modules/stdarg (Makefile.am): Likewise.
505         * modules/stddef (Makefile.am): Likewise.
506         * modules/stdint (Makefile.am): Likewise.
507         * modules/stdio (Makefile.am): Likewise.
508         * modules/stdlib (Makefile.am): Likewise.
509         * modules/string (Makefile.am): Likewise.
510         * modules/strings (Makefile.am): Likewise.
511         * modules/sys_file (Makefile.am): Likewise.
512         * modules/sys_ioctl (Makefile.am): Likewise.
513         * modules/sys_select (Makefile.am): Likewise.
514         * modules/sys_socket (Makefile.am): Likewise.
515         * modules/sys_stat (Makefile.am): Likewise.
516         * modules/sys_time (Makefile.am): Likewise.
517         * modules/sys_times (Makefile.am): Likewise.
518         * modules/sys_utsname (Makefile.am): Likewise.
519         * modules/sys_wait (Makefile.am): Likewise.
520         * modules/sysexits (Makefile.am): Likewise.
521         * modules/termios (Makefile.am): Likewise.
522         * modules/time (Makefile.am): Likewise.
523         * modules/unistd (Makefile.am): Likewise.
524         * modules/wchar (Makefile.am): Likewise.
525         * modules/wctype (Makefile.am): Likewise.
526
527 2010-10-04  Bruno Haible  <bruno@clisp.org>
528
529         read-file tests: Avoid a test failure on NonStop Kernel.
530         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
531         a regular file.
532         Reported by Joachim Schmitz <schmitz@hp.com>.
533
534 2010-10-03  Bruno Haible  <bruno@clisp.org>
535
536         gnulib-tool: Fixes for --create-testdir with --libtool.
537         * gnulib-tool (func_get_automake_snippet): Don't augment
538         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
539         an executable.
540         (func_create_testdir): Handle module 'alloca' like func_import.
541         Reported by Bruce Korb <bruce.korb@gmail.com>.
542
543 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
544
545         Avoid some lines longer than 80 characters.
546         * lib/stdint.in.h: Break long comment lines.
547         * lib/math.in.h: Likewise.
548         (_GL_NUM_UINT_WORDS): New macro, for readability.
549         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
550         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
551         * lib/stdlib.in.h: Likewise.
552         * lib/spawn.in.h: Likewise.
553         * lib/sys_socket.in.h: Update an URL.
554         * lib/sys_stat.in.h: Break long line.
555
556 2010-10-03  Bruno Haible  <bruno@clisp.org>
557             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
558
559         acl: Add support for ACLs on NonStop Kernel.
560         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
561         Check whether the function aclsort() exists.
562         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
563         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
564         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
565         (acl_nontrivial [HAVE_ACLSORT]: New function.
566         (file_has_acl): Implement for NonStop Kernel.
567         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
568         (qset_acl): Implement for NonStop Kernel.
569         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
570         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
571         (main): Implement for NonStop Kernel.
572         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
573         Kernel. Handle this flavor.
574         * tests/test-set-mode-acl.sh: Likewise.
575         * tests/test-copy-acl.sh: Likewise.
576         * tests/test-copy-file.sh: Likewise.
577
578 2010-10-03  Bruno Haible  <bruno@clisp.org>
579
580         Info about ACLs on NonStop Kernel.
581         * doc/acl-resources.txt: Add info about NonStop Kernel.
582         References by Joachim Schmitz <schmitz@hp.com>.
583
584 2010-10-02  Bruno Haible  <bruno@clisp.org>
585
586         Define missing EDQUOT on NonStop Kernel.
587         * lib/errno.in.h (EDQUOT): Assign a value if missing.
588         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
589         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
590         missing.
591         * doc/posix-headers/errno.texi: Mention the NSK bug.
592         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
593         Reported by Joachim Schmitz <schmitz@hp.com>.
594
595 2010-10-02  Bruno Haible  <bruno@clisp.org>
596
597         Update doc for POSIX:2008.
598         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
599         Update URL of POSIX specification.
600
601 2010-10-02  Bruno Haible  <bruno@clisp.org>
602
603         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
604         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
605         from gnulib, not from Automake.
606
607 2010-10-02  Bruno Haible  <bruno@clisp.org>
608
609         New module 'system-posix'.
610         * modules/system-posix: New file.
611         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
612         module is present.
613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
614         GNULIB_SYSTEM_POSIX.
615         * modules/stdlib (Depends-on): Remove sys_wait.
616         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
617         * doc/posix-functions/system.texi: Mention the new module.
618         * doc/posix-headers/stdlib.texi: Likewise.
619         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
620         define test_sys_wait_macros to a no-op.
621         Reported by Sam Steingold <sds@gnu.org>.
622
623 2010-09-30  Bruno Haible  <bruno@clisp.org>
624
625         More renaming from 'getdate' to 'get_date'.
626         * doc/get_date.texi: Renamed from doc/getdate.texi.
627         * modules/get_date (Files): Update.
628         * MODULES.html.sh (Date and time <time.h>): Update.
629         * DEPENDENCIES: Update.
630         * gnulib-tool: Update comment.
631         * m4/bison.m4 (gl_BISON): Likewise.
632         * m4/get_date.m4 (gl_GET_DATE): Likewise.
633
634 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
635
636         bootstrap: support ACLOCAL_FLAGS during aclocal
637         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
638         can add additional -I dir for third-party .m4 files.
639
640 2010-09-30  Eric Blake  <eblake@redhat.com>
641
642         bootstrap: use glibtoolize on MacOS
643         * build-aux/bootstrap (check_versions): Convert libtool into
644         libtoolize.
645         (tool search): Move libtool check earlier, and look for
646         glibtoolize for MacOS.
647         (gnulib_tool_options): Auto-add --libtool when appropriate.
648         Reported by Justin Clift.
649
650         poll: fix typo that broke test on MacOS
651         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
652         Reported by Justin Clift.
653
654         getdate: rename to get_date
655         Note: getdate.h is not renamed, to minimize client impact.
656         * modules/getdate: Mark obsolete.  Move old contents...
657         * modules/get_date: ...to new module name.
658         * modules/getdate-tests: Move...
659         * modules/get_date-tests: ...here.
660         * m4/getdate.m4: Move...
661         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
662         * lib/getdate.y: Move...
663         * lib/get_date.y: ...here.
664         * tests/test-getdate.c: Move...
665         * tests/test-get_date.c: ...here.
666         * doc/posix-functions/getdate.texi (getdate): Update name.
667         * NEWS: Mention the change.
668
669 2010-09-29  Bruno Haible  <bruno@clisp.org>
670
671         Separate the module 'waitpid' from the module 'sys_wait'.
672         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
673         present.
674         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
675         gl_MODULE_INDICATOR_FOR_TESTS.
676         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
677         * modules/sys_wait (Depends-on): Remove waitpid.
678         (Makefile.am): Substitute GNULIB_WAITPID.
679         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
680         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
681         signature only if the 'waitpid' module is present.
682         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
683         * NEWS: Mention the change.
684         * modules/grantpt (Depends-on): Add waitpid.
685         * modules/wait-process (Depends-on): Likewise.
686
687 2010-09-29  Bruno Haible  <bruno@clisp.org>
688
689         More tests for module 'sys_wait'.
690         * modules/sys_wait-c++-tests: New file.
691         * tests/test-sys_wait-c++.cc: New file.
692         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
693         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
694
695 2010-09-29  Bruno Haible  <bruno@clisp.org>
696
697         New module 'waitpid'.
698         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
699         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
700         Don't include <process.h>.
701         (waitpid): Declare only, using modern idiom.
702         * m4/waitpid.m4: New file.
703         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
704         * modules/waitpid: New file.
705         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
706         (Makefile.am): Update.
707         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
708
709 2010-09-28  Bruno Haible  <bruno@clisp.org>
710
711         poll: Assume ANSI C.
712         * lib/poll.c (poll): Use an ANSI C declaration.
713
714 2010-09-28  Bruno Haible  <bruno@clisp.org>
715
716         poll-h: Create poll.h on all platforms.
717         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
718         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
719         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
720         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
721         (gl_REPLACE_POLL_H): Don't set POLL_H.
722         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
723         * modules/poll-h (Depends-on): Add include_next.
724         (Makefile.am): Create poll.h unconditionally. Substitute also
725         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
726
727 2010-09-28  Bruno Haible  <bruno@clisp.org>
728
729         Tests for module 'poll-h'.
730         * modules/poll-h-c++-tests: New file.
731         * tests/test-poll-h-c++.cc: New file.
732
733         Tests for module 'poll-h'.
734         * modules/poll-h-tests: New file.
735         * tests/test-poll-h.c: New file.
736
737 2010-09-28  Bruno Haible  <bruno@clisp.org>
738
739         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
740         * modules/poll-h (Depends-on): Add 'extensions'.
741
742 2010-09-28  Bruno Haible  <bruno@clisp.org>
743
744         New module 'poll-h'.
745         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
746         (poll): Use modern idiom.
747         * modules/poll-h: New file.
748         * modules/poll (Files): Remove lib/poll.in.h.
749         (Depends-on): Add poll-h.
750         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
751         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
752         * m4/poll_h.m4: New file.
753         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
754         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
755         and invoke gl_REPLACE_POLL_H.
756         * lib/poll.c: Use common idiom.
757         * tests/test-poll.c: Likewise.
758         * doc/posix-headers/poll.texi: Mention the poll-h module.
759         Suggested by Eric Blake.
760
761 2010-09-26  Bruno Haible  <bruno@clisp.org>
762
763         sys_wait: Implement WSTOPSIG.
764         * lib/sys_wait.in.h (WSTOPSIG): New macro.
765         Reported by Simon Josefsson.
766
767 2010-09-26  Simon Josefsson  <simon@josefsson.org>
768
769         stdlib, sys_wait: Avoid compilation error on mingw.
770         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
771
772 2010-09-26  Bruno Haible  <bruno@clisp.org>
773
774         stdlib tests: Avoid code duplication.
775         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
776         * modules/sys_wait-tests (Files): Likewise.
777         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
778         * tests/test-stdlib.c: Include test-sys_wait.h.
779         (main): Invoke test_sys_wait_macros.
780         * tests/test-sys_wait.c: Include test-sys_wait.h.
781         (main): Invoke test_sys_wait_macros.
782
783 2010-09-25  Simon Josefsson  <simon@josefsson.org>
784
785         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
786         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
787         sure Windows sockets are working before calling getaddrinfo.
788         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
789         * doc/gnulib.texi (Windows sockets): Fix typo.
790
791 2010-09-25  Bruno Haible  <bruno@clisp.org>
792
793         Tests for module 'regex-quote'.
794         * modules/regex-quote-tests: New file.
795         * tests/test-regex-quote.c: New file.
796
797         New module 'regex-quote'.
798         * lib/regex-quote.h: New file.
799         * lib/regex-quote.c: New file.
800         * modules/regex-quote: New file.
801         Suggested by Reuben Thomas <rrt@sc3d.org>.
802
803 2010-09-24  Bruno Haible  <bruno@clisp.org>
804
805         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
806         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
807
808 2010-09-23  Bruno Haible  <bruno@clisp.org>
809
810         setenv: Relax license.
811         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
812         Blake.
813         Requested by Eric Blake.
814
815 2010-09-22  Bruno Haible  <bruno@clisp.org>
816
817         termios: Relax license.
818         * modules/termios (License): Change to LGPLv2+.
819         Requested by Eric Blake.
820
821 2010-09-22  Bruno Haible  <bruno@clisp.org>
822
823         threadlib: Allow the package to change the default to 'no'.
824         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
825         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
826         Reported by Paul Eggert.
827
828 2010-09-22  Pádraig Brady  <P@draigbrady.com>
829             Bruno Haible  <bruno@clisp.org>
830
831         Fix endless loop in mbmemcasecoll.
832         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
833         byte.
834         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
835
836 2010-09-22  Bruno Haible  <bruno@clisp.org>
837
838         Tests for module 'memcoll'.
839         * modules/memcoll-tests: New file.
840         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
841
842         memcoll, xmemcoll: Clarify size vs. length.
843         * modules/memcoll.c (memcoll0): Clarify specification.
844         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
845         passed to collate_error.
846
847 2010-09-22  Bruno Haible  <bruno@clisp.org>
848
849         Tests for module 'memcasecmp'.
850         * modules/memcasecmp-tests: New file.
851         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
852
853 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
854
855         * lib/pthread.in.h: Add split double-inclusion guard, and include
856         system <pthread.h> if there is one.  Use @@-style as in other
857         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
858         pthread.h doesn't.
859         (pthread_mutexattr_destroy, pthread_mutexattr_init):
860         (pthread_mutexattr_settype, pthread_mutex_trylock):
861         New static inline functions, if there's no system <pthread.h>.
862         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
863         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
864         Approximate with mutexes if the system lacks spinlocks, as in
865         MacOS.
866         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
867         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
868         @@-style.  Check for spinlocks separately.
869         (gl_PTHREAD_DEFAULTS): New macro.
870         * modules/pthread: Redo to use a more typical style for in.h files.
871
872 2010-09-21  Eric Blake  <eblake@redhat.com>
873
874         net_if: enhance tests
875         * tests/test-net_if.c (main): Move signature checks earlier.
876         Print failures to stderr.
877         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
878         Document the bug that we do not yet fix.
879
880 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
881
882         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
883         about gnulib, not GSS.
884
885 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
886
887         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
888         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
889         for Emacs.
890         * build-aux/pmccabe2html: Make Makefile.am example code more
891         cut-and-paste friendly.
892
893 2010-09-21  Simon Josefsson  <simon@josefsson.org>
894
895         * tests/test-net_if.c: New file.
896         * modules/net_if-tests: New file.
897
898 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
899
900         pthread: add pthread_spin_destroy
901         * lib/pthread.in.h (pthread_spin_destroy): New function.
902
903 2010-09-19  Bruno Haible  <bruno@clisp.org>
904
905         gnulib-tool: Fix --help output.
906         * gnulib-tool (func_usage): Fix help message.
907         Reported by Reuben Thomas <rrt@sc3d.org>.
908
909 2010-09-18  Jim Meyering  <meyering@redhat.com>
910
911         maint.mk: avoid unexpanded \n in two diagnostics
912         * top/maint.mk (sc_prohibit_always_true_header_tests):
913         Don't use a literal \n in a halt=... assignment.  It would not be
914         expanded, and the two \n bytes would appear in the diagnostic output
915         rather than the desired newline.  Use halt=$$(printf ... instead.
916         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
917
918 2010-09-18  Bruno Haible  <bruno@clisp.org>
919
920         netinet_in: Doc tweak.
921         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
922         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
923
924 2010-09-18  Jim Meyering  <meyering@redhat.com>
925
926         init.sh: correct an outdated comment
927         * tests/init.sh (create_exe_shims_):  s/function/alias/
928
929         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
930         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
931         a file named "*.exe" is removed between the glob expansion and the
932         processing of that oddly named file.
933
934 2010-09-17  Eric Blake  <eblake@redhat.com>
935
936         mirbsd: add some more support
937         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
938         in BSD family.
939         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
940         devices as OpenBSD.
941         * m4/host-os.m4 (mirbsd): Add MirBSD.
942
943         tests: fix unportable assumption on sys/wait.h
944         * tests/test-sys_wait.c (main): Relax test.
945         * tests/test-stdlib.c (main): Likewise.
946
947         init.sh: accomodate directory with no .exes
948         * tests/init.sh: Accomodate directory containing only scripts.
949
950         tests: avoid compiler warning
951         * tests/test-stdlib.c (main): Use the variable.
952
953         fdutimens, fdutimensat: update signature, again
954         * lib/utimens.h (gl_futimens): Delete, and move signature...
955         (fdutimens): ...here.
956         (fdutimensat): Rearrange signature.
957         (lutimensat): Rename variable for clarity.
958         * lib/fdutimensat.c (fdutimensat): Update signature.
959         * lib/utimens.c (fdutimens): Likewise.
960         (gl_futimens): Delete.
961         (utimens, lutimens): Update callers.
962         * lib/futimens.c (futimens): Likewise.
963         * tests/test-fdutimensat.c: Likewise.
964         * tests/test-utimens.c: Likewise.
965         * tests/test-futimens.h: Update comment.
966         * NEWS: Mention this.
967         Suggested by Paul Eggert.
968
969 2010-09-17  Bruno Haible  <bruno@clisp.org>
970
971         Take over the maintenance of some older macros from Autoconf.
972         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
973         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
974         GNU Autoconf.
975         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
976         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
977
978 2010-09-17  Eric Blake  <eblake@redhat.com>
979
980         fdutimensat: drop atflag validation
981         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
982         with valid fd, to close a race scenario where futimens is
983         unsupported and FILE was replaced by a symlink.
984         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
985         accordingly.
986         Suggested by Paul Eggert.
987
988 2010-09-16  Bruno Haible  <bruno@clisp.org>
989
990         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
991         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
992
993 2010-09-16  Bruno Haible  <bruno@clisp.org>
994
995         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
996         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
997         login_tty exists.
998         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
999
1000 2010-09-16  Bruno Haible  <bruno@clisp.org>
1001
1002         login_tty: Make the replacement code work on BSD systems.
1003         * lib/login_tty.c: Include <sys/ioctl.h>.
1004         (login_tty): Use ioctl TIOCSCTTY when available.
1005         * modules/login_tty (Depends-on): Add sys_ioctl.
1006         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1007
1008 2010-09-16  Bruno Haible  <bruno@clisp.org>
1009
1010         login_tty: Stricter unit test.
1011         * modules/login_tty-tests (Depends-on): Add tcgetsid.
1012         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
1013         and tcgetsid() after login_tty.
1014         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1015
1016 2010-09-16  Bruno Haible  <bruno@clisp.org>
1017
1018         New module 'tcgetsid'.
1019         * lib/tcgetsid.c: New file.
1020         * m4/tcgetsid.m4: New file.
1021         * modules/tcgetsid: New file.
1022         * modules/termios (Depends-on): Add c++defs, warn-on-use.
1023         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
1024         GNULIB_TCGETSID, HAVE_TCGETSID.
1025         * lib/termios.in.h: Include <sys/types.h>.
1026         (tcgetsid): New declaration.
1027         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
1028         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
1029         * doc/posix-functions/tcgetsid.texi: Mention the new module.
1030         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
1031
1032 2010-09-16  Bruno Haible  <bruno@clisp.org>
1033
1034         Tests for module 'termios'.
1035         * modules/termios-c++-tests: New file.
1036         * modules/termios-tests: New file.
1037         * tests/test-termios-c++.cc: New file.
1038         * tests/test-termios.c: New file.
1039
1040         New module 'termios'.
1041         * modules/termios: New file.
1042         * lib/termios.in.h: New file.
1043         * m4/termios_h.m4: New file.
1044         * doc/posix-headers/termios.texi: Mention the new module.
1045
1046 2010-09-16  Eric Blake  <eblake@redhat.com>
1047
1048         fdutimensat: add an atflag parameter
1049         * lib/fdutimensat.c (fdutimensat): Add new parameter.
1050         * lib/utimens.h (fdutimensat): Update prototype.
1051         * tests/test-fdutimensat.c: Adjust test to match.
1052         * NEWS: Document the change.
1053         Suggested by Paul Eggert.
1054
1055 2010-09-16  Bruno Haible  <bruno@clisp.org>
1056
1057         Fix typos in comments.
1058         * lib/striconveh.h: Fix typo in comment.
1059         * lib/login_tty.c (login_tty): Likewise.
1060
1061 2010-09-15  Bruno Haible  <bruno@clisp.org>
1062
1063         stdlib: clarify MirBSD WEXITSTATUS bug
1064         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
1065         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
1066
1067 2010-09-15  Eric Blake  <eblake@redhat.com>
1068
1069         stdlib: work around MirBSD WEXITSTATUS bug
1070         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
1071         * modules/stdlib (Depends-on): Add sys_wait.
1072         * tests/test-sys_wait.c (main): Enhance test.
1073         * tests/test-stdlib.c (main): Likewise.
1074         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
1075
1076         docs: mention MacOS issue with WEXITSTATUS(constant)
1077         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
1078         issue.
1079         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
1080
1081         strnlen: add tests
1082         * modules/strnlen-tests: New file.
1083         * tests/test-strnlen.c: Likewise.
1084
1085 2010-09-14  Bruno Haible  <bruno@clisp.org>
1086
1087         unistr/base: Avoid link errors when module 'libunistring' is also used.
1088         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
1089         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
1090         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
1091         Declare also when HAVE_LIBUNISTRING is set.
1092         Reported by Pádraig Brady <P@draigbrady.com>.
1093
1094 2010-09-14  Eric Blake  <eblake@redhat.com>
1095
1096         test-rawmemchr: make more robust
1097         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
1098         (Depends-on, configure.ac): Add needed prerequisites to use it.
1099         * modules/memchr-tests (Files, Depends-on, configure.ac):
1100         Likewise, to avoid implicit reliance on memchr module prereqs.
1101         * tests/test-memchr.c (main): Ensure proper masking.
1102         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
1103         reads.
1104
1105         memchr: detect glibc Alpha bug
1106         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
1107         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
1108         Alpha.
1109         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
1110         * tests/test-memchr.c (main): Enhance test.
1111         Reported by Nelson H. F. Beebe.
1112
1113 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1114
1115         fts, getcwd, glob: audit for dirfd returning -1
1116         * lib/fts.c (opendir): Remove #define; no longer used.
1117         (opendirat): New arg PDIR_FD.  All callers changed.
1118         (fts_build, _opendir2): Use new opendirat to avoid the need for
1119         dirfd, or for checking whether dirfd returns a negative value.
1120         Don't use opendir; always use openat followed by fdopendir.
1121         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
1122         it.
1123         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
1124         returns -1 here.
1125         * modules/fts (Depends-on): Remove dirfd.
1126         * modules/getcwd (Depends-on): Likewise.
1127
1128 2010-09-13  Eric Blake  <eblake@redhat.com>
1129
1130         float: fix broken MirBSD header
1131         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
1132         * doc/posix-headers/float.texi (float.h): Document it.
1133
1134 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1135
1136         fts: use O_NOFOLLOW to avoid race condition when opening a directory
1137         * lib/fts.c (opendirat): New arg extra_flags.
1138         (__opendir2): Use it to avoid following symlinks when opening
1139         a directory, if symlinks are not supposed to be followed.  See
1140         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
1141
1142         fdopendir: preserve argument fd before returning
1143         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
1144         (fdopendir_with_dup, fd_clone_opendir): New static functions.
1145         (fdopendir): Use them, arranging for FD to be open to the same
1146         directory that it was when it started.  (It might be temporarily
1147         closed while fdopendir is running, so this not thread- or
1148         signal-safe.)  Be careful to do the right thing even when file
1149         descriptors are scarce and dup fails with errno == EMFILE.  See
1150         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
1151
1152 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
1153
1154         regex: Pass the system regex if its only problem is 32-bit regoff_t.
1155         * NEWS: Document change.
1156         * m4/regex.m4: Disable test for regoff_t size.
1157
1158 2010-09-13  Jim Meyering  <meyering@redhat.com>
1159
1160         fts: don't operate on an invalid file descriptor after failed dup
1161         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
1162         negative file descriptor.
1163
1164 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
1165
1166         savedir: add streamsavedir, deprecate fdsavedir
1167         * NEWS: Mention deprecation of fdsavedir.
1168         * lib/savedir.c (streamsavedir): New extern function, whose name
1169         ends in "savedir" to be consistent with the others.  This differs
1170         from savedirstream in that it doesn't close its argument.  The
1171         next version of GNU tar will use this instead of fdsavedir, to
1172         avoid some race conditions and conserve file descriptors.
1173         (savedirstream): Reimplement as a wrapper around streamsavedir.
1174         (fdsavedir): Add a comment deprecating this function.  As far as
1175         I know, only GNU tar used it, and GNU tar doesn't need it any more.
1176         * lib/savedir.h (streamsavedir): New decl.
1177         (fdsavedir): Add a comment deprecating this.
1178
1179 2010-09-10  Bruno Haible  <bruno@clisp.org>
1180
1181         langinfo: Fix last commit.
1182         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
1183         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
1184         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1185
1186 2010-09-10  Bruno Haible  <bruno@clisp.org>
1187
1188         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
1189         * lib/progreloc.c (O_EXEC): Define fallback.
1190
1191 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1192
1193         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
1194         * NEWS: Document recent changes to fcntl-h.
1195         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
1196         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
1197         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
1198         Similarly for O_SEARCH; this last was already true, but not documented.
1199         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
1200         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
1201         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
1202         Likewise.
1203         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
1204         is zero, not whether it is defined.
1205         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
1206         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
1207         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
1208
1209 2010-09-10  Bruno Haible  <bruno@clisp.org>
1210
1211         langinfo, nl_langinfo: Fix for IRIX 5.3.
1212         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
1213         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
1214         HAVE_LANGINFO_YESEXPR.
1215         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
1216         HAVE_LANGINFO_YESEXPR.
1217         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
1218         HAVE_LANGINFO_T_FMT_AMPM is 0.
1219         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
1220         HAVE_LANGINFO_YESEXPR is 0.
1221         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
1222         NOEXPR.
1223         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
1224         * doc/posix-functions/nl_langinfo.texi: Likewise.
1225         Reported by Eric Blake.
1226
1227 2010-09-10  Bruno Haible  <bruno@clisp.org>
1228
1229         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
1230         * doc/glibc-functions/login_tty.texi: Mention the include file problem
1231         on FreeBSD 8.0 and OpenBSD 4.6.
1232         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
1233         * m4/pty_h.m4 (gl_PTY_H): Likewise.
1234         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
1235         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
1236         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
1237         ac_includes_default.
1238         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1239
1240 2010-09-09  Eric Blake  <eblake@redhat.com>
1241
1242         strsignal: work around NetBSD bug
1243         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
1244         * lib/string.in.h (includes): Likewise.
1245         * doc/posix-functions/strsignal.texi (strsignal): Document the
1246         bug.
1247         Reported by Nelson H. F. Beebe.
1248
1249         gnulib-tool: work with NetBSD /bin/sh
1250         * gnulib-tool (func_cache_var, func_cache_lookup_module)
1251         (func_get_description, func_get_comment, func_get_status)
1252         (func_get_notice, func_get_applicability, func_get_filelist)
1253         (func_get_dependencies, func_get_autoconf_early_snippet)
1254         (func_get_autoconf_snippet, func_get_automake_snippet)
1255         (func_get_include_directive, func_get_link_directive)
1256         (func_get_license, func_get_maintainer, func_import): Avoid
1257         shell syntax errors from parsing syntax extensions.
1258
1259 2010-09-09  Bruno Haible  <bruno@clisp.org>
1260
1261         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
1262         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
1263         a reliable way to determine whether the 'alias' command works.
1264
1265 2010-09-08  Jim Meyering  <meyering@redhat.com>
1266
1267         init.sh: penalize a set-x-impaired shell; don't disqualify it
1268         * tests/init.sh: Too many shells corrupt application stderr when
1269         you set -x, so we can't afford to disqualify them, since at least
1270         on Irix-6.5, that would disqualify all bourne shells.
1271         Instead, use a two-pass approach.
1272         On the first pass, try to find a shell that meets the stricter
1273         condition that set -x does not corrupt stderr.
1274         If no shell meets the stricter condition, retest each candidate
1275         shell, but without that extra condition.  Finally, when
1276         VERBOSE=yes is requested and set -x might cause trouble, simply
1277         issue a warning and refrain from enabling debug output.
1278
1279 2010-09-08  Eric Blake  <eblake@redhat.com>
1280
1281         unsetenv: fix OpenBSD bug
1282         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
1283         * doc/posix-functions/unsetenv.texi (unsetenv): Update
1284         documentation.
1285         Reported by Jim Meyering.
1286
1287         strtod: work around IRIX 6.5 bug
1288         * lib/strtod.c (strtod): Reparse number on shorter string if
1289         exponent parse was invalid.
1290         * tests/test-strtod.c (main): Add check for "0x1p 2".
1291         Reported by Tom G. Christensen.
1292
1293         getopt: optimize previous patch
1294         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
1295         empty variable.  Speed up awk script.
1296         Reported by Paolo Bonzini.
1297
1298 2010-09-08  Jim Meyering  <meyering@redhat.com>
1299
1300         test.sh: disqualify shells for which set -x corrupts stderr
1301         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
1302         and OpenBSD 4.7.  They make it so with "set -x", environment settings
1303         appear in stderr output.  For example, this command:
1304             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
1305         prints "P=1" on those two systems:
1306
1307 2010-09-08  Bruno Haible  <bruno@clisp.org>
1308
1309         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
1310         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
1311         commands, because some shells ignore redirections when there is an
1312         error in the command lookup.
1313         Reported by Eric Blake.
1314
1315 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
1316
1317         * lib/regex.h: Fix a mention of `regex_compile' (should be
1318         `re_compile_pattern').
1319         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
1320         (re_set_registers): Correct name of parameter in comment.
1321
1322         * doc/regex.texi: Add documentation for missing syntax flags.
1323         Remove commented-out documentation of defunct syntax option
1324         RE_NO_EMPTY_ALTS.
1325         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
1326         Add documentation of re_set_registers.
1327         Document trick to re-use a pattern buffer by setting fastmap manually.
1328         Update documentation of struct re_pattern_buffer per public members.
1329         Uncomment documentation of equivalence class operators and
1330         collating symbol operators, since they are now implemented,
1331         Explain leftmost-longest matching in relation to alternatives.
1332         Tidy documentation of substring matching.
1333         Remove POSIX documentation, which is done better in
1334         glibc, and refer the reader there. Keep BSD API documentation, as
1335         that is not readily available elsewhere.
1336
1337 2010-09-07  Eric Blake  <eblake@redhat.com>
1338
1339         getopt: handle POSIXLY_CORRECT set but not exported
1340         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
1341         export state of POSIXLY_CORRECT, due to bash set -o posix.
1342         Reported by Dustin J. Mitchell.
1343
1344 2010-09-05  Bruno Haible  <bruno@clisp.org>
1345
1346         gnulib-tool: Highlight the changed options.
1347         * gnulib-tool (func_usage): Display the --import, --add-import,
1348         --remove-import explanations in bold font.
1349
1350 2010-09-06  Karl Berry  <karl@gnu.org>
1351
1352         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
1353
1354 2010-09-05  Bruno Haible  <bruno@clisp.org>
1355
1356         uniwidth/width: Update comment.
1357         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
1358         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
1359
1360 2010-09-05  Bruno Haible  <bruno@clisp.org>
1361
1362         isinf, isnan: Relax license.
1363         * modules/isinf (License): Change from GPL to LGPL, with consent from
1364         Ben Pfaff.
1365         * modules/isnan (License): Likewise.
1366         Requested by Ludovic Courtès.
1367
1368 2010-09-04  Bruno Haible  <bruno@clisp.org>
1369
1370         gnulib-tool: Help migration from --import to --add-import or --update.
1371         * gnulib-tool: Emit a verbose error message when --import is used
1372         without any module name.
1373
1374 2010-09-04  Bruno Haible  <bruno@clisp.org>
1375
1376         Update doc about gnulib-tool.
1377         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
1378         'gnulib-tool --update' in more detail.
1379         Reported by Eric Blake.
1380
1381 2010-09-04  Bruno Haible  <bruno@clisp.org>
1382
1383         gnulib-tool: Change --import. New options --add/remove-import.
1384         * gnulib-tool: New options --add-import, --remove-import.
1385         (func_usage): Document them.
1386         (have_associative): Define always.
1387         (func_import): In import mode, don't merge the specified settings with
1388         the cached settings. Implement remove-import mode.
1389         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
1390         Explain when to use them versus --import.
1391         (Simple update): Use --add-import instead of --import.
1392         * NEWS: Mention the change.
1393
1394 2010-09-04  Bruno Haible  <bruno@clisp.org>
1395
1396         * doc/gnulib-tool.texi (Initial import): Update paragraph about
1397         separate gnulib.mk.
1398
1399 2010-09-04  Bruno Haible  <bruno@clisp.org>
1400
1401         gnulib-tool: Don't talk about CVS any more.
1402         * gnulib-tool (func_usage, func_import): Write "version control"
1403         instead of CVS.
1404
1405 2010-09-04  Jim Meyering  <meyering@redhat.com>
1406
1407         maint.mk: avoid obscure sc_copyright_check failure in coreutils
1408         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
1409         false positives (whose names may be ill-chosen) when searching
1410         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
1411         would cause a false-positive.
1412
1413         avoid coreutils "make distcheck" failure
1414         Coreutils tests with an absolute build directory name that contains
1415         a space.  Not quoting this directory name caused a failure.
1416         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
1417         * tests/test-vc-list-files-cvs.sh: Likewise.
1418
1419 2010-09-04  Bruno Haible  <bruno@clisp.org>
1420
1421         gnulib-tool: Avoid error when run in a package without Makefile.am.
1422         * gnulib-tool: When collecting the m4dirs in a package that does not
1423         have a Makefile.am, eliminate those directories that contain no
1424         gnulib-cache.m4. Fix expression that counts these directories.
1425
1426 2010-09-04  Bruno Haible  <bruno@clisp.org>
1427
1428         update-copyright test: Improve output when perl is missing or too old.
1429         * tests/test-update-copyright.sh: Move test of Perl version down after
1430         the test whether Perl exists. Provide an explanation relating Perl's
1431         error message to Automake's SKIP: message.
1432
1433 2010-09-04  Bruno Haible  <bruno@clisp.org>
1434
1435         Don't augment PATH in TESTS_ENVIRONMENT.
1436         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
1437         set abs_aux_dir instead of augmenting PATH.
1438         * modules/vc-list-files-tests (Makefile.am): Likewise.
1439         * tests/test-update-copyright.sh: Augment PATH here.
1440         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
1441         path_prepend_.
1442         * tests/test-vc-list-files-git.sh: Likewise.
1443
1444 2010-09-04  Jim Meyering  <meyering@redhat.com>
1445
1446         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
1447         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
1448
1449 2010-09-04  Bruno Haible  <bruno@clisp.org>
1450
1451         strdup: Fix compilation error in C++ mode.
1452         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
1453         the macro.
1454
1455 2010-09-04  Bruno Haible  <bruno@clisp.org>
1456
1457         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
1458         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
1459         macro into a function.
1460         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1461
1462 2010-09-04  Bruno Haible  <bruno@clisp.org>
1463
1464         Set PATH_SEPARATOR the same way autoconf does.
1465         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
1466         the value of PATH_SEPARATOR the same way autoconf-generated configure
1467         scripts do.
1468         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
1469         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
1470
1471 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1472
1473         Set PATH_SEPARATOR the same way autoconf does.
1474         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
1475         the same way autoconf-generated configure scripts do.
1476         * posix-modules: Likewise.
1477
1478 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
1479
1480         hash: fix safe_hasher const typo
1481         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
1482         const; otherwise, there is a type error later.
1483
1484 2010-09-02  Jim Meyering  <meyering@redhat.com>
1485
1486         test-update-copyright.sh: require perl 5.8.0
1487         * tests/test-update-copyright.sh: Require 5.8.0,
1488         which Tom G. Christensen has confirmed is adequate,
1489         while 5.6.1 is not.
1490
1491 2010-09-02  Eric Blake  <eblake@redhat.com>
1492
1493         tests: init.sh improvements for re-exec'ing with zsh
1494         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
1495         -vx through shell re-exec.
1496         Reported by Tom G. Christensen.
1497
1498         wctype: fix typo in previous commit
1499         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
1500         Reported by Ludovic Courtès.
1501
1502 2010-09-02  Jim Meyering  <meyering@redhat.com>
1503
1504         test-update-copyright.sh: skip test if Perl is too old
1505         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
1506         Reported by Tom G. Christensen.
1507
1508 2010-09-02  Bruno Haible  <bruno@clisp.org>
1509
1510         wctype: Avoid compilation error on IRIX 6.5.30.
1511         * lib/wctype.in.h (iswblank): Declare with a replacement if
1512         REPLACE_ISWBLANK is set.
1513         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
1514         declared. Set REPLACE_ISWBLANK.
1515         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
1516         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
1517         * doc/posix-headers/wctype.texi: Likewise.
1518         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1519
1520 2010-09-01  Bruno Haible  <bruno@clisp.org>
1521
1522         New module 'socketlib'.
1523         * modules/socketlib: New file.
1524         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
1525         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
1526         * modules/sockets (Depends-on): Add socketlib.
1527         Suggested by Sam Steingold <sds@gnu.org>.
1528
1529 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1530
1531         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
1532
1533         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
1534         when one needs search access to a directory but not read access.
1535         On systems where it is available, it works in some cases where
1536         O_RDONLY does not, namely on directories that are searchable but
1537         not readable, and which need only to be searchable.  If O_SEARCH
1538         is not available, fall back to the traditional method of using
1539         O_RDONLY.
1540
1541         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
1542         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
1543         when opening a directory that needs only to be searchable.
1544         * lib/chdir-safer.c (chdir_no_follow): Likewise.
1545         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
1546         * lib/openat-proc.c (openat_proc_name): Likewise.
1547         * lib/openat.c (openat_needs_fchdir): Likewise.
1548         * lib/save-cwd.c (save_cwd): Likewise.
1549         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
1550
1551 2010-08-28  Bruno Haible  <bruno@clisp.org>
1552
1553         New module 'host-cpu-c-abi'.
1554         * modules/host-cpu-c-abi: New file.
1555         * m4/host-cpu-c-abi.m4: New file, based on part of
1556         clisp/src/m4/general.m4.
1557         Requested by Sam Steingold <sds@gnu.org>.
1558
1559 2010-08-31  Eric Blake  <eblake@redhat.com>
1560         and Jim Meyering  <meyering@redhat.com>
1561
1562         hash: factor, and guard against misbehaving hasher function
1563         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
1564         of table->hasher's return value.  Also protect against a hash value
1565         so large that adding it to table->bucket results in a NULL pointer.
1566         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
1567         Use it in place of open-coded check-and-abort.
1568
1569 2010-08-30  Bruno Haible  <bruno@clisp.org>
1570
1571         hash: silence spurious clang warning
1572         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
1573         Reported by Eric Blake.
1574
1575 2010-08-30  Eric Blake  <eblake@redhat.com>
1576
1577         strstr, memmem, strcasestr: avoid leaked shell message
1578         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
1579         FreeBSD.
1580         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1581         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
1582
1583         tests: silence clang warning
1584         * tests/test-malloca.c (do_allocation): Avoid dead store.
1585
1586 2010-08-29  Bruno Haible  <bruno@clisp.org>
1587
1588         gettext: Fix recent mistake.
1589         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
1590
1591 2010-08-29  Bruno Haible  <bruno@clisp.org>
1592
1593         selinux-h: Offer a --without-selinux option.
1594         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
1595         --without-selinux was specified, skip all tests and define
1596         HAVE_SELINUX_SELINUX_H to 0.
1597         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
1598         set LIB_SELINUX to empty.
1599         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
1600         gl_LIBSELINUX. If --without-selinux was specified, replace
1601         selinux/context.h.
1602         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
1603
1604 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1605             Bruno Haible  <bruno@clisp.org>
1606
1607         Make the module 'realloc-gnu' work again on AIX and OSF/1.
1608         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
1609         of HAVE_REALLOC.
1610         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
1611         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
1612         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
1613         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
1614
1615 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1616             Bruno Haible  <bruno@clisp.org>
1617
1618         Make the module 'calloc-gnu' work again on AIX and OSF/1.
1619         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
1620         HAVE_CALLOC.
1621         * lib/xmalloc.c: Update accordingly.
1622         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
1623         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
1624         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1625
1626 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1627             Bruno Haible  <bruno@clisp.org>
1628
1629         Make the module 'malloc-gnu' work again on AIX and OSF/1.
1630         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
1631         HAVE_MALLOC.
1632         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
1633         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
1634         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
1635
1636 2010-08-29  Bruno Haible  <bruno@clisp.org>
1637
1638         Update modules list.
1639         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
1640         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
1641         (String handling <string.h>): Add astrxfrm.
1642         (File system functions): Add readlinkat.
1643
1644 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1645
1646         Tests for module 'realloc-gnu'.
1647         * modules/realloc-gnu-tests: New file.
1648         * tests/test-realloc-gnu.c: New file.
1649
1650         Tests for module 'calloc-gnu'.
1651         * modules/calloc-gnu-tests: New file.
1652         * tests/test-calloc-gnu.c: New file.
1653
1654         Tests for module 'malloc-gnu'.
1655         * modules/malloc-gnu-tests: New file.
1656         * tests/test-malloc-gnu.c: New file.
1657
1658 2010-08-28  Bruno Haible  <bruno@clisp.org>
1659
1660         Rename module 'realloc' -> 'realloc-gnu'.
1661         * modules/realloc-gnu: New file, copied from modules/realloc.
1662         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
1663         obsolete.
1664         * modules/mgetgroups (Depends-on): Update.
1665         * doc/posix-functions/realloc.texi: Update.
1666         * NEWS: Mention the change.
1667
1668         Rename module 'calloc' -> 'calloc-gnu'.
1669         * modules/calloc-gnu: New file, copied from modules/calloc.
1670         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
1671         obsolete.
1672         * doc/posix-functions/calloc.texi: Update.
1673         * NEWS: Mention the change.
1674
1675         Rename module 'malloc' -> 'malloc-gnu'.
1676         * modules/malloc-gnu: New file, copied from modules/malloc.
1677         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
1678         obsolete.
1679         * modules/argp (Depends-on): Update.
1680         * modules/regex (Depends-on): Update.
1681         * doc/posix-functions/malloc.texi: Update.
1682         * NEWS: Mention the change.
1683
1684 2010-08-28  Eric Blake  <eblake@redhat.com>
1685
1686         pread, pwrite: add missing dependency
1687         * modules/pread (Depends-on): Add extensions.
1688         * modules/pwrite (Depends-on): Likewise.
1689
1690 2010-08-28  Bruno Haible  <bruno@clisp.org>
1691
1692         unistr/u*-strchr: Fix tests dependencies.
1693         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
1694         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
1695         Reported by Ian Beckwith <ianb@erislabs.net>.
1696
1697 2010-08-28  Bruno Haible  <bruno@clisp.org>
1698
1699         read-file: Don't occupy too much unused memory.
1700         * lib/read-file.c (fread_file): Shrink the buffer at the end.
1701
1702 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
1703             Eric Blake  <eblake@redhat.com>
1704             Bruno Haible  <bruno@clisp.org>
1705
1706         read-file: Avoid memory reallocations with regular files.
1707         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
1708         (fread_file): With regular files, use the remaining length as the
1709         initial buffer size.  Check against overflow.
1710         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
1711         sys_stat.
1712
1713 2010-08-28  Bruno Haible  <bruno@clisp.org>
1714
1715         ftello: Relax license.
1716         * modules/ftello (License): Relax to LGPLv2+.
1717         Reported by Eric Blake.
1718
1719 2010-08-28  Bruno Haible  <bruno@clisp.org>
1720
1721         Avoid relocwrapper link errors due to gnulib replacement functions.
1722         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
1723         function.
1724         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1725
1726 2010-08-28  Bruno Haible  <bruno@clisp.org>
1727
1728         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
1729         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
1730         defined.
1731         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
1732         Suggested by Eric Blake.
1733
1734 2010-08-28  Bruno Haible  <bruno@clisp.org>
1735
1736         sys_socket, netdb: Ensure socklen_t gets defined.
1737         * modules/sys_socket (Depends-on): Add socklen.
1738         * modules/netdb (Depends-on): Likewise.
1739         * modules/getaddrinfo (Depends-on): Remove socklen.
1740         * modules/getsockopt (Depends-on): Likewise.
1741         * modules/setsockopt (Depends-on): Likewise.
1742         * tests/test-sys_socket.c: Check that socklen_t is defined.
1743         * tests/test-netdb.c: Likewise.
1744         * m4/socklen.m4: Update comments.
1745         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1746
1747 2010-08-27  Eric Blake  <eblake@redhat.com>
1748
1749         login_tty: add missing dependency
1750         * modules/login_tty (Depends-on): Add pty.
1751
1752 2010-08-26  Eric Blake  <eblake@redhat.com>
1753
1754         lib-symbol-versions: fix m4 quoting
1755         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
1756         format for AC_LINK_IFELSE.
1757
1758         glob: fix compile test
1759         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
1760
1761         btowc: fix missing file
1762         * modules/btowc (Files): Also ship locale-fr.m4.
1763
1764         lseek: fix link test
1765         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
1766         AC_LINK_IFELSE.
1767
1768         include_next: silence autoconf 2.68 warning
1769         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
1770         AC_COMPILE_IFELSE as special.
1771         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
1772         autoconf < 2.68.
1773
1774         acl: fix compilation test
1775         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
1776         AC_COMPILE_IFELSE.
1777
1778 2010-08-26  Bruno Haible  <bruno@clisp.org>
1779
1780         Modernize AC_TRY_RUN invocations.
1781         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
1782         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
1783         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
1784         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
1785         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
1786         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
1787         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
1788         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
1789         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1790         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
1791         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
1792         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
1793         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
1794         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
1795         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
1796         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
1797         gl_MBRLEN_NUL_RETVAL): Likewise.
1798         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
1799         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
1800         Likewise.
1801         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
1802         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
1803         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
1804         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
1805         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
1806         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
1807         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
1808         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
1809         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
1810         Likewise.
1811         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
1812         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
1813         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1814         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
1815         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1816         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
1817         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1818         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
1819         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1820         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1821
1822 2010-08-26  Bruno Haible  <bruno@clisp.org>
1823
1824         Modernize AC_TRY_LINK invocations.
1825         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
1826         AC_TRY_LINK.
1827         * m4/argp.m4 (gl_ARGP): Likewise.
1828         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
1829         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
1830         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
1831         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
1832         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
1833         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
1834         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
1835         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
1836         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
1837         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
1838         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
1839         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
1840         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
1841         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1842         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
1843         * m4/hostent.m4 (gl_HOSTENT): Likewise.
1844         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
1845         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
1846         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
1847         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
1848         Likewise.
1849         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
1850         Likewise.
1851         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
1852         Likewise.
1853         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
1854         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
1855         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
1856         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
1857         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
1858         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
1859         * m4/servent.m4 (gl_SERVENT): Likewise.
1860         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
1861         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
1862         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
1863         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
1864         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
1865         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1866         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1867         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1868         * modules/tsearch-tests (configure.ac): Likewise.
1869
1870 2010-08-26  Bruno Haible  <bruno@clisp.org>
1871
1872         Modernize AC_TRY_COMPILE invocations.
1873         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
1874         AC_TRY_COMPILE.
1875         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
1876         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
1877         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
1878         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
1879         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
1880         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
1881         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
1882         * m4/lock.m4 (gl_LOCK): Likewise.
1883         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
1884         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1885         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
1886         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
1887         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
1888         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
1889         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
1890         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
1891         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
1892         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
1893         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
1894         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1895         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
1896         extraneous semicolon.
1897
1898 2010-08-26  Jim Meyering  <meyering@redhat.com>
1899
1900         stat-time: relax license LGPL
1901         * modules/stat-time (License): Change from GPL to LGPL,
1902         with consent from all contributors, for use in libguile.
1903         Requested by Ludovic Courtès.
1904
1905 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
1906
1907         poll: return immediately on POLLHUP.
1908         * lib/poll.c (poll): Always set timeout before wait_timeout is
1909         computed.
1910
1911 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1912
1913         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
1914         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
1915         rmdir ("dir/.//"), unlinkat.
1916
1917 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1918
1919         stdbool: avoid spurious failure with modern xlc
1920         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
1921
1922 2010-08-24  Bruno Haible  <bruno@clisp.org>
1923
1924         getloadavg: simplify code
1925         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
1926         gl_have_func. Update comments.
1927
1928 2010-08-24  Eric Blake  <eblake@redhat.com>
1929
1930         getloadavg: don't define SVR4 on cygwin
1931         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
1932         only define SVR4 when -lkvm is required.
1933         Reported by Yaakov Selkowitz.
1934
1935 2010-08-24  Bruno Haible  <bruno@clisp.org>
1936
1937         priv-set: fix comment
1938         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
1939
1940 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1941
1942         priv-set: fix comments
1943         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
1944         to match code, as suggested by David Bartley in:
1945         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
1946
1947 2010-08-23  Eric Blake  <eblake@redhat.com>
1948
1949         stdbool: avoid rejecting clang
1950         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
1951         * tests/test-stdbool.c: Enable more tests if using the system
1952         <stdbool.h> instead of the gnulib replacement.
1953         (main): Move xlc bug test to a runtime test for all compilers.
1954         Reported by Anders Kaseorg.
1955
1956         argz: fix shell quoting issue
1957         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
1958         Reported by Charles Wilson.
1959
1960 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
1961             Erik Faye-Lund <kusmabite@gmail.com>
1962
1963         poll, select: handle ERROR_BROKEN_PIPE.
1964         * lib/poll.c (win32_compute_revents): Return POLLHUP when
1965         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
1966         * lib/select.c (win32_compute_revents): Do not mark a pipe
1967         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
1968
1969 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
1970
1971         fts: allow compilation with C++
1972         * lib/fts_.h: Specify extern "C" linkage with C++.
1973
1974 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1975
1976         Fix gnulib-tool sed script de-commentation for AIX sed.
1977         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
1978         sed.
1979
1980 2010-08-17  Eric Blake  <eblake@redhat.com>
1981
1982         test-stddef: test for (some) offsetof bugs
1983         * tests/test-stddef.c: Enhance test to ensure correct type of
1984         offsetof.
1985         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
1986         that we are not fixing at this time.
1987
1988 2010-08-15  Bruno Haible  <bruno@clisp.org>
1989
1990         stpncpy: Allow stpncpy to be defined as a macro.
1991         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
1992         if it's already correctly declared.
1993         * lib/string.in.h (stpncpy): Undefine before redefining.
1994         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
1995
1996 2010-08-14  Bruno Haible  <bruno@clisp.org>
1997
1998         Rename module 'memxfrm' to 'amemxfrm'.
1999         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
2000         (amemxfrm): Renamed from memxfrm.
2001         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
2002         (amemxfrm): Renamed from memxfrm.
2003         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
2004         * NEWS: Mention the change.
2005         * MODULES.html.sh (String handling <string.h>): Update.
2006         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
2007         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
2008         * lib/unicase/u16-casexfrm.c: Likewise.
2009         * lib/unicase/u32-casexfrm.c: Likewise.
2010         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
2011         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
2012         * lib/uninorm/u16-normxfrm.c: Likewise.
2013         * lib/uninorm/u32-normxfrm.c: Likewise.
2014         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
2015         memxfrm.
2016         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
2017         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
2018         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
2019         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
2020         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
2021         Suggested by Paul Eggert.
2022
2023 2010-08-14  Bruno Haible  <bruno@clisp.org>
2024
2025         Tests for module 'astrxfrm'.
2026         * modules/astrxfrm-tests: New file.
2027         * tests/test-astrxfrm.c: New file.
2028
2029         New module 'astrxfrm'.
2030         * lib/astrxfrm.h: New file.
2031         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
2032         * modules/astrxfrm: New file.
2033
2034 2010-08-14  Reuben Thomas <rrt@sc3d.org>
2035
2036         regex: Tweak doc.
2037         * doc/regex.texi (Overview): Don't mention regex.c.
2038         (GNU Regular Expression Compiling): Likewise.
2039         (Match-end-of-line Operator): Mention 'not_eol'.
2040
2041 2010-08-14  Brian Gough  <bjg@gnu.org>
2042             Bruno Haible  <bruno@clisp.org>
2043
2044         git-merge-changelog: add doc relating to use with bzr and hg.
2045         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
2046
2047 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
2048
2049         pthread: fix pthread.h creation for srcdir != builddir
2050         * modules/pthread (Makefile.am): Fix the rule to work also in a
2051         non-srcdir build.
2052
2053 2010-08-13  Karl Berry  <karl@gnu.org>
2054
2055         * doc/regex.texi (Predefined Syntaxes): @smallexample.
2056         * doc/posix-*/*: force line break before @url of POSIX
2057         specifications.
2058         Suggested by Werner Lemberg.
2059
2060 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2061
2062         strtod: fix const diagnostic
2063         * lib/strtod.c (strtod): Don't assign const char * to char *,
2064         as this elicits a warning from GCC when warnings are enabled.
2065
2066 2010-08-10  Pádraig Brady <P@draigbrady.com>
2067         and Eric Blake  <eblake@redhat.com>
2068
2069         copy-acl: ignore ENOTSUP on HP-UX
2070         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
2071         so that it is available for HP-UX.
2072         * lib/copy-acl.c (qcopy_acl): Use it.
2073         Reported by Patrick M. Callahan.
2074
2075 2010-08-10  Eric Blake  <eblake@redhat.com>
2076
2077         open, chown: relax license
2078         * modules/open (License): Change to LGPLv2+, with consent by all
2079         authors, for use in augeas.
2080         * modules/chown (License): Likewise.
2081         * modules/lchown (Likewise): Likewise.
2082         Requested by Adam Stokes.
2083
2084 2010-08-09  Karl Berry  <karl@gnu.org>
2085
2086         * build-aux/ar-lib: new file, import from Automake.
2087         * config/srclist.txt: autocheck for updates.
2088
2089 2010-08-09  Eric Blake  <eblake@redhat.com>
2090
2091         readlinkat: adjust client modules
2092         * modules/areadlinkat (Depends-on): Use readlinkat, not
2093         symlinkat.
2094         * modules/areadlinkat-with-size (Depends-on): Likewise.
2095
2096         mknod: be more vocal about danger of running tests as root
2097         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
2098         root, since that is just asking for problems.
2099         Suggested by Bruno Haible, based on a report by Rainer Tammer.
2100
2101         readlinkat: split into its own module
2102         * modules/symlinkat: Split readlinkat...
2103         * modules/readlinkat: ...into separate module.
2104         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
2105         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
2106         * lib/symlinkat.c (readlinkat): Move...
2107         * lib/readlinkat.c: ...into new file.
2108         * modules/symlinkat-tests: Split readlinkat test...
2109         * modules/readlinkat-tests: ...into separate module.
2110         * tests/test-symlinkat.c: Split...
2111         * tests/test-readlinkat.c: ...into new file.
2112         * NEWS: Document the split.
2113         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2114         * lib/unistd.in.h (readlinkat): Likewise.
2115         Suggested by Bruno Haible.
2116
2117 2010-08-08  Bruno Haible  <bruno@clisp.org>
2118
2119         memxfrm: Speed up.
2120         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
2121         that usually only one call to strxfrm is necessary for each string
2122         part.
2123         Reported by Paul Eggert <eggert@cs.ucla.edu>.
2124
2125 2010-08-07  Karl Berry  <karl@gnu.org>
2126
2127         * doc/posix-headers/limits.texi,
2128         * doc/posix-functions/malloc.texi,
2129         * doc/posix-functions/strsignal.texi: missing @item.
2130         * doc/ld-version-script.texi: spurious leading i.
2131         * doc/regex.texi (Interval Operators): no commas inside @var.
2132
2133 2010-08-01  Bruno Haible  <bruno@clisp.org>
2134
2135         Integrate the regex documentation.
2136         * doc/gnulib.texi: Define 'cn' index.
2137         (Regular expressions): New a chapter that includes regex.texi and
2138         regexprops-generic.texi.
2139         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
2140         syntax.
2141
2142         Whitespace cleanup.
2143         * doc/regex.texi: Remove trailing spaces.
2144
2145         Add regex documentation.
2146         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
2147         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
2148         Written by Kathy A. Hargreaves and Karl Berry.
2149
2150 2010-08-01  Bruno Haible  <bruno@clisp.org>
2151
2152         link: Update documentation.
2153         * doc/posix-functions/link.texi: Update regarding Solaris.
2154
2155 2010-07-31  Bruno Haible  <bruno@clisp.org>
2156
2157         Update modules list.
2158         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
2159         (String handling <string.h>): Add memcmp2, memxfrm.
2160         (Container data structures): Add xlist, xsublist, xoset.
2161         (Core language properties): Add alignof, unused-parameter.
2162         (Process control, Numeric conversion functions <stdlib.h>): Renamed
2163         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
2164         (Unibyte characters <ctype.h>): New section.
2165         (String handling <string.h>): New section.
2166         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
2167         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
2168         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
2169         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
2170         tan, tanh, tanl, y0, y1, yn.
2171         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
2172         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
2173         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
2174         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
2175         unlockpt, vdprintf, vdprintf-posix.
2176         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
2177         (File system functions): Add concat-filename, sys_file, sys_ioctl,
2178         xconcat-filename.
2179         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
2180         getdtablesize, pipe2, pipe2-safer.
2181         (Security): New section.
2182         (Networking functions): Add accept4.
2183         (Signal handling): Add sigpipe.
2184         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
2185         mbmemcasecoll.
2186         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
2187         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
2188         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
2189         pipe-filter-ii.
2190         (Misc): Add argp-version-etc, login_tty, parse-duration.
2191
2192 2010-07-31  Bruno Haible  <bruno@clisp.org>
2193
2194         Improve doc in MODULES.html.
2195         * modules/linkat (Description): Add the word "function".
2196         * modules/mkfifo (Description): Likewise.
2197         * modules/mknod (Description): Likewise.
2198         * modules/remove (Description): Likewise.
2199         * modules/renameat (Description): Likewise.
2200         * modules/stat (Description): Likewise.
2201         * modules/symlink (Description): Likewise.
2202         * modules/unlink (Description): Likewise.
2203
2204 2010-07-31  Bruno Haible  <bruno@clisp.org>
2205
2206         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
2207         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
2208         option --enable/disable-c++ instead of --enable/disable-cxx.
2209         * NEWS: Mention the change.
2210
2211 2010-07-31  Bruno Haible  <bruno@clisp.org>
2212
2213         readlink, areadlink: Relax test a bit.
2214         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
2215         alternative to ENOTDIR.
2216         * tests/test-areadlink.h (test_areadlink): Likewise.
2217         Reported by Rainer Tammer.
2218
2219 2010-07-31  Bruno Haible  <bruno@clisp.org>
2220
2221         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
2222         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
2223         character, perform the search using U_STRCHR.
2224         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
2225         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
2226         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
2227         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
2228         Suggested by Paolo Bonzini.
2229
2230 2010-07-31  Bruno Haible  <bruno@clisp.org>
2231
2232         unistr/u*-strstr: Fix dependencies.
2233         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
2234         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
2235         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
2236
2237 2010-07-31  Bruno Haible  <bruno@clisp.org>
2238
2239         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
2240         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
2241         the beginning of the loop.
2242         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
2243         cases in 'switch' statement.
2244
2245         unistr/u8-strchr: Fix several bugs.
2246         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
2247         the string. When not found, return NULL, not a pointer near the end.
2248
2249         More tests for unistr/u8-strchr.
2250         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
2251         that the function does not read past the first occurrence of the byte
2252         being searched.
2253         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
2254         * tests/unistr/test-u16-strchr.c (main): New function.
2255         * tests/unistr/test-u32-strchr.c (main): New function.
2256
2257 2010-07-31  Bruno Haible  <bruno@clisp.org>
2258
2259         posix-modules: Ignore backup files of documentation files.
2260         * posix-modules: grep only through files named *.texi.
2261
2262 2010-07-31  Bruno Haible  <bruno@clisp.org>
2263
2264         symlinkat: Fix documentation.
2265         * doc/posix-functions/readlinkat.texi: Fix module name.
2266
2267 2010-07-31  Bruno Haible  <bruno@clisp.org>
2268
2269         fchownat: Replace also when chown has the trailing slash bug.
2270         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
2271         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
2272         introduced on 2010-04-10.
2273         Reported by Rainer Tammer.
2274
2275 2010-07-31  Bruno Haible  <bruno@clisp.org>
2276
2277         linkat: Work around AIX 7.1 bug.
2278         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
2279         whether linkat handles trailing slash correctly. If not, replace linkat
2280         and define LINKAT_TRAILING_SLASH_BUG.
2281         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
2282         check whether (fd1,file1) points to a directory if file1 or file2 ends
2283         in a slash. Code taken from lib/link.c.
2284         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
2285         Reported by Rainer Tammer.
2286
2287 2010-07-31  Bruno Haible  <bruno@clisp.org>
2288
2289         Correctly determine whether pow is available in libc on AIX 7 with xlc.
2290         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
2291         This disables an xlc optimization that was causing wrong test results.
2292         Reported by Rainer Tammer.
2293
2294 2010-07-31  Bruno Haible  <bruno@clisp.org>
2295
2296         iconv: Work around AIX 6.1..7.1 bug.
2297         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
2298         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
2299         cross-compiling, guess no on all versions of AIX.
2300         Reported by Rainer Tammer.
2301
2302 2010-07-31  Bruno Haible  <bruno@clisp.org>
2303
2304         readlink: Relax test a bit.
2305         * tests/test-readlink.h (test_readlink): Allow different errno value
2306         when readlink is called with a file name that ends in / and refers to
2307         a file.
2308         Suggested by Eric Blake.
2309         Reported by Rainer Tammer.
2310
2311 2010-07-31  Bruno Haible  <bruno@clisp.org>
2312
2313         copysign: Does not require -lm on glibc systems.
2314         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
2315         gl_COMMON_DOUBLE_MATHFUNC.
2316         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
2317
2318 2010-07-31  Bruno Haible  <bruno@clisp.org>
2319
2320         duplocale: Work around AIX 7.1 bug.
2321         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
2322         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
2323         * lib/duplocale.c (rpl_duplocale): Update comment.
2324         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
2325         Reported by Rainer Tammer.
2326
2327 2010-07-30  Bruno Haible  <bruno@clisp.org>
2328
2329         dirfd: Avoid link error on AIX 7.1.
2330         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
2331         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
2332         exist, set REPLACE_DIRFD.
2333         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
2334         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
2335         * doc/posix-functions/dirfd.texi: Update.
2336         Reported by Rainer Tammer.
2337
2338 2010-07-30  Eric Blake  <eblake@redhat.com>
2339
2340         strtod: next round of AIX fixes
2341         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
2342         exponent.
2343         * tests/test-strtod.c (main): Enhance tests.
2344         * doc/posix-functions/strtod.texi (strtod): Document next bug.
2345         Reported by Rainer Tammer.
2346
2347         futimens: fix configure check
2348         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
2349         Reported by Bruno Haible.
2350
2351 2010-07-30  Bruno Haible  <bruno@clisp.org>
2352
2353         getline: Update regarding AIX.
2354         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
2355         Reported by Rainer Tammer.
2356
2357 2010-07-30  Bruno Haible  <bruno@clisp.org>
2358
2359         wcwidth: Drop replacement on AIX 7.
2360         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
2361         AIX 7.
2362         Reported by Rainer Tammer.
2363
2364 2010-07-30  Bruno Haible  <bruno@clisp.org>
2365
2366         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
2367         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
2368         a 'char *'.
2369         Reported by Rainer Tammer.
2370
2371 2010-07-30  Bruno Haible  <bruno@clisp.org>
2372
2373         unlink: Update regarding AIX.
2374         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
2375         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
2376         Reported by Rainer Tammer.
2377
2378 2010-07-30  Bruno Haible  <bruno@clisp.org>
2379
2380         symlink: Update regarding AIX.
2381         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
2382         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
2383         Reported by Rainer Tammer.
2384
2385 2010-07-30  Bruno Haible  <bruno@clisp.org>
2386
2387         strndup: Update regarding AIX.
2388         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
2389         AIX 7.
2390         Reported by Rainer Tammer.
2391
2392 2010-07-30  Bruno Haible  <bruno@clisp.org>
2393
2394         stat: Update regarding AIX.
2395         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
2396         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
2397         Reported by Rainer Tammer.
2398
2399 2010-07-30  Bruno Haible  <bruno@clisp.org>
2400
2401         truncl: Fix autoconf test.
2402         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
2403         whether truncl works.
2404         Reported by Rainer Tammer.
2405
2406 2010-07-30  Bruno Haible  <bruno@clisp.org>
2407
2408         round: Update regarding AIX.
2409         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
2410         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
2411         Reported by Rainer Tammer.
2412
2413 2010-07-30  Bruno Haible  <bruno@clisp.org>
2414
2415         rename: Update regarding AIX.
2416         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
2417         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
2418         Reported by Rainer Tammer.
2419
2420 2010-07-30  Bruno Haible  <bruno@clisp.org>
2421
2422         printf.m4: Update regarding AIX.
2423         * m4/printf.m4: Update comments regarding AIX.
2424         Reported by Rainer Tammer.
2425
2426 2010-07-30  Bruno Haible  <bruno@clisp.org>
2427
2428         iconv: Update regarding AIX.
2429         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
2430         AIX 7.
2431         Reported by Rainer Tammer.
2432
2433 2010-07-30  Bruno Haible  <bruno@clisp.org>
2434
2435         getopt: Update regarding AIX.
2436         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
2437         no on AIX.
2438         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
2439         Reported by Rainer Tammer.
2440
2441 2010-07-30  Bruno Haible  <bruno@clisp.org>
2442
2443         ldexpl; Update regarding AIX.
2444         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
2445         on AIX 7.
2446         Reported by Rainer Tammer.
2447
2448 2010-07-30  Bruno Haible  <bruno@clisp.org>
2449
2450         frexpl: Update regarding AIX.
2451         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
2452         on AIX 7.
2453         Reported by Rainer Tammer.
2454
2455 2010-07-30  Bruno Haible  <bruno@clisp.org>
2456
2457         open, fopen: Update regarding AIX.
2458         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
2459         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
2460         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
2461         * doc/posix-functions/fopen.texi: Likewise.
2462         Reported by Rainer Tammer.
2463
2464 2010-07-30  Bruno Haible  <bruno@clisp.org>
2465
2466         chown: Update doc regarding AIX.
2467         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
2468         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
2469         Reported by Rainer Tammer.
2470
2471 2010-07-30  Eric Blake  <eblake@redhat.com>
2472
2473         strtod: fix bug in replacement function on AIX
2474         * lib/strtod.c (strtod): Special case broken "0x" parse in
2475         underlying strtod.
2476         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
2477         * doc/posix-functions/strtod.texi (strtod): Likewise.
2478         Reported by Rainer Tammer.
2479
2480 2010-07-30  Bruno Haible  <bruno@clisp.org>
2481
2482         mbrlen: Fix cross-compilation guess for AIX.
2483         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
2484         guess. Leftover from 2008-12-22.
2485
2486 2010-07-30  Bruno Haible  <bruno@clisp.org>
2487
2488         mbrtowc: Fix cross-compilation guess for AIX.
2489         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
2490         guess. Leftover from 2008-12-21.
2491
2492 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
2493
2494         init.sh: work around trap limitation of some shells
2495         * tests/init.sh (setup_): Move exit trap outside of shell function.
2496
2497 2010-07-29  Eric Blake  <eblake@redhat.com>
2498
2499         strtod: aid debugging
2500         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
2501         understanding why strtod is rejected.
2502
2503 2010-07-28  Bruno Haible  <bruno@clisp.org>
2504
2505         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
2506         * lib/unistr/u8-chr.c: Include <string.h>.
2507         * tests/unistr/test-u8-chr.c: Likewise.
2508         * tests/unistr/test-u16-chr.c: Likewise.
2509         * tests/unistr/test-u32-chr.c: Likewise.
2510         * tests/unistr/test-u8-strchr.c: Likewise.
2511         * tests/unistr/test-u16-strchr.c: Likewise.
2512         * tests/unistr/test-u32-strchr.c: Likewise.
2513         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
2514         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
2515         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
2516         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
2517
2518 2010-07-28  Bruno Haible  <bruno@clisp.org>
2519
2520         Use spaces for indentation, not tabs.
2521         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
2522
2523 2010-07-27  Bruno Haible  <bruno@clisp.org>
2524
2525         mbspcasecmp: Fix function specification.
2526         * lib/string.in.h (mbspcasecmp): Fix specification comment.
2527         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
2528         Reported by Eric Blake <eblake@redhat.com>.
2529
2530 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
2531
2532         timespec: use cast and not conditional, as truncation isn't possible
2533         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
2534         instead of a conditional.  Comment about the situation in more detail.
2535         This undoes most of the 2009-10-29 patch.
2536
2537 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
2538
2539         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
2540         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
2541         * lib/unistr/u8-strchr.c: Likewise.
2542         * modules/unistr/u8-chr: Depend on memchr.
2543
2544         unistr/u*-strchr: add tests
2545         * modules/unistr/u8-strchr-tests: New file.
2546         * modules/unistr/u16-strchr-tests: New file.
2547         * modules/unistr/u32-strchr-tests: New file.
2548         * tests/unistr/test-strchr.h: New file.
2549         * tests/unistr/test-u8-strchr.c: New file.
2550         * tests/unistr/test-u16-strchr.c: New file.
2551         * tests/unistr/test-u32-strchr.c: New file.
2552
2553         unistr/u*-chr: test multibyte sequences more
2554         * tests/unistr/test-chr.h: Do complete testing of the characters in the
2555         test vector.
2556         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
2557         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
2558         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
2559
2560         unistr/u*-chr: test multibyte sequences
2561         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
2562
2563         unistr/u*-chr: prepare for multibyte tests
2564         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
2565         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
2566         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
2567         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
2568         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
2569         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
2570
2571 2010-07-18  Bruno Haible  <bruno@clisp.org>
2572
2573         unistr/u8-strchr: Optimize non-ASCII argument case.
2574         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
2575         because the first byte often matches anyway.
2576         Reported by Pádraig Brady <P@draigbrady.com>.
2577
2578 2010-07-15  Karl Berry  <karl@gnu.org>
2579
2580         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
2581
2582 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
2583
2584         getcwd: on Solaris, work better if ancestors are inaccessible
2585         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
2586         buffer and size, try again with a large buffer.  This works better
2587         on Solaris, since its getcwd succeeds even if the path to the root
2588         is inaccessible, and this is helpful in common cases such as .zfs
2589         hidden directories.  Problem reported by J Chapman Flack in
2590         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
2591         Use system getcwd if it's declared, not merely if it's partly
2592         working; use the partly-working test only to avoid needless effort
2593         if the system getcwd fails.
2594         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
2595         comment that was already obsolete and is now even more obsolete.
2596         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
2597         now might call strdup.
2598
2599 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
2600
2601         pthread: Add enough so that coreutils/src/sort.c compiles.
2602         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
2603         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
2604         gnulib. Include <sched.h> and <time.h>, as per POSIX.
2605         Include <sys/types.h>, in case it defines pthread_t.
2606         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
2607         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
2608         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
2609         (pthread_rwlockattr_t, pthread_spinlock_t):
2610         New typedefs, if HAVE_PTHREAD_T is not defined.
2611         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
2612         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
2613         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
2614         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
2615         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
2616         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
2617         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
2618         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
2619         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
2620         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
2621         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
2622         New macros.
2623         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
2624         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
2625         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
2626         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
2627         (pthread_spin_unlock): New dummy functions.
2628         (pthread_create): Return EAGAIN; don't set errno.
2629         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
2630         require AC_C_INLINE.
2631         * modules/pthread (Depends-on): Add sched, time.
2632         (pthread.h): Use AM_V_GEN.
2633
2634 2010-07-13  Bruno Haible  <bruno@clisp.org>
2635
2636         striconveh: Don't malloc memory if the result buffer is sufficient.
2637         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
2638         buffer if its size is sufficient.
2639         Reported by Ludovic Courtès <ludo@gnu.org>.
2640
2641 2010-07-13  Bruno Haible  <bruno@clisp.org>
2642
2643         strtod: Add safety check.
2644         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
2645
2646 2010-07-12  Bruno Haible  <bruno@clisp.org>
2647
2648         Unify tests that set gl_cv_func_ldexpl_no_libm.
2649         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
2650         gl_FUNC_LDEXPL.
2651         (gl_FUNC_LDEXPL): Invoke it.
2652         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2653
2654 2010-07-12  Bruno Haible  <bruno@clisp.org>
2655
2656         Unify tests that set gl_cv_func_ldexp_no_libm.
2657         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
2658         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
2659         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
2660         (configure.ac): Simply invoke gl_FUNC_LDEXP.
2661         * modules/strtod (Files): Add m4/ldexp.m4.
2662
2663 2010-07-12  Bruno Haible  <bruno@clisp.org>
2664
2665         Unify tests that set gl_cv_func_frexpl_no_libm.
2666         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
2667         gl_FUNC_FREXPL_NO_LIBM.
2668         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
2669         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2670
2671 2010-07-12  Bruno Haible  <bruno@clisp.org>
2672
2673         Unify tests that set gl_cv_func_frexp_no_libm.
2674         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
2675         gl_FUNC_FREXP_NO_LIBM.
2676         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
2677         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
2678
2679 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
2680
2681         memcoll: clarify sizes versus lengths, document better, and tweak perf
2682         * lib/memcoll.c (strcoll_loop, memcoll0):
2683         Improve quality of descriptive comments.  Name variables
2684         consistently as to whether they are lengths (which do not include
2685         terminating null) versus sizes (which do).
2686         * lib/xmemcoll.c (xmemcoll0): Likewise.
2687         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
2688         returned when s1size == 0; this is easier to compile and saves
2689         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
2690
2691 2010-07-12  Bruno Haible  <bruno@clisp.org>
2692
2693         Tests for module '_Exit'.
2694         * modules/_Exit-tests: New file.
2695         * tests/test-_Exit.sh: New file.
2696         * tests/test-_Exit.c: New file.
2697
2698         New module '_Exit'.
2699         * lib/stdlib.in.h (__attribute__): New macro.
2700         (_Exit): New declaration.
2701         * lib/_Exit.c: New file.
2702         * m4/_Exit.m4: New file.
2703         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
2704         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
2705         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
2706         * modules/_Exit: New file.
2707         * tests/test-stdlib-c++.cc (_Exit): Check signature.
2708         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
2709
2710 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
2711
2712         strtod: make it more-accurate typically, and don't require libm
2713         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
2714         Include limits.h.  Don't include string.h.
2715         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
2716         (locale_isspace): New function, so that no casts are needed to
2717         check whether *s is a space.
2718         (ldexp): Provide an unused dummy if not available.
2719         (scale_radix_exp, parse_number, underlying_strtod): New functions.
2720         (strtod): Use them.  This implementation prefers to use the
2721         underlying strtod if available, falling back on our own code
2722         only to fix known bugs.  This is more likely to produce an
2723         accurate result.  Also, it avoids the use of libm functions.
2724         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
2725         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
2726         was absent, but it caused a test failure with coreutils.
2727         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
2728         with libm.
2729         * modules/strtod (Makefile.am, Link): libm is no longer needed.
2730         * modules/strtod-tests (Makefile.am): Likewise.
2731
2732 2010-07-11  Pádraig Brady  <P@draigBrady.com>
2733             Bruno Haible  <bruno@clisp.org>
2734
2735         unistr/u8-strchr: Optimize ASCII argument case.
2736         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
2737
2738 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
2739
2740         (x)memcoll: minor tweaks
2741         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
2742         is after the type that it qualifies.
2743         (memcoll0): Likewise.
2744         * lib/memcoll.h (memcoll0): Likewise.
2745         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
2746         * lib/xmemcoll.h (xmemcoll0): Likewise.
2747         * lib/memcoll.c (memcoll0): Correct the comment.  This function
2748         differs from memcoll in that the NUL byte is part of the argument.
2749         Omit the abort-checks, as performance is a real issue here.  Plus,
2750         the checks were wrong anyway (an off-by-one error).  Omit local
2751         variable 'diff', as it's a bit clearer that way.
2752         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
2753         no longer needed.
2754
2755 2010-07-08  Chen Guo <chenguo4@yahoo.com>
2756
2757         (x)memcoll: speedup when input is known to be NUL delimited
2758         * lib/memcoll.c: Include stdlib.
2759         (memcoll0) New function.
2760         (strcoll_loop) New function, refactored for use in both memcoll
2761         and memcoll0.
2762         * lib/memcoll.h: Add prototype for memcoll0.
2763         * lib/xmemcoll.c: (xmemcoll0) New function.
2764         (collate_error) New function, refactored for use in both xmemcoll
2765         and xmemcoll0.
2766         * lib/xmemcoll.h: Add prototype for xmemcoll0.
2767         * m4/memcoll.m4: add inline invocation.
2768
2769 2010-07-06  Pádraig Brady  <P@draigBrady.com>
2770
2771         * build-aux/bootstrap: Remove any local translations
2772         from the translation project synchronization directory,
2773         so that local only translations are not distributed.
2774
2775 2010-07-04  Bruno Haible  <bruno@clisp.org>
2776
2777         fsusage: Clarify which code applies to which platforms.
2778         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
2779         platform.
2780         * lib/fsusage.c (get_fs_usage): Likewise.
2781
2782 2010-07-04  Bruno Haible  <bruno@clisp.org>
2783
2784         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
2785         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
2786         Reported by Martin Lambers <marlam@marlam.de>.
2787
2788 2010-07-04  Jim Meyering  <meyering@redhat.com>
2789
2790         hash: once again explicitly disallow insertion of NULL
2791         * lib/hash.c (hash_insert0): Reinstate just-removed test:
2792         inserting a NULL pointer cannot work with these functions.
2793         Add a comment with details.
2794         This reverts part of the 2010-07-01 commit, 5bef1a35
2795         "hash: extend module to deal with non-pointer keys".
2796
2797 2010-07-01  Bruno Haible  <bruno@clisp.org>
2798
2799         stdbool: Update doc.
2800         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
2801         Info from Christian Weisgerber <naddy@mips.inka.de>.
2802
2803 2010-07-01  Jim Meyering  <meyering@redhat.com>
2804
2805         hash: extend module to deal with non-pointer keys
2806         * lib/hash.c (hash_insert0): New interface, much like hash_insert
2807         but that allows insertion of non-pointer entries.
2808         Do not disallow an ENTRY value of NULL.
2809         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
2810         * lib/hash.h (hash_insert0): Declare.
2811
2812 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
2813
2814         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
2815         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
2816         not present (i.e. with autoconf 2.59 and when using gettextize, not
2817         gnulib), require AC_GNU_SOURCE instead.
2818
2819 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
2820
2821         idpriv-drop: Fix tests.
2822         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
2823         not to the test-idpriv-droptemp program.
2824
2825 2010-06-29  Bruno Haible  <bruno@clisp.org>
2826
2827         string: Fix syntax error with g++ 2.96.
2828         * lib/string.in.h (__pure__): Remove definition.
2829         (_GL_ATTRIBUTE_PURE): New macro.
2830         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
2831         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
2832         Reported by Christian Weisgerber <naddy@mips.inka.de>.
2833
2834 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
2835
2836         unitypes: Fix bug introduced on 2010-05-18.
2837         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
2838
2839 2010-06-22  Eric Blake  <eblake@redhat.com>
2840
2841         memmem: slight optimization
2842         * lib/str-two-way.h (critical_factorization): Update comments.
2843         Reduce work during factorization phase.
2844         Reported by Carlos Bueno <carlos@bueno.org>.
2845
2846 2010-06-21  Bruno Haible  <bruno@clisp.org>
2847
2848         Fix HAVE_CALLOC_POSIX misnomer.
2849         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
2850         !HAVE_CALLOC_POSIX.
2851         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
2852         HAVE_CALLOC_POSIX.
2853         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
2854         instead of HAVE_CALLOC_POSIX.
2855         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
2856         HAVE_CALLOC_POSIX.
2857
2858         Use modern idiom for calloc() replacement.
2859         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
2860         AC_FUNC_CALLOC.
2861         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
2862         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
2863         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2864         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
2865         (gl_REPLACE_CALLOC): New macro.
2866
2867 2010-06-21  Bruno Haible  <bruno@clisp.org>
2868
2869         Fix HAVE_REALLOC_POSIX misnomer.
2870         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
2871         !HAVE_REALLOC_POSIX.
2872         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
2873         HAVE_REALLOC_POSIX.
2874         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
2875         instead of HAVE_REALLOC_POSIX.
2876         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
2877         HAVE_REALLOC_POSIX.
2878
2879         Use modern idiom for realloc() replacement.
2880         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
2881         AC_FUNC_REALLOC.
2882         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
2883         Autoconf's AC_FUNC_REALLOC.
2884         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2885         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
2886         (gl_REPLACE_REALLOC): New macro.
2887         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
2888
2889 2010-06-21  Bruno Haible  <bruno@clisp.org>
2890
2891         Fix HAVE_MALLOC_POSIX misnomer.
2892         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
2893         !HAVE_MALLOC_POSIX.
2894         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
2895         HAVE_MALLOC_POSIX.
2896         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
2897         instead of HAVE_MALLOC_POSIX.
2898         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
2899         HAVE_MALLOC_POSIX.
2900
2901         Use modern idiom for malloc() replacement.
2902         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
2903         AC_FUNC_MALLOC.
2904         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
2905         Autoconf's AC_FUNC_MALLOC.
2906         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2907         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
2908         (gl_REPLACE_MALLOC): New macro.
2909         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
2910
2911 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
2912
2913         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
2914         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
2915         This macro takes 3 arguments, not 4.
2916
2917 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
2918
2919         ipv6: fix detection under mingw
2920         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
2921         in6_addr.
2922
2923 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
2924
2925         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
2926         that strtod() works when cross-compiling to a glibc version known
2927         to work.
2928
2929 2010-06-15  Bruno Haible  <bruno@clisp.org>
2930
2931         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
2932
2933 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
2934
2935         select: Correct timeout.
2936         * lib/select.c (rpl_select): Compute wait_timeout correctly.
2937
2938 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
2939
2940         git-version-gen: init shell var to avoid env var influence
2941         * build-aux/git-version-gen (v): Init shell var to empty.
2942
2943 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
2944
2945         priv-set: Don't assume that priv.h exists merely because getppriv does.
2946         See Jan Andersen's bug report about AIX 5L in
2947         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
2948         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
2949         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
2950         * lib/priv-set.h: Likewise.
2951         * tests/test-priv-set.c: Likewise.
2952
2953 2010-06-13  Bruno Haible  <bruno@clisp.org>
2954
2955         relocatable: Make it easier to test whether to install wrappers.
2956         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
2957         RELOCATABLE_VIA_WRAPPER.
2958
2959 2010-06-13  Bruno Haible  <bruno@clisp.org>
2960
2961         gnulib-tool: Display specified modules and dependencies differently.
2962         * gnulib-tool (func_show_module_list): New function.
2963         (func_import, func_create_testdir): Invoke it.
2964         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
2965
2966 2010-06-13  Bruno Haible  <bruno@clisp.org>
2967
2968         gnulib-tool: Align code of func_import and func_create_testdir.
2969         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
2970         specified_modules.
2971
2972 2010-06-12  Jim Meyering  <meyering@redhat.com>
2973
2974         test-inttostr: avoid spurious failure on Solaris 9
2975         * tests/test-inttostr.c (main): Skip the test when snprintf fails
2976         to accept "%ju".  Reported by Bruno Haible.
2977
2978 2010-06-11  Jim Meyering  <meyering@redhat.com>
2979
2980         test-sys_socket: mark variables as used more readably
2981         * tests/test-sys_socket.c (main): Mark otherwise unused variables
2982         as "used" explicitly via (void) statement casts.  This is more
2983         readable than using them in an artificial return expression.
2984         Suggestion from Bruno Haible.
2985
2986 2010-06-11  Bruno Haible  <bruno@clisp.org>
2987
2988         Avoid some more warnings from "gcc -Wwrite-strings".
2989         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
2990         to 'const char *'.
2991         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
2992         * tests/test-c-strcasestr.c (main): Likewise.
2993         * tests/test-mbscasestr1.c (main): Likewise.
2994         * tests/test-mbscasestr2.c (main): Likewise.
2995         * tests/test-memmem.c (main): Likewise.
2996         * tests/test-strstr.c (main): Likewise.
2997         * tests/test-strcasestr.c (main): Likewise.
2998
2999 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3000
3001         init.sh: change framework_failure_ to fail with status 99, not 1
3002         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
3003         automake's parallel-tests rule that this is an unexpected failure,
3004         even if the test is listed in XFAIL_TESTS.
3005
3006 2010-06-11  Jim Meyering  <meyering@redhat.com>
3007
3008         test-inttostr: avoid warnings about 4-6KB literal strings
3009         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
3010         Include "macros.h", for its definition of ASSERT.
3011         (CK): s/assert/ASSERT/
3012         * modules/inttostr-tests (Files): Add macros.h.
3013
3014         init.sh: don't use $ME_ or skip_ before they are defined
3015         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
3016         their first uses.  Also hoist their companions: warn_, fail_,
3017         framework_failure_, $stderr_fileno.  Prompted by a patch from
3018         Stefano Lattarini.
3019
3020         test-sys_socket: avoid set-but-not-used warnings from gcc
3021         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
3022         avoid warning about set-but-not-used variables.
3023
3024         test-xvasprintf: avoid 'const' discard warnings
3025         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
3026         "const" when assigning from literal strings.
3027         (test_xasprintf): Add "void" in function argument list to placate
3028         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
3029
3030         tests: avoid compilation warnings in argmatch and exclude tests...
3031         in packages that define ARGMATCH_DIE_DECL, like coreutils.
3032         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
3033         Since it always exits, declare with the "noreturn" attribute.
3034         * tests/test-argmatch.c: Likewise.
3035
3036         tests: avoid 'const' discard warnings in mbsstr tests
3037         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
3038         * tests/test-mbsstr2.c (main): Likewise.
3039
3040         test-verify: avoid warning from gcc's -Wmissing-declarations
3041         * tests/test-verify.c (function): Declare to be static.
3042
3043         test-inttostr.c: include <string.h> for use of strcmp
3044         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
3045
3046         test-linkat: avoid failed assertion on "other" architectures
3047         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
3048         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
3049         sparc: https://bugs.launchpad.net/bugs/591968
3050
3051 2010-06-11  Jim Meyering  <meyering@redhat.com>
3052
3053         printf.m4: avoid autoconf's "Expanded Before Required" warning
3054         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
3055         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
3056         autoconf warning.
3057
3058 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
3059
3060         Replacement header templates are now named with ".in", not "_".
3061         * doc/gnulib-intro.texi: Correct.
3062
3063 2010-06-10  Jim Meyering  <meyering@redhat.com>
3064
3065         inttostr-tests: depend on snprintf, not snprintf-posix
3066         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
3067         snprintf-posix, to avoid this aclocal failure:
3068           missing file gnulib-tests/vasnprintf.c
3069           configure.ac:45: error: expected source file, required through \
3070           AC_LIBSOURCES, not found
3071
3072 2010-06-10  Jim Meyering  <meyering@redhat.com>
3073
3074         inttostr: add a new function, inttostr, and tests
3075         The namesake function was not available.  The existence of the
3076         template file, inttostr.c makes its addition nontrivial.
3077         * lib/anytostr.c: Rename from inttostr.c.
3078         (anytostr): Rename from inttostr.
3079         * lib/inttostr.c: New file.
3080         * modules/inttostr (Files): Add anytostr.c.
3081         (Makefile.am): Set lib_SOURCES instead of ...
3082         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
3083         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
3084         * lib/offtostr.c: Likewise.
3085         * lib/uinttostr.c: Likewise.
3086         * lib/umaxtostr.c: Likewise.
3087         * modules/inttostr-tests: New file.
3088         * tests/test-inttostr.c: New file.  Test these functions.
3089
3090 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
3091             Bruno Haible  <bruno@clisp.org>
3092
3093         Add "Extending Gnulib" chapter to manual.
3094         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
3095         chapter.
3096         (Extending Gnulib): New chapter.
3097         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
3098         chapter.
3099
3100 2010-06-09  Bruno Haible  <bruno@clisp.org>
3101
3102         Avoid relocwrapper link errors due to gnulib replacement functions.
3103         * lib/areadlink.c: Use the system's malloc, realloc functions.
3104         (areadlink): Set errno to ENOMEM explicitly.
3105         * modules/areadlink (Depends-on): Remove malloc-posix.
3106         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3107
3108 2010-06-09  Bruno Haible  <bruno@clisp.org>
3109
3110         Avoid relocwrapper link errors due to gnulib replacement functions.
3111         * lib/canonicalize-lgpl.c: Use the system's malloc function.
3112         * lib/malloca.c: Likewise.
3113         * lib/relocatable.c: Likewise.
3114         * lib/progreloc.c: Use the system's malloc, sprintf functions.
3115         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
3116         * lib/setenv.c: Use the system's malloc, realloc functions.
3117         * lib/strerror.c: Use the system's sprintf function.
3118         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3119
3120 2010-06-04  Bruno Haible  <bruno@clisp.org>
3121
3122         Prefer documented low-level autoconf macro names.
3123         * m4/lib-link.m4: Use m4_translit instead of translit.
3124         * m4/environ.m4: Likewise.
3125         * m4/mathfunc.m4: Likewise.
3126         * m4/onceonly.m4: Likewise.
3127         * m4/stdint.m4: Likewise.
3128         Suggested by Eric Blake.
3129
3130 2010-06-04  Martin Lambers  <marlam@marlam.de>
3131             Bruno Haible  <bruno@clisp.org>
3132
3133         havelib: Allow library names with '+' characters.
3134         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3135         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
3136
3137 2010-06-09  Bruno Haible  <bruno@clisp.org>
3138
3139         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
3140         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
3141         realloc failed.
3142
3143 2010-06-08  Peter Simons  <simons@cryp.to>
3144
3145         maint.mk: make the news-check rule more configurable
3146         * top/maint.mk (news-check-lines-spec) New variable.
3147         (news-check): Use "sed -n 1,10p" in place of "head".
3148
3149 2010-06-07  Jim Meyering  <meyering@redhat.com>
3150
3151         do-release-commit-and-tag: fix typo in --help
3152         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
3153
3154         regex: avoid new dead-code warning with gcc-4.6.0
3155         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
3156         if-block containing a while-loop.  It's been unused for at least
3157         5 years.
3158
3159 2010-06-05  Bruno Haible  <bruno@clisp.org>
3160
3161         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
3162         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
3163
3164 2010-06-04  Bruno Haible  <bruno@clisp.org>
3165
3166         Update to GNU gettext 0.18.1.
3167         * modules/gettext (configure.ac): Require gettext infrastructure from
3168         version 0.18.1.
3169
3170 2010-06-03  Bruno Haible  <bruno@clisp.org>
3171
3172         Don't use AC_LIBOBJ with file names in subdirectories.
3173         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
3174         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
3175         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
3176         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
3177         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
3178         gl_LIBUNISTRING_LIBSOURCE.
3179         (Makefile.am): Augment lib_SOURCES here, conditionally.
3180         * NEWS: Drop requirement for Automake option 'subdir-objects'.
3181
3182 2010-06-03  Bruno Haible  <bruno@clisp.org>
3183
3184         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
3185         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
3186         expansion does not end with a newline.
3187         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
3188         unnecessary newline.
3189
3190 2010-06-03  Bruno Haible  <bruno@clisp.org>
3191
3192         Reduce dependencies.
3193         * tests/test-quotearg.h: New file, extracted from
3194         tests/test-quotearg.c.
3195         * tests/test-quotearg-simple.c: New file, extracted from
3196         tests/test-quotearg.c.
3197         * tests/test-quotearg.c: Don't include <ctype.h>.
3198         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
3199         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
3200         use_quote_double_quotes, use_quotearg_colon): Moved to
3201         tests/test-quotearg.h.
3202         (results_g, flag_results, custom_quotes, custom_results): Moved
3203         to tests/test-quotearg-simple.c.
3204         (main): Moved the part that does not depend on gettext to
3205         tests/test-quotearg-simple.c. Return 77 if the test cannot be
3206         performed.
3207         * modules/quotearg-simple: New file.
3208         * modules/quotearg-simple-tests: New file.
3209         * modules/quotearg (Depends-on): Add quotearg-simple.
3210         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
3211         (Files): Add tests/test-quotearg.h.
3212         Reported by Paolo Bonzini.
3213
3214 2010-06-03  Bruno Haible  <bruno@clisp.org>
3215
3216         Reduce dependencies.
3217         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
3218
3219 2010-06-03  Bruno Haible  <bruno@clisp.org>
3220
3221         time: Undefine more broken macros.
3222         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
3223         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
3224         Reported by Eric Blake.
3225
3226 2010-06-03  Bruno Haible  <bruno@clisp.org>
3227
3228         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
3229         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
3230         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
3231         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
3232         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
3233         Reported by Ludovic Courtès <ludo@gnu.org>.
3234
3235 2010-06-02  Eric Blake  <eblake@redhat.com>
3236
3237         time: work with mingw + pthreads-win32 library
3238         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
3239         if timespec is defined only in pthread.h.
3240         * modules/time (Makefile.am): Substitute it.
3241         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
3242         <pthread.h>, when needed.
3243         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
3244         from the library.
3245
3246 2010-05-31  Bruno Haible  <bruno@clisp.org>
3247
3248         Avoid expanding two macros in the wrong order.
3249         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
3250         gl_LIBUNISTRING if it is defined.
3251         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
3252         autoconf >= 2.64.
3253         Reported by Ludovic Courtès <ludo@gnu.org>.
3254
3255 2010-05-27  Jim Meyering  <meyering@redhat.com>
3256
3257         maint.mk: also prohibit "#undef" of always-defined symbols
3258         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
3259         Allow more than one space before the symbol name.
3260         (sc_prohibit_always-defined_macros): Use grep's -E, now that
3261         the regexp uses alternation.
3262
3263 2010-05-26  Eric Blake  <eblake@redhat.com>
3264
3265         maint.mk: avoid echo -e
3266         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
3267         Convert all uses of echo -* to printf.
3268         Reported by Matthias Bolte.
3269
3270 2010-05-25  Bruno Haible  <bruno@clisp.org>
3271
3272         Update to GNU gettext 0.18, part 2.
3273         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
3274         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
3275
3276 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3277
3278         Add missing include in test-pwrite.c.
3279         * tests/test-pwrite.c: Include string.h, for strcmp.
3280
3281 2010-05-24  Bruno Haible  <bruno@clisp.org>
3282
3283         * NEWS: Mention requirement for Automake option 'subdir-objects'.
3284
3285 2010-05-24  Bruno Haible  <bruno@clisp.org>
3286
3287         Don't use conversion with transliteration in u{8,16,32}_strcoll.
3288         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
3289         iconveh_error argument.
3290         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
3291         U_STRCONV_TO_LOCALE.
3292         * lib/unistr/u16-strcoll.c: Likewise.
3293         * lib/unistr/u32-strcoll.c: Likewise.
3294         * modules/unistr/u8-strcoll (Depends-on): Add
3295         uniconv/u8-strconv-to-enc, localcharset. Remove
3296         uniconv/u8-strconv-to-locale.
3297         (configure.ac): Bump version number.
3298         * modules/unistr/u16-strcoll (Depends-on): Add
3299         uniconv/u16-strconv-to-enc, localcharset. Remove
3300         uniconv/u16-strconv-to-locale.
3301         (configure.ac): Bump version number.
3302         * modules/unistr/u32-strcoll (Depends-on): Add
3303         uniconv/u32-strconv-to-enc, localcharset. Remove
3304         uniconv/u32-strconv-to-locale.
3305         (configure.ac): Bump version number.
3306
3307 2010-05-24  Bruno Haible  <bruno@clisp.org>
3308
3309         Avoid a test failure on NetBSD 5.0.
3310         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
3311         an iconv() bug.
3312
3313 2010-05-24  Bruno Haible  <bruno@clisp.org>
3314
3315         Adjust #include directive style.
3316         * modules/regex (Includes): Recommend to write <regex.h>.
3317
3318 2010-05-24  Bruno Haible  <bruno@clisp.org>
3319
3320         regex: Don't require alloca.
3321         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
3322         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
3323         only inside if (0).
3324
3325 2010-05-23  Jim Meyering  <meyering@redhat.com>
3326
3327         test-renameat.c: include <sys/stat.h>
3328         * tests/test-renameat.c: Include <sys/stat.h>; required for
3329         definition of S_IS* macros.
3330
3331 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
3332
3333         Update maintainer documentation for 'relocatable-prog' module.
3334         * doc/relocatable-maint.texi: Update.
3335         Comments by Bruno Haible.
3336
3337 2010-05-23  Bruno Haible  <bruno@clisp.org>
3338
3339         git-merge-changelog: Enable --split-merged-entry by default.
3340         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
3341         (usage): Don't mention this option any more.
3342         Reported by Ralf Wildenhues.
3343
3344 2010-05-23  Jim Meyering  <meyering@redhat.com>
3345
3346         test-pwrite: do not leave behind a test file named "out"
3347         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
3348         The trivial-looking use of init.sh is really necessary.
3349         It ensures that the temporary file, "out", is created in
3350         a temporary directory, and removed upon termination.
3351         * tests/test-pwrite.sh: Re-add file.
3352         * modules/pwrite-tests: Reference it.
3353
3354 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3355
3356         Fix output redirection buglet in init.sh.
3357         * tests/init.sh: Fix redirection of stderr.
3358
3359 2010-05-20  Simon Josefsson  <simon@josefsson.org>
3360
3361         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
3362
3363 2010-05-17  Simon Josefsson  <simon@josefsson.org>
3364
3365         * modules/valgrind-tests: New file.
3366         * m4/valgrind-tests.m4: New file.
3367         * doc/valgrind-tests.texi: New file.
3368         * doc/gnulib.texi (Running self-tests under valgrind): New
3369         section.
3370
3371 2010-05-19  Bruno Haible  <bruno@clisp.org>
3372
3373         Clean up dead code in recent commit.
3374         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
3375         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
3376         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
3377         Suggested by Paolo Bonzini.
3378
3379 2010-05-19  Bruno Haible  <bruno@clisp.org>
3380
3381         Avoid valgrind error reports from libunistring.
3382         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
3383         * modules/libunistring (Files): Add it.
3384         * modules/libunistring-optional (Files): Likewise.
3385
3386 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
3387             Bruno Haible  <bruno@clisp.org>
3388
3389         New module 'libunistring-optional'.
3390         * modules/libunistring-optional: New file.
3391         * m4/libunistring-base.m4: New file.
3392         * m4/libunistring-optional.m4: New file.
3393         * lib/unicase.in.h: Renamed from lib/unicase.h.
3394         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
3395         * lib/unictype.in.h: Renamed from lib/unictype.h.
3396         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
3397         * lib/uniname.in.h: Renamed from lib/uniname.h.
3398         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
3399         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
3400         * lib/unistr.in.h: Renamed from lib/unistr.h.
3401         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
3402         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
3403         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
3404         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
3405         gl_LIBUNISTRING. If the library was found, determine the installed
3406         version and set LIBUNISTRING_VERSION.
3407         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
3408         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
3409         handle a configuration option --with-included-libunistring.
3410         * modules/libunistring (Files): Add m4/absolute-header.m4.
3411         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
3412         Add m4/libunistring-base.m4.
3413         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3414         (Makefile.am): Build unicase.h from unicase.in.h.
3415         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
3416         Add m4/libunistring-base.m4.
3417         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3418         (Makefile.am): Build uniconv.h from uniconv.in.h.
3419         * modules/unictype/base (Files): Use unictype.in.h instead of
3420         unictype.h. Add m4/libunistring-base.m4.
3421         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3422         (Makefile.am): Build unictype.h from unictype.in.h.
3423         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
3424         Add m4/libunistring-base.m4.
3425         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3426         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
3427         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
3428         Add m4/libunistring-base.m4.
3429         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3430         (Makefile.am): Build uniname.h from uniname.in.h.
3431         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
3432         Add m4/libunistring-base.m4.
3433         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3434         (Makefile.am): Build uninorm.h from uninorm.in.h.
3435         * modules/unistdio/base (Files): Use unistdio.in.h instead of
3436         unistdio.h. Add m4/libunistring-base.m4.
3437         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3438         (Makefile.am): Build unistdio.h from unistdio.in.h.
3439         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
3440         Add m4/libunistring-base.m4.
3441         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3442         (Makefile.am): Build unistr.h from unistr.in.h.
3443         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
3444         Add m4/libunistring-base.m4.
3445         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3446         (Makefile.am): Build unitypes.h from unitypes.in.h.
3447         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
3448         Add m4/libunistring-base.m4.
3449         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3450         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
3451         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
3452         uniwidth.h. Add m4/libunistring-base.m4.
3453         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3454         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
3455         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
3456         instead of augmenting lib_SOURCES.
3457         * modules/unicase/empty-suffix-context: Likewise.
3458         * modules/unicase/locale-language: Likewise.
3459         * modules/unicase/tolower: Likewise.
3460         * modules/unicase/totitle: Likewise.
3461         * modules/unicase/toupper: Likewise.
3462         * modules/unicase/u8-casecmp: Likewise.
3463         * modules/unicase/u8-casecoll: Likewise.
3464         * modules/unicase/u8-casefold: Likewise.
3465         * modules/unicase/u8-casexfrm: Likewise.
3466         * modules/unicase/u8-ct-casefold: Likewise.
3467         * modules/unicase/u8-ct-tolower: Likewise.
3468         * modules/unicase/u8-ct-totitle: Likewise.
3469         * modules/unicase/u8-ct-toupper: Likewise.
3470         * modules/unicase/u8-is-cased: Likewise.
3471         * modules/unicase/u8-is-casefolded: Likewise.
3472         * modules/unicase/u8-is-lowercase: Likewise.
3473         * modules/unicase/u8-is-titlecase: Likewise.
3474         * modules/unicase/u8-is-uppercase: Likewise.
3475         * modules/unicase/u8-prefix-context: Likewise.
3476         * modules/unicase/u8-suffix-context: Likewise.
3477         * modules/unicase/u8-tolower: Likewise.
3478         * modules/unicase/u8-totitle: Likewise.
3479         * modules/unicase/u8-toupper: Likewise.
3480         * modules/unicase/u16-casecmp: Likewise.
3481         * modules/unicase/u16-casecoll: Likewise.
3482         * modules/unicase/u16-casefold: Likewise.
3483         * modules/unicase/u16-casexfrm: Likewise.
3484         * modules/unicase/u16-ct-casefold: Likewise.
3485         * modules/unicase/u16-ct-tolower: Likewise.
3486         * modules/unicase/u16-ct-totitle: Likewise.
3487         * modules/unicase/u16-ct-toupper: Likewise.
3488         * modules/unicase/u16-is-cased: Likewise.
3489         * modules/unicase/u16-is-casefolded: Likewise.
3490         * modules/unicase/u16-is-lowercase: Likewise.
3491         * modules/unicase/u16-is-titlecase: Likewise.
3492         * modules/unicase/u16-is-uppercase: Likewise.
3493         * modules/unicase/u16-prefix-context: Likewise.
3494         * modules/unicase/u16-suffix-context: Likewise.
3495         * modules/unicase/u16-tolower: Likewise.
3496         * modules/unicase/u16-totitle: Likewise.
3497         * modules/unicase/u16-toupper: Likewise.
3498         * modules/unicase/u32-casecmp: Likewise.
3499         * modules/unicase/u32-casecoll: Likewise.
3500         * modules/unicase/u32-casefold: Likewise.
3501         * modules/unicase/u32-casexfrm: Likewise.
3502         * modules/unicase/u32-ct-casefold: Likewise.
3503         * modules/unicase/u32-ct-tolower: Likewise.
3504         * modules/unicase/u32-ct-totitle: Likewise.
3505         * modules/unicase/u32-ct-toupper: Likewise.
3506         * modules/unicase/u32-is-cased: Likewise.
3507         * modules/unicase/u32-is-casefolded: Likewise.
3508         * modules/unicase/u32-is-lowercase: Likewise.
3509         * modules/unicase/u32-is-titlecase: Likewise.
3510         * modules/unicase/u32-is-uppercase: Likewise.
3511         * modules/unicase/u32-prefix-context: Likewise.
3512         * modules/unicase/u32-suffix-context: Likewise.
3513         * modules/unicase/u32-tolower: Likewise.
3514         * modules/unicase/u32-totitle: Likewise.
3515         * modules/unicase/u32-toupper: Likewise.
3516         * modules/unicase/ulc-casecmp: Likewise.
3517         * modules/unicase/ulc-casecoll: Likewise.
3518         * modules/unicase/ulc-casexfrm: Likewise.
3519         * modules/uniconv/u8-conv-from-enc: Likewise.
3520         * modules/uniconv/u8-conv-to-enc: Likewise.
3521         * modules/uniconv/u8-strconv-from-enc: Likewise.
3522         * modules/uniconv/u8-strconv-from-locale: Likewise.
3523         * modules/uniconv/u8-strconv-to-enc: Likewise.
3524         * modules/uniconv/u8-strconv-to-locale: Likewise.
3525         * modules/uniconv/u16-conv-from-enc: Likewise.
3526         * modules/uniconv/u16-conv-to-enc: Likewise.
3527         * modules/uniconv/u16-strconv-from-enc: Likewise.
3528         * modules/uniconv/u16-strconv-from-locale: Likewise.
3529         * modules/uniconv/u16-strconv-to-enc: Likewise.
3530         * modules/uniconv/u16-strconv-to-locale: Likewise.
3531         * modules/uniconv/u32-conv-from-enc: Likewise.
3532         * modules/uniconv/u32-conv-to-enc: Likewise.
3533         * modules/uniconv/u32-strconv-from-enc: Likewise.
3534         * modules/uniconv/u32-strconv-from-locale: Likewise.
3535         * modules/uniconv/u32-strconv-to-enc: Likewise.
3536         * modules/uniconv/u32-strconv-to-locale: Likewise.
3537         * modules/unictype/bidicategory-byname: Likewise.
3538         * modules/unictype/bidicategory-name: Likewise.
3539         * modules/unictype/bidicategory-of: Likewise.
3540         * modules/unictype/bidicategory-test: Likewise.
3541         * modules/unictype/block-list: Likewise.
3542         * modules/unictype/block-test: Likewise.
3543         * modules/unictype/category-C: Likewise.
3544         * modules/unictype/category-Cc: Likewise.
3545         * modules/unictype/category-Cf: Likewise.
3546         * modules/unictype/category-Cn: Likewise.
3547         * modules/unictype/category-Co: Likewise.
3548         * modules/unictype/category-Cs: Likewise.
3549         * modules/unictype/category-L: Likewise.
3550         * modules/unictype/category-Ll: Likewise.
3551         * modules/unictype/category-Lm: Likewise.
3552         * modules/unictype/category-Lo: Likewise.
3553         * modules/unictype/category-Lt: Likewise.
3554         * modules/unictype/category-Lu: Likewise.
3555         * modules/unictype/category-M: Likewise.
3556         * modules/unictype/category-Mc: Likewise.
3557         * modules/unictype/category-Me: Likewise.
3558         * modules/unictype/category-Mn: Likewise.
3559         * modules/unictype/category-N: Likewise.
3560         * modules/unictype/category-Nd: Likewise.
3561         * modules/unictype/category-Nl: Likewise.
3562         * modules/unictype/category-No: Likewise.
3563         * modules/unictype/category-P: Likewise.
3564         * modules/unictype/category-Pc: Likewise.
3565         * modules/unictype/category-Pd: Likewise.
3566         * modules/unictype/category-Pe: Likewise.
3567         * modules/unictype/category-Pf: Likewise.
3568         * modules/unictype/category-Pi: Likewise.
3569         * modules/unictype/category-Po: Likewise.
3570         * modules/unictype/category-Ps: Likewise.
3571         * modules/unictype/category-S: Likewise.
3572         * modules/unictype/category-Sc: Likewise.
3573         * modules/unictype/category-Sk: Likewise.
3574         * modules/unictype/category-Sm: Likewise.
3575         * modules/unictype/category-So: Likewise.
3576         * modules/unictype/category-Z: Likewise.
3577         * modules/unictype/category-Zl: Likewise.
3578         * modules/unictype/category-Zp: Likewise.
3579         * modules/unictype/category-Zs: Likewise.
3580         * modules/unictype/category-and: Likewise.
3581         * modules/unictype/category-and-not: Likewise.
3582         * modules/unictype/category-byname: Likewise.
3583         * modules/unictype/category-name: Likewise.
3584         * modules/unictype/category-none: Likewise.
3585         * modules/unictype/category-of: Likewise.
3586         * modules/unictype/category-or: Likewise.
3587         * modules/unictype/category-test: Likewise.
3588         * modules/unictype/combining-class: Likewise.
3589         * modules/unictype/ctype-alnum: Likewise.
3590         * modules/unictype/ctype-alpha: Likewise.
3591         * modules/unictype/ctype-blank: Likewise.
3592         * modules/unictype/ctype-cntrl: Likewise.
3593         * modules/unictype/ctype-digit: Likewise.
3594         * modules/unictype/ctype-graph: Likewise.
3595         * modules/unictype/ctype-lower: Likewise.
3596         * modules/unictype/ctype-print: Likewise.
3597         * modules/unictype/ctype-punct: Likewise.
3598         * modules/unictype/ctype-space: Likewise.
3599         * modules/unictype/ctype-upper: Likewise.
3600         * modules/unictype/ctype-xdigit: Likewise.
3601         * modules/unictype/decimal-digit: Likewise.
3602         * modules/unictype/digit: Likewise.
3603         * modules/unictype/mirror: Likewise.
3604         * modules/unictype/numeric: Likewise.
3605         * modules/unictype/property-alphabetic: Likewise.
3606         * modules/unictype/property-ascii-hex-digit: Likewise.
3607         * modules/unictype/property-bidi-arabic-digit: Likewise.
3608         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
3609         * modules/unictype/property-bidi-block-separator: Likewise.
3610         * modules/unictype/property-bidi-boundary-neutral: Likewise.
3611         * modules/unictype/property-bidi-common-separator: Likewise.
3612         * modules/unictype/property-bidi-control: Likewise.
3613         * modules/unictype/property-bidi-embedding-or-override: Likewise.
3614         * modules/unictype/property-bidi-eur-num-separator: Likewise.
3615         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
3616         * modules/unictype/property-bidi-european-digit: Likewise.
3617         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
3618         * modules/unictype/property-bidi-left-to-right: Likewise.
3619         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
3620         * modules/unictype/property-bidi-other-neutral: Likewise.
3621         * modules/unictype/property-bidi-pdf: Likewise.
3622         * modules/unictype/property-bidi-segment-separator: Likewise.
3623         * modules/unictype/property-bidi-whitespace: Likewise.
3624         * modules/unictype/property-byname: Likewise.
3625         * modules/unictype/property-combining: Likewise.
3626         * modules/unictype/property-composite: Likewise.
3627         * modules/unictype/property-currency-symbol: Likewise.
3628         * modules/unictype/property-dash: Likewise.
3629         * modules/unictype/property-decimal-digit: Likewise.
3630         * modules/unictype/property-default-ignorable-code-point: Likewise.
3631         * modules/unictype/property-deprecated: Likewise.
3632         * modules/unictype/property-diacritic: Likewise.
3633         * modules/unictype/property-extender: Likewise.
3634         * modules/unictype/property-format-control: Likewise.
3635         * modules/unictype/property-grapheme-base: Likewise.
3636         * modules/unictype/property-grapheme-extend: Likewise.
3637         * modules/unictype/property-grapheme-link: Likewise.
3638         * modules/unictype/property-hex-digit: Likewise.
3639         * modules/unictype/property-hyphen: Likewise.
3640         * modules/unictype/property-id-continue: Likewise.
3641         * modules/unictype/property-id-start: Likewise.
3642         * modules/unictype/property-ideographic: Likewise.
3643         * modules/unictype/property-ids-binary-operator: Likewise.
3644         * modules/unictype/property-ids-trinary-operator: Likewise.
3645         * modules/unictype/property-ignorable-control: Likewise.
3646         * modules/unictype/property-iso-control: Likewise.
3647         * modules/unictype/property-join-control: Likewise.
3648         * modules/unictype/property-left-of-pair: Likewise.
3649         * modules/unictype/property-line-separator: Likewise.
3650         * modules/unictype/property-logical-order-exception: Likewise.
3651         * modules/unictype/property-lowercase: Likewise.
3652         * modules/unictype/property-math: Likewise.
3653         * modules/unictype/property-non-break: Likewise.
3654         * modules/unictype/property-not-a-character: Likewise.
3655         * modules/unictype/property-numeric: Likewise.
3656         * modules/unictype/property-other-alphabetic: Likewise.
3657         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
3658         * modules/unictype/property-other-grapheme-extend: Likewise.
3659         * modules/unictype/property-other-id-continue: Likewise.
3660         * modules/unictype/property-other-id-start: Likewise.
3661         * modules/unictype/property-other-lowercase: Likewise.
3662         * modules/unictype/property-other-math: Likewise.
3663         * modules/unictype/property-other-uppercase: Likewise.
3664         * modules/unictype/property-paired-punctuation: Likewise.
3665         * modules/unictype/property-paragraph-separator: Likewise.
3666         * modules/unictype/property-pattern-syntax: Likewise.
3667         * modules/unictype/property-pattern-white-space: Likewise.
3668         * modules/unictype/property-private-use: Likewise.
3669         * modules/unictype/property-punctuation: Likewise.
3670         * modules/unictype/property-quotation-mark: Likewise.
3671         * modules/unictype/property-radical: Likewise.
3672         * modules/unictype/property-sentence-terminal: Likewise.
3673         * modules/unictype/property-soft-dotted: Likewise.
3674         * modules/unictype/property-space: Likewise.
3675         * modules/unictype/property-terminal-punctuation: Likewise.
3676         * modules/unictype/property-test: Likewise.
3677         * modules/unictype/property-titlecase: Likewise.
3678         * modules/unictype/property-unassigned-code-value: Likewise.
3679         * modules/unictype/property-unified-ideograph: Likewise.
3680         * modules/unictype/property-uppercase: Likewise.
3681         * modules/unictype/property-variation-selector: Likewise.
3682         * modules/unictype/property-white-space: Likewise.
3683         * modules/unictype/property-xid-continue: Likewise.
3684         * modules/unictype/property-xid-start: Likewise.
3685         * modules/unictype/property-zero-width: Likewise.
3686         * modules/unictype/scripts: Likewise.
3687         * modules/unictype/syntax-c-ident: Likewise.
3688         * modules/unictype/syntax-c-whitespace: Likewise.
3689         * modules/unictype/syntax-java-ident: Likewise.
3690         * modules/unictype/syntax-java-whitespace: Likewise.
3691         * modules/unilbrk/u8-possible-linebreaks: Likewise.
3692         * modules/unilbrk/u8-width-linebreaks: Likewise.
3693         * modules/unilbrk/u16-possible-linebreaks: Likewise.
3694         * modules/unilbrk/u16-width-linebreaks: Likewise.
3695         * modules/unilbrk/u32-possible-linebreaks: Likewise.
3696         * modules/unilbrk/u32-width-linebreaks: Likewise.
3697         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
3698         * modules/unilbrk/ulc-width-linebreaks: Likewise.
3699         * modules/uniname/uniname: Likewise.
3700         * modules/uninorm/canonical-decomposition: Likewise.
3701         * modules/uninorm/composition: Likewise.
3702         * modules/uninorm/decomposing-form: Likewise.
3703         * modules/uninorm/decomposition: Likewise.
3704         * modules/uninorm/filter: Likewise.
3705         * modules/uninorm/nfc: Likewise.
3706         * modules/uninorm/nfd: Likewise.
3707         * modules/uninorm/nfkc: Likewise.
3708         * modules/uninorm/nfkd: Likewise.
3709         * modules/uninorm/u8-normalize: Likewise.
3710         * modules/uninorm/u8-normcmp: Likewise.
3711         * modules/uninorm/u8-normcoll: Likewise.
3712         * modules/uninorm/u8-normxfrm: Likewise.
3713         * modules/uninorm/u16-normalize: Likewise.
3714         * modules/uninorm/u16-normcmp: Likewise.
3715         * modules/uninorm/u16-normcoll: Likewise.
3716         * modules/uninorm/u16-normxfrm: Likewise.
3717         * modules/uninorm/u32-normalize: Likewise.
3718         * modules/uninorm/u32-normcmp: Likewise.
3719         * modules/uninorm/u32-normcoll: Likewise.
3720         * modules/uninorm/u32-normxfrm: Likewise.
3721         * modules/unistdio/u8-asnprintf: Likewise.
3722         * modules/unistdio/u8-asprintf: Likewise.
3723         * modules/unistdio/u8-snprintf: Likewise.
3724         * modules/unistdio/u8-sprintf: Likewise.
3725         * modules/unistdio/u8-u8-asnprintf: Likewise.
3726         * modules/unistdio/u8-u8-asprintf: Likewise.
3727         * modules/unistdio/u8-u8-snprintf: Likewise.
3728         * modules/unistdio/u8-u8-sprintf: Likewise.
3729         * modules/unistdio/u8-u8-vasnprintf: Likewise.
3730         * modules/unistdio/u8-u8-vasprintf: Likewise.
3731         * modules/unistdio/u8-u8-vsnprintf: Likewise.
3732         * modules/unistdio/u8-u8-vsprintf: Likewise.
3733         * modules/unistdio/u8-vasnprintf: Likewise.
3734         * modules/unistdio/u8-vasprintf: Likewise.
3735         * modules/unistdio/u8-vsnprintf: Likewise.
3736         * modules/unistdio/u8-vsprintf: Likewise.
3737         * modules/unistdio/u16-asnprintf: Likewise.
3738         * modules/unistdio/u16-asprintf: Likewise.
3739         * modules/unistdio/u16-snprintf: Likewise.
3740         * modules/unistdio/u16-sprintf: Likewise.
3741         * modules/unistdio/u16-u16-asnprintf: Likewise.
3742         * modules/unistdio/u16-u16-asprintf: Likewise.
3743         * modules/unistdio/u16-u16-snprintf: Likewise.
3744         * modules/unistdio/u16-u16-sprintf: Likewise.
3745         * modules/unistdio/u16-u16-vasnprintf: Likewise.
3746         * modules/unistdio/u16-u16-vasprintf: Likewise.
3747         * modules/unistdio/u16-u16-vsnprintf: Likewise.
3748         * modules/unistdio/u16-u16-vsprintf: Likewise.
3749         * modules/unistdio/u16-vasnprintf: Likewise.
3750         * modules/unistdio/u16-vasprintf: Likewise.
3751         * modules/unistdio/u16-vsnprintf: Likewise.
3752         * modules/unistdio/u16-vsprintf: Likewise.
3753         * modules/unistdio/u32-asnprintf: Likewise.
3754         * modules/unistdio/u32-asprintf: Likewise.
3755         * modules/unistdio/u32-snprintf: Likewise.
3756         * modules/unistdio/u32-sprintf: Likewise.
3757         * modules/unistdio/u32-u32-asnprintf: Likewise.
3758         * modules/unistdio/u32-u32-asprintf: Likewise.
3759         * modules/unistdio/u32-u32-snprintf: Likewise.
3760         * modules/unistdio/u32-u32-sprintf: Likewise.
3761         * modules/unistdio/u32-u32-vasnprintf: Likewise.
3762         * modules/unistdio/u32-u32-vasprintf: Likewise.
3763         * modules/unistdio/u32-u32-vsnprintf: Likewise.
3764         * modules/unistdio/u32-u32-vsprintf: Likewise.
3765         * modules/unistdio/u32-vasnprintf: Likewise.
3766         * modules/unistdio/u32-vasprintf: Likewise.
3767         * modules/unistdio/u32-vsnprintf: Likewise.
3768         * modules/unistdio/u32-vsprintf: Likewise.
3769         * modules/unistdio/ulc-asnprintf: Likewise.
3770         * modules/unistdio/ulc-asprintf: Likewise.
3771         * modules/unistdio/ulc-fprintf: Likewise.
3772         * modules/unistdio/ulc-snprintf: Likewise.
3773         * modules/unistdio/ulc-sprintf: Likewise.
3774         * modules/unistdio/ulc-vasnprintf: Likewise.
3775         * modules/unistdio/ulc-vasprintf: Likewise.
3776         * modules/unistdio/ulc-vfprintf: Likewise.
3777         * modules/unistdio/ulc-vsnprintf: Likewise.
3778         * modules/unistdio/ulc-vsprintf: Likewise.
3779         * modules/unistr/u8-check: Likewise.
3780         * modules/unistr/u8-chr: Likewise.
3781         * modules/unistr/u8-cmp: Likewise.
3782         * modules/unistr/u8-cmp2: Likewise.
3783         * modules/unistr/u8-cpy: Likewise.
3784         * modules/unistr/u8-cpy-alloc: Likewise.
3785         * modules/unistr/u8-endswith: Likewise.
3786         * modules/unistr/u8-mblen: Likewise.
3787         * modules/unistr/u8-mbsnlen: Likewise.
3788         * modules/unistr/u8-mbtouc: Likewise.
3789         * modules/unistr/u8-mbtouc-unsafe: Likewise.
3790         * modules/unistr/u8-mbtoucr: Likewise.
3791         * modules/unistr/u8-move: Likewise.
3792         * modules/unistr/u8-next: Likewise.
3793         * modules/unistr/u8-prev: Likewise.
3794         * modules/unistr/u8-set: Likewise.
3795         * modules/unistr/u8-startswith: Likewise.
3796         * modules/unistr/u8-stpcpy: Likewise.
3797         * modules/unistr/u8-stpncpy: Likewise.
3798         * modules/unistr/u8-strcat: Likewise.
3799         * modules/unistr/u8-strchr: Likewise.
3800         * modules/unistr/u8-strcmp: Likewise.
3801         * modules/unistr/u8-strcoll: Likewise.
3802         * modules/unistr/u8-strcpy: Likewise.
3803         * modules/unistr/u8-strcspn: Likewise.
3804         * modules/unistr/u8-strdup: Likewise.
3805         * modules/unistr/u8-strlen: Likewise.
3806         * modules/unistr/u8-strmblen: Likewise.
3807         * modules/unistr/u8-strmbtouc: Likewise.
3808         * modules/unistr/u8-strncat: Likewise.
3809         * modules/unistr/u8-strncmp: Likewise.
3810         * modules/unistr/u8-strncpy: Likewise.
3811         * modules/unistr/u8-strnlen: Likewise.
3812         * modules/unistr/u8-strpbrk: Likewise.
3813         * modules/unistr/u8-strrchr: Likewise.
3814         * modules/unistr/u8-strspn: Likewise.
3815         * modules/unistr/u8-strstr: Likewise.
3816         * modules/unistr/u8-strtok: Likewise.
3817         * modules/unistr/u8-to-u16: Likewise.
3818         * modules/unistr/u8-to-u32: Likewise.
3819         * modules/unistr/u8-uctomb: Likewise.
3820         * modules/unistr/u16-check: Likewise.
3821         * modules/unistr/u16-chr: Likewise.
3822         * modules/unistr/u16-cmp: Likewise.
3823         * modules/unistr/u16-cmp2: Likewise.
3824         * modules/unistr/u16-cpy: Likewise.
3825         * modules/unistr/u16-cpy-alloc: Likewise.
3826         * modules/unistr/u16-endswith: Likewise.
3827         * modules/unistr/u16-mblen: Likewise.
3828         * modules/unistr/u16-mbsnlen: Likewise.
3829         * modules/unistr/u16-mbtouc: Likewise.
3830         * modules/unistr/u16-mbtouc-unsafe: Likewise.
3831         * modules/unistr/u16-mbtoucr: Likewise.
3832         * modules/unistr/u16-move: Likewise.
3833         * modules/unistr/u16-next: Likewise.
3834         * modules/unistr/u16-prev: Likewise.
3835         * modules/unistr/u16-set: Likewise.
3836         * modules/unistr/u16-startswith: Likewise.
3837         * modules/unistr/u16-stpcpy: Likewise.
3838         * modules/unistr/u16-stpncpy: Likewise.
3839         * modules/unistr/u16-strcat: Likewise.
3840         * modules/unistr/u16-strchr: Likewise.
3841         * modules/unistr/u16-strcmp: Likewise.
3842         * modules/unistr/u16-strcoll: Likewise.
3843         * modules/unistr/u16-strcpy: Likewise.
3844         * modules/unistr/u16-strcspn: Likewise.
3845         * modules/unistr/u16-strdup: Likewise.
3846         * modules/unistr/u16-strlen: Likewise.
3847         * modules/unistr/u16-strmblen: Likewise.
3848         * modules/unistr/u16-strmbtouc: Likewise.
3849         * modules/unistr/u16-strncat: Likewise.
3850         * modules/unistr/u16-strncmp: Likewise.
3851         * modules/unistr/u16-strncpy: Likewise.
3852         * modules/unistr/u16-strnlen: Likewise.
3853         * modules/unistr/u16-strpbrk: Likewise.
3854         * modules/unistr/u16-strrchr: Likewise.
3855         * modules/unistr/u16-strspn: Likewise.
3856         * modules/unistr/u16-strstr: Likewise.
3857         * modules/unistr/u16-strtok: Likewise.
3858         * modules/unistr/u16-to-u32: Likewise.
3859         * modules/unistr/u16-to-u8: Likewise.
3860         * modules/unistr/u16-uctomb: Likewise.
3861         * modules/unistr/u32-check: Likewise.
3862         * modules/unistr/u32-chr: Likewise.
3863         * modules/unistr/u32-cmp: Likewise.
3864         * modules/unistr/u32-cmp2: Likewise.
3865         * modules/unistr/u32-cpy: Likewise.
3866         * modules/unistr/u32-cpy-alloc: Likewise.
3867         * modules/unistr/u32-endswith: Likewise.
3868         * modules/unistr/u32-mblen: Likewise.
3869         * modules/unistr/u32-mbsnlen: Likewise.
3870         * modules/unistr/u32-mbtouc: Likewise.
3871         * modules/unistr/u32-mbtouc-unsafe: Likewise.
3872         * modules/unistr/u32-mbtoucr: Likewise.
3873         * modules/unistr/u32-move: Likewise.
3874         * modules/unistr/u32-next: Likewise.
3875         * modules/unistr/u32-prev: Likewise.
3876         * modules/unistr/u32-set: Likewise.
3877         * modules/unistr/u32-startswith: Likewise.
3878         * modules/unistr/u32-stpcpy: Likewise.
3879         * modules/unistr/u32-stpncpy: Likewise.
3880         * modules/unistr/u32-strcat: Likewise.
3881         * modules/unistr/u32-strchr: Likewise.
3882         * modules/unistr/u32-strcmp: Likewise.
3883         * modules/unistr/u32-strcoll: Likewise.
3884         * modules/unistr/u32-strcpy: Likewise.
3885         * modules/unistr/u32-strcspn: Likewise.
3886         * modules/unistr/u32-strdup: Likewise.
3887         * modules/unistr/u32-strlen: Likewise.
3888         * modules/unistr/u32-strmblen: Likewise.
3889         * modules/unistr/u32-strmbtouc: Likewise.
3890         * modules/unistr/u32-strncat: Likewise.
3891         * modules/unistr/u32-strncmp: Likewise.
3892         * modules/unistr/u32-strncpy: Likewise.
3893         * modules/unistr/u32-strnlen: Likewise.
3894         * modules/unistr/u32-strpbrk: Likewise.
3895         * modules/unistr/u32-strrchr: Likewise.
3896         * modules/unistr/u32-strspn: Likewise.
3897         * modules/unistr/u32-strstr: Likewise.
3898         * modules/unistr/u32-strtok: Likewise.
3899         * modules/unistr/u32-to-u16: Likewise.
3900         * modules/unistr/u32-to-u8: Likewise.
3901         * modules/unistr/u32-uctomb: Likewise.
3902         * modules/uniwbrk/u8-wordbreaks: Likewise.
3903         * modules/uniwbrk/u16-wordbreaks: Likewise.
3904         * modules/uniwbrk/u32-wordbreaks: Likewise.
3905         * modules/uniwbrk/ulc-wordbreaks: Likewise.
3906         * modules/uniwbrk/wordbreak-property: Likewise.
3907         * modules/uniwidth/u8-strwidth: Likewise.
3908         * modules/uniwidth/u8-width: Likewise.
3909         * modules/uniwidth/u16-strwidth: Likewise.
3910         * modules/uniwidth/u16-width: Likewise.
3911         * modules/uniwidth/u32-strwidth: Likewise.
3912         * modules/uniwidth/u32-width: Likewise.
3913         * modules/uniwidth/width: Likewise.
3914         * modules/unicase/cased-tests (Makefile.am): Link all test programs
3915         with $(LIBUNISTRING).
3916         * modules/unicase/ignorable-tests: Likewise.
3917         * modules/unicase/locale-language-tests: Likewise.
3918         * modules/unicase/tolower-tests: Likewise.
3919         * modules/unicase/totitle-tests: Likewise.
3920         * modules/unicase/toupper-tests: Likewise.
3921         * modules/unicase/u8-casecmp-tests: Likewise.
3922         * modules/unicase/u8-casecoll-tests: Likewise.
3923         * modules/unicase/u8-casefold-tests: Likewise.
3924         * modules/unicase/u8-is-cased-tests: Likewise.
3925         * modules/unicase/u8-is-casefolded-tests: Likewise.
3926         * modules/unicase/u8-is-lowercase-tests: Likewise.
3927         * modules/unicase/u8-is-titlecase-tests: Likewise.
3928         * modules/unicase/u8-is-uppercase-tests: Likewise.
3929         * modules/unicase/u8-tolower-tests: Likewise.
3930         * modules/unicase/u8-totitle-tests: Likewise.
3931         * modules/unicase/u8-toupper-tests: Likewise.
3932         * modules/unicase/u16-casecmp-tests: Likewise.
3933         * modules/unicase/u16-casecoll-tests: Likewise.
3934         * modules/unicase/u16-casefold-tests: Likewise.
3935         * modules/unicase/u16-is-cased-tests: Likewise.
3936         * modules/unicase/u16-is-casefolded-tests: Likewise.
3937         * modules/unicase/u16-is-lowercase-tests: Likewise.
3938         * modules/unicase/u16-is-titlecase-tests: Likewise.
3939         * modules/unicase/u16-is-uppercase-tests: Likewise.
3940         * modules/unicase/u16-tolower-tests: Likewise.
3941         * modules/unicase/u16-totitle-tests: Likewise.
3942         * modules/unicase/u16-toupper-tests: Likewise.
3943         * modules/unicase/u32-casecmp-tests: Likewise.
3944         * modules/unicase/u32-casecoll-tests: Likewise.
3945         * modules/unicase/u32-casefold-tests: Likewise.
3946         * modules/unicase/u32-is-cased-tests: Likewise.
3947         * modules/unicase/u32-is-casefolded-tests: Likewise.
3948         * modules/unicase/u32-is-lowercase-tests: Likewise.
3949         * modules/unicase/u32-is-titlecase-tests: Likewise.
3950         * modules/unicase/u32-is-uppercase-tests: Likewise.
3951         * modules/unicase/u32-tolower-tests: Likewise.
3952         * modules/unicase/u32-totitle-tests: Likewise.
3953         * modules/unicase/u32-toupper-tests: Likewise.
3954         * modules/unicase/ulc-casecmp-tests: Likewise.
3955         * modules/unicase/ulc-casecoll-tests: Likewise.
3956         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
3957         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
3958         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
3959         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
3960         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
3961         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
3962         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
3963         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
3964         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
3965         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
3966         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
3967         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
3968         * modules/unictype/bidicategory-byname-tests: Likewise.
3969         * modules/unictype/bidicategory-name-tests: Likewise.
3970         * modules/unictype/bidicategory-of-tests: Likewise.
3971         * modules/unictype/bidicategory-test-tests: Likewise.
3972         * modules/unictype/block-list-tests: Likewise.
3973         * modules/unictype/block-of-tests: Likewise.
3974         * modules/unictype/block-test-tests: Likewise.
3975         * modules/unictype/category-C-tests: Likewise.
3976         * modules/unictype/category-Cc-tests: Likewise.
3977         * modules/unictype/category-Cf-tests: Likewise.
3978         * modules/unictype/category-Cn-tests: Likewise.
3979         * modules/unictype/category-Co-tests: Likewise.
3980         * modules/unictype/category-Cs-tests: Likewise.
3981         * modules/unictype/category-L-tests: Likewise.
3982         * modules/unictype/category-Ll-tests: Likewise.
3983         * modules/unictype/category-Lm-tests: Likewise.
3984         * modules/unictype/category-Lo-tests: Likewise.
3985         * modules/unictype/category-Lt-tests: Likewise.
3986         * modules/unictype/category-Lu-tests: Likewise.
3987         * modules/unictype/category-M-tests: Likewise.
3988         * modules/unictype/category-Mc-tests: Likewise.
3989         * modules/unictype/category-Me-tests: Likewise.
3990         * modules/unictype/category-Mn-tests: Likewise.
3991         * modules/unictype/category-N-tests: Likewise.
3992         * modules/unictype/category-Nd-tests: Likewise.
3993         * modules/unictype/category-Nl-tests: Likewise.
3994         * modules/unictype/category-No-tests: Likewise.
3995         * modules/unictype/category-P-tests: Likewise.
3996         * modules/unictype/category-Pc-tests: Likewise.
3997         * modules/unictype/category-Pd-tests: Likewise.
3998         * modules/unictype/category-Pe-tests: Likewise.
3999         * modules/unictype/category-Pf-tests: Likewise.
4000         * modules/unictype/category-Pi-tests: Likewise.
4001         * modules/unictype/category-Po-tests: Likewise.
4002         * modules/unictype/category-Ps-tests: Likewise.
4003         * modules/unictype/category-S-tests: Likewise.
4004         * modules/unictype/category-Sc-tests: Likewise.
4005         * modules/unictype/category-Sk-tests: Likewise.
4006         * modules/unictype/category-Sm-tests: Likewise.
4007         * modules/unictype/category-So-tests: Likewise.
4008         * modules/unictype/category-Z-tests: Likewise.
4009         * modules/unictype/category-Zl-tests: Likewise.
4010         * modules/unictype/category-Zp-tests: Likewise.
4011         * modules/unictype/category-Zs-tests: Likewise.
4012         * modules/unictype/category-and-not-tests: Likewise.
4013         * modules/unictype/category-and-tests: Likewise.
4014         * modules/unictype/category-byname-tests: Likewise.
4015         * modules/unictype/category-name-tests: Likewise.
4016         * modules/unictype/category-none-tests: Likewise.
4017         * modules/unictype/category-of-tests: Likewise.
4018         * modules/unictype/category-or-tests: Likewise.
4019         * modules/unictype/category-test-withtable-tests: Likewise.
4020         * modules/unictype/combining-class-tests: Likewise.
4021         * modules/unictype/ctype-alnum-tests: Likewise.
4022         * modules/unictype/ctype-alpha-tests: Likewise.
4023         * modules/unictype/ctype-blank-tests: Likewise.
4024         * modules/unictype/ctype-cntrl-tests: Likewise.
4025         * modules/unictype/ctype-digit-tests: Likewise.
4026         * modules/unictype/ctype-graph-tests: Likewise.
4027         * modules/unictype/ctype-lower-tests: Likewise.
4028         * modules/unictype/ctype-print-tests: Likewise.
4029         * modules/unictype/ctype-punct-tests: Likewise.
4030         * modules/unictype/ctype-space-tests: Likewise.
4031         * modules/unictype/ctype-upper-tests: Likewise.
4032         * modules/unictype/ctype-xdigit-tests: Likewise.
4033         * modules/unictype/decimal-digit-tests: Likewise.
4034         * modules/unictype/digit-tests: Likewise.
4035         * modules/unictype/mirror-tests: Likewise.
4036         * modules/unictype/numeric-tests: Likewise.
4037         * modules/unictype/property-alphabetic-tests: Likewise.
4038         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
4039         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
4040         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
4041         * modules/unictype/property-bidi-block-separator-tests: Likewise.
4042         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
4043         * modules/unictype/property-bidi-common-separator-tests: Likewise.
4044         * modules/unictype/property-bidi-control-tests: Likewise.
4045         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
4046         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
4047         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
4048         * modules/unictype/property-bidi-european-digit-tests: Likewise.
4049         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
4050         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
4051         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
4052         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
4053         * modules/unictype/property-bidi-pdf-tests: Likewise.
4054         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
4055         * modules/unictype/property-bidi-whitespace-tests: Likewise.
4056         * modules/unictype/property-byname-tests: Likewise.
4057         * modules/unictype/property-combining-tests: Likewise.
4058         * modules/unictype/property-composite-tests: Likewise.
4059         * modules/unictype/property-currency-symbol-tests: Likewise.
4060         * modules/unictype/property-dash-tests: Likewise.
4061         * modules/unictype/property-decimal-digit-tests: Likewise.
4062         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
4063         * modules/unictype/property-deprecated-tests: Likewise.
4064         * modules/unictype/property-diacritic-tests: Likewise.
4065         * modules/unictype/property-extender-tests: Likewise.
4066         * modules/unictype/property-format-control-tests: Likewise.
4067         * modules/unictype/property-grapheme-base-tests: Likewise.
4068         * modules/unictype/property-grapheme-extend-tests: Likewise.
4069         * modules/unictype/property-grapheme-link-tests: Likewise.
4070         * modules/unictype/property-hex-digit-tests: Likewise.
4071         * modules/unictype/property-hyphen-tests: Likewise.
4072         * modules/unictype/property-id-continue-tests: Likewise.
4073         * modules/unictype/property-id-start-tests: Likewise.
4074         * modules/unictype/property-ideographic-tests: Likewise.
4075         * modules/unictype/property-ids-binary-operator-tests: Likewise.
4076         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
4077         * modules/unictype/property-ignorable-control-tests: Likewise.
4078         * modules/unictype/property-iso-control-tests: Likewise.
4079         * modules/unictype/property-join-control-tests: Likewise.
4080         * modules/unictype/property-left-of-pair-tests: Likewise.
4081         * modules/unictype/property-line-separator-tests: Likewise.
4082         * modules/unictype/property-logical-order-exception-tests: Likewise.
4083         * modules/unictype/property-lowercase-tests: Likewise.
4084         * modules/unictype/property-math-tests: Likewise.
4085         * modules/unictype/property-non-break-tests: Likewise.
4086         * modules/unictype/property-not-a-character-tests: Likewise.
4087         * modules/unictype/property-numeric-tests: Likewise.
4088         * modules/unictype/property-other-alphabetic-tests: Likewise.
4089         * modules/unictype/property-other-default-ignorable-code-point-tests:
4090         Likewise.
4091         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
4092         * modules/unictype/property-other-id-continue-tests: Likewise.
4093         * modules/unictype/property-other-id-start-tests: Likewise.
4094         * modules/unictype/property-other-lowercase-tests: Likewise.
4095         * modules/unictype/property-other-math-tests: Likewise.
4096         * modules/unictype/property-other-uppercase-tests: Likewise.
4097         * modules/unictype/property-paired-punctuation-tests: Likewise.
4098         * modules/unictype/property-paragraph-separator-tests: Likewise.
4099         * modules/unictype/property-pattern-syntax-tests: Likewise.
4100         * modules/unictype/property-pattern-white-space-tests: Likewise.
4101         * modules/unictype/property-private-use-tests: Likewise.
4102         * modules/unictype/property-punctuation-tests: Likewise.
4103         * modules/unictype/property-quotation-mark-tests: Likewise.
4104         * modules/unictype/property-radical-tests: Likewise.
4105         * modules/unictype/property-sentence-terminal-tests: Likewise.
4106         * modules/unictype/property-soft-dotted-tests: Likewise.
4107         * modules/unictype/property-space-tests: Likewise.
4108         * modules/unictype/property-terminal-punctuation-tests: Likewise.
4109         * modules/unictype/property-test-tests: Likewise.
4110         * modules/unictype/property-titlecase-tests: Likewise.
4111         * modules/unictype/property-unassigned-code-value-tests: Likewise.
4112         * modules/unictype/property-unified-ideograph-tests: Likewise.
4113         * modules/unictype/property-uppercase-tests: Likewise.
4114         * modules/unictype/property-variation-selector-tests: Likewise.
4115         * modules/unictype/property-white-space-tests: Likewise.
4116         * modules/unictype/property-xid-continue-tests: Likewise.
4117         * modules/unictype/property-xid-start-tests: Likewise.
4118         * modules/unictype/property-zero-width-tests: Likewise.
4119         * modules/unictype/scripts-tests: Likewise.
4120         * modules/unictype/syntax-c-ident-tests: Likewise.
4121         * modules/unictype/syntax-c-whitespace-tests: Likewise.
4122         * modules/unictype/syntax-java-ident-tests: Likewise.
4123         * modules/unictype/syntax-java-whitespace-tests: Likewise.
4124         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
4125         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
4126         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
4127         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
4128         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
4129         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
4130         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
4131         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
4132         * modules/uniname/uniname-tests: Likewise.
4133         * modules/uninorm/canonical-decomposition-tests: Likewise.
4134         * modules/uninorm/compat-decomposition-tests: Likewise.
4135         * modules/uninorm/composition-tests: Likewise.
4136         * modules/uninorm/decomposing-form-tests: Likewise.
4137         * modules/uninorm/decomposition-tests: Likewise.
4138         * modules/uninorm/filter-tests: Likewise.
4139         * modules/uninorm/nfc-tests: Likewise.
4140         * modules/uninorm/nfd-tests: Likewise.
4141         * modules/uninorm/nfkc-tests: Likewise.
4142         * modules/uninorm/nfkd-tests: Likewise.
4143         * modules/uninorm/u8-normcmp-tests: Likewise.
4144         * modules/uninorm/u8-normcoll-tests: Likewise.
4145         * modules/uninorm/u16-normcmp-tests: Likewise.
4146         * modules/uninorm/u16-normcoll-tests: Likewise.
4147         * modules/uninorm/u32-normcmp-tests: Likewise.
4148         * modules/uninorm/u32-normcoll-tests: Likewise.
4149         * modules/unistdio/u8-asnprintf-tests: Likewise.
4150         * modules/unistdio/u8-vasnprintf-tests: Likewise.
4151         * modules/unistdio/u8-vasprintf-tests: Likewise.
4152         * modules/unistdio/u8-vsnprintf-tests: Likewise.
4153         * modules/unistdio/u8-vsprintf-tests: Likewise.
4154         * modules/unistdio/u16-asnprintf-tests: Likewise.
4155         * modules/unistdio/u16-vasnprintf-tests: Likewise.
4156         * modules/unistdio/u16-vasprintf-tests: Likewise.
4157         * modules/unistdio/u16-vsnprintf-tests: Likewise.
4158         * modules/unistdio/u16-vsprintf-tests: Likewise.
4159         * modules/unistdio/u32-asnprintf-tests: Likewise.
4160         * modules/unistdio/u32-vasnprintf-tests: Likewise.
4161         * modules/unistdio/u32-vasprintf-tests: Likewise.
4162         * modules/unistdio/u32-vsnprintf-tests: Likewise.
4163         * modules/unistdio/u32-vsprintf-tests: Likewise.
4164         * modules/unistdio/ulc-asnprintf-tests: Likewise.
4165         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
4166         * modules/unistdio/ulc-vasprintf-tests: Likewise.
4167         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
4168         * modules/unistdio/ulc-vsprintf-tests: Likewise.
4169         * modules/unistr/u8-check-tests: Likewise.
4170         * modules/unistr/u8-chr-tests: Likewise.
4171         * modules/unistr/u8-cmp-tests: Likewise.
4172         * modules/unistr/u8-cmp2-tests: Likewise.
4173         * modules/unistr/u8-cpy-alloc-tests: Likewise.
4174         * modules/unistr/u8-cpy-tests: Likewise.
4175         * modules/unistr/u8-mblen-tests: Likewise.
4176         * modules/unistr/u8-mbsnlen-tests: Likewise.
4177         * modules/unistr/u8-mbtouc-tests: Likewise.
4178         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
4179         * modules/unistr/u8-mbtoucr-tests: Likewise.
4180         * modules/unistr/u8-move-tests: Likewise.
4181         * modules/unistr/u8-next-tests: Likewise.
4182         * modules/unistr/u8-prev-tests: Likewise.
4183         * modules/unistr/u8-set-tests: Likewise.
4184         * modules/unistr/u8-stpcpy-tests: Likewise.
4185         * modules/unistr/u8-stpncpy-tests: Likewise.
4186         * modules/unistr/u8-strcat-tests: Likewise.
4187         * modules/unistr/u8-strcmp-tests: Likewise.
4188         * modules/unistr/u8-strcoll-tests: Likewise.
4189         * modules/unistr/u8-strcpy-tests: Likewise.
4190         * modules/unistr/u8-strdup-tests: Likewise.
4191         * modules/unistr/u8-strlen-tests: Likewise.
4192         * modules/unistr/u8-strmblen-tests: Likewise.
4193         * modules/unistr/u8-strmbtouc-tests: Likewise.
4194         * modules/unistr/u8-strncat-tests: Likewise.
4195         * modules/unistr/u8-strncmp-tests: Likewise.
4196         * modules/unistr/u8-strncpy-tests: Likewise.
4197         * modules/unistr/u8-strnlen-tests: Likewise.
4198         * modules/unistr/u8-to-u16-tests: Likewise.
4199         * modules/unistr/u8-to-u32-tests: Likewise.
4200         * modules/unistr/u8-uctomb-tests: Likewise.
4201         * modules/unistr/u16-check-tests: Likewise.
4202         * modules/unistr/u16-chr-tests: Likewise.
4203         * modules/unistr/u16-cmp-tests: Likewise.
4204         * modules/unistr/u16-cmp2-tests: Likewise.
4205         * modules/unistr/u16-cpy-alloc-tests: Likewise.
4206         * modules/unistr/u16-cpy-tests: Likewise.
4207         * modules/unistr/u16-mblen-tests: Likewise.
4208         * modules/unistr/u16-mbsnlen-tests: Likewise.
4209         * modules/unistr/u16-mbtouc-tests: Likewise.
4210         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
4211         * modules/unistr/u16-mbtoucr-tests: Likewise.
4212         * modules/unistr/u16-move-tests: Likewise.
4213         * modules/unistr/u16-next-tests: Likewise.
4214         * modules/unistr/u16-prev-tests: Likewise.
4215         * modules/unistr/u16-set-tests: Likewise.
4216         * modules/unistr/u16-stpcpy-tests: Likewise.
4217         * modules/unistr/u16-stpncpy-tests: Likewise.
4218         * modules/unistr/u16-strcat-tests: Likewise.
4219         * modules/unistr/u16-strcmp-tests: Likewise.
4220         * modules/unistr/u16-strcoll-tests: Likewise.
4221         * modules/unistr/u16-strcpy-tests: Likewise.
4222         * modules/unistr/u16-strdup-tests: Likewise.
4223         * modules/unistr/u16-strlen-tests: Likewise.
4224         * modules/unistr/u16-strmblen-tests: Likewise.
4225         * modules/unistr/u16-strmbtouc-tests: Likewise.
4226         * modules/unistr/u16-strncat-tests: Likewise.
4227         * modules/unistr/u16-strncmp-tests: Likewise.
4228         * modules/unistr/u16-strncpy-tests: Likewise.
4229         * modules/unistr/u16-strnlen-tests: Likewise.
4230         * modules/unistr/u16-to-u32-tests: Likewise.
4231         * modules/unistr/u16-to-u8-tests: Likewise.
4232         * modules/unistr/u16-uctomb-tests: Likewise.
4233         * modules/unistr/u32-check-tests: Likewise.
4234         * modules/unistr/u32-chr-tests: Likewise.
4235         * modules/unistr/u32-cmp-tests: Likewise.
4236         * modules/unistr/u32-cmp2-tests: Likewise.
4237         * modules/unistr/u32-cpy-alloc-tests: Likewise.
4238         * modules/unistr/u32-cpy-tests: Likewise.
4239         * modules/unistr/u32-mblen-tests: Likewise.
4240         * modules/unistr/u32-mbsnlen-tests: Likewise.
4241         * modules/unistr/u32-mbtouc-tests: Likewise.
4242         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
4243         * modules/unistr/u32-mbtoucr-tests: Likewise.
4244         * modules/unistr/u32-move-tests: Likewise.
4245         * modules/unistr/u32-next-tests: Likewise.
4246         * modules/unistr/u32-prev-tests: Likewise.
4247         * modules/unistr/u32-set-tests: Likewise.
4248         * modules/unistr/u32-stpcpy-tests: Likewise.
4249         * modules/unistr/u32-stpncpy-tests: Likewise.
4250         * modules/unistr/u32-strcat-tests: Likewise.
4251         * modules/unistr/u32-strcmp-tests: Likewise.
4252         * modules/unistr/u32-strcoll-tests: Likewise.
4253         * modules/unistr/u32-strcpy-tests: Likewise.
4254         * modules/unistr/u32-strdup-tests: Likewise.
4255         * modules/unistr/u32-strlen-tests: Likewise.
4256         * modules/unistr/u32-strmblen-tests: Likewise.
4257         * modules/unistr/u32-strmbtouc-tests: Likewise.
4258         * modules/unistr/u32-strncat-tests: Likewise.
4259         * modules/unistr/u32-strncmp-tests: Likewise.
4260         * modules/unistr/u32-strncpy-tests: Likewise.
4261         * modules/unistr/u32-strnlen-tests: Likewise.
4262         * modules/unistr/u32-to-u16-tests: Likewise.
4263         * modules/unistr/u32-to-u8-tests: Likewise.
4264         * modules/unistr/u32-uctomb-tests: Likewise.
4265         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
4266         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
4267         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
4268         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
4269         * modules/uniwidth/u8-strwidth-tests: Likewise.
4270         * modules/uniwidth/u8-width-tests: Likewise.
4271         * modules/uniwidth/u16-strwidth-tests: Likewise.
4272         * modules/uniwidth/u16-width-tests: Likewise.
4273         * modules/uniwidth/u32-strwidth-tests: Likewise.
4274         * modules/uniwidth/u32-width-tests: Likewise.
4275         * modules/uniwidth/width-tests: Likewise.
4276
4277 2010-05-18  Richard Jones  <rjones@redhat.com>
4278
4279         doc: users.txt: list hivex
4280         * users.txt: Add hivex.
4281
4282 2010-05-18  Richard Jones  <rjones@redhat.com>
4283
4284         doc: users.txt: list febootstrap
4285         * users.txt: Add febootstrap.
4286
4287 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
4288
4289         bootstrap: fix an error when gnulib is not used as a git submodule
4290         * build-aux/bootstrap (gnulib_path): If its length is zero then
4291         assign "gnulib" to it.
4292         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
4293
4294 2010-05-16  Bruno Haible  <bruno@clisp.org>
4295
4296         Avoid autoconf warnings about AM_ICONV.
4297         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
4298         2.64.
4299
4300 2010-05-16  Bruno Haible  <bruno@clisp.org>
4301
4302         absolute-header: Make the macro usable in more situations.
4303         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
4304         from gl_ABSOLUTE_HEADER.
4305         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
4306
4307 2010-05-16  James Youngman  <jay@gnu.org>
4308
4309         doc: update users.txt
4310         * users.txt: Add CSSC.
4311
4312 2010-05-16  Jim Meyering  <meyering@redhat.com>
4313
4314         init.sh: fix an error in the previous change; add more comments
4315         * tests/init.sh: Compare exit code in loop against 9, not 2.
4316         Patch by Bruno Haible.
4317         Make the two tests more similar by adding an empty "then" clause.
4318         Add comments.
4319
4320         init.sh: avoid unnecessary shell re-exec
4321         * tests/init.sh: Improve the re-exec-required check to first test the
4322         current shell.  If it passes the test, do not search for a shell that
4323         does pass, and do not re-exec.  This test is particularly contorted to
4324         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
4325         of $(...) evokes a syntax error and causes immediate shell exit with
4326         status 2.  Bruno Haible reported that the re-exec made it impossible
4327         to single-step through any init.sh-using script.
4328
4329 2010-05-16  Bruno Haible  <bruno@clisp.org>
4330
4331         Fix collision between gnulib's and libintl's printf replacements.
4332         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
4333         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
4334         (printf): When using GNU C, map the __printf__ function to rpl_printf
4335         via __asm__. When not using GNU C, define rpl_printf instead of
4336         __printf__.
4337         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
4338         commit.
4339         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
4340         commit.
4341         * m4/asm-underscore.m4: New file.
4342         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
4343         * modules/stdio (Files): Add m4/asm-underscore.m4.
4344         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
4345         Reported by Ben Pfaff.
4346
4347 2010-05-16  Bruno Haible  <bruno@clisp.org>
4348
4349         verify: Avoid skipping the test on openSUSE 11.0.
4350         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
4351
4352 2010-05-13  Bruno Haible  <bruno@clisp.org>
4353
4354         Avoid useless warnings from G++.
4355         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
4356         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
4357         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
4358
4359 2010-05-11  Jim Meyering  <meyering@redhat.com>
4360
4361         maint.mk: tweak preceding change
4362         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
4363         regexps tighter by anchoring at EOL, and make the new group "shy"
4364         for slightly decreased overhead.
4365
4366 2010-05-11  Eric Blake  <eblake@redhat.com>
4367
4368         maint.mk: gnulib doesn't guarantee NSIG
4369         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
4370
4371 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
4372
4373         test-pwrite.c: Remove unused variable declaration.
4374         * tests/test-pwrite.c (main): Remove read_buf declaration.
4375
4376         Remove useless test-pwrite.sh file.
4377         * tests/test-pwrite.sh: Delete file.
4378         * modules/pwrite-tests: Remove references.
4379         Reported by Bruno Haible.
4380
4381 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
4382
4383         init.sh: fix a typo
4384         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
4385
4386 2010-05-10  Jim Meyering  <meyering@redhat.com>
4387
4388         maint.mk: avoid using a temporary file in the always-defined-macros check
4389         * top/maint.mk (.re-defmac): Remove rule.
4390         (gl_trap_): Remove definition.
4391         (sc_prohibit_always-defined_macros): Rewrite not to create and
4392         depend on a temporary file.  Instead, depend on GNU grep's ability
4393         to read a list of regular expressions from stdin when given "-f -".
4394
4395 2010-05-09  Bruno Haible  <bruno@clisp.org>
4396
4397         Update to GNU gettext 0.18, part 1.
4398         * m4/gettext.m4: Update to GNU gettext 0.18.
4399         * m4/intl.m4: Likewise.
4400         * m4/po.m4: Likewise.
4401         * modules/gettext (Files): Add m4/fcntl-o.m4.
4402         (configure.ac): Require gettext infrastructure from version 0.18.
4403
4404 2010-05-09  Jim Meyering  <meyering@redhat.com>
4405
4406         init.sh: enable MALLOC_PERTURB_
4407         * tests/init.sh: Enable glibc's malloc-perturbing option.
4408
4409         maint.mk: improve sc_cross_check_PATH_usage_in_tests
4410         With my recent change in init.sh from the two-line form:
4411             -#   : ${srcdir=.}
4412             -#   . "$srcdir/init.sh"; path_prepend_ .
4413             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
4414         I noticed that using the one-line form would cause this test
4415         to fail with a false-positive, or to stop working altogether,
4416         depending on whether help-version changed or all the tests did.
4417         * top/maint.mk (_hv_regex): Remove this definition.
4418         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
4419         (_hv_regex_strong): Use a stronger regex to check for conformance.
4420         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
4421         Give a separate diagnostic for lack of conforming use.
4422
4423         maint.mk: prohibit definition of symbols defined by gnulib
4424         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
4425         definition of symbols defined by gnulib.
4426
4427 2010-05-09  Bruno Haible  <bruno@clisp.org>
4428
4429         acl: Avoid test failure on Cygwin-hosted mingw.
4430         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
4431
4432 2010-05-09  Bruno Haible  <bruno@clisp.org>
4433
4434         error: Use system's fcntl function.
4435         * lib/error.c (fcntl): Undefine.
4436
4437 2010-05-09  Jim Meyering  <meyering@redhat.com>
4438
4439         verify: adjust formatting to be more consistent
4440         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
4441         argument-list '('s, and after one comma.
4442
4443 2010-05-09  Bruno Haible  <bruno@clisp.org>
4444
4445         error: More reliable output on mingw.
4446         * lib/error.c: Include <windows.h>.
4447         (is_open): New function.
4448         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
4449         defined.
4450
4451 2010-05-09  Bruno Haible  <bruno@clisp.org>
4452
4453         vasnprintf: Fix syntax errors in libintl build on mingw.
4454         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
4455         pad_ourselves and prec_ourselves after use.
4456
4457 2010-05-08  Bruno Haible  <bruno@clisp.org>
4458
4459         * lib/config.charset: Update comments for Cygwin 1.7.
4460         * lib/localcharset.c: Likewise.
4461
4462 2010-05-07  Jim Meyering  <meyering@redhat.com>
4463
4464         init.sh: improve comments
4465         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
4466         . "${srcdir=.}/init.sh"; path_prepend_ .
4467         Add a note about path_prepend_ and the alternative of using
4468         TESTS_ENVIRONMENT.
4469
4470 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
4471
4472         exclude: Unescape hashed patterns in wildcard mode.
4473         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
4474         to the hash list.
4475         * tests/test-exclude8.sh: New test case.
4476         * modules/exclude-tests: Add new test.
4477
4478 2010-05-05  Eric Blake  <eblake@redhat.com>
4479
4480         verify: automate tests
4481         * modules/verify-tests: New module.
4482         * tests/test-verify.sh: New file.
4483         * tests/test-verify.c: Guard each negative test with a unique id.
4484         Also avoid warning about unused left hand of comma expressions.
4485
4486 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
4487
4488         Further improvements to verify.h, suggested by Eric Blake.
4489         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
4490         the GL_* versions, to avoid collision with OpenGL.
4491         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
4492         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
4493         than testing merely whether it's defined.
4494
4495         Modify verify.h to pacify gcc -Wredundant_decls.
4496         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
4497         These use the prefix "GL_" since they're likely to be useful elsewhere.
4498         We may need to break them out into a different .h file.
4499         (__COUNTER__): Define to 0 if the compiler doesn't support it.
4500         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
4501         of verify_function__.
4502
4503 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
4504
4505         Tests for module pwrite.
4506         * modules/pwrite-tests: New file.
4507         * tests/test-pwrite.sh: New file.
4508         * tests/test-pwrite.c: New file.
4509
4510         New module pwrite.
4511         * lib/unistd.in.h (pwrite): New declaration.
4512         * lib/pwrite.c: New file, from glibc with modifications.
4513         * m4/pwrite.m4: New file.
4514         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
4515         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
4516         REPLACE_PWRITE.
4517         * modules/pwrite: New file.
4518         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
4519         REPLACE_PWRITE.
4520         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
4521         * doc/posix-functions/pwrite.texi: Mention the new module.
4522
4523 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
4524
4525         pread: Update documentation.
4526         * doc/posix-functions/pread.texi: Mention the 'pread' module.
4527
4528 2010-05-04  Eric Blake  <eblake@redhat.com>
4529
4530         docs: update cygwin progress
4531         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
4532         this bug.
4533         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
4534         Added in cygwin 1.7.2.
4535         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
4536         Likewise.
4537         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
4538         Likewise.
4539         * doc/glibc-functions/dup3.texi (dup3): Likewise.
4540         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
4541         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4542         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
4543         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
4544         Mention nproc module.
4545         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
4546         bug in cygwin 1.7.5 addition.
4547         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
4548         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
4549         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
4550         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
4551         1.7.5.
4552         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
4553         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
4554         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
4555         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
4556         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
4557         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
4558         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
4559         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
4560         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
4561         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
4562         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
4563         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
4564         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
4565         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
4566         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
4567         Likewise.
4568         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
4569         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
4570         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
4571         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
4572         Likewise.
4573         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
4574         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
4575         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
4576         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
4577         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
4578         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
4579         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
4580         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
4581         Likewise.
4582         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
4583         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
4584         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
4585         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
4586         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
4587         Likewise.
4588         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
4589         Likewise.
4590         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
4591         Likewise.
4592         * doc/glibc-functions/xdrrec_endofrecord.texi
4593         (xdrrec_endofrecord): Likewise.
4594         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
4595         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
4596         Likewise.
4597         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
4598         Likewise.
4599
4600 2010-05-04  Jim Meyering  <meyering@redhat.com>
4601
4602         gendocs.sh: make its "-s FILE" option more useful
4603         * build-aux/gendocs.sh: When honoring the -s FILE option, update
4604         $PACKAGE to reflect the probably-different basename of "FILE".
4605
4606 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
4607
4608         bootstrap: don't ignore download_po_files failure
4609         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
4610         failure.
4611
4612 2010-05-03  Jim Meyering  <meyering@redhat.com>
4613
4614         maint.mk: allow to pass options to gendocs.sh
4615         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
4616         (gendocs_options_): New overridable variable.
4617
4618         gnu-web-doc-update: don't ignore configure or build failure
4619         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
4620
4621         announce-gen: backslash-escape '@'s in --help output
4622         * build-aux/announce-gen: Fix syntax errors.
4623
4624         maint.mk, announce-gen: allow project-specific announcement mail headers
4625         * top/maint.mk (translation_project_): Define default.
4626         (announcement_Cc_, announcement_mail_headers_): Likewise.
4627         (announcement): Invoke announce-gen with new --mail-headers option.
4628         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
4629
4630         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
4631         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
4632         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
4633         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
4634         line in the "err2" output file when running "make check" in verbose
4635         mode (i.e., with set -x enabled).
4636
4637 2010-05-03  Bruno Haible  <bruno@clisp.org>
4638
4639         wctob: Fix for weird platforms.
4640         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
4641         argument value.
4642
4643 2010-05-03  Jim Meyering  <meyering@redhat.com>
4644
4645         maint.mk: prohibit unwarranted use of <strings.h>
4646         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
4647         strings.h in a file that does not also use strcasecmp, strncasecmp,
4648         ffs or ffsll.
4649
4650         maint.mk: remove obsolete comments
4651         * top/maint.mk: Remove stale, commented-out rules.
4652
4653 2010-05-02  Bruno Haible  <bruno@clisp.org>
4654
4655         wcwidth: Declare also when it's aliased.
4656         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
4657         macro.
4658
4659 2010-05-02  Bruno Haible  <bruno@clisp.org>
4660
4661         Fix regression from 2010-04-25.
4662         * gnulib-tool (func_modules_transitive_closure): Check the status of
4663         all modules, not only of the tests that are of the form foo-tests where
4664         foo is a module.
4665
4666 2010-05-02  Bruno Haible  <bruno@clisp.org>
4667
4668         wctob: Work around nasty Cygwin 1.7.2 bug.
4669         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
4670         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
4671
4672 2010-05-01  Bruno Haible  <bruno@clisp.org>
4673
4674         fpurge: Sharper test.
4675         * tests/test-fpurge.c (main): Add one more ftell check.
4676         * modules/fpurge-tests (Depends-on): Add ftell.
4677         Suggested by Eric Blake.
4678
4679 2010-05-01  Bruno Haible  <bruno@clisp.org>
4680
4681         ftello: Another test.
4682         * tests/test-ftello3.c: New file.
4683         * modules/ftello-tests (Files): Add it.
4684         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
4685         MOSTLYCLEANFILES.
4686
4687         ftell: Another test.
4688         * tests/test-ftell3.c: New file.
4689         * modules/ftell-tests (Files): Add it.
4690         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
4691         MOSTLYCLEANFILES.
4692
4693 2010-05-01  Bruno Haible  <bruno@clisp.org>
4694
4695         ftell, ftello: Work around Solaris bug.
4696         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
4697         * lib/ftello.c: Include stdio-impl.h.
4698         (ftello): On Solaris, when _IOWRT is set, compute the result without
4699         looking at _IOREAD.
4700         * modules/ftello (Files): Add lib/stdio-impl.h.
4701         * doc/posix-functions/ftell.texi: Mention Solaris bug.
4702         * doc/posix-functions/ftello.texi: Likewise.
4703         Reported by Eric Blake.
4704
4705 2010-05-01  Bruno Haible  <bruno@clisp.org>
4706
4707         freading: Adapt to special meaning of _IOREAD flag on Solaris.
4708         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
4709         the _IOWRT flag is also set.
4710
4711 2010-05-01  Bruno Haible  <bruno@clisp.org>
4712
4713         Fix doc about a HP-UX stdio bug.
4714         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
4715         * doc/posix-functions/ftello.texi: Likewise.
4716
4717 2010-05-01  Bruno Haible  <bruno@clisp.org>
4718
4719         lseek test: Fix failure on Solaris.
4720         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
4721         output.
4722
4723 2010-04-30  Jim Meyering  <meyering@redhat.com>
4724
4725         bootstrap: don't ignore failure to generate po*/Makevars
4726         * build-aux/bootstrap (with_gettext): Don't ignore failure
4727         to create po/Makevars or runtime-po/Makevars.
4728
4729 2010-04-29  Eric Blake  <eblake@redhat.com>
4730
4731         headers: relax license to LGPLv2+
4732         * modules/fcntl-h (License): Relax license.
4733         * modules/getopt-posix (License): Likewise.
4734         * modules/locale (License): Likewise.
4735         * modules/math (License): Likewise.
4736         * modules/pty (License): Likewise.
4737         * modules/sched (License): Likewise.
4738         * modules/search (License): Likewise.
4739         * modules/spawn (License): Likewise.
4740         * modules/stdarg (License): Likewise.
4741         * modules/sysexits (License): Likewise.
4742
4743 2010-04-29  Jim Meyering  <meyering@redhat.com>
4744
4745         inttypes: relax license to LGPLv2+
4746         * modules/inttypes (License): Relax license.
4747
4748 2010-04-29  Simon Josefsson  <simon@josefsson.org>
4749
4750         * top/maint.mk (indent): Run twice to produce idempotent results.
4751
4752 2010-04-28  Bruno Haible  <bruno@clisp.org>
4753
4754         getdate: Generate getdate.c in the source directory.
4755         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
4756         MOSTLYCLEANFILES.
4757         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
4758
4759 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
4760
4761         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
4762         is not declared as a const *; avoid warnings in that case.
4763
4764 2010-04-28  Eric Blake  <eblake@redhat.com>
4765
4766         canonicalize-lgpl: avoid compiler warning
4767         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
4768         declaration' / 'extraneous semicolon' warning with some compilers.
4769         Reported by Andreas Gruenbacher.
4770
4771 2010-04-28  Jim Meyering  <meyering@redhat.com>
4772
4773         init.sh: ensure a more reliable exit status when exiting via trap
4774         * tests/init.sh (setup_): Don't rely on $? in signal handler.
4775         Inspired by patches from Dmitry V. Levin.
4776         Also trap on signal 3 (SIGQUIT).
4777
4778 2010-04-27  Bruno Haible  <bruno@clisp.org>
4779
4780         Update doc about utimes().
4781         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
4782         'utimens' module.
4783         Reported by Andreas Gruenbacher <agruen@suse.de>.
4784
4785 2010-04-27  Eric Blake  <eblake@redhat.com>
4786
4787         full-read, full-write: relax license
4788         * modules/full-read (License): Drop to LGPLv2+.
4789         * modules/full-write (License): Likewise.
4790         * modules/safe-read (License): Likewise.
4791         * modules/safe-write (License): Likewise.
4792
4793         pthread: mention library for linking
4794         * modules/pthread (Link): Mention $(LIB_PTHREAD).
4795
4796 2010-04-27  Jim Meyering  <meyering@redhat.com>
4797
4798         maint.mk: fix a bug introduced in last change
4799         * top/maint.mk (gl_assured_headers_): Now that all names are on
4800         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
4801         is not anchored to end of word, it should be adequate.
4802
4803         maint.mk: avoid side-effect in latest syntax-check
4804         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
4805         to run commands via $(shell...), and hence to incur cost only when
4806         the new rule is actually run.
4807
4808         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
4809         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
4810         and use that to create a regexp used to detect all #if HAVE_..._H uses.
4811         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
4812         (gl_assured_headers_, az_, AZ_): Define.
4813         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
4814
4815 2010-04-26  Jim Meyering  <jim@meyering.net>
4816             Bruno Haible  <bruno@clisp.org>
4817
4818         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
4819         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
4820         Prompted by an exchange with Gilles Espinasse.
4821
4822 2010-04-26  Jim Meyering  <meyering@redhat.com>
4823
4824         git-version-gen: aesthetic tweak
4825         * build-aux/git-version-gen: Use "$nl" rather than a literal,
4826         so that the command remains on a single line.
4827
4828 2010-04-26  Eric Blake  <eblake@redhat.com>
4829
4830         git-version-gen: allow use on EBCDIC hosts
4831         * build-aux/git-version-gen (dirty): Use literal rather than tying
4832         ourselves to ascii.
4833         Reported by Steve Goetze.
4834
4835 2010-04-25  Bruno Haible  <bruno@clisp.org>
4836
4837         netdb: Add support for GNULIB_POSIXCHECK.
4838         * lib/netdb.in.h: Include warn-on-use.h.
4839         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
4840         functions are used when GNULIB_POSIXCHECK is defined and the
4841         getaddrinfo module is not in use.
4842         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
4843         freeaddrinfo, gai_strerror, getnameinfo are declared.
4844         * modules/netdb (Depends-on): Add warn-on-use.
4845         (Makefile.am): Include warn-on-use.h in netdb.h.
4846
4847 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
4848
4849         build: avoid "make check" failure without .git/ directory
4850         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
4851         there is no .git/ directory.
4852
4853 2010-04-25  Bruno Haible  <bruno@clisp.org>
4854
4855         ptsname: Fix misuse of ttyname_r.
4856         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
4857         of errno.
4858
4859 2010-04-25  Bruno Haible  <bruno@clisp.org>
4860
4861         ttyname_r: Make it work on Solaris 10.
4862         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
4863         if the system function has the POSIX declaration. Test whether the
4864         function fails if the buffer is less than 128 bytes large.
4865         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
4866         system's ttyname_r function. Provide a reasonably large buffer.
4867         * modules/ttyname_r (Depends-on): Add extensions.
4868         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
4869
4870 2010-04-25  Bruno Haible  <bruno@clisp.org>
4871
4872         Use the 'extensions' module for some more functions on Solaris.
4873         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
4874         module.
4875         * doc/posix-functions/ctime_r.texi: Likewise.
4876         * doc/posix-functions/getgrgid_r.texi: Likewise.
4877         * doc/posix-functions/getgrnam_r.texi: Likewise.
4878         * doc/posix-functions/getpwnam_r.texi: Likewise.
4879         * doc/posix-functions/getpwuid_r.texi: Likewise.
4880         * doc/posix-functions/readdir_r.texi: Likewise.
4881         * doc/posix-functions/sigwait.texi: Likewise.
4882         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
4883         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
4884
4885 2010-04-25  Bruno Haible  <bruno@clisp.org>
4886
4887         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
4888         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
4889         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
4890         * lib/ttyname_r.c: Include <limits.h>.
4891         (ttyname_r): Define using the system's ttyname_r function, if it exists
4892         and not on Solaris.
4893         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
4894         set.
4895         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
4896         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
4897         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
4898         Reported by Simon Josefsson.
4899
4900 2010-04-25  Bruno Haible  <bruno@clisp.org>
4901
4902         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
4903         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
4904         * doc/posix-functions/ctime_r.texi: Likewise.
4905         * doc/posix-functions/getgrgid_r.texi: Likewise.
4906         * doc/posix-functions/getgrnam_r.texi: Likewise.
4907         * doc/posix-functions/getlogin_r.texi: Likewise.
4908         * doc/posix-functions/getpwnam_r.texi: Likewise.
4909         * doc/posix-functions/getpwuid_r.texi: Likewise.
4910         * doc/posix-functions/readdir_r.texi: Likewise.
4911         * doc/posix-functions/sigwait.texi: Likewise.
4912         * doc/posix-functions/ttyname_r.texi: Likewise.
4913         Reported by Simon Josefsson.
4914
4915 2010-04-25  Bruno Haible  <bruno@clisp.org>
4916
4917         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
4918         * gnulib-tool (func_usage): Document that --with-*-tests options apply
4919         also to --create-testdir.
4920         (func_acceptable): Don't consider the status of *-tests modules here.
4921         (func_modules_transitive_closure): Consider it here, before including a
4922         test module.
4923         (func_import, func_create_testdir): Set inc_all_direct_tests,
4924         inc_all_indirect_tests.
4925         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
4926         --create-testdir and --create-megatestdir.
4927
4928 2010-04-25  Bruno Haible  <bruno@clisp.org>
4929
4930         gnulib-tool: Add --without-*-tests options.
4931         * gnulib-tool (func_usage): Document the --without-*-tests options.
4932         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
4933         excl_unportable_tests): New variables.
4934         Fail if they are specified with --import or --update.
4935         (func_acceptable): Respect the excl_*_tests variables.
4936         (func_import): Set the excl_*_tests variables to empty.
4937
4938 2010-04-25  Simon Josefsson  <simon@josefsson.org>
4939             Bruno Haible  <bruno@clisp.org>
4940
4941         Work around a MacOS X 10.4 bug with openpty.
4942         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
4943         * tests/test-openpty.c (main): Close the master side explicitly.
4944
4945 2010-04-25  Bruno Haible  <bruno@clisp.org>
4946
4947         strnlen: Fix a C++ test error on MacOS X and Solaris.
4948         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
4949         the function is not declared.
4950         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
4951         Simon Josefsson.
4952
4953 2010-04-24  Bruno Haible  <bruno@clisp.org>
4954
4955         Avoid a gcc warning.
4956         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
4957         of correct type for %08lx directive.
4958         Reported by Eric Blake.
4959
4960 2010-04-24  Bruno Haible  <bruno@clisp.org>
4961
4962         vasnprintf: Correct errno value in case of out-of-memory.
4963         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
4964         or sprintf. Use the errno value from SNPRINTF or sprintf.
4965         Reported by Ian Beckwith <ianb@erislabs.net>.
4966
4967 2010-04-24  Bruno Haible  <bruno@clisp.org>
4968
4969         ansi-c++-opt: Find correct compiler when cross-compiling.
4970         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
4971         AC_CHECK_PROGS.
4972         Reported by Simon Josefsson.
4973
4974 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
4975
4976         vc-list-files: Add support for subversion
4977         * build-aux/vc-list-files: Use "svn list" to generate the list of
4978         files controlled by subversion.
4979
4980 2010-04-23  Jim Meyering  <meyering@redhat.com>
4981
4982         vc-list-files tests: convert to use init.sh
4983         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
4984         path_prepend_.
4985         Use Exit, not exit.
4986         Use skip_ rather than open coding it.
4987         Remove trap set-up and compare definitions.
4988         * tests/test-vc-list-files-git.sh: Likewise.
4989         * modules/vc-list-files-tests (Files): Add tests/init.sh.
4990
4991 2010-04-22  Simon Josefsson  <simon@josefsson.org>
4992
4993         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
4994         backup files.
4995
4996 2010-04-21  Simon Josefsson  <simon@josefsson.org>
4997
4998         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
4999
5000 2010-04-20  Eric Blake  <eblake@redhat.com>
5001
5002         tests: be robust to ignored SIGPIPE
5003         * tests/test-select-in.sh: Consume all output.
5004         * tests/test-lseek.sh: Check correct exit status, while avoiding
5005         EPIPE.
5006
5007 2010-04-20  Simon Josefsson  <simon@josefsson.org>
5008             Bruno Haible  <bruno@clisp.org>
5009
5010         visibility: Don't use -fvisibility if it leads to a warning.
5011         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
5012         yes, don't pretend that visibility works if it leads to a warning.
5013         Reported by Mike Gran <spk121@yahoo.com>.
5014
5015 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
5016
5017         * build-aux/bootstrap: Use "git -h" for testing for supported options
5018         instead of "git --help".  The short-form option only shows a summary,
5019         and doesn't layout the full man page.  Grep for the full option name
5020         in the summary, too.
5021
5022 2010-04-19  Bruno Haible  <bruno@clisp.org>
5023
5024         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
5025         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
5026         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
5027         mention of RELOCATABLE_STRIP.
5028         Reported by Sylvain Beucler <beuc@beuc.net>.
5029
5030 2010-04-19  Bruno Haible  <bruno@clisp.org>
5031
5032         * lib/diffseq.h: Fix typo in comment.
5033         Reported by Eric Blake.
5034
5035 2010-04-19  Bruno Haible  <bruno@clisp.org>
5036
5037         ioctl: Move autoconf macro to a .m4 file.
5038         * m4/ioctl.m4: New file, extracted from modules/ioctl.
5039         * modules/ioctl (Files): Add it.
5040         (configure.ac): Simply invoke gl_FUNC_IOCTL.
5041         Reported by Ian Beckwith <ianb@erislabs.net>.
5042
5043 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
5044             Bruno Haible  <bruno@clisp.org>
5045
5046         diffseq: Accommodate use-case with abstract arrays.
5047         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
5048         is not defined.
5049         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
5050         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
5051
5052 2010-04-18  Bruno Haible  <bruno@clisp.org>
5053
5054         * doc/posix-headers/stdbool.texi: More precise wording.
5055
5056 2010-04-17  Jim Meyering  <meyering@redhat.com>
5057
5058         maint.mk: use gnu-style indentation in an embedded perl script
5059         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
5060         Rename variable: s/two/last_two_bytes/
5061
5062 2010-04-16  Eric Blake  <eblake@redhat.com>
5063
5064         test-stdbool: skip test that fails with Solaris CC
5065         * tests/test-stdbool.c (f): Skip test that causes compilation
5066         error under buggy C++ compiler.
5067         * lib/stdbool.in.h: Document the limitation.
5068         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
5069
5070         setenv: allow compilation with C++
5071         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
5072         register keyword.
5073
5074         stdint: allow test to pass with C++
5075         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
5076
5077         getopt: allow compilation with C++
5078         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
5079         struct.
5080         * lib/getopt.c (_getopt_internal_r): Use correct type.
5081         Reported by Dagobert Michelson, via Joel E. Denny.
5082
5083 2010-04-16  Bruno Haible  <bruno@clisp.org>
5084
5085         Override netdb.h always.
5086         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
5087         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
5088         Reported by Ludovic Courtès <ludo@gnu.org>.
5089
5090 2010-04-15  Bruno Haible  <bruno@clisp.org>
5091
5092         openpty: Fix mistake from 2010-03-21.
5093         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
5094         Reported by Simon Josefsson.
5095
5096 2010-04-15  Eric Blake  <eblake@redhat.com>
5097
5098         test-forkpty: fix expected signature
5099         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
5100         Reported by Simon Josefsson.
5101
5102 2010-04-15  Jim Meyering  <meyering@redhat.com>
5103
5104         maint.mk: texinfo_suffix_re_: correct the default regexp
5105         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
5106
5107         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
5108         make it configurable via texinfo_suffix_re_.
5109
5110 2010-04-14  Eric Blake  <eblake@redhat.com>
5111
5112         strtok_r: relax license to LGPLv2+
5113         * modules/strtok_r (License): Relax license.
5114         Reported by Matthias Bolte.
5115
5116 2010-04-14  Simon Josefsson  <simon@josefsson.org>
5117
5118         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
5119         version 1.4.4 by default instead of requiring the libgcrypt
5120         version used during build.  This makes it possible to use the
5121         application with older but still binary compatible libgcrypt
5122         versions.
5123
5124 2010-04-13  Eric Blake  <eblake@redhat.com>
5125
5126         getopt-gnu: match recent glibc fixes and posix ruling
5127         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
5128         '+' handling, when requesting extensions.
5129         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
5130         'W;' handling.
5131         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
5132         * doc/posix-functions/getopt.texi (getopt): Document this.
5133         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5134         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5135         Likewise.
5136
5137         getopt: merge bug fixes from glibc
5138         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
5139         diagnostics.  Honor '+:' correctly.  Reject ';'.
5140
5141         getopt-posix: detect MacOS bug
5142         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
5143         optind when missing a required argument.
5144         * doc/posix-functions/getopt.texi (getopt): Document the bug.
5145         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5146         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5147         Likewise.
5148
5149         getopt-posix: avoid spurious failure on Solaris
5150         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
5151         an indicator that setting optind=1 is sufficient for reset.
5152
5153         getopt-posix: avoid spurious failure on FreeBSD
5154         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
5155         in POSIX mode, since the m4 test uses it.
5156
5157         gnulib-tool: silence warning on BSD sh
5158         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
5159
5160 2010-04-13  Jim Meyering  <meyering@redhat.com>
5161
5162         doc: users.txt: GNU patch now uses gnulib
5163         * users.txt: Add patch.
5164
5165 2010-04-12  Jim Meyering  <meyering@redhat.com>
5166
5167         maint.mk: generate more concise timing data for syntax-check rules
5168         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
5169         " done" from each line that reports a syntax-check test duration.
5170
5171 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
5172
5173         git-version-gen: use "git update-index..." rather than "git status"
5174         * build-aux/git-version-gen: Use git update-index --refresh, not
5175         "git status".  With some versions of git, "git status" would fail
5176         to update the index and result in an unwarranted "-dirty" suffix.
5177
5178 2010-04-11  Jim Meyering  <meyering@redhat.com>
5179
5180         openat: correct formatting (no semantic change)
5181         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
5182         Suggested by Bruno Haible.
5183
5184 2010-04-11  Bruno Haible  <bruno@clisp.org>
5185
5186         Stricter declaration checking in testdirs.
5187         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5188         If for_tests is true, augment AM_CPPFLAGS to define
5189         GNULIB_STRICT_CHECKING.
5190         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
5191         GNULIB_STRICT_CHECKING is defined, verify that the function is
5192         declared.
5193
5194 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
5195             Bruno Haible  <bruno@clisp.org>
5196
5197         libunistring: Improve configure output.
5198         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
5199         Don't say "consider installing GNU libunistring" when checking again
5200         with libiconv.
5201
5202 2010-04-11  Bruno Haible  <bruno@clisp.org>
5203
5204         libunistring: Correct value of $LTLIBUNISTRING.
5205         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
5206         correct the value of $LTLIBUNISTRING.
5207
5208 2010-04-11  Bruno Haible  <bruno@clisp.org>
5209
5210         havelib: Add static libraries to LIBS in the right order.
5211         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
5212         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
5213
5214 2010-04-11  Bruno Haible  <bruno@clisp.org>
5215
5216         libunistring: Detect libunistring also when it depends on libiconv.
5217         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
5218         the second AC_LIB_HAVE_LINKFLAGS invocation.
5219
5220 2010-04-11  James Youngman  <jay@gnu.org>
5221
5222         close-stream: declare local scalars to be "const"
5223         * lib/close-stream.c (close_stream): Make boolean variables const
5224         to document the fact that we set but do not change them.
5225
5226 2010-04-11  Bruno Haible  <bruno@clisp.org>
5227
5228         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
5229
5230 2010-04-11  Jim Meyering  <meyering@redhat.com>
5231
5232         maint.mk: don't include dist-check.mk
5233         * top/maint.mk: Remove bogus include directive.
5234
5235         maint.mk: improve empty-line-at-EOF check
5236         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
5237         solution, rather than tail+Perl-based one.  The latter would read
5238         a few kilobytes from the end of each file, and did not handle empty
5239         files properly.
5240
5241         maint.mk: print the elapsed time for each syntax-check rule
5242         * top/maint.mk (sc_m_rules_): Save start time in a file.
5243         (sc_z_rules_): New rules: remove temp file and print elapsed time.
5244         (local-check): Interpose the .z rules
5245
5246 2010-04-11  Jim Meyering  <meyering@redhat.com>
5247
5248         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
5249         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
5250         empty file with one that ends in an empty line.
5251
5252 2010-04-10  Bruno Haible  <bruno@clisp.org>
5253
5254         mkdir: Make it work on mingw64.
5255         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
5256         * lib/mkdir.c: Update comment.
5257         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
5258
5259 2010-04-10  Bruno Haible  <bruno@clisp.org>
5260
5261         Don't override improved macro from newer autoconf.
5262         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
5263         autoconf >= 2.62.
5264         Reported by Joel E. Denny <jdenny@clemson.edu>.
5265
5266 2010-04-10  Jim Meyering  <meyering@redhat.com>
5267
5268         maint.mk: new syntax-check rule: prohibit empty lines at end of file
5269         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
5270
5271         maint.mk: correct a diagnostic
5272         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
5273         in diagnostic; now use $prohibit.
5274
5275 2010-04-10  Bruno Haible  <address@hidden>
5276
5277         fchownat: Fix a C++ test error on Solaris 8.
5278         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
5279         the function does not exist.
5280
5281 2010-04-10  Bruno Haible  <bruno@clisp.org>
5282
5283         vasnprintf: Add more tests.
5284         * tests/test-vasnprintf-posix.c: Include <errno.h>.
5285         (test_function): Test converting an invalid wide string.
5286
5287         vasnprintf: Correct handling of unconvertible wide string arguments.
5288         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
5289         VASNPRINTF.
5290         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
5291         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
5292         smaller than the expected maximum need for the directive. Set errno to
5293         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
5294         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
5295         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
5296         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
5297         * modules/vasnprintf (Files): Add m4/printf.m4.
5298         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5299
5300 2010-04-10  Bruno Haible  <bruno@clisp.org>
5301
5302         vasnprintf: Fix crash in %ls directive.
5303         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
5304         string is passed as argument to %ls, with no precision and no width.
5305         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5306
5307 2010-04-10  Bruno Haible  <bruno@clisp.org>
5308
5309         vasnprintf: Fix multiple test failures on mingw.
5310         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
5311         _snprintf, or snwprintf, not _snwprintf.
5312
5313 2010-04-10  Bruno Haible  <bruno@clisp.org>
5314
5315         write: Fix a C++ test error on mingw.
5316         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
5317
5318 2010-04-10  Bruno Haible  <bruno@clisp.org>
5319
5320         vasnprintf test: Reduce code duplication.
5321         * tests/test-vasnprintf.c (test_function): New function, extracted from
5322         test_vasnprintf.
5323         (test_vasnprintf, test_asnprintf): Invoke it.
5324
5325 2010-04-10  Bruno Haible  <bruno@clisp.org>
5326
5327         strnlen: Fix warning in C++ mode on MacOS X.
5328         * lib/string.in.h (strnlen): Use the modern idiom.
5329         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
5330         defining strnlen as a macro already in <config.h>.
5331         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5332         REPLACE_STRNLEN.
5333         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
5334         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5335
5336 2010-04-08  James Youngman  <jay@gnu.org>
5337
5338         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
5339         the example.
5340
5341 2010-04-09  Jim Meyering  <meyering@redhat.com>
5342
5343         maint.mk: print better diagnostic when there is no $(_hv_file)
5344         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
5345         announce that when $(_hv_file) (aka help-version) does not exist.
5346
5347         init.sh: run tr in the "C" locale to avoid multibyte interpretation
5348         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
5349         not try to interpret its random input bytes.  Jarno Rajahalme reported
5350         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
5351         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
5352         (mktempd_): Likewise, just in case.
5353
5354         ftruncate: add two years to projected module removal date: 2012
5355         * m4/ftruncate.m4: Adjust comments.
5356
5357         ftruncate: mark module as obsolete; even MinGW provides it, now
5358         * modules/ftruncate (Status): Obsolete.
5359         (Notice): Say that.
5360         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
5361         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
5362
5363 2010-04-08  Bruno Haible  <bruno@clisp.org>
5364
5365         Fix side effects from tests-related modules.
5366         * modules/dprintf-posix (Comment): New section.
5367         * modules/fprintf-posix (Comment): Likewise.
5368         * modules/obstack-printf-posix (Comment): Likewise.
5369         * modules/printf-posix (Comment): Likewise.
5370         * modules/snprintf-posix (Comment): Likewise.
5371         * modules/sprintf-posix (Comment): Likewise.
5372         * modules/vasnprintf-posix (Comment): Likewise.
5373         * modules/vasprintf-posix (Comment): Likewise.
5374         * modules/vdprintf-posix (Comment): Likewise.
5375         * modules/vfprintf-posix (Comment): Likewise.
5376         * modules/vprintf-posix (Comment): Likewise.
5377         * modules/vsnprintf-posix (Comment): Likewise.
5378         * modules/vsprintf-posix (Comment): Likewise.
5379         * modules/xprintf-posix (Comment): Likewise.
5380         * modules/xvasprintf-posix (Comment): Likewise.
5381         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
5382         * modules/floorf-tests (Depends-on): Likewise.
5383         * modules/round-tests (Depends-on): Likewise.
5384         * modules/roundf-tests (Depends-on): Likewise.
5385         * modules/trunc-tests (Depends-on): Likewise.
5386         * modules/truncf-tests (Depends-on): Likewise.
5387         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
5388         'fprintf-posix' module is not present.
5389         * tests/test-floorf2.c (check): Likewise.
5390         * tests/test-trunc2.c (check): Likewise.
5391         * tests/test-truncf2.c (check): Likewise.
5392         * tests/test-round2.c (equal): Likewise.
5393         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5394
5395 2010-04-07  Karl Berry  <karl@gnu.org>
5396
5397         * config/srclist.txt,
5398         * config/srclistvars.sh,
5399         * config/srclist-update: doc fixes.
5400
5401 2010-04-07  Jim Meyering  <meyering@redhat.com>
5402
5403         maint.mk: add a PATH crosschecking syntax-check rule
5404         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
5405         Useful if you use a test like the one in help-version (coreutils,
5406         diffutils, grep, gzip) that ensures $(VERSION) matches what is
5407         printed by prog --version.
5408
5409 2010-04-06  Bruno Haible  <bruno@clisp.org>
5410
5411         Fix link error on mingw.
5412         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
5413         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
5414
5415 2010-04-06  Bruno Haible  <bruno@clisp.org>
5416
5417         Assume rmdir exists.
5418         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
5419
5420 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
5421
5422         doc: update users.txt
5423         * users.txt: Add gcal.
5424
5425 2010-04-06  Jim Meyering  <meyering@redhat.com>
5426
5427         init.sh: simply unset TMPDIR rather than risking env -i
5428         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
5429         although it probably works fine on all Unix-based systems, some
5430         systems (Cygwin?) cannot tolerate a totally cleared environment.
5431         Suggestion from Eric Blake.
5432
5433 2010-04-06  Jim Meyering  <meyering@redhat.com>
5434
5435         init.sh: portability fix: use env's POSIX-specified -i option not -u
5436         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
5437         than unportable env -u.  Solaris 5.11's env lacks support for -u.
5438
5439 2010-04-05  Bruno Haible  <bruno@clisp.org>
5440
5441         btowc: Work around Cygwin 1.7.2 bug.
5442         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
5443         does not map NUL to 0.
5444         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
5445
5446 2010-04-05  Bruno Haible  <bruno@clisp.org>
5447
5448         Make the multithread modules work on Cygwin 1.7.2.
5449         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
5450         imported symbols can be declared weak, so that it returns "no" on
5451         Cygwin 1.7.2.
5452
5453 2010-04-05  Bruno Haible  <bruno@clisp.org>
5454
5455         Use the module 'strncat'.
5456         * modules/unistr/u8-strncat (Depends-on): Add strncat.
5457
5458         Tests for module 'strncat'.
5459         * modules/strncat-tests: New file.
5460         * tests/test-strncat.c: New file.
5461
5462         New module 'strncat'.
5463         * lib/string.in.h (strncat): New declaration.
5464         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
5465         * m4/strncat.m4: New file, based on m4/memchr.m4.
5466         * modules/strncat: New file.
5467         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
5468         is declared.
5469         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
5470         REPLACE_STRNCAT.
5471         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
5472         REPLACE_STRNCAT.
5473         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
5474         module.
5475         * tests/test-string-c++.cc: Check signature of strncat.
5476
5477 2010-04-05  Jim Meyering  <meyering@redhat.com>
5478
5479         xstrtoumax-tests: convert to use init.sh
5480         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
5481         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5482         Use Exit, not exit.
5483         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5484
5485         xstrtoimax-tests: convert to use init.sh
5486         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
5487         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5488         Use Exit, not exit.
5489         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5490
5491 2010-04-05  Bruno Haible  <bruno@clisp.org>
5492
5493         sys_socket: Avoid #define replacements in C++ mode.
5494         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
5495         warning to the function if possible, rather than #defining the symbol
5496         to a dysfunctional alias.
5497
5498 2010-04-05  Bruno Haible  <bruno@clisp.org>
5499
5500         fseeko: Fix C++ test error on mingw.
5501         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
5502         gl_FUNC_FSEEKO.
5503         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
5504         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
5505         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
5506         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
5507
5508 2010-04-05  Bruno Haible  <bruno@clisp.org>
5509
5510         duplocale: Improve test output.
5511         * tests/test-duplocale.c (main): Print reason for skipped test.
5512
5513 2010-04-05  Bruno Haible  <bruno@clisp.org>
5514
5515         Assume rmdir exists.
5516         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
5517         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
5518
5519 2010-04-05  Bruno Haible  <bruno@clisp.org>
5520
5521         Fix link error on Solaris 8 with cc.
5522         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
5523
5524 2010-04-05  Bruno Haible  <bruno@clisp.org>
5525
5526         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
5527         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
5528
5529 2010-04-05  Bruno Haible  <bruno@clisp.org>
5530
5531         vasprintf: Update documentation.
5532         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
5533
5534 2010-04-05  Bruno Haible  <bruno@clisp.org>
5535
5536         ptsname: Improve test.
5537         * tests/test-ptsname.c (main): Also try the various master names of BSD
5538         systems.
5539
5540 2010-04-05  Bruno Haible  <bruno@clisp.org>
5541
5542         memchr: Avoid a possible C++ test error.
5543         * lib/string.in.h (memchr): Provide declaration if function is missing.
5544         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
5545         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
5546         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
5547         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
5548
5549 2010-04-05  Bruno Haible  <bruno@clisp.org>
5550
5551         strtok_r: Improve idiom.
5552         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
5553         AC_LIBOBJ is used.
5554
5555 2010-04-05  Bruno Haible  <bruno@clisp.org>
5556
5557         strdup: Improve idiom.
5558         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
5559         AC_LIBOBJ is used.
5560         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
5561         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
5562         when AC_LIBOBJ is used.
5563
5564 2010-04-05  Bruno Haible  <bruno@clisp.org>
5565
5566         mbsinit, mbrtowc, wcrtomb: Improve idioms.
5567         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
5568         don't set REPLACE_MBSINIT to 1.
5569         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
5570         don't set REPLACE_MBRTOWC to 1.
5571         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
5572         exist, don't set REPLACE_MBSRTOWCS to 1.
5573         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
5574         exist, don't set REPLACE_MBSNRTOWCS to 1.
5575         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
5576         don't set REPLACE_WCRTOMB to 1.
5577         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
5578         exist, don't set REPLACE_WCSRTOMBS to 1.
5579         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
5580         exist, don't set REPLACE_WCSNRTOMBS to 1.
5581
5582 2010-04-05  Bruno Haible  <bruno@clisp.org>
5583
5584         ldexpl: Improve idiom.
5585         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
5586         make sure to set HAVE_DECL_LDEXPL to 0.
5587
5588 2010-04-05  Jim Meyering  <meyering@redhat.com>
5589
5590         xstrtol-tests: convert to use init.sh
5591         * modules/xstrtol-tests (Files): Add tests/init.sh.
5592         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5593         Use Exit, not exit.
5594         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5595
5596         atexit-tests: convert to use init.sh
5597         * modules/atexit-tests (Files): Add tests/init.sh.
5598         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5599         Use Exit, not exit.
5600         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5601
5602         init.sh: fix typo
5603         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
5604
5605         init.sh: make it easier for a test script to write to the tty, ...
5606         when using automake's parallel-tests mode.
5607         * tests/init.sh (stderr_fileno_): Define overridable variable.
5608         (warn_): New function, to use it.
5609         (fail_, skip_, framework_failure_): Use warn_.
5610
5611 2010-04-04  Bruno Haible  <bruno@clisp.org>
5612
5613         btowc: Avoid warning.
5614         * lib/btowc.c: Include <stdlib.h>.
5615         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
5616
5617 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
5618             Bruno Haible  <bruno@clisp.org>
5619
5620         wchar: Port to NetBSD 1.5.
5621         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
5622         * lib/wctype.in.h (WEOF): Likewise.
5623
5624 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
5625             Bruno Haible  <bruno@clisp.org>
5626
5627         Port extended stdio to NetBSD 1.5.
5628         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
5629         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
5630         older.
5631
5632 2010-04-04  Bruno Haible  <bruno@clisp.org>
5633
5634         string: Remove unused substitution.
5635         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5636         HAVE_DECL_STRERROR.
5637         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
5638
5639 2010-04-04  Bruno Haible  <bruno@clisp.org>
5640
5641         strtod: Avoid a possible C++ test error.
5642         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
5643         set REPLACE_STRTOD.
5644
5645 2010-04-04  Bruno Haible  <bruno@clisp.org>
5646
5647         strerror: Update documentation.
5648         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
5649
5650 2010-04-04  Bruno Haible  <bruno@clisp.org>
5651
5652         stdio: Fix some C++ test errors on Solaris 8 with GCC.
5653         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
5654         _GL_CXXALIAS_SYS_CAST.
5655
5656 2010-04-04  Bruno Haible  <bruno@clisp.org>
5657
5658         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
5659         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
5660         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
5661         REPLACE_FREXPL to 1.
5662         * doc/posix-functions/frexpl.texi: Update documentation.
5663
5664 2010-04-04  Bruno Haible  <bruno@clisp.org>
5665
5666         math: Fix some C++ test errors on Solaris 8 and Cygwin.
5667         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
5668
5669 2010-04-04  Bruno Haible  <bruno@clisp.org>
5670
5671         Implement nanosleep for native Windows.
5672         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
5673
5674 2010-04-04  Bruno Haible  <bruno@clisp.org>
5675
5676         math: Fix some C++ test errors on Solaris 8.
5677         * lib/math.in.h (truncf, trunc): Use simpler idiom.
5678
5679 2010-04-04  Bruno Haible  <bruno@clisp.org>
5680
5681         math: Fix some C++ test errors on Cygwin.
5682         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
5683         truncl): Provide declaration if the system does not have it.
5684         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
5685         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
5686         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
5687         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
5688         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
5689         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
5690         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
5691         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
5692         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
5693         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
5694         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
5695         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
5696         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
5697         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
5698         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
5699         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
5700         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
5701         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
5702         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
5703         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
5704         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
5705         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
5706
5707 2010-04-04  Bruno Haible  <bruno@clisp.org>
5708
5709         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
5710         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5711         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5712         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
5713         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
5714         * m4/isinf.m4 (gl_ISINF): Likewise.
5715         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5716
5717 2010-04-04  Bruno Haible  <bruno@clisp.org>
5718
5719         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
5720         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5721
5722 2010-04-04  Bruno Haible  <bruno@clisp.org>
5723
5724         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
5725         * modules/tmpfile (configure.ac): Update.
5726
5727         tmpfile: Fix C++ test error on mingw.
5728         * lib/stdio.in.h (tmpfile): New declaration.
5729         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
5730         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
5731         * modules/tmpfile (Depends-on): Add stdio.
5732         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
5733         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
5734         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
5735         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
5736         REPLACE_TMPFILE.
5737         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
5738
5739 2010-04-04  Bruno Haible  <bruno@clisp.org>
5740
5741         ioctl: Fix C++ test error on mingw.
5742         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
5743         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
5744         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
5745
5746 2010-04-03  Bruno Haible  <bruno@clisp.org>
5747
5748         wcwidth: Fix C++ test error on mingw.
5749         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
5750         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
5751         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
5752
5753 2010-04-03  Bruno Haible  <bruno@clisp.org>
5754
5755         nanosleep: Fix C++ test error on mingw.
5756         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
5757         * lib/time.in.h (nanosleep): Use modern idiom.
5758         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
5759         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
5760         REPLACE_NANOSLEEP to 1.
5761         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
5762         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
5763
5764 2010-04-03  Bruno Haible  <bruno@clisp.org>
5765
5766         strptime: Fix C++ test error on mingw.
5767         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
5768         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
5769         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
5770         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
5771         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
5772         not REPLACE_STRPTIME.
5773         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
5774         REPLACE_STRPTIME.
5775
5776 2010-04-03  Bruno Haible  <bruno@clisp.org>
5777
5778         timegm: Fix C++ test error on mingw.
5779         * lib/time.in.h (timegm): Use modern idiom.
5780         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
5781         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
5782         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
5783         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
5784
5785 2010-04-03  Bruno Haible  <bruno@clisp.org>
5786
5787         timegm: Assume declaration if function exists.
5788         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
5789         if it exists. Don't clobber ac_cv_func_timegm.
5790
5791 2010-04-03  Bruno Haible  <bruno@clisp.org>
5792
5793         time_r: Fix C++ test error on mingw.
5794         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
5795         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
5796         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
5797         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
5798         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
5799
5800 2010-04-03  Bruno Haible  <bruno@clisp.org>
5801
5802         time_r: Minor updates.
5803         * modules/time_r (Description): Mention the provided functions.
5804         * lib/time_r.c: Don't include <string.h>.
5805         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
5806         * doc/posix-functions/localtime_r.texi: Likewise.
5807
5808 2010-04-03  Bruno Haible  <bruno@clisp.org>
5809
5810         time: Fix regression introduced on 2010-03-08.
5811         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
5812         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
5813
5814 2010-04-03  Jim Meyering  <meyering@redhat.com>
5815
5816         maint.mk: don't silently disable project-specific syntax-check rules
5817         * top/maint.mk (_prohibit_regexp): Define, to help people realize
5818         that they need to convert their project-specific syntax-check rules
5819         to use the new _sc_search_regexp.
5820
5821 2010-04-03  Bruno Haible  <bruno@clisp.org>
5822
5823         fchdir: Fix regression introduced on 2010-03-08.
5824         * lib/unistd.in.h (fchdir): Fix declaration.
5825         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
5826         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
5827         REPLACE_FCHDIR.
5828         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
5829         REPLACE_FCHDIR.
5830
5831 2010-04-03  Bruno Haible  <bruno@clisp.org>
5832
5833         getpagesize: Fix C++ test error on mingw.
5834         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
5835         system does not declare the function.
5836         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
5837         declared.
5838         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5839         HAVE_DECL_GETPAGESIZE.
5840         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
5841
5842 2010-04-03  Bruno Haible  <bruno@clisp.org>
5843
5844         stdio: Make C++ tests work on mingw.
5845         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
5846         does not declare the function.
5847
5848 2010-04-03  Bruno Haible  <bruno@clisp.org>
5849
5850         ftello: Fix C++ test error on mingw.
5851         * lib/stdio.in.h (ftello): Use modern idiom.
5852         * lib/ftello.c (ftello): Renamed from rpl_ftello.
5853         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
5854         is missing and that it needs to be replaced.
5855         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
5856         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
5857         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
5858
5859 2010-04-03  Bruno Haible  <bruno@clisp.org>
5860
5861         fseeko: Fix C++ test error on mingw.
5862         * lib/stdio.in.h (fseeko): Use modern idiom.
5863         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
5864         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
5865         is missing and that it needs to be replaced.
5866         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
5867         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
5868         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
5869
5870 2010-04-03  Bruno Haible  <bruno@clisp.org>
5871
5872         mkstemp: Fix C++ test error on mingw.
5873         * lib/stdlib.in.h (mkstemp): Use modern idiom.
5874         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
5875         function is missing and that it needs to be replaced.
5876         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
5877         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
5878
5879 2010-04-03  Bruno Haible  <bruno@clisp.org>
5880
5881         stpncpy: Fix C++ test error on mingw.
5882         * lib/string.in.h (stpncpy): Use modern idiom.
5883         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
5884         function is missing and that it needs to be replaced.
5885         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5886         REPLACE_STPNCPY.
5887         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
5888
5889 2010-04-03  Bruno Haible  <bruno@clisp.org>
5890
5891         sys_stat: Fix C++ test error on mingw.
5892         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
5893         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
5894
5895 2010-04-03  Bruno Haible  <bruno@clisp.org>
5896
5897         pty: Update doc.
5898         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
5899
5900 2010-04-03  Bruno Haible  <bruno@clisp.org>
5901
5902         unistd: Fix C++ test error on mingw.
5903         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
5904
5905 2010-04-03  Bruno Haible  <bruno@clisp.org>
5906
5907         Update doc regarding mingw.
5908         * doc/glibc-functions/openpty.texi: Update regarding mingw.
5909         * doc/glibc-functions/login_tty.texi: Likewise.
5910         * doc/glibc-functions/forkpty.texi: Likewise.
5911
5912 2010-04-03  Bruno Haible  <bruno@clisp.org>
5913
5914         stdlib: Avoid compilation failure of c-strtold on mingw.
5915         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
5916
5917 2010-04-03  Bruno Haible  <bruno@clisp.org>
5918
5919         locale: Make C++ tests work on Cygwin and mingw.
5920         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
5921         cannot provide the function.
5922         Reported by Simon Josefsson.
5923
5924 2010-04-03  Bruno Haible  <bruno@clisp.org>
5925
5926         localename: Port to MacOS X 10.6.
5927         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
5928         memory layout of the locales in MacOS X 10.6 as well.
5929         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
5930
5931 2010-04-02  Bruno Haible  <bruno@clisp.org>
5932
5933         gnulib-tool: Ensure that long-running tests are executed last.
5934         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
5935         running tests after the one for the other tests.
5936
5937 2010-04-02  Bruno Haible  <bruno@clisp.org>
5938
5939         gnulib-tool: Ensure the tests in the main directory are executed first.
5940         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
5941         start with the current directory.
5942
5943 2010-04-02  Bruno Haible  <bruno@clisp.org>
5944
5945         Tests for module 'havelib', moved here from GNU gettext.
5946         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
5947         modifications.
5948         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
5949         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
5950         with modifications.
5951         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
5952         modifications.
5953         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
5954         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
5955         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
5956         with modifications.
5957         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
5958         with modifications.
5959         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
5960         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
5961         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
5962         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
5963         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
5964         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
5965         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
5966         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
5967         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
5968         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
5969         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
5970         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
5971         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
5972         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
5973         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
5974         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
5975         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
5976         with modifications.
5977         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
5978         with modifications.
5979         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
5980         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
5981         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
5982         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
5983         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
5984         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
5985         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
5986         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
5987         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
5988         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
5989         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
5990         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
5991         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
5992         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
5993         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
5994         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
5995         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
5996         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
5997         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
5998         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
5999         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
6000         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
6001         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
6002         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
6003         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
6004         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
6005         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
6006         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
6007         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
6008         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
6009         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
6010         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
6011         * tests/havelib/rpathx/rpathx.c: New file, from
6012         gettext/autoconf-lib-link.
6013         * tests/havelib/rpathx/Makefile.am: New file, from
6014         gettext/autoconf-lib-link.
6015         * tests/havelib/rpathx/configure.ac: New file, from
6016         gettext/autoconf-lib-link with modifications.
6017         * tests/havelib/rpathy/rpathy.c: New file, from
6018         gettext/autoconf-lib-link.
6019         * tests/havelib/rpathy/Makefile.am: New file, from
6020         gettext/autoconf-lib-link.
6021         * tests/havelib/rpathy/configure.ac: New file, from
6022         gettext/autoconf-lib-link with modifications.
6023         * tests/havelib/rpathz/rpathz.c: New file, from
6024         gettext/autoconf-lib-link.
6025         * tests/havelib/rpathz/Makefile.am: New file, from
6026         gettext/autoconf-lib-link.
6027         * tests/havelib/rpathz/configure.ac: New file, from
6028         gettext/autoconf-lib-link with modifications.
6029         * tests/havelib/rpathlx/usex.c: New file, from
6030         gettext/autoconf-lib-link.
6031         * tests/havelib/rpathlx/Makefile.am: New file, from
6032         gettext/autoconf-lib-link.
6033         * tests/havelib/rpathlx/configure.ac: New file, from
6034         gettext/autoconf-lib-link with modifications.
6035         * tests/havelib/rpathly/usey.c: New file, from
6036         gettext/autoconf-lib-link.
6037         * tests/havelib/rpathly/Makefile.am: New file, from
6038         gettext/autoconf-lib-link.
6039         * tests/havelib/rpathly/configure.ac: New file, from
6040         gettext/autoconf-lib-link with modifications.
6041         * tests/havelib/rpathlz/usez.c: New file, from
6042         gettext/autoconf-lib-link.
6043         * tests/havelib/rpathlz/Makefile.am: New file, from
6044         gettext/autoconf-lib-link.
6045         * tests/havelib/rpathlz/configure.ac: New file, from
6046         gettext/autoconf-lib-link with modifications.
6047         * tests/havelib/rpathlyx/usey.c: New file, from
6048         gettext/autoconf-lib-link.
6049         * tests/havelib/rpathlyx/Makefile.am: New file, from
6050         gettext/autoconf-lib-link.
6051         * tests/havelib/rpathlyx/configure.ac: New file, from
6052         gettext/autoconf-lib-link with modifications.
6053         * tests/havelib/rpathlzyx/usez.c: New file, from
6054         gettext/autoconf-lib-link.
6055         * tests/havelib/rpathlzyx/Makefile.am: New file, from
6056         gettext/autoconf-lib-link.
6057         * tests/havelib/rpathlzyx/configure.ac: New file, from
6058         gettext/autoconf-lib-link with modifications.
6059         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
6060         with modifications.
6061
6062 2010-04-02  Bruno Haible  <bruno@clisp.org>
6063
6064         gnulib-tool: Create distributed built sources also for the tests.
6065         * gnulib-tool (func_create_testdir): Also generate distributed built
6066         sources in the tests directory.
6067
6068 2010-04-02  Bruno Haible  <bruno@clisp.org>
6069
6070         gnulib-tool: Obey user's environment variables.
6071         * gnulib-tool (func_create_testdir): When creating built sources,
6072         respect the environment variables for autoconf, automake, etc. given by
6073         the user.
6074
6075 2010-04-02  Bruno Haible  <bruno@clisp.org>
6076
6077         gnulib-tool: Provide the value of --m4-base to modules.
6078         * gnulib-tool (func_import, func_create_testdir): Emit a definition
6079         of gl_m4_base.
6080
6081 2010-04-02  Eric Blake  <eblake@redhat.com>
6082
6083         maint.mk: fix some fallout
6084         * NEWS: Document the incompatible change, and its effect on cfg.mk.
6085         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
6086
6087 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
6088
6089         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
6090         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
6091         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
6092         (sc_cast_of_x_alloc_return_value): Likewise.
6093         (sc_cast_of_alloca_return_value): Likewise.
6094         (sc_space_tab): Likewise.
6095         (sc_prohibit_atoi_atof): Likewise.
6096         (sc_prohibit_magic_number_exit): Likewise.
6097         (sc_error_exit_success): Likewise.
6098         (sc_file_system): Likewise.
6099         (sc_prohibit_have_config_h): Likewise.
6100         (sc_require_config_h): Likewise.
6101         (sc_prohibit_HAVE_MBRTOWC): Likewise.
6102         (sc_obsolete_symbols): Likewise.
6103         (sc_changelog): Likewise.
6104         (sc_program_name): Likewise.
6105         (sc_the_the): Likewise.
6106         (sc_trailing_blank): Likewise.
6107         (sc_two_space_separator_in_usage): Likewise.
6108         (sc_useless_cpp_parens): Likewise.
6109         (sc_GPL_version): Likewise.
6110         (sc_GFDL_version): Likewise.
6111         (sc_texinfo_acronym): Likewise.
6112         (sc_prohibit_cvs_keyword): Likewise.
6113         (sc_prohibit_stat_st_blocks): Likewise.
6114         (sc_prohibit_S_IS_definition): Likewise.
6115         (sc_redundant_const): Likewise.
6116         (sc_makefile_TAB_only_indentation): Likewise.
6117         (sc_m4_quote_check): Likewise.
6118         (sc_makefile_path_separator_check): Likewise.
6119         (sc_copyright_check): Likewise.
6120         (sc_Wundef_boolean): Likewise.
6121         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
6122
6123         maint.mk: match 0 or more whitespace-before-function-call '('
6124         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
6125         that have zero or two-and-more spaces between the function name
6126         and the open parenthesis.
6127         (sc_error_message_warn_fatal): Likewise.
6128         (sc_error_message_uppercase): Likewise.
6129         (sc_error_message_period): Likewise.
6130
6131 2010-03-31  Eric Blake  <eblake@redhat.com>
6132
6133         maint.mk: check for [ as well as test
6134         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
6135         Based on a libvirt report by Matthias Bolte.
6136
6137         gnumakefile: don't squelch _version output
6138         * top/GNUmakefile (_version): Create one-shot dependency rather
6139         than using $(shell) when version must be regenerated.
6140         (_autoreconf): Run verbosely, by default.
6141
6142         sys_time: avoid compiler warnings
6143         * lib/sys_time.in.h (includes): Ensure gcc pragma is
6144         unconditional, fixing regression from 2010-03-29.
6145         Reported by Simon Josefsson.
6146
6147 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
6148
6149         maint.mk: s/_header_without_use/_sc_header_without_use/
6150         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
6151         (sc_prohibit_assert_without_use): Use the new name.
6152         (sc_prohibit_close_stream_without_use): Likewise.
6153         (sc_prohibit_getopt_without_use): Likewise.
6154         (sc_prohibit_quotearg_without_use): Likewise.
6155         (sc_prohibit_quote_without_use): Likewise.
6156         (sc_prohibit_long_options_without_use): Likewise.
6157         (sc_prohibit_inttostr_without_use): Likewise.
6158         (sc_prohibit_ignore_value_without_use): Likewise.
6159         (sc_prohibit_error_without_use): Likewise.
6160         (sc_prohibit_xalloc_without_use): Likewise.
6161         (sc_prohibit_hash_without_use): Likewise.
6162         (sc_prohibit_hash_pjw_without_use): Likewise.
6163         (sc_prohibit_safe_read_without_use): Likewise.
6164         (sc_prohibit_argmatch_without_use): Likewise.
6165         (sc_prohibit_canonicalize_without_use): Likewise.
6166         (sc_prohibit_root_dev_ino_without_use): Likewise.
6167         (sc_prohibit_openat_without_use): Likewise.
6168         (sc_prohibit_c_ctype_without_use): Likewise.
6169         (sc_prohibit_signal_without_use): Likewise.
6170         (sc_prohibit_intprops_without_use): Likewise.
6171
6172 2010-03-30  Eric Blake  <eblake@redhat.com>
6173
6174         maint: improve module indicators
6175         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
6176         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
6177         columns, and avoid extra macro expansion.
6178
6179         fdopendir: work around FreeBSD bug
6180         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
6181         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
6182         * modules/dirent (Makefile.am): Substitute it.
6183         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
6184         declaration.
6185         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
6186         fix.
6187         Reported by Christian Weisgerber <naddy@mips.inka.de>.
6188
6189 2010-03-29  Bruno Haible  <bruno@clisp.org>
6190
6191         Emit #pragma system_header after the inclusion guard, not before.
6192         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
6193         guard that spans the entire file, not before. This enables an
6194         optimization in GCC's preprocessor.
6195         * lib/ctype.in.h: Likewise.
6196         * lib/dirent.in.h: Likewise.
6197         * lib/errno.in.h: Likewise.
6198         * lib/float.in.h: Likewise.
6199         * lib/getopt.in.h: Likewise.
6200         * lib/iconv.in.h: Likewise.
6201         * lib/langinfo.in.h: Likewise.
6202         * lib/locale.in.h: Likewise.
6203         * lib/math.in.h: Likewise.
6204         * lib/netdb.in.h: Likewise.
6205         * lib/netinet_in.in.h: Likewise.
6206         * lib/pty.in.h: Likewise.
6207         * lib/sched.in.h: Likewise.
6208         * lib/se-selinux.in.h: Likewise.
6209         * lib/search.in.h: Likewise.
6210         * lib/spawn.in.h: Likewise.
6211         * lib/stdarg.in.h: Likewise.
6212         * lib/stdint.in.h: Likewise.
6213         * lib/string.in.h: Likewise.
6214         * lib/strings.in.h: Likewise.
6215         * lib/sys_file.in.h: Likewise.
6216         * lib/sys_ioctl.in.h: Likewise.
6217         * lib/sys_time.in.h: Likewise.
6218         * lib/sys_times.in.h: Likewise.
6219         * lib/sys_utsname.in.h: Likewise.
6220         * lib/sys_wait.in.h: Likewise.
6221         * lib/sysexits.in.h: Likewise.
6222         * lib/wctype.in.h: Likewise.
6223
6224 2010-03-28  James Youngman  <jay@gnu.org>
6225
6226         save-cwd: don't leak a file descriptor when the caller execs.
6227         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
6228         saved file descriptor.
6229         * modules/save-cwd (Depends-on): Depend on cloexec.
6230
6231 2010-03-29  Bruno Haible  <bruno@clisp.org>
6232
6233         Remove vestiges of fts-lgpl module.
6234         * lib/fts_.h: Assume GNULIB_FTS is 1.
6235         * lib/fts.c: Likewise.
6236         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
6237
6238 2010-03-28  Bruno Haible  <bruno@clisp.org>
6239
6240         Fix definition of tests witness macro.
6241         * gnulib-tool (func_import): Fix definition of witness macro.
6242
6243 2010-03-28  Bruno Haible  <bruno@clisp.org>
6244
6245         Fix ioctl's protoype on glibc systems.
6246         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
6247         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
6248         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
6249         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
6250         signature. If not, arrange to replace the ioctl function.
6251         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
6252         REPLACE_IOCTL.
6253         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
6254         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
6255         Reported by Ludovic Courtès <ludo@gnu.org>.
6256
6257 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
6258
6259         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
6260         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
6261         made it so grep -r --include=GLOB* ... did not work.
6262
6263 2010-03-26  Jim Meyering  <meyering@redhat.com>
6264             Eric Blake  <eblake@redhat.com>
6265
6266         maint.mk: prohibit use of test's -o and -a operators
6267         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
6268
6269 2010-03-28  Bruno Haible  <bruno@clisp.org>
6270
6271         Remove unused GNULIB_XYZ macro definitions.
6272         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
6273         invocation.
6274
6275 2010-03-28  Bruno Haible  <bruno@clisp.org>
6276
6277         Mark privileged tests modules.
6278         * modules/idpriv-drop-tests (Status): New section.
6279         * modules/idpriv-droptemp-tests (Status): New section.
6280
6281 2010-03-28  Bruno Haible  <bruno@clisp.org>
6282
6283         Split C++ tests into separate tests modules.
6284         * modules/dirent-c++-tests: New file, extracted from
6285         modules/dirent-tests.
6286         * modules/dirent-tests: Depend on it.
6287         * modules/fcntl-h-c++-tests: New file, extracted from
6288         modules/fcntl-h-tests.
6289         * modules/fcntl-h-tests: Depend on it.
6290         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
6291         * modules/glob-tests: Depend on it.
6292         * modules/iconv-h-c++-tests: New file, extracted from
6293         modules/iconv-h-tests.
6294         * modules/iconv-h-tests: Depend on it.
6295         * modules/langinfo-c++-tests: New file, extracted from
6296         modules/langinfo-tests.
6297         * modules/langinfo-tests: Depend on it.
6298         * modules/locale-c++-tests: New file, extracted from
6299         modules/locale-tests.
6300         * modules/locale-tests: Depend on it.
6301         * modules/math-c++-tests: New file, extracted from modules/math-tests.
6302         * modules/math-tests: Depend on it.
6303         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
6304         * modules/pty-tests: Depend on it.
6305         * modules/search-c++-tests: New file, extracted from
6306         modules/search-tests.
6307         * modules/search-tests: Depend on it.
6308         * modules/signal-c++-tests: New file, extracted from
6309         modules/signal-tests.
6310         * modules/signal-tests: Depend on it.
6311         * modules/spawn-c++-tests: New file, extracted from
6312         modules/spawn-tests.
6313         * modules/spawn-tests: Depend on it.
6314         * modules/stdio-c++-tests: New file, extracted from
6315         modules/stdio-tests.
6316         * modules/stdio-tests: Depend on it.
6317         * modules/stdlib-c++-tests: New file, extracted from
6318         modules/stdlib-tests.
6319         * modules/stdlib-tests: Depend on it.
6320         * modules/string-c++-tests: New file, extracted from
6321         modules/string-tests.
6322         * modules/string-tests: Depend on it.
6323         * modules/sys_ioctl-c++-tests: New file, extracted from
6324         modules/sys_ioctl-tests.
6325         * modules/sys_ioctl-tests: Depend on it.
6326         * modules/sys_select-c++-tests: New file, extracted from
6327         modules/sys_select-tests.
6328         * modules/sys_select-tests: Depend on it.
6329         * modules/sys_socket-c++-tests: New file, extracted from
6330         modules/sys_socket-tests.
6331         * modules/sys_socket-tests: Depend on it.
6332         * modules/sys_stat-c++-tests: New file, extracted from
6333         modules/sys_stat-tests.
6334         * modules/sys_stat-tests: Depend on it.
6335         * modules/sys_time-c++-tests: New file, extracted from
6336         modules/sys_time-tests.
6337         * modules/sys_time-tests: Depend on it.
6338         * modules/time-c++-tests: New file, extracted from modules/time-tests.
6339         * modules/time-tests: Depend on it.
6340         * modules/unistd-c++-tests: New file, extracted from
6341         modules/unistd-tests.
6342         * modules/unistd-tests: Depend on it.
6343         * modules/wchar-c++-tests: New file, extracted from
6344         modules/wchar-tests.
6345         * modules/wchar-tests: Depend on it.
6346         * modules/wctype-c++-tests: New file, extracted from
6347         modules/wctype-tests.
6348         * modules/wctype-tests: Depend on it.
6349         Reported by Simon Josefsson.
6350
6351 2010-03-28  Bruno Haible  <bruno@clisp.org>
6352
6353         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
6354         * gnulib-tool (func_exists_module): New function, extracted from
6355         func_verify_module.
6356         (func_verify_module): Use it.
6357         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
6358         'foo' only if 'foo' exists.
6359         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
6360         module.
6361
6362 2010-03-28  Bruno Haible  <bruno@clisp.org>
6363
6364         gnulib-tool: Add support for special categories of tests.
6365         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
6366         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
6367         (func_usage): Document them.
6368         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
6369         inc_unportable_tests, inc_all_tests): New variables.
6370         (func_acceptable): Consider these variables.
6371         (func_modules_transitive_closure): Make it work when the 'Status' field
6372         consists of multiple words.
6373         (func_import): Store and restore the values of inc_cxx_tests,
6374         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
6375         inc_all_tests in gnulib-comp.m4.
6376         (func_create_testdir): Set inc_all_tests to true.
6377         * doc/gnulib.texi (Extra tests modules): New section.
6378         Suggested by Jim Meyering.
6379
6380 2010-03-28  Bruno Haible  <bruno@clisp.org>
6381
6382         ansi-c++-opt: Allow turning off the C++ build by default.
6383         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
6384         gl_CXX_CHOICE_DEFAULT_NO is defined.
6385         Requested by Eric Blake.
6386
6387 2010-03-28  Bruno Haible  <bruno@clisp.org>
6388
6389         unistd: Avoid #define replacements in C++ mode.
6390         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
6391         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
6392         setsockopt, shutdown, select): In C++, attach a warning to the function
6393         if possible, rather than #defining the symbol to a dysfunctional alias.
6394         Reported by John W. Eaton <jwe@gnu.org>.
6395
6396 2010-03-28  Bruno Haible  <bruno@clisp.org>
6397
6398         Fix link errors on mingw.
6399         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
6400         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
6401         $(LIBSOCKET).
6402         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
6403         $(LIBSOCKET).
6404
6405 2010-03-28  Bruno Haible  <bruno@clisp.org>
6406             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6407
6408         lib-ignore: Determine different options for different compilers.
6409         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
6410         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
6411         Add comments.
6412         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
6413         * NEWS: Mention the change.
6414
6415 2010-03-27  Bruno Haible  <bruno@clisp.org>
6416
6417         Remove unused GNULIB_XYZ macro definitions.
6418         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
6419         * modules/fseek (configure.ac): Likewise.
6420         * modules/ioctl (configure.ac): Likewise.
6421         * modules/open (configure.ac): Likewise.
6422         * modules/stdlib-safer (configure.ac): Likewise.
6423
6424 2010-03-27  Bruno Haible  <bruno@clisp.org>
6425
6426         Add a remark about certain modules.
6427         * modules/malloc (Comment): New section.
6428         * modules/realloc (Comment): Likewise.
6429         * modules/sigpipe (Comment): Likewise.
6430
6431 2010-03-27  Bruno Haible  <bruno@clisp.org>
6432
6433         Resolve conflict between the two kinds of module indicators.
6434         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
6435         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
6436         * modules/canonicalize (configure.ac): Invoke
6437         gl_MODULE_INDICATOR_FOR_TESTS.
6438         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
6439         GNULIB_XYZ.
6440         * tests/test-dirent-c++.cc: Likewise.
6441         * tests/test-dirent-safer.c: Likewise.
6442         * tests/test-dup2.c: Likewise.
6443         * tests/test-fchdir.c: Likewise.
6444         * tests/test-fcntl-h-c++.cc: Likewise.
6445         * tests/test-getopt.c: Likewise.
6446         * tests/test-getopt.h: Likewise.
6447         * tests/test-langinfo-c++.cc: Likewise.
6448         * tests/test-locale-c++.cc: Likewise.
6449         * tests/test-math-c++.cc: Likewise.
6450         * tests/test-pty-c++.cc: Likewise.
6451         * tests/test-search-c++.cc: Likewise.
6452         * tests/test-signal-c++.cc: Likewise.
6453         * tests/test-spawn-c++.cc: Likewise.
6454         * tests/test-stdio-c++.cc: Likewise.
6455         * tests/test-stdlib-c++.cc: Likewise.
6456         * tests/test-string-c++.cc: Likewise.
6457         * tests/test-sys_ioctl-c++.cc: Likewise.
6458         * tests/test-sys_select-c++.cc: Likewise.
6459         * tests/test-sys_socket-c++.cc: Likewise.
6460         * tests/test-sys_stat-c++.cc: Likewise.
6461         * tests/test-sys_time-c++.cc: Likewise.
6462         * tests/test-time-c++.cc: Likewise.
6463         * tests/test-unistd-c++.cc: Likewise.
6464         * tests/test-wchar-c++.cc: Likewise.
6465         * tests/uninorm/test-u8-nfc.c: Likewise.
6466         * tests/uninorm/test-u8-nfd.c: Likewise.
6467         * tests/uninorm/test-u8-nfkc.c: Likewise.
6468         * tests/uninorm/test-u8-nfkd.c: Likewise.
6469         * tests/uninorm/test-u16-nfc.c: Likewise.
6470         * tests/uninorm/test-u16-nfd.c: Likewise.
6471         * tests/uninorm/test-u16-nfkc.c: Likewise.
6472         * tests/uninorm/test-u16-nfkd.c: Likewise.
6473         * tests/uninorm/test-u32-nfc.c: Likewise.
6474         * tests/uninorm/test-u32-nfc-big.c: Likewise.
6475         * tests/uninorm/test-u32-nfd.c: Likewise.
6476         * tests/uninorm/test-u32-nfd-big.c: Likewise.
6477         * tests/uninorm/test-u32-nfkc.c: Likewise.
6478         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
6479         * tests/uninorm/test-u32-nfkd.c: Likewise.
6480         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
6481         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6482
6483 2010-03-27  Bruno Haible  <bruno@clisp.org>
6484
6485         Distinguish two kinds of module indicators.
6486         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
6487         gl_MODULE_INDICATOR.
6488         (gl_MODULE_INDICATOR): New macro.
6489         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
6490         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
6491         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
6492         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
6493         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
6494         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
6495         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
6496         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
6497         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
6498         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
6499         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
6500         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
6501         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
6502         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
6503         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
6504         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
6505         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
6506         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
6507         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
6508         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
6509         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
6510         * modules/cloexec (configure.ac): Likewise.
6511         * modules/getopt-gnu (configure.ac): Likewise.
6512         * modules/uninorm/u8-normalize (configure.ac): Likewise.
6513         * modules/uninorm/u16-normalize (configure.ac): Likewise.
6514         * modules/uninorm/u32-normalize (configure.ac): Likewise.
6515         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
6516
6517 2010-03-27  Bruno Haible  <bruno@clisp.org>
6518
6519         New module description field 'Comment'.
6520         * gnulib-tool: New option --extract-comment.
6521         (func_usage): Document it.
6522         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
6523         (func_get_comment): New function.
6524         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
6525
6526 2010-03-27  Bruno Haible  <bruno@clisp.org>
6527
6528         Addendum to 2010-02-07 commit.
6529         * gnulib-tool (func_usage): Document --extract-applicability option.
6530
6531 2010-03-27  Bruno Haible  <bruno@clisp.org>
6532
6533         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
6534         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
6535         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
6536         rather than link errors.
6537
6538 2010-03-27  Bruno Haible  <bruno@clisp.org>
6539
6540         Avoid side effects from tests-related modules on the compilation of lib.
6541         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
6542         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
6543         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
6544         parameter. Emit into AM_CPPFLAGS a definition of the designated C
6545         macro.
6546         (func_import): Define a witness macro. Assign it a value that depends
6547         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
6548         tests-related modules.
6549         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
6550         Reported by Jim Meyering.
6551
6552 2010-03-27  Bruno Haible  <bruno@clisp.org>
6553
6554         Factorize common .m4 code.
6555         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
6556         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
6557         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
6558         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
6559         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
6560         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
6561         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
6562         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
6563         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
6564         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
6565         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
6566         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
6567         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
6568         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
6569         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
6570         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
6571         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
6572         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
6573         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
6574         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
6575         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
6576         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
6577         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
6578         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
6579         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
6580         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
6581         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
6582         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
6583         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
6584         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
6585         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
6586         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
6587
6588 2010-03-27  Bruno Haible  <bruno@clisp.org>
6589
6590         Fix a compilation error on Cygwin with g++ >= 4.3.
6591         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
6592         if it is undefined or if we alias it to chmod.
6593         (lstat): Don't warn about the use of this function if it is undefined
6594         or if we alias it to stat.
6595         Reported by Simon Josefsson.
6596
6597 2010-03-27  Bruno Haible  <bruno@clisp.org>
6598
6599         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
6600         * modules/getlogin (configure.ac): Update.
6601
6602         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
6603         * modules/getlogin_r (configure.ac): Update.
6604
6605         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
6606         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
6607         * modules/inet_ntop (configure.ac): Update.
6608
6609         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
6610         * modules/inet_pton (configure.ac): Update.
6611
6612         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
6613         * modules/mbslen (configure.ac): Update.
6614
6615         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
6616         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
6617         * modules/forkpty (configure.ac): Update.
6618         * modules/openpty (configure.ac): Update.
6619
6620 2010-03-26  Simon Josefsson  <simon@josefsson.org>
6621
6622         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
6623         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
6624
6625 2010-03-25  Eric Blake  <eblake@redhat.com>
6626
6627         maint: use pragma consistently across replacement headers
6628         * lib/ctype.in.h (system_header): Hoist for consistent placement.
6629         * lib/dirent.in.h (system_header): Likewise.
6630         * lib/errno.in.h (system_header): Likewise.
6631         * lib/float.in.h (system_header): Likewise.
6632         * lib/getopt.in.h (system_header): Likewise.
6633         * lib/iconv.in.h (system_header): Likewise.
6634         * lib/inttypes.in.h (system_header): Likewise.
6635         * lib/langinfo.in.h (system_header): Likewise.
6636         * lib/locale.in.h (system_header): Likewise.
6637         * lib/math.in.h (system_header): Likewise.
6638         * lib/netdb.in.h (system_header): Likewise.
6639         * lib/netinet_in.in.h (system_header): Likewise.
6640         * lib/pty.in.h (system_header): Likewise.
6641         * lib/sched.in.h (system_header): Likewise.
6642         * lib/se-selinux.in.h (system_header): Likewise.
6643         * lib/search.in.h (system_header): Likewise.
6644         * lib/spawn.in.h (system_header): Likewise.
6645         * lib/stdarg.in.h (system_header): Likewise.
6646         * lib/stdint.in.h (system_header): Likewise.
6647         * lib/string.in.h (system_header): Likewise.
6648         * lib/strings.in.h (system_header): Likewise.
6649         * lib/sys_file.in.h (system_header): Likewise.
6650         * lib/sys_ioctl.in.h (system_header): Likewise.
6651         * lib/sys_socket.in.h (system_header): Likewise.
6652         * lib/sys_times.in.h (system_header): Likewise.
6653         * lib/sys_utsname.in.h (system_header): Likewise.
6654         * lib/sys_wait.in.h (system_header): Likewise.
6655         * lib/sysexits.in.h (system_header): Likewise.
6656         * lib/unistd.in.h (system_header): Likewise.
6657         * lib/wctype.in.h (system_header): Likewise.
6658
6659         arpa/inet: fix mingw compilation warning
6660         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
6661         Reported by Matthew Bolte.
6662
6663 2010-03-25  Bruno Haible  <bruno@clisp.org>
6664
6665         Avoid collision between gnulib wrapper and libintl wrapper.
6666         * lib/printf.c (printf): Don't define if a printf wrapper is already
6667         defined in intl/printf.c.
6668         Reported by Michel Boaventura <michel@michelboaventura.com>.
6669
6670 2010-03-25  Bruno Haible  <bruno@clisp.org>
6671
6672         Use ANSI C.
6673         * lib/readutmp.h (getutent): Provide ANSI C prototype.
6674
6675 2010-03-25  Bruno Haible  <bruno@clisp.org>
6676
6677         Minor formatting changes.
6678         * lib/acosl.c: Insert space before function argument list.
6679         * lib/argz.c: Likewise.
6680         * lib/asinl.c: Likewise.
6681         * lib/expl.c: Likewise.
6682         * lib/gen-uni-tables.c: Likewise.
6683         * lib/gettext.h: Likewise.
6684         * lib/glthread/lock.h: Likewise.
6685         * lib/tanl.c: Likewise.
6686         * lib/uniname/uniname.c: Likewise.
6687         * tests/test-idpriv-drop.c: Likewise.
6688         * tests/test-idpriv-droptemp.c: Likewise.
6689         * tests/test-lock.c: Likewise.
6690         * tests/test-tls.c: Likewise.
6691         * lib/argp-help.c: Insert space before function-like macro argument
6692         list.
6693         * lib/memcmp.c: Likewise.
6694         * tests/test-base64.c: Likewise.
6695         * lib/localename.c: Insert space before sizeof's argument list.
6696         * lib/safe-alloc.h: Likewise.
6697         * lib/file-set.h: Insert space before macro argument list.
6698         * tests/test-argp.c: Likewise.
6699         * lib/argp-namefrob.h: Insert space before function parameter list.
6700         * lib/getaddrinfo.c: Likewise.
6701         * lib/netdb.in.h: Likewise.
6702         * lib/parse-duration.h: Likewise.
6703         * lib/parse-duration.c: Likewise.
6704         * lib/poll.c: Likewise.
6705         * lib/select.c: Likewise.
6706         * lib/trim.h: Likewise.
6707         * tests/test-usleep.c: Likewise.
6708         * lib/ldexpl.c: Insert space before function parameter list and before
6709         function argument list.
6710         * lib/logl.c: Likewise.
6711         * lib/sqrtl.c: Likewise.
6712         * lib/trim.c: Likewise.
6713         * lib/cosl.c: Use GNU style indentation. Insert space before function
6714         argument list.
6715         * lib/sinl.c: Likewise.
6716         * lib/tsearch.c: Insert space after 'for'.
6717         Reported by Jim Meyering.
6718
6719 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
6720
6721         * maint.mk (sc_Wundef_boolean): Check for the presence of the
6722         config header before grepping, as it's not present before
6723         autoreconf/configure are run.  Reported by Simon Josefsson.
6724
6725 2010-03-23  Bruno Haible  <bruno@clisp.org>
6726
6727         pt_chown: Make it work with automake < 1.11.
6728         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
6729         Reported by Simon Josefsson.
6730
6731 2010-03-23  Bruno Haible  <bruno@clisp.org>
6732
6733         pt_chown: Don't depend on GPLed modules.
6734         * lib/pt_chown.c: Don't include idpriv.h.
6735         (main): Don't drop privileges.
6736         * modules/pt_chown (Depends-on): Remove idpriv-drop.
6737         Reported by Simon Josefsson.
6738
6739 2010-03-24  Simon Josefsson  <simon@josefsson.org>
6740
6741         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
6742         suggestions from karl@freefriends.org (Karl Berry).
6743
6744 2010-03-22  Eric Blake  <eblake@redhat.com>
6745
6746         gethostname: further tweaks
6747         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
6748         are overriding gethostname.
6749         Suggested by Bruno Haible.
6750
6751 2010-03-21  Bruno Haible  <bruno@clisp.org>
6752
6753         Fix comments.
6754         * lib/forkpty.c (rpl_forkpty): Fix comment.
6755         * lib/openpty.c (rpl_openpty): Likewise.
6756         Reported by Eric Blake.
6757
6758 2010-03-22  Eric Blake  <eblake@redhat.com>
6759
6760         gethostname: fix build on mingw
6761         * lib/unistd.in.h (includes): Work around fact that mingw
6762         <winsock2.h> re-includes <unistd.h>, by avoiding any
6763         redeclarations if we are being included by <winsock2.h>.
6764         Reported by Matthias Bolte.
6765
6766 2010-03-21  Bruno Haible  <bruno@clisp.org>
6767
6768         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
6769         * lib/forkpty.c (forkpty): New replacement function, from glibc with
6770         modifications.
6771         * lib/pty.in.h (forkpty): Update declaration. Add comments.
6772         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
6773         provide the replacement.
6774         * modules/forkpty (Depends-on): Add openpty, login_tty.
6775         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
6776         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
6777         * doc/glibc-functions/forkpty.texi: More supported platforms.
6778         * config/srclist.txt: Add forkpty.c (commented).
6779
6780 2010-03-21  Bruno Haible  <bruno@clisp.org>
6781
6782         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
6783         (Makefile.am): Verify that PTY_LIB is defined.
6784
6785         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
6786
6787 2010-03-21  Bruno Haible  <bruno@clisp.org>
6788
6789         Tests for module 'login_tty'.
6790         * modules/login_tty-tests: New file.
6791         * tests/test-login_tty.c: New file.
6792
6793         New module 'login_tty'.
6794         * lib/login_tty.c: New file.
6795         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
6796         * modules/login_tty: New file.
6797         * doc/glibc-functions/login_tty.texi: Mention the new module.
6798
6799 2010-03-21  Bruno Haible  <bruno@clisp.org>
6800
6801         login_tty: Documentation.
6802         * doc/glibc-functions/login_tty.texi: New file.
6803         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
6804
6805 2010-03-21  Bruno Haible  <bruno@clisp.org>
6806
6807         pty: Consistent macro naming.
6808         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
6809         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
6810         * modules/pty (configure.ac): Update.
6811
6812 2010-03-21  Bruno Haible  <bruno@clisp.org>
6813
6814         Tests for openpty: Make stricter.
6815         * tests/test-openpty.c (main): Add test of canonical processing and
6816         erase.
6817         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
6818
6819         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
6820         * lib/openpty.c (openpty): New replacement function.
6821         * lib/pty.in.h: Include <termios.h>.
6822         (openpty): Update declaration. Add comments.
6823         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
6824         is not declared, arrange to provide the replacement. Check for _getpty
6825         and posix_openpt.
6826         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
6827         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
6828         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
6829         * modules/pty-tests (test_pty_c___LDADD): New variable.
6830         * doc/glibc-functions/openpty.texi: More supported platforms.
6831
6832 2010-03-21  Bruno Haible  <bruno@clisp.org>
6833
6834         setenv: Tweaks.
6835         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
6836         the test program.
6837         * doc/posix-functions/setenv.texi: Update platforms list.
6838
6839 2010-03-21  Bruno Haible  <bruno@clisp.org>
6840
6841         New module 'unlockpt'.
6842         * lib/unlockpt.c: New file, from glibc with modifications.
6843         * m4/unlockpt.m4: New file.
6844         * modules/unlockpt: New file.
6845         * lib/stdlib.in.h (unlockpt): New declaration.
6846         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
6847         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
6848         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
6849         HAVE_UNLOCKPT.
6850         * doc/posix-functions/unlockpt.texi: Mention the new module.
6851         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
6852         * config/srclist.txt: Add unlockpt.c (commented).
6853
6854 2010-03-21  Jim Meyering  <meyering@redhat.com>
6855
6856         maint.mk: prohibit inclusion of "intprops.h" without use
6857         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
6858
6859 2010-03-21  Bruno Haible  <bruno@clisp.org>
6860
6861         New module 'grantpt'.
6862         * lib/grantpt.c: New file, from glibc with modifications.
6863         * m4/grantpt.m4: New file.
6864         * modules/grantpt: New file.
6865         * lib/stdlib.in.h (grantpt): New declaration.
6866         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
6867         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
6868         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
6869         HAVE_GRANTPT.
6870         * doc/posix-functions/grantpt.texi: Mention the new module.
6871         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
6872         * config/srclist.txt: Add grantpt.c (commented).
6873
6874 2010-03-21  Bruno Haible  <bruno@clisp.org>
6875
6876         New module 'pt_chown'.
6877         * lib/pt_chown.c: New file, from glibc with modifications.
6878         * lib/pty-private.h: New file, from glibc with modifications.
6879         * modules/pt_chown: New file.
6880         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
6881
6882 2010-03-21  Bruno Haible  <bruno@clisp.org>
6883
6884         Tests for module 'ptsname'.
6885         * modules/ptsname-tests: New file.
6886         * tests/test-ptsname.c: New file.
6887
6888         New module 'ptsname'.
6889         * lib/ptsname.c: New file, from glibc with modifications.
6890         * m4/ptsname.m4: New file.
6891         * modules/ptsname: New file.
6892         * lib/stdlib.in.h (ptsname): New declaration.
6893         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
6894         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
6895         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
6896         HAVE_PTSNAME.
6897         * doc/posix-functions/ptsname.texi: Mention the new module.
6898         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
6899         * config/srclist.txt: Add ptsname.c (commented).
6900
6901 2010-03-21  Bruno Haible  <bruno@clisp.org>
6902
6903         Tests for module 'ttyname_r'.
6904         * modules/ttyname_r-tests: New file.
6905         * tests/test-ttyname_r.c: New file.
6906
6907         New module 'ttyname_r'.
6908         * lib/ttyname_r.c: New file.
6909         * m4/ttyname_r.m4: New file.
6910         * modules/ttyname_r: New file.
6911         * lib/unistd.in.h (ttyname_r): New declaration.
6912         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
6913         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
6914         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
6915         HAVE_TTYNAME_R.
6916         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
6917         * doc/posix-functions/ttyname_r.texi: Mention the new module.
6918
6919 2010-03-20  Bruno Haible  <bruno@clisp.org>
6920
6921         signal: Undefine macro definitions in C++ mode.
6922         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
6923         sigfillset): Undefine macro definitions from the system header in C++
6924         mode.
6925         Reported by John W. Eaton <jwe@gnu.org>.
6926
6927 2010-03-20  Bruno Haible  <bruno@clisp.org>
6928
6929         Ensure no #include statements inside extern "C" { ... }.
6930         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
6931         contain #include statements.
6932         * lib/time.in.h: Likewise.
6933
6934 2010-03-20  Bruno Haible  <bruno@clisp.org>
6935
6936         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
6937         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
6938         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
6939         Reported by John W. Eaton <jwe@gnu.org>.
6940
6941 2010-03-20  Bruno Haible  <bruno@clisp.org>
6942
6943         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
6944         Reported by Jim Meyering.
6945
6946 2010-03-20  Bruno Haible  <bruno@clisp.org>
6947
6948         pipe: Set errno upon failure.
6949         * lib/pipe.h: Specify that when -1 is returned, errno is set.
6950         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
6951         errno value in error message.
6952
6953 2010-03-20  Bruno Haible  <bruno@clisp.org>
6954             Jim Meyering  <meyering@redhat.com>
6955
6956         lchown: Avoid "unused variable" warning.
6957         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
6958
6959 2010-03-20  Bruno Haible  <bruno@clisp.org>
6960
6961         Work around unlink() bug on MacOS X 10.5.6.
6962         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
6963         attempting to unlink a parent directory.
6964         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
6965         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
6966         activate for the replacement function.
6967         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
6968
6969 2010-03-20  Bruno Haible  <bruno@clisp.org>
6970
6971         Fix link errors on Solaris 8.
6972         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
6973         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
6974
6975 2010-03-19  Jim Meyering  <meyering@redhat.com>
6976
6977         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
6978         The _LIBC implementation of build_range_exp correctly honors the
6979         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
6980         However, the non-_LIBC implementation would ignore that syntax-bit
6981         flag and return REG_ERANGE unconditionally.
6982         This change makes it honor that flag.
6983         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
6984         Make two pointer parameters "const".
6985         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
6986         (parse_bracket_exp): Update caller.
6987
6988         regex.m4: correct the reversed range endpoint ([b-a]) test
6989         * m4/regex.m4: When requiring that [b-a] evoke failure,
6990         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
6991         test pass once again for x86-based systems.
6992
6993 2010-03-19  Bruno Haible  <bruno@clisp.org>
6994
6995         scandir: Fix link error on Solaris 8.
6996         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
6997         macros.
6998
6999 2010-03-19  Bruno Haible  <bruno@clisp.org>
7000
7001         getusershell: Fix documentation.
7002         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
7003         module.
7004         * doc/glibc-functions/setusershell.texi: Likewise.
7005
7006         getusershell: Provide declaration, missing on Solaris 9.
7007         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
7008         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
7009         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
7010         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
7011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7012         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
7013         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
7014         HAVE_GETUSERSHELL.
7015         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
7016
7017 2010-03-19  Bruno Haible  <bruno@clisp.org>
7018
7019         wctype: Provide iswblank function.
7020         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
7021         exists and is fine.
7022         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
7023         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
7024         * tests/test-wctype.c (main): Re-enable the iswblank tests.
7025         * doc/posix-functions/iswblank.texi: Update.
7026
7027 2010-03-19  Bruno Haible  <bruno@clisp.org>
7028
7029         Tests of module 'pty' in C++ mode.
7030         * modules/pty-tests: New file.
7031         * tests/test-pty-c++.cc: New file.
7032         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7033
7034 2010-03-19  Eric Blake  <eblake@redhat.com>
7035
7036         logb: fix documentation
7037         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
7038         1.5 declaration bug.
7039
7040         forkpty, openpty: prefer glibc's const-safe prototype
7041         * lib/forkpty.c (rpl_forkpty): New file.
7042         * lib/openpty.c (rpl_openpty): Likewise.
7043         * modules/forkpty (Files): Distribute it.
7044         * modules/openpty (Files): Likewise.
7045         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
7046         check...
7047         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
7048         replacement for for non-const BSD signature.
7049         * modules/pty (Makefile.am): Substitute witnesses.
7050         * lib/pty.in.h (forkpty, openpty): Declare replacements.
7051         * tests/test-forkpty.c: Update signature check.
7052         * tests/test-openpty.c: Likewise.
7053         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
7054         * doc/glibc-functions/openpty.texi (openpty): Likewise.
7055
7056         forkpty, openpty: split functions into new modules
7057         * modules/pty (Makefile.am): Substitute new witnesses.
7058         (Libraries): Move library detection...
7059         * modules/forkpty: ...into new module.
7060         * modules/openpty: Another new module.
7061         * modules/pty-tests: Rename and split...
7062         * modules/forkpty-tests: ...to this...
7063         * modules/openpty-tests: ...and this.
7064         * tests/test-pty.c: Rename and split...
7065         * tests/test-forkpty.c: ...to this...
7066         * tests/test-openpty.c: ...and this.
7067         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
7068         (gl_PTY): Split library searching...
7069         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
7070         (gl_FORKPTY, gl_OPENPTY): New macros.
7071         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
7072         * NEWS: Mention the split.
7073         * MODULES.html.sh (Misc): Document the modules.
7074         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
7075         * doc/glibc-functions/openpty.texi (openpty): Likewise.
7076
7077         pty: improve replacement header
7078         * lib/pty.in.h: New file.
7079         * modules/pty (Files): Ship it.
7080         (Makefile.am): Always build replacement.
7081         * m4/pty.m4: Rename...
7082         * m4/pty_h.m4: ...to this.
7083         (gl_PTY): Modernize setting of witness macros; update check of
7084         forkpty to take proper advantage of cache.
7085         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
7086
7087         getopt: avoid compiler warning
7088         * lib/getopt.c (attribute_hidden): Remove unused macro.
7089
7090 2010-03-18  Bruno Haible  <bruno@clisp.org>
7091
7092         Fix link errors on Solaris 8.
7093         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
7094         * modules/search-tests (test_search_c___LDADD): Likewise.
7095         * modules/signal-tests (test_signal_c___LDADD): Likewise.
7096         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
7097         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
7098         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
7099         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
7100         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
7101         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
7102
7103 2010-03-18  Bruno Haible  <bruno@clisp.org>
7104
7105         Fix bug introduced on 2010-03-14.
7106         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
7107         (gl_SPAWN_H): Require it.
7108         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
7109         Reported by Simon Josefsson.
7110
7111 2010-03-18  Bruno Haible  <bruno@clisp.org>
7112
7113         Fix typo introduced on 2009-12-31.
7114         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
7115         posix_spawn_file_actions_adddup2.
7116
7117 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
7118         and Eric Blake  <eblake@redhat.com>
7119
7120         test-vc-list-files-git: make more robust
7121         * tests/test-vc-list-files-git.sh: Unset problematic environment
7122         variables.  Chain commands together.
7123
7124 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
7125
7126         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
7127         `AC_CHECK_DECL' invocation.
7128
7129 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
7130
7131         * lib/inttostr.c (inttostr): Make sure the invocation of verify
7132         appears before executable statements. Suggested by Petr Sumbera
7133         <Petr.Sumbera@Sun.COM>.
7134
7135 2010-03-14  Bruno Haible  <bruno@clisp.org>
7136
7137         * tests/test-flock.c (test_exclusive): Comment out a test that causes
7138         portability problems. Instead use a simpler test.
7139         (main): Check that invalid arguments are rejected only on Linux.
7140
7141 2010-03-14  Bruno Haible  <bruno@clisp.org>
7142
7143         Fix bug introduced on 2009-12-31.
7144         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
7145         gl_PREREQ_SYS_H_WINSOCK2 always.
7146         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
7147         SYS_SOCKET_H variable.
7148         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
7149         Update comments.
7150         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
7151         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7152         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7153         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7154         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7155
7156 2010-03-14  Bruno Haible  <bruno@clisp.org>
7157
7158         Fix values returned by sinl, cosl.
7159         * lib/trigl.h: Add specification comments.
7160         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
7161         that combines the values from the precomputed table with the values of
7162         the Chebyshev polynomials.
7163
7164 2010-03-14  Bruno Haible  <bruno@clisp.org>
7165
7166         Fix compilation error when modules 'posix_spawn[p]' are not used.
7167         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
7168         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
7169
7170 2010-03-14  Bruno Haible  <bruno@clisp.org>
7171
7172         Fix compilation error on mingw when module 'time_r' is not used.
7173         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
7174         is 1.
7175         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
7176         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
7177         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
7178         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
7179
7180 2010-03-14  Bruno Haible  <bruno@clisp.org>
7181
7182         Fix compilation error with Sun C.
7183         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
7184         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
7185         instead of GCC specific ULONG_LONG_MAX.
7186         * lib/xstrtoll.c: Likewise.
7187         * lib/xstrtoull.c: Likewise.
7188
7189 2010-03-13  Bruno Haible  <bruno@clisp.org>
7190
7191         Allow the user to disable C++ code and tests.
7192         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
7193         (gl_PROG_ANSI_CXX): Require it.
7194
7195 2010-03-13  Bruno Haible  <bruno@clisp.org>
7196
7197         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
7198         cases.
7199
7200 2010-03-13  Bruno Haible  <bruno@clisp.org>
7201
7202         Test that gnulib does not break the standard C++ headers.
7203         * tests/test-locale-c++2.cc: New file.
7204         * modules/locale-tests (Files): Add it.
7205         (Makefile.am): Compile it for test-locale-c++.
7206         * tests/test-math-c++2.cc: New file.
7207         * modules/math-tests (Files): Add it.
7208         (Makefile.am): Compile it for test-math-c++.
7209         * tests/test-signal-c++2.cc: New file.
7210         * modules/signal-tests (Files): Add it.
7211         (Makefile.am): Compile it for test-signal-c++.
7212         * tests/test-stdio-c++2.cc: New file.
7213         * modules/stdio-tests (Files): Add it.
7214         (Makefile.am): Compile it for test-stdio-c++.
7215         * tests/test-stdlib-c++2.cc: New file.
7216         * modules/stdlib-tests (Files): Add it.
7217         (Makefile.am): Compile it for test-stdlib-c++.
7218         * tests/test-string-c++2.cc: New file.
7219         * modules/string-tests (Files): Add it.
7220         (Makefile.am): Compile it for test-string-c++.
7221         * tests/test-time-c++2.cc: New file.
7222         * modules/time-tests (Files): Add it.
7223         (Makefile.am): Compile it for test-time-c++.
7224         Reported by John W. Eaton <jwe@gnu.org>.
7225
7226 2010-03-13  Bruno Haible  <bruno@clisp.org>
7227
7228         * gnulib-tool (func_usage): Clarify which options are available for
7229         --create-testdir and --create-megatestdir.
7230
7231 2010-03-13  Bruno Haible  <bruno@clisp.org>
7232
7233         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
7234         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
7235         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
7236         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
7237         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
7238         when appropriate.
7239         Reported by Jim Meyering.
7240
7241 2010-03-12  Simon Josefsson  <simon@josefsson.org>
7242
7243         * gnulib-tool (func_import): Explain origin of code.
7244
7245 2010-03-12  Bruno Haible  <bruno@clisp.org>
7246
7247         Fix problem with automake's definition of CXXLINK.
7248         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
7249         Reported by Simon Josefsson and Ludovic Courtès.
7250
7251 2010-03-12  Bruno Haible  <bruno@clisp.org>
7252
7253         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
7254         stable releases.
7255
7256 2010-03-11  Bruno Haible  <bruno@clisp.org>
7257
7258         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
7259         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
7260         whether the system provides one variant or multiple variants of the
7261         function.
7262         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
7263         C++ compilers.
7264         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
7265         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
7266         Reported by Jim Meyering.
7267
7268 2010-03-09  Simon Josefsson  <simon@josefsson.org>
7269
7270         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
7271
7272 2010-03-08  Bruno Haible  <bruno@clisp.org>
7273
7274         gnulib-tool: Add support for --libtool in --create-testdir.
7275         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
7276         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
7277
7278 2010-03-08  Eric Blake  <eblake@redhat.com>
7279
7280         gnulib-tool.texi: mention possibility of git submodule
7281         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
7282         submodules.
7283         * doc/.gitignore: Ignore another generated file.
7284
7285 2010-03-08  Karl Berry  <karl@gnu.org>
7286
7287         * doc/gnulib-tool.texi (VCS Issues): Mention third option
7288         of committing gnulib files while skipping others.
7289
7290 2010-03-07  Bruno Haible  <bruno@clisp.org>
7291
7292         Tests of module 'wctype' in C++ mode.
7293         * tests/test-wctype-c++.cc: New file.
7294         * modules/wctype-tests (Files): Add it and tests/signature.h.
7295         (Depends-on): Add ansi-c++-opt.
7296         (Makefile.am): Arrange to compile and run test-wctype-c++.
7297
7298         Tests of module 'wchar' in C++ mode.
7299         * tests/test-wchar-c++.cc: New file.
7300         * modules/wchar-tests (Files): Add it and tests/signature.h.
7301         (Depends-on): Add ansi-c++-opt.
7302         (Makefile.am): Arrange to compile and run test-wchar-c++.
7303         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
7304         gl_MODULE_INDICATOR.
7305
7306         Tests of module 'unistd' in C++ mode.
7307         * tests/test-unistd-c++.cc: New file.
7308         * modules/unistd-tests (Files): Add it and tests/signature.h.
7309         (Depends-on): Add ansi-c++-opt.
7310         (Makefile.am): Arrange to compile and run test-unistd-c++.
7311         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
7312         gl_MODULE_INDICATOR.
7313
7314         Tests of module 'time' in C++ mode.
7315         * tests/test-time-c++.cc: New file.
7316         * modules/time-tests (Files): Add it and tests/signature.h.
7317         (Depends-on): Add ansi-c++-opt.
7318         (Makefile.am): Arrange to compile and run test-time-c++.
7319         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7320
7321         Tests of module 'sys_time' in C++ mode.
7322         * tests/test-sys_time-c++.cc: New file.
7323         * modules/sys_time-tests (Files): Add it and tests/signature.h.
7324         (Depends-on): Add ansi-c++-opt.
7325         (Makefile.am): Arrange to compile and run test-sys_time-c++.
7326         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
7327         gl_MODULE_INDICATOR.
7328
7329         Tests of module 'sys_stat' in C++ mode.
7330         * tests/test-sys_stat-c++.cc: New file.
7331         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
7332         (Depends-on): Add ansi-c++-opt.
7333         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
7334         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
7335         gl_MODULE_INDICATOR.
7336
7337         Tests of module 'sys_socket' in C++ mode.
7338         * tests/test-sys_socket-c++.cc: New file.
7339         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
7340         (Depends-on): Add ansi-c++-opt.
7341         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
7342         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
7343         gl_MODULE_INDICATOR.
7344
7345         Tests of module 'sys_select' in C++ mode.
7346         * tests/test-sys_select-c++.cc: New file.
7347         * modules/sys_select-tests (Files): Add it and tests/signature.h.
7348         (Depends-on): Add ansi-c++-opt.
7349         (Makefile.am): Arrange to compile and run test-sys_select-c++.
7350         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
7351         gl_MODULE_INDICATOR.
7352
7353         Tests of module 'sys_ioctl' in C++ mode.
7354         * tests/test-sys_ioctl-c++.cc: New file.
7355         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
7356         (Depends-on): Add ansi-c++-opt.
7357         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
7358         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
7359         gl_MODULE_INDICATOR.
7360
7361         Tests of module 'string' in C++ mode.
7362         * tests/test-string-c++.cc: New file.
7363         * modules/string-tests (Files): Add it and tests/signature.h.
7364         (Depends-on): Add ansi-c++-opt.
7365         (Makefile.am): Arrange to compile and run test-string-c++.
7366         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
7367         gl_MODULE_INDICATOR.
7368
7369         Tests of module 'stdlib' in C++ mode.
7370         * tests/test-stdlib-c++.cc: New file.
7371         * modules/stdlib-tests (Files): Add it and tests/signature.h.
7372         (Depends-on): Add ansi-c++-opt.
7373         (Makefile.am): Arrange to compile and run test-stdlib-c++.
7374         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
7375         gl_MODULE_INDICATOR.
7376
7377         Tests of module 'stdio' in C++ mode.
7378         * tests/test-stdio-c++.cc: New file.
7379         * modules/stdio-tests (Files): Add it and tests/signature.h.
7380         (Depends-on): Add ansi-c++-opt.
7381         (Makefile.am): Arrange to compile and run test-stdio-c++.
7382         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
7383         gl_MODULE_INDICATOR.
7384
7385         Tests of module 'spawn' in C++ mode.
7386         * tests/test-spawn-c++.cc: New file.
7387         * modules/spawn-tests (Files): Add it and tests/signature.h.
7388         (Depends-on): Add ansi-c++-opt.
7389         (Makefile.am): Arrange to compile and run test-spawn-c++.
7390         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
7391         gl_MODULE_INDICATOR.
7392
7393         Tests of module 'signal' in C++ mode.
7394         * tests/test-signal-c++.cc: New file.
7395         * modules/signal-tests (Files): Add it and tests/signature.h.
7396         (Depends-on): Add ansi-c++-opt.
7397         (Makefile.am): Arrange to compile and run test-signal-c++.
7398         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
7399         gl_MODULE_INDICATOR.
7400
7401         Tests of module 'search' in C++ mode.
7402         * tests/test-search-c++.cc: New file.
7403         * modules/search-tests (Files): Add it and tests/signature.h.
7404         (Depends-on): Add ansi-c++-opt.
7405         (Makefile.am): Arrange to compile and run test-search-c++.
7406         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
7407         gl_MODULE_INDICATOR.
7408
7409         Tests of module 'math' in C++ mode.
7410         * tests/test-math-c++.cc: New file.
7411         * modules/math-tests (Files): Add it and tests/signature.h.
7412         (Depends-on): Add ansi-c++-opt.
7413         (Makefile.am): Arrange to compile and run test-math-c++.
7414         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7415
7416         Tests of module 'locale' in C++ mode.
7417         * tests/test-locale-c++.cc: New file.
7418         * modules/locale-tests (Files): Add it and tests/signature.h.
7419         (Depends-on): Add ansi-c++-opt.
7420         (Makefile.am): Arrange to compile and run test-locale-c++.
7421         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
7422         gl_MODULE_INDICATOR.
7423
7424         Tests of module 'langinfo' in C++ mode.
7425         * tests/test-langinfo-c++.cc: New file.
7426         * modules/langinfo-tests (Files): Add it and tests/signature.h.
7427         (Depends-on): Add ansi-c++-opt.
7428         (Makefile.am): Arrange to compile and run test-langinfo-c++.
7429         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
7430         gl_MODULE_INDICATOR.
7431
7432         Tests of module 'iconv-h' in C++ mode.
7433         * tests/test-iconv-h-c++.cc: New file.
7434         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
7435         (Depends-on): Add ansi-c++-opt.
7436         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
7437
7438         Tests of module 'glob' in C++ mode.
7439         * tests/test-glob-c++.cc: New file.
7440         * modules/glob-tests (Files): Add it.
7441         (Depends-on): Add ansi-c++-opt.
7442         (Makefile.am): Arrange to compile and run test-glob-c++.
7443
7444         Tests of module 'fcntl-h' in C++ mode.
7445         * tests/test-fcntl-h-c++.cc: New file.
7446         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
7447         (Depends-on): Add ansi-c++-opt.
7448         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
7449         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
7450         gl_MODULE_INDICATOR.
7451
7452         Tests of module 'dirent' in C++ mode.
7453         * tests/test-dirent-c++.cc: New file.
7454         * modules/dirent-tests (Files): Add it and tests/signature.h.
7455         (Depends-on): Add ansi-c++-opt.
7456         (Makefile.am): Arrange to compile and run test-dirent-c++.
7457         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
7458         gl_MODULE_INDICATOR.
7459
7460         New module 'ansi-c++-opt'.
7461         * modules/ansi-c++-opt: New file.
7462         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
7463
7464         Document C++ namespace mode.
7465         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
7466
7467         wctype: Avoid #define replacements in C++ mode.
7468         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
7469         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
7470         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
7471         In C++, define a namespaced alias symbol.
7472         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
7473         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
7474         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
7475         rule.
7476
7477         wchar: Avoid #define replacements in C++ mode.
7478         * lib/wchar.in.h: Include c++defs.h.
7479         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
7480         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
7481         symbol.
7482         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
7483         * modules/wchar (Depends-on): Add c++defs.
7484         (Makefile.am): Update wchar.h rule.
7485
7486         unistd: Avoid #define replacements in C++ mode.
7487         * lib/unistd.in.h: Include c++defs.h.
7488         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
7489         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
7490         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
7491         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
7492         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
7493         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
7494         symbol.
7495         (environ): Update.
7496         * modules/unistd (Depends-on): Add c++defs.
7497         (Makefile.am): Update unistd.h rule.
7498
7499         time: Avoid #define replacements in C++ mode.
7500         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
7501         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
7502         define a namespaced alias symbol.
7503         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
7504         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
7505         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
7506         * modules/time (Depends-on): Add c++defs, warn-on-use.
7507         (Makefile.am): Update time.h rule.
7508         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
7509         * modules/nanosleep (configure.ac): Likewise.
7510         * modules/strptime (configure.ac): Likewise.
7511         * modules/timegm (configure.ac): Likewise.
7512
7513         sys_time: Avoid #define replacements in C++ mode.
7514         * lib/sys_time.in.h: Include c++defs.h.
7515         (gettimeofday): In C++, define a namespaced alias symbol.
7516         * modules/sys_time (Depends-on): Add c++defs.
7517         (Makefile.am): Update sys/time.h rule.
7518
7519         sys_stat: Avoid #define replacements in C++ mode.
7520         * lib/sys_stat.in.h: Include c++defs.h.
7521         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
7522         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
7523         namespaced alias symbol.
7524         In C++, define a namespaced alias symbol.
7525         * modules/sys_stat (Depends-on): Add c++defs.
7526         (Makefile.am): Update sys/stat.h rule.
7527
7528         sys_socket: Avoid #define replacements in C++ mode.
7529         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
7530         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
7531         definitions also when the system has a <sys/socket.h>.
7532         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
7533         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
7534         In C++, define a namespaced alias symbol.
7535         * modules/sys_socket (Depends-on): Add c++defs.
7536         (Makefile.am): Update sys/socket.h rule.
7537
7538         sys_select: Avoid #define replacements in C++ mode.
7539         * lib/sys_select.in.h: Include c++defs.h. Enable the function
7540         definitions also when the system has a <sys/select.h>.
7541         (select): In C++, define a namespaced alias symbol.
7542         * modules/sys_select (Depends-on): Add c++defs.
7543         (Makefile.am): Update sys/select.h rule.
7544
7545         sys_ioctl: Avoid #define replacements in C++ mode.
7546         * lib/sys_ioctl.in.h: Include c++defs.h.
7547         (ioctl): In C++, define a namespaced alias symbol.
7548         * modules/sys_ioctl (Depends-on): Add c++defs.
7549         (Makefile.am): Update sys/ioctl.h rule.
7550
7551         string: Avoid #define replacements in C++ mode.
7552         * lib/string.in.h: Include c++defs.h.
7553         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
7554         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
7555         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
7556         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
7557         strsignal, strverscmp): In C++, define a namespaced alias symbol.
7558         * modules/string (Depends-on): Add c++defs.
7559         (Makefile.am): Update string.h rule.
7560
7561         stdlib: Avoid #define replacements in C++ mode.
7562         * lib/stdlib.in.h: Include c++defs.h.
7563         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
7564         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
7565         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
7566         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
7567         symbol.
7568         * modules/stdlib (Depends-on): Add c++defs.
7569         (Makefile.am): Update stdlib.h rule.
7570
7571         stdio: Avoid #define replacements in C++ mode.
7572         * lib/stdio.in.h: Include c++defs.h.
7573         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
7574         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
7575         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
7576         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
7577         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
7578         namespaced alias symbol.
7579         * modules/stdio (Depends-on): Add c++defs.
7580         (Makefile.am): Update stdio.h rule.
7581
7582         spawn: Avoid #define replacements in C++ mode.
7583         * lib/spawn.in.h: Include c++defs.h.
7584         (posix_spawn, posix_spawnp, posix_spawnattr_init,
7585         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
7586         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
7587         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
7588         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
7589         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
7590         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
7591         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
7592         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
7593         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
7594         In C++, define a namespaced alias symbol.
7595         * modules/spawn (Depends-on): Add c++defs.
7596         (Makefile.am): Update spawn.h rule.
7597
7598         signal: Avoid #define replacements in C++ mode.
7599         * lib/signal.in.h: Include c++defs.h.
7600         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
7601         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
7602         namespaced alias symbol.
7603         * modules/signal (Depends-on): Add c++defs.
7604         (Makefile.am): Update signal.h rule.
7605
7606         search: Avoid #define replacements in C++ mode.
7607         * lib/search.in.h: Include c++defs.h.
7608         (_gl_search_compar_fn, _gl_search_action_fn): New types.
7609         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
7610         symbol.
7611         * modules/search (Depends-on): Add c++defs.
7612         (Makefile.am): Update search.h rule.
7613
7614         math: Avoid #define replacements in C++ mode.
7615         * lib/math.in.h: Include c++defs.h.
7616         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
7617         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
7618         trunc, truncl): In C++, define a namespaced alias symbol.
7619         * modules/math (Depends-on): Add c++defs.
7620         (Makefile.am): Update math.h rule.
7621
7622         locale: Avoid #define replacements in C++ mode.
7623         * lib/locale.in.h: Include c++defs.h.
7624         (duplocale): In C++, define a namespaced alias symbol.
7625         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
7626         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
7627         * modules/locale (Depends-on): Add c++defs.
7628         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
7629
7630         langinfo: Avoid #define replacements in C++ mode.
7631         * lib/langinfo.in.h: Include c++defs.h.
7632         (nl_langinfo): In C++, define a namespaced alias symbol.
7633         * modules/langinfo (Depends-on): Add c++defs.
7634         (Makefile.am): Update langinfo.h rule.
7635
7636         iconv-h: Avoid #define replacements in C++ mode.
7637         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
7638         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
7639         symbol.
7640         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
7641         whenever iconv is present.
7642         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
7643         (Makefile.am): Update iconv.h rule.
7644
7645         glob: Avoid #define replacements in C++ mode.
7646         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
7647         (_gl_glob_errfunc_fn): New type.
7648         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
7649         symbol.
7650         * modules/glob (Depends-on): Add c++defs, warn-on-use.
7651         (Makefile.am): Update glob.h rule.
7652
7653         fcntl-h: Avoid #define replacements in C++ mode.
7654         * lib/fcntl.in.h: Include c++defs.h.
7655         (fcntl, open, openat): In C++, define a namespaced alias symbol.
7656         * modules/fcntl-h (Depends-on): Add c++defs.
7657         (Makefile.am): Update fcntl.h rule.
7658
7659         dirent: Avoid #define replacements in C++ mode.
7660         * lib/dirent.in.h: Include c++defs.h.
7661         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
7662         namespaced alias symbol.
7663         (dirfd): Update declaration.
7664         * modules/dirent (Depends-on): Add c++defs.
7665         (Makefile.am): Update dirent.h rule.
7666
7667         ctype: Make it usable in C++ code.
7668         * lib/ctype.in.h: Include c++defs.h.
7669         (isblank): Declare as extern "C".
7670         * modules/ctype (Depends-on): Add c++defs.
7671         (Makefile.am): Update ctype.h rule.
7672
7673         New module 'c++defs'.
7674         * modules/c++defs: New file.
7675         * build-aux/c++defs.h: New file.
7676         Reported by John W. Eaton <jwe@gnu.org>.
7677
7678 2010-03-07  Bruno Haible  <bruno@clisp.org>
7679
7680         logb: Provide missing declaration for Cygwin.
7681         * lib/math.in.h (logb): New declaration.
7682         * m4/logb.m4: New file.
7683         * modules/logb (Files): Add m4/logb.m4.
7684         (Depends-on): Add math.
7685         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
7686         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
7687         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
7688         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
7689         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
7690
7691 2010-03-07  Bruno Haible  <bruno@clisp.org>
7692
7693         Fix test-cond link error.
7694         * tests/test-cond.c: Include <stdio.h>.
7695
7696 2010-03-07  Bruno Haible  <bruno@clisp.org>
7697
7698         Fix test-dirent-safer link error.
7699         * modules/dirent-safer-tests (Makefile.am): Define
7700         test_dirent_safer_LDADD.
7701
7702 2010-03-07  Bruno Haible  <bruno@clisp.org>
7703
7704         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
7705         among default module list.
7706
7707 2010-03-07  Bruno Haible  <bruno@clisp.org>
7708
7709         Fix link error on platforms with GNU libiconv.
7710         * modules/unistr/u8-strcoll-tests (Makefile): Define
7711         test_u8_strcoll_LDADD.
7712         * modules/unistr/u16-strcoll-tests (Makefile): Define
7713         test_u16_strcoll_LDADD.
7714         * modules/unistr/u32-strcoll-tests (Makefile): Define
7715         test_u32_strcoll_LDADD.
7716
7717 2010-03-07  Bruno Haible  <bruno@clisp.org>
7718
7719         Use POSIX declarations for socket functions.
7720         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
7721         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
7722         rpl_sendto): Change declaration to match POSIX.
7723         * lib/connect.c (rpl_connect): Likewise.
7724         * lib/accept.c (rpl_accept): Likewise.
7725         * lib/bind.c (rpl_bind): Likewise.
7726         * lib/getpeername.c (rpl_getpeername): Likewise.
7727         * lib/getsockname.c (rpl_getsockname): Likewise.
7728         * lib/recv.c (rpl_recv): Likewise.
7729         * lib/send.c (rpl_send): Likewise.
7730         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7731         * lib/sendto.c (rpl_sendto): Likewise.
7732
7733 2010-03-06  Bruno Haible  <bruno@clisp.org>
7734
7735         Clarify access, euidaccess, faccessat.
7736         * doc/posix-functions/faccessat.texi: Mention security problem under
7737         "Other problems", not "Portability problems".
7738         * doc/posix-functions/access.texi: Likewise. Mention a related security
7739         problem.
7740         * doc/glibc-functions/euidaccess.texi: Mention security problems.
7741         * lib/euidaccess.c: Add comments about platforms.
7742         * lib/unistd.in.h (access, euidaccess): Add warnings.
7743
7744 2010-03-07  Bruno Haible  <bruno@clisp.org>
7745
7746         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
7747         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
7748         (POSIX_SPAWN_SETSCHEDULER): Likewise.
7749         (POSIX_SPAWN_USEVFORK): Define in a way that works when
7750         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
7751         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
7752         declare when POSIX_SPAWN_SETSCHEDULER is zero.
7753         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
7754         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
7755         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
7756         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
7757         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
7758         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
7759         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
7760         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
7761         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
7762         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
7763         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
7764         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
7765         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
7766         Likewise.
7767         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
7768         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
7769         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
7770         Likewise.
7771         * tests/test-spawn.c (main): Make it work when
7772         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
7773
7774 2010-03-07  Bruno Haible  <bruno@clisp.org>
7775
7776         Fix incorrect Makefile.am generation in German locale.
7777         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7778         Execute sed command with character range in C locale.
7779
7780 2010-03-06  Bruno Haible  <bruno@clisp.org>
7781
7782         Tests for module 'iconv-h'.
7783         * modules/iconv-h-tests: New file.
7784         * tests/test-iconv-h.c: New file.
7785
7786         New module 'iconv-h'.
7787         * modules/iconv-h: New file.
7788         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
7789         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
7790         (configure.ac): Remove gl_ICONV_H.
7791         (Makefile.am): Remove rule for iconv.h.
7792
7793 2010-03-06  Bruno Haible  <bruno@clisp.org>
7794
7795         More consistent naming of *.m4 files.
7796         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
7797         * modules/wctype (Files): Update.
7798
7799         More consistent naming of *.m4 files.
7800         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
7801         * modules/wchar (Files): Update.
7802
7803 2010-03-06  Jim Meyering  <meyering@redhat.com>
7804
7805         euidaccess: relax license to LGPLv2+
7806         * modules/euidaccess (License): Relax to LGPLv2+.
7807
7808 2010-03-06  Bruno Haible  <bruno@clisp.org>
7809
7810         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
7811         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
7812         (Makefile.am): Augment lib_SOURCES instead.
7813
7814 2010-03-04  Jim Meyering  <meyering@redhat.com>
7815
7816         utime: remove obsolete module
7817         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
7818         unnecessary for years, and has been marked as obsolete for 10 months.
7819         * modules/utime: Remove file.
7820         * lib/utime.c: Remove file.
7821         * m4/utime.m4: Remove file.
7822         * m4/utimes-null.m4: Remove file.
7823         * doc/posix-functions/utime.texi (utime): Remove reference to
7824         the module.  Move the sole "fixed by gnulib" item into the
7825         "problems not fixed by Gnulib" list.
7826         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
7827
7828 2010-03-05  Simon Josefsson  <simon@josefsson.org>
7829
7830         * modules/exit (License): Relax license to LGPLv2+.
7831         (Status): Mark as obsolete.
7832         * NEWS: Mention deprecated 'exit' module.
7833         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
7834         of now obsolete 'exit'.
7835
7836 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7837
7838         fts-lgpl: remove unused module
7839         * modules/fts-lgpl: Remove.
7840         * MODULES.html.sh (func_all_modules): Adjust.
7841         * check-module (find_included_lib_files): Adjust.
7842         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
7843
7844 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
7845
7846         copy-acl: enhance Solaris ACL error handling
7847         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
7848         * lib/set-mode-acl.c (qset_acl): Likewise.
7849
7850 2010-03-02  Bruno Haible  <bruno@clisp.org>
7851
7852         spawn: Don't override the system defined values on FreeBSD 8.
7853         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
7854         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
7855         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
7856         if HAVE_POSIX_SPAWN is 1.
7857         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
7858
7859 2010-03-01  Bruno Haible  <bruno@clisp.org>
7860
7861         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
7862         regarding Automake.
7863
7864 2010-02-25  Bruno Haible  <bruno@clisp.org>
7865
7866         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
7867         * gnulib-tool: Define 'echo' as a function only before the ksh alias
7868         setting, not afterwards.
7869         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7870
7871 2010-02-24  Eric Blake  <eblake@redhat.com>
7872
7873         bootstrap, git-version-gen: use timestamp
7874         * build-aux/git-version-gen (scriptversion): Force UTC.
7875         * build-aux/bootstrap (scriptversion): New variable.
7876
7877         bootstrap: allow older git
7878         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
7879         older than 1.6.4.  Requested by the libvirt project.
7880
7881 2010-02-23  Eric Blake  <eblake@redhat.com>
7882
7883         warn-on-use: work with old autoconf
7884         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
7885         AS_VAR semantics of autoconf 2.60.
7886         Reported by Bruno Haible.
7887
7888         bootstrap: improve some comments
7889         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
7890         clarification comments.
7891
7892         gettimeofday: provide correct function
7893         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
7894         when replacement is declared, otherwise provide gettimeofday.
7895         Reported by Michael Goffioul.
7896
7897 2010-02-23  Jim Meyering  <meyering@redhat.com>
7898
7899         lib-ignore: relax license to "unlimited", not LGPLv2+
7900         * modules/lib-ignore (License): Relax to "unlimited".
7901
7902 2010-02-23  Jim Meyering  <meyering@redhat.com>
7903
7904         lib-ignore: relax license to LGPLv2+
7905         * modules/lib-ignore (License): Relax to LGPLv2+.
7906
7907 2010-02-22  Eric Blake  <eblake@redhat.com>
7908
7909         lseek: avoid bash 3.2 broken pipe bug
7910         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
7911         warning from bash 3.2.
7912         Reported by Ben Pfaff, with analysis from Bruno Haible.
7913
7914         bootstrap: support non-FSF copyright holder
7915         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
7916         bootstrap.conf override of COPYRIGHT_HOLDER.
7917         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
7918
7919         bootstrap: interoperate with gettext 0.14.1
7920         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
7921
7922         bootstrap: allow for alternate submodule location
7923         * build-aux/bootstrap (gnulib_path): New variable; use instead of
7924         hardcoding submodule location.
7925         (gnulib_mk): Allow direct use of Makefile.am.
7926
7927         bootstrap: use GNULIB_SRCDIR to reduce disk usage
7928         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
7929         rather than reconfiguring where the submodule points.
7930
7931         gettimeofday: restore support for platforms that lack function
7932         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
7933         replacement if function is missing.
7934         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
7935         * modules/sys_time (Makefile.am): Substitute it.
7936         * lib/sys_time.in.h (gettimeofday): Check it.
7937         Reported by Michael Goffioul.
7938
7939 2010-02-21  Bruno Haible  <bruno@clisp.org>
7940
7941         * lib/stdio.in.h (obstack_printf): Fix typo.
7942
7943 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
7944
7945         vc-list-files: use bzr ls's -R option
7946         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
7947         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
7948
7949 2010-02-21  Jim Meyering  <meyering@redhat.com>
7950
7951         init.sh: fix EXEEXT shims to work also for names like test-prog
7952         * tests/init.sh: Re-exec a better shell, when needed.
7953         If the current shell lacks support for posix $(...), an init.sh-using
7954         test will now try to find a shell that supports that.  If EXEEXT is
7955         nonempty, we also require support for hyphen-in-alias-name and shell
7956         substitutions like ${var#glob}.  Failure to find such a shell results
7957         in a skipped test.
7958
7959 2010-02-21  Bruno Haible  <bruno@clisp.org>
7960
7961         Really work around around "broken pipe" error message from bash 3.2.
7962         * gnulib-tool (func_reset_sigpipe): Remove function.
7963         (echo): In bash 3.2, define to a function that uses printf.
7964         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
7965
7966 2010-02-20  Bruno Haible  <bruno@clisp.org>
7967
7968         Restore support for automake 1.9.6 with autoconf 2.61.
7969         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
7970         Reported by James Youngman <jay@gnu.org>.
7971
7972 2010-02-20  Bruno Haible  <bruno@clisp.org>
7973
7974         Improve *printf warning condition.
7975         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
7976         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
7977         and the function is overridden due to SIGPIPE emulation.
7978
7979 2010-02-20  Bruno Haible  <bruno@clisp.org>
7980
7981         * lib/stdio.in.h: Tweak comments.
7982
7983 2010-02-19  Bruno Haible  <bruno@clisp.org>
7984
7985         Make it easier to find modules. New gnulib-tool option '--find'.
7986         * gnulib-tool: New option --find.
7987         (func_usage): Document it.
7988         (func_sanitize_modulelist): New function, extracted from
7989         func_all_modules.
7990         (func_all_modules): Invoke it.
7991         * doc/gnulib-tool.texi (Which modules?): New node.
7992
7993 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
7994
7995         * lib/sys_select.in.h: Provide select replacement even if
7996         sys/select.h exists on a system, for Interix.
7997
7998 2010-02-18  Jim Meyering  <meyering@redhat.com>
7999
8000         init.sh: don't use $(...) just yet
8001         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
8002         to accommodate e.g., Solaris' /bin/sh.
8003
8004 2010-02-17  Bruno Haible  <bruno@clisp.org>
8005
8006         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
8007         Reported by Ludovic Courtès <ludo@gnu.org>.
8008
8009 2010-02-16  Simon Josefsson  <simon@josefsson.org>
8010
8011         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
8012         linking with -lintl.
8013
8014 2010-02-17  Simon Josefsson  <simon@josefsson.org>
8015
8016         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
8017         if not provided by the system's netdb.h.  Reported by
8018         ludo@gnu.org (Ludovic Courtès).
8019
8020 2010-02-15  Jim Meyering  <meyering@redhat.com>
8021
8022         init.sh: improve portability and efficiency
8023         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
8024         "dummy" in a for loop.
8025         Use '!', not '^' to select the complement of a character set used
8026         in a "case" statement.
8027         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
8028         Suggestions from Eric Blake.
8029
8030         init.sh: automatically accommodate programs with the .exe suffix
8031         Automatically arrange for an invocation of "prog" to execute the
8032         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
8033         may use the simpler "prog", yet still work when built on a system
8034         that requires specifying the added suffix.
8035         Do this by constructing a function named "prog" that invokes
8036         "prog.exe" for each .exe file in selected directories.
8037         * tests/init.sh (find_exe_basenames_): New function.
8038         (create_exe_shim_functions_): New function.
8039         (path_prepend_): Use it.
8040
8041         maint.mk: mark syntax-check sc_*.m rules as .PHONY
8042         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
8043         "make -t syntax-check" doesn't create a ton of sc_*.m files.
8044
8045 2010-02-14  Jim Meyering  <meyering@redhat.com>
8046
8047         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
8048         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
8049         (sc_prohibit_hash_pjw_without_use): New rule.
8050
8051         maint.mk: allow the default upload destination dir to be overridden
8052         * top/maint.mk (upload_dest_dir_): Define with a default that
8053         preserves the status quo.
8054         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
8055         Reported by Peter Simons.
8056
8057         maint.mk: prohibit inclusion of "hash.h" without_use
8058         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
8059
8060 2010-02-10  Jim Meyering  <meyering@redhat.com>
8061
8062         maint.mk: prohibit inclusion of "ignore-value.h" without_use
8063         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
8064
8065 2010-02-09  Eric Blake  <ebb9@byu.net>
8066         and Bruno Haible  <bruno@clisp.org>
8067
8068         obstack-printf-posix: ensure declaration
8069         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
8070         extracted from gl_FUNC_OBSTACK_PRINTF.
8071         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
8072         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
8073         Likewise.
8074         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
8075         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
8076         0.
8077
8078 2010-02-08  Bruno Haible  <bruno@clisp.org>
8079
8080         gnulib-tool: Fix typo in 2010-02-07 commit.
8081         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
8082         Reported by Eric Blake.
8083
8084 2010-02-07  Bruno Haible  <bruno@clisp.org>
8085
8086         gnulib-tool: Fix up caching patches.
8087         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
8088         option --no-cache. Use associative arrays when supported by the shell.
8089         (sed_comments): New variable.
8090         (modcache): Renamed from do_cache.
8091         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
8092         abbreviate unnecessarily.
8093         (have_associative): New variable.
8094         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
8095         way also for ksh and zsh.
8096         (func_init_sed_convert_to_cache_statements): New function, extracted
8097         from func_cache_lookup_module. Add support for associative arrays.
8098         Don't set the c_MODULE_cached variable here. Ignore all lines before
8099         the first field header. Remove only the final newline, not all trailing
8100         newlines. Support empty fields correctly. Limit the use of 'eval' to
8101         assignments.
8102         (func_get_description, func_get_status, func_get_notice,
8103         func_get_applicability, func_get_filelist, func_get_dependencies,
8104         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
8105         func_get_automake_snippet, func_get_include_directive,
8106         func_get_link_directive, func_get_license, func_get_maintainer):
8107         Update documentation. List the unoptimized code first. Add support for
8108         associative arrays. Limit the use of 'eval' to assignments.
8109         (func_get_applicability): Undo stylistic pessimisations.
8110         (func_get_automake_snippet, func_get_include_directive): Reduce code
8111         duplication.
8112         (func_modules_transitive_closure, func_modules_add_dummy,
8113         func_modules_notice, func_modules_to_filelist, func_add_file,
8114         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
8115         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
8116         func_create_testdir, func_create_megatestdir): Update documentation.
8117
8118 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8119
8120         * gnulib-tool (func_cache_lookup_module): Store the module name
8121         belonging to the cache variable; error out if two different
8122         module names map to the same cache variable name.
8123
8124 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8125
8126         gnulib-tool: Make caching optional.
8127         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
8128         Update matching short versions of --no-changelog.
8129         (func_usage): Update.
8130         (sed_extract_cache_prog): Renamed from ...
8131         (sed_extract_prog): ... this; revert to old extraction script.
8132         (func_get_description, func_get_status)
8133         (func_get_notice, func_get_applicability, func_get_filelist)
8134         (func_get_dependencies, func_get_autoconf_early_snippet)
8135         (func_get_autoconf_snippet, func_get_automake_snippet)
8136         (func_get_include_directive, func_get_link_directive)
8137         (func_get_license, func_get_maintainer): If $do_cache is false,
8138         use old, non-caching extraction scripts.
8139         Suggestion by Bruno Haible.
8140
8141 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8142
8143         gnulib-tool: cache module metainformation.
8144         * gnulib-tool (sed_extract_prog): Match newline before each
8145         header, and rewrite header to a shell variable suffix.
8146         (func_cache_var, func_cache_lookup_module): New functions,
8147         to turn a module name into a cache variable prefix, and to
8148         look up and cache module metainformation.
8149         (func_get_description, func_get_status)
8150         (func_get_notice, func_get_applicability, func_get_filelist)
8151         (func_get_dependencies, func_get_autoconf_early_snippet)
8152         (func_get_autoconf_snippet, func_get_automake_snippet)
8153         (func_get_include_directive, func_get_link_directive)
8154         (func_get_license, func_get_maintainer): Use
8155         func_cache_lookup_module.
8156
8157 2010-02-07  Bruno Haible  <bruno@clisp.org>
8158
8159         fnctl: Fix missing dependency.
8160         * modules/fcntl (Depends-on): Add getdtablesize.
8161         Reported by John W. Eaton <jwe@gnu.org>.
8162
8163 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8164
8165         Argp: fix recognition of short alias options.
8166
8167         * lib/argp-parse.c (convert_options): Fix improper use of
8168         `|' between character values.
8169         * tests/test-argp.c (group1_option): New alias option
8170         --read (-r).
8171         (group1_parser): Special handling for 'r'.
8172         (test15): New test case.
8173         (test_fun): Add test15.
8174         * tests/test-argp-2.sh: Update expected --help and --usage
8175         outputs.
8176
8177 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8178
8179         * tests/test-argp.c: Fix indentation.
8180
8181 2010-02-04  Eric Blake  <ebb9@byu.net>
8182
8183         gettimeofday: expose type of second argument
8184         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
8185         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
8186         * tests/test-gettimeofday.c: Use it to silence warning.
8187         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
8188         the issue.
8189
8190 2010-02-03  Jim Meyering  <meyering@redhat.com>
8191
8192         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
8193         * lib/regcomp.c (TYPE_SIGNED): Define.
8194         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
8195
8196         regcomp.c: avoid a new -Wshadow warning
8197         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
8198
8199 2010-02-01  Jim Meyering  <meyering@redhat.com>
8200
8201         removing useless parentheses in cpp #define directives
8202         For motivation, see commit c0221df4, "define STREQ(a,b)
8203         consistently, removing useless parentheses"
8204         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
8205         * lib/mountlist.c (MNT_IGNORE): Likewise.
8206         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
8207
8208 2010-02-01  Eric Blake  <ebb9@byu.net>
8209
8210         sys_time: use link-warning
8211         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
8212         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
8213         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
8214         * modules/sys_time (Depends-on): Add warn-on-use.
8215         (Makefile.am): Always build replacement.
8216         (configure.ac): Update substitutions.
8217         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
8218         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
8219         bother with SYS_TIME_H.
8220         * modules/gettimeofday (configure.ac): Declare indicator.
8221         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
8222         in use.
8223
8224         closein-tests: silence compiler warning
8225         * tests/test-closein.c (main): Ignore fread result.
8226         * modules/closein-tests (Depends-on): Add ignore-value.
8227
8228         tests: silence warning about system return
8229         * tests/test-areadlink-with-size.c (main): Ignore system result.
8230         * tests/test-areadlink.c (main): Likewise.
8231         * tests/test-areadlinkat-with-size.c (main): Likewise.
8232         * tests/test-areadlinkat.c (main): Likewise.
8233         * tests/test-canonicalize-lgpl.c (main): Likewise.
8234         * tests/test-canonicalize.c (main): Likewise.
8235         * tests/test-chown.c (main): Likewise.
8236         * tests/test-fchownat.c (main): Likewise.
8237         * tests/test-fdutimensat.c (main): Likewise.
8238         * tests/test-fstatat.c (main): Likewise.
8239         * tests/test-futimens.c (main): Likewise.
8240         * tests/test-lchown.c (main): Likewise.
8241         * tests/test-link.c (main): Likewise.
8242         * tests/test-linkat.c (main): Likewise.
8243         * tests/test-lstat.c (main): Likewise.
8244         * tests/test-mkdir.c (main): Likewise.
8245         * tests/test-mkdirat.c (main): Likewise.
8246         * tests/test-mkfifo.c (main): Likewise.
8247         * tests/test-mkfifoat.c (main): Likewise.
8248         * tests/test-mknod.c (main): Likewise.
8249         * tests/test-readlink.c (main): Likewise.
8250         * tests/test-remove.c (main): Likewise.
8251         * tests/test-rename.c (main): Likewise.
8252         * tests/test-renameat.c (main): Likewise.
8253         * tests/test-rmdir.c (main): Likewise.
8254         * tests/test-symlink.c (main): Likewise.
8255         * tests/test-symlinkat.c (main): Likewise.
8256         * tests/test-unlink.c (main): Likewise.
8257         * tests/test-unlinkat.c (main): Likewise.
8258         * tests/test-utimens.c (main): Likewise.
8259         * tests/test-utimensat.c (main): Likewise.
8260         * modules/areadlink-tests (Depends-on): Add ignore-value.
8261         * modules/areadlink-with-size-tests (Depends-on): Likewise.
8262         * modules/areadlinkat-tests (Depends-on): Likewise.
8263         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
8264         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8265         * modules/canonicalize-tests (Depends-on): Likewise.
8266         * modules/chown-tests (Depends-on): Likewise.
8267         * modules/fdutimensat-tests (Depends-on): Likewise.
8268         * modules/futimens-tests (Depends-on): Likewise.
8269         * modules/lchown-tests (Depends-on): Likewise.
8270         * modules/link-tests (Depends-on): Likewise.
8271         * modules/linkat-tests (Depends-on): Likewise.
8272         * modules/lstat-tests (Depends-on): Likewise.
8273         * modules/mkdir-tests (Depends-on): Likewise.
8274         * modules/mkfifo-tests (Depends-on): Likewise.
8275         * modules/mkfifoat-tests (Depends-on): Likewise.
8276         * modules/mknod-tests (Depends-on): Likewise.
8277         * modules/openat-tests (Depends-on): Likewise.
8278         * modules/readlink-tests (Depends-on): Likewise.
8279         * modules/remove-tests (Depends-on): Likewise.
8280         * modules/rename-tests (Depends-on): Likewise.
8281         * modules/renameat-tests (Depends-on): Likewise.
8282         * modules/rmdir-tests (Depends-on): Likewise.
8283         * modules/symlink-tests (Depends-on): Likewise.
8284         * modules/symlinkat-tests (Depends-on): Likewise.
8285         * modules/unlink-tests (Depends-on): Likewise.
8286         * modules/utimens-tests (Depends-on): Likewise.
8287         * modules/utimensat-tests (Depends-on): Likewise.
8288
8289 2010-01-31  Bruno Haible  <bruno@clisp.org>
8290
8291         Perform the same test for many <math.h> functions.
8292         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
8293         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
8294         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
8295         of gl_MATHFUNC.
8296         * modules/acos (configure.ac): Likewise.
8297         * modules/asin (configure.ac): Likewise.
8298         * modules/atan (configure.ac): Likewise.
8299         * modules/atan2 (configure.ac): Likewise.
8300         * modules/cbrt (configure.ac): Likewise.
8301         * modules/copysign (configure.ac): Likewise.
8302         * modules/cos (configure.ac): Likewise.
8303         * modules/cosh (configure.ac): Likewise.
8304         * modules/erf (configure.ac): Likewise.
8305         * modules/erfc (configure.ac): Likewise.
8306         * modules/exp (configure.ac): Likewise.
8307         * modules/fmod (configure.ac): Likewise.
8308         * modules/hypot (configure.ac): Likewise.
8309         * modules/j0 (configure.ac): Likewise.
8310         * modules/j1 (configure.ac): Likewise.
8311         * modules/jn (configure.ac): Likewise.
8312         * modules/lgamma (configure.ac): Likewise.
8313         * modules/log (configure.ac): Likewise.
8314         * modules/log10 (configure.ac): Likewise.
8315         * modules/log1p (configure.ac): Likewise.
8316         * modules/pow (configure.ac): Likewise.
8317         * modules/remainder (configure.ac): Likewise.
8318         * modules/sin (configure.ac): Likewise.
8319         * modules/sinh (configure.ac): Likewise.
8320         * modules/tan (configure.ac): Likewise.
8321         * modules/tanh (configure.ac): Likewise.
8322         * modules/y0 (configure.ac): Likewise.
8323         * modules/y1 (configure.ac): Likewise.
8324         * modules/yn (configure.ac): Likewise.
8325         Suggested by Paolo Bonzini.
8326
8327 2010-01-31  Bruno Haible  <bruno@clisp.org>
8328
8329         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
8330
8331 2010-01-31  Bruno Haible  <bruno@clisp.org>
8332
8333         Work around getdelim() bug on FreeBSD 8.0.
8334         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
8335         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
8336         not work.
8337         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
8338         is 1.
8339         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
8340         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
8341         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
8342         a non-zero size.
8343         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
8344
8345 2010-01-31  Bruno Haible  <bruno@clisp.org>
8346
8347         Work around getline() bug on FreeBSD 8.0.
8348         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
8349         and a non-zero size.
8350         * tests/test-getline.c (main): Likewise.
8351         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
8352         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
8353
8354 2010-01-28  Eric Blake  <ebb9@byu.net>
8355
8356         regex: fix build failure
8357         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
8358         platforms.
8359
8360 2010-01-28  Jim Meyering  <meyering@redhat.com>
8361
8362         regex: do not ignore memory allocation failure
8363         * lib/regex_internal.c (create_cd_newstate): Detect
8364         re_node_set_init_copy failure.   Extracted from glibc commit
8365         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8366
8367         regex: sync more white-space changes from libc
8368         * lib/regex_internal.c: White-space only changes.
8369         * lib/regexec.c: Likewise.
8370
8371         regex: add many uses of __attribute_warn_unused_result__
8372         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
8373         * lib/regexec.c: Likewise.
8374         Extracted from a messy glibc commit.
8375
8376         regcomp.c: spelling and merge-artifact from glibc
8377         * lib/regcomp.c: Merge remainder of glibc's
8378         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8379
8380         regcomp.c: sync white-space changes from glibc
8381         * lib/regcomp.c: Merge to accommodate white space
8382         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8383
8384         regcomp.c: do not ignore internal return values
8385         * lib/regcomp.c: Do not ignore internal return values.
8386         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
8387         but without its white-space changes and spelling fixes.
8388
8389         regex_internal.h: define __attribute_warn_unused_result__
8390         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
8391
8392         maint: add a syntax-check rule to check for vulnerable Makefile.in
8393         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
8394
8395 2010-01-27  Jim Meyering  <meyering@redhat.com>
8396
8397         ncftpput-ftp: clean up spaces
8398         * build-aux/ncftpput-ftp: Make Copyright line consistent.
8399         Remove trailing blanks.
8400
8401 2010-01-27  Simon Josefsson  <simon@josefsson.org>
8402
8403         * build-aux/git-version-gen: Fix copyright statement.
8404         * build-aux/gnupload: Likewise.
8405         * tests/test-arcfour.c: Likewise.
8406         * tests/test-arctwo.c: Likewise.
8407         * tests/test-count-one-bits.c: Likewise.
8408         * tests/test-crc.c: Likewise.
8409         * tests/test-des.c: Likewise.
8410         * tests/test-gc-arcfour.c: Likewise.
8411         * tests/test-gc-arctwo.c: Likewise.
8412         * tests/test-gc-des.c: Likewise.
8413         * tests/test-gc-hmac-md5.c: Likewise.
8414         * tests/test-gc-hmac-sha1.c: Likewise.
8415         * tests/test-gc-md2.c: Likewise.
8416         * tests/test-gc-md4.c: Likewise.
8417         * tests/test-gc-md5.c: Likewise.
8418         * tests/test-gc-pbkdf2-sha1.c: Likewise.
8419         * tests/test-gc-rijndael.c: Likewise.
8420         * tests/test-gc-sha1.c: Likewise.
8421         * tests/test-gc.c: Likewise.
8422         * tests/test-gethostname.c: Likewise.
8423         * tests/test-gettimeofday.c: Likewise.
8424         * tests/test-hash.c: Likewise.
8425         * tests/test-hmac-md5.c: Likewise.
8426         * tests/test-hmac-sha1.c: Likewise.
8427         * tests/test-md2.c: Likewise.
8428         * tests/test-md4.c: Likewise.
8429         * tests/test-md5.c: Likewise.
8430         * tests/test-memchr.c: Likewise.
8431         * tests/test-memchr2.c: Likewise.
8432         * tests/test-memcmp.c: Likewise.
8433         * tests/test-memmem.c: Likewise.
8434         * tests/test-memrchr.c: Likewise.
8435         * tests/test-rawmemchr.c: Likewise.
8436         * tests/test-read-file.c: Likewise.
8437         * tests/test-rijndael.c: Likewise.
8438         * tests/test-sockets.c: Likewise.
8439         * tests/test-strchrnul.c: Likewise.
8440         * tests/test-strstr.c: Likewise.
8441         * tests/test-strtod.c: Likewise.
8442         * build-aux/ncftpput-ftp: Likewise.
8443
8444 2010-01-26  Eric Blake  <ebb9@byu.net>
8445
8446         ignore-value: update recommended header name
8447         * modules/ignore-value (Include): Only use <> for headers that
8448         exist in glibc.
8449
8450 2010-01-26  Jim Meyering  <meyering@redhat.com>
8451
8452         test-userspec.c: avoid compiler warnings
8453         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
8454         and "initialization discards qualifiers..." warnings.
8455         Put the first "uid" in its own scope, and make char* members "const".
8456
8457 2010-01-25  Bruno Haible  <bruno@clisp.org>
8458
8459         gnulib-tool: Make warning diagnostics consistent.
8460         * gnulib-tool (func_warning): New function.
8461         Use it everywhere where gnulib-tool produces output to stderr and it is
8462         not a fatal error.
8463
8464 2010-01-25  Bruno Haible  <bruno@clisp.org>
8465
8466         Fix test dependencies.
8467         * modules/xstrtol-tests (Depends-on): Add inttypes.
8468         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
8469
8470 2010-01-25 Pádraig Brady <P@draigBrady.com>
8471
8472         syntax-check: detect incorrect boolean macro values in config.h
8473         * modules/maintainer-makefile (configure.ac): Parameterize the location
8474         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
8475         The logic is from Eric Blake and the location indicated by Jim Meyering.
8476         Note the more natural CONFIG_HEADER name is prohibited by automake
8477         for backwards compatibility reasons.
8478         * top/maint.mk (sc_Wundef_boolean): New rule.
8479
8480 2010-01-25  Jim Meyering  <meyering@redhat.com>
8481
8482         bootstrap: detect MacOS 10.6's shasum, too
8483         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
8484         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
8485
8486 2010-01-23  Jim Meyering  <meyering@redhat.com>
8487
8488         xstrtoll: new module
8489         * modules/xstrtoll: New file.
8490         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
8491         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
8492         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
8493         ./configure fails if you use this module and lack "long long".
8494         * modules/xstrtoll-tests: New module.
8495         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
8496         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
8497         new init.sh-based test framework.
8498
8499 2010-01-24  Bruno Haible  <bruno@clisp.org>
8500
8501         Tests for module 'yn'.
8502         * modules/yn-tests: New file.
8503         * tests/test-yn.c: New file.
8504
8505         Tests for module 'y1'.
8506         * modules/y1-tests: New file.
8507         * tests/test-y1.c: New file.
8508
8509         Tests for module 'y0'.
8510         * modules/y0-tests: New file.
8511         * tests/test-y0.c: New file.
8512
8513         Tests for module 'tanh'.
8514         * modules/tanh-tests: New file.
8515         * tests/test-tanh.c: New file.
8516
8517         Tests for module 'tan'.
8518         * modules/tan-tests: New file.
8519         * tests/test-tan.c: New file.
8520
8521         Tests for module 'sqrt'.
8522         * modules/sqrt-tests: New file.
8523         * tests/test-sqrt.c: New file.
8524
8525         Tests for module 'sinh'.
8526         * modules/sinh-tests: New file.
8527         * tests/test-sinh.c: New file.
8528
8529         Tests for module 'sin'.
8530         * modules/sin-tests: New file.
8531         * tests/test-sin.c: New file.
8532
8533         Tests for module 'rint'.
8534         * modules/rint-tests: New file.
8535         * tests/test-rint.c: New file.
8536
8537         Tests for module 'remainder'.
8538         * modules/remainder-tests: New file.
8539         * tests/test-remainder.c: New file.
8540
8541         Tests for module 'pow'.
8542         * modules/pow-tests: New file.
8543         * tests/test-pow.c: New file.
8544
8545         Tests for module 'nextafter'.
8546         * modules/nextafter-tests: New file.
8547         * tests/test-nextafter.c: New file.
8548
8549         Tests for module 'modf'.
8550         * modules/modf-tests: New file.
8551         * tests/test-modf.c: New file.
8552
8553         Tests for module 'logb'.
8554         * modules/logb-tests: New file.
8555         * tests/test-logb.c: New file.
8556
8557         Tests for module 'log1p'.
8558         * modules/log1p-tests: New file.
8559         * tests/test-log1p.c: New file.
8560
8561         Tests for module 'log10'.
8562         * modules/log10-tests: New file.
8563         * tests/test-log10.c: New file.
8564
8565         Tests for module 'log'.
8566         * modules/log-tests: New file.
8567         * tests/test-log.c: New file.
8568
8569         Tests for module 'lgamma'.
8570         * modules/lgamma-tests: New file.
8571         * tests/test-lgamma.c: New file.
8572
8573         Tests for module 'ldexp'.
8574         * modules/ldexp-tests: New file.
8575         * tests/test-ldexp.c: New file.
8576
8577         Tests for module 'jn'.
8578         * modules/jn-tests: New file.
8579         * tests/test-jn.c: New file.
8580
8581         Tests for module 'j1'.
8582         * modules/j1-tests: New file.
8583         * tests/test-j1.c: New file.
8584
8585         Tests for module 'j0'.
8586         * modules/j0-tests: New file.
8587         * tests/test-j0.c: New file.
8588
8589         Tests for module 'hypot'.
8590         * modules/hypot-tests: New file.
8591         * tests/test-hypot.c: New file.
8592
8593         Tests for module 'fmod'.
8594         * modules/fmod-tests: New file.
8595         * tests/test-fmod.c: New file.
8596
8597         Tests for module 'fabs'.
8598         * modules/fabs-tests: New file.
8599         * tests/test-fabs.c: New file.
8600
8601         Tests for module 'exp'.
8602         * modules/exp-tests: New file.
8603         * tests/test-exp.c: New file.
8604
8605         Tests for module 'erfc'.
8606         * modules/erfc-tests: New file.
8607         * tests/test-erfc.c: New file.
8608
8609         Tests for module 'erf'.
8610         * modules/erf-tests: New file.
8611         * tests/test-erf.c: New file.
8612
8613         Tests for module 'cosh'.
8614         * modules/cosh-tests: New file.
8615         * tests/test-cosh.c: New file.
8616
8617         Tests for module 'cos'.
8618         * modules/cos-tests: New file.
8619         * tests/test-cos.c: New file.
8620
8621         Tests for module 'copysign'.
8622         * modules/copysign-tests: New file.
8623         * tests/test-copysign.c: New file.
8624
8625         Tests for module 'cbrt'.
8626         * modules/cbrt-tests: New file.
8627         * tests/test-cbrt.c: New file.
8628
8629         Tests for module 'atan2'.
8630         * modules/atan2-tests: New file.
8631         * tests/test-atan2.c: New file.
8632
8633         Tests for module 'atan'.
8634         * modules/atan-tests: New file.
8635         * tests/test-atan.c: New file.
8636
8637         Tests for module 'asin'.
8638         * modules/asin-tests: New file.
8639         * tests/test-asin.c: New file.
8640
8641         Tests for module 'acos'.
8642         * modules/acos-tests: New file.
8643         * tests/test-acos.c: New file.
8644
8645 2010-01-24  Bruno Haible  <bruno@clisp.org>
8646
8647         Fix tests for common <math.h> functions.
8648         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
8649         code snippet that references the function pointer, rather than merely
8650         calling the function. Substitute the FUNC_LIBM variable.
8651         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
8652         * modules/acos (configure.ac): Likewise.
8653         * modules/asin (configure.ac): Likewise.
8654         * modules/atan (configure.ac): Likewise.
8655         * modules/atan2 (configure.ac): Likewise.
8656         * modules/cbrt (configure.ac): Likewise.
8657         * modules/copysign (configure.ac): Likewise.
8658         * modules/cos (configure.ac): Likewise.
8659         * modules/cosh (configure.ac): Likewise.
8660         * modules/erf (configure.ac): Likewise.
8661         * modules/erfc (configure.ac): Likewise.
8662         * modules/exp (configure.ac): Likewise.
8663         * modules/fabs (configure.ac): Likewise.
8664         * modules/fmod (configure.ac): Likewise.
8665         * modules/hypot (configure.ac): Likewise.
8666         * modules/j0 (configure.ac): Likewise.
8667         * modules/j1 (configure.ac): Likewise.
8668         * modules/jn (configure.ac): Likewise.
8669         * modules/ldexp (configure.ac): Likewise.
8670         * modules/lgamma (configure.ac): Likewise.
8671         * modules/log (configure.ac): Likewise.
8672         * modules/log10 (configure.ac): Likewise.
8673         * modules/log1p (configure.ac): Likewise.
8674         * modules/logb (configure.ac): Likewise.
8675         * modules/modf (configure.ac): Likewise.
8676         * modules/nextafter (configure.ac): Likewise.
8677         * modules/pow (configure.ac): Likewise.
8678         * modules/remainder (configure.ac): Likewise.
8679         * modules/rint (configure.ac): Likewise.
8680         * modules/sin (configure.ac): Likewise.
8681         * modules/sinh (configure.ac): Likewise.
8682         * modules/tan (configure.ac): Likewise.
8683         * modules/tanh (configure.ac): Likewise.
8684         * modules/y0 (configure.ac): Likewise.
8685         * modules/y1 (configure.ac): Likewise.
8686         * modules/yn (configure.ac): Likewise.
8687
8688 2010-01-24  Bruno Haible  <bruno@clisp.org>
8689
8690         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
8691         * tests/test-acosl.c (x): New variable.
8692         (main): Store argument in x and fetch it from x.
8693         * tests/test-asinl.c (x): New variable.
8694         (main): Store argument in x and fetch it from x.
8695         * tests/test-atanl.c (x): New variable.
8696         (main): Store argument in x and fetch it from x.
8697         * tests/test-cosl.c (x): New variable.
8698         (main): Store argument in x and fetch it from x.
8699         * tests/test-expl.c (x): New variable.
8700         (main): Store argument in x and fetch it from x.
8701         * tests/test-logl.c (x): New variable.
8702         (main): Store argument in x and fetch it from x.
8703         * tests/test-sinl.c (x): New variable.
8704         (main): Store argument in x and fetch it from x.
8705         * tests/test-sqrtl.c (x): New variable.
8706         (main): Store argument in x and fetch it from x.
8707         * tests/test-tanl.c (x): New variable.
8708         (main): Store argument in x and fetch it from x.
8709
8710 2010-01-24  Bruno Haible  <bruno@clisp.org>
8711
8712         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
8713         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
8714         assignments to the initial TESTS_ENVIRONMENT.
8715         * doc/gnulib.texi (Unit test modules): Document it.
8716         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
8717         TESTS_ENVIRONMENT.
8718         * modules/btowc-tests (Makefile.am): Likewise.
8719         * modules/c-stack-tests (Makefile.am): Likewise.
8720         * modules/c-strcase-tests (Makefile.am): Likewise.
8721         * modules/copy-file-tests (Makefile.am): Likewise.
8722         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
8723         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
8724         * modules/mbrtowc-tests (Makefile.am): Likewise.
8725         * modules/mbscasecmp-tests (Makefile.am): Likewise.
8726         * modules/mbscasestr-tests (Makefile.am): Likewise.
8727         * modules/mbschr-tests (Makefile.am): Likewise.
8728         * modules/mbscspn-tests (Makefile.am): Likewise.
8729         * modules/mbsinit-tests (Makefile.am): Likewise.
8730         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
8731         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
8732         * modules/mbspbrk-tests (Makefile.am): Likewise.
8733         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
8734         * modules/mbsrchr-tests (Makefile.am): Likewise.
8735         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
8736         * modules/mbsspn-tests (Makefile.am): Likewise.
8737         * modules/mbsstr-tests (Makefile.am): Likewise.
8738         * modules/nl_langinfo-tests (Makefile.am): Likewise.
8739         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
8740         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
8741         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
8742         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
8743         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
8744         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
8745         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
8746         * modules/wcrtomb-tests (Makefile.am): Likewise.
8747         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
8748         * modules/wcsrtombs-tests (Makefile.am): Likewise.
8749         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
8750         assignments from TESTS_ENVIRONMENT.
8751         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
8752         augmentation.
8753         * modules/argp-version-etc-tests (Makefile.am): Likewise.
8754         * modules/atexit-tests (Makefile.am): Likewise.
8755         * modules/binary-io-tests (Makefile.am): Likewise.
8756         * modules/closein-tests (Makefile.am): Likewise.
8757         * modules/dprintf-posix-tests (Makefile.am): Likewise.
8758         * modules/exclude-tests (Makefile.am): Likewise.
8759         * modules/fflush-tests (Makefile.am): Likewise.
8760         * modules/fpending-tests (Makefile.am): Likewise.
8761         * modules/fprintf-posix-tests (Makefile.am): Likewise.
8762         * modules/freadahead-tests (Makefile.am): Likewise.
8763         * modules/freadptr-tests (Makefile.am): Likewise.
8764         * modules/freadseek-tests (Makefile.am): Likewise.
8765         * modules/fseek-tests (Makefile.am): Likewise.
8766         * modules/fseeko-tests (Makefile.am): Likewise.
8767         * modules/ftell-tests (Makefile.am): Likewise.
8768         * modules/ftello-tests (Makefile.am): Likewise.
8769         * modules/idpriv-drop-tests (Makefile.am): Likewise.
8770         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
8771         * modules/lseek-tests (Makefile.am): Likewise.
8772         * modules/parse-duration-tests (Makefile.am): Likewise.
8773         * modules/perror-tests (Makefile.am): Likewise.
8774         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
8775         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
8776         * modules/pipe-tests (Makefile.am): Likewise.
8777         * modules/pread-tests (Makefile.am): Likewise.
8778         * modules/printf-posix-tests (Makefile.am): Likewise.
8779         * modules/select-tests (Makefile.am): Likewise.
8780         * modules/sigpipe-tests (Makefile.am): Likewise.
8781         * modules/tsearch-tests (Makefile.am): Likewise.
8782         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
8783         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
8784         * modules/uniname/uniname-tests (Makefile.am): Likewise.
8785         * modules/uniwidth/width-tests (Makefile.am): Likewise.
8786         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
8787         * modules/version-etc-tests (Makefile.am): Likewise.
8788         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
8789         * modules/vprintf-posix-tests (Makefile.am): Likewise.
8790         * modules/xalloc-die-tests (Makefile.am): Likewise.
8791         * modules/xprintf-posix-tests (Makefile.am): Likewise.
8792         * modules/xstrtoimax-tests (Makefile.am): Likewise.
8793         * modules/xstrtol-tests (Makefile.am): Likewise.
8794         * modules/xstrtoumax-tests (Makefile.am): Likewise.
8795         * modules/yesno-tests (Makefile.am): Likewise.
8796         Suggested by Jim Meyering.
8797
8798 2010-01-24  Bruno Haible  <bruno@clisp.org>
8799
8800         More documentation.
8801         * doc/gnulib.texi (Writing modules): New chapter.
8802         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
8803         the new chapter.
8804
8805 2010-01-24  Jim Meyering  <meyering@redhat.com>
8806
8807         maint.mk: do not prepend "./" after filtering
8808         * top/maint.mk (_prepend_srcdir_prefix): New variable
8809         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
8810         "./" when $(srcdir) is ".".
8811
8812         define STREQ(a,b) consistently, removing useless parentheses
8813         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
8814         since the only risk is that "a" or "b" contains an unparenthesized
8815         comma, but if either did that, STREQ would have 3 or more arguments.
8816         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
8817         * lib/fts.c (STREQ): Remove unnecessary parentheses.
8818         * lib/hash-triple.c (STREQ): Likewise.
8819         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
8820         * lib/getugroups.c (STREQ): Likewise.
8821
8822 2010-01-23  Jim Meyering  <meyering@redhat.com>
8823
8824         maint.mk: fix syntax-check in a non-srcdir build directory
8825         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
8826         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
8827
8828 2010-01-22  Jim Meyering  <meyering@redhat.com>
8829
8830         userspec: add unit tests
8831         * tests/test-userspec.c: New file.
8832         * modules/userspec-tests: Likewise.
8833
8834 2010-01-21  Jim Meyering  <meyering@redhat.com>
8835
8836         maint.mk: handle source file names containing "." robustly
8837         * top/maint.mk (_dot_escaped_srcdir): Define.
8838         (VC_LIST): Use it in LHS of sed substitution.
8839
8840 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
8841
8842         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
8843         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
8844         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
8845         from a non-srcdir build.
8846
8847 2010-01-20  Eric Blake  <ebb9@byu.net>
8848
8849         warn-on-use: use instead of link-warning
8850         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
8851         * modules/unistd (Depends-on, Makefile.am): Likewise.
8852         * modules/arpa_inet (Depends-on): Replace link-warning with
8853         warn-on-use.
8854         (Makefile.am): Update rules accordingly.
8855         * modules/ctype (Depends-on, Makefile.am): Likewise.
8856         * modules/dirent (Depends-on, Makefile.am): Likewise.
8857         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
8858         * modules/inttypes (Depends-on, Makefile.am): Likewise.
8859         * modules/langinfo (Depends-on, Makefile.am): Likewise.
8860         * modules/locale (Depends-on, Makefile.am): Likewise.
8861         * modules/math (Depends-on, Makefile.am): Likewise.
8862         * modules/search (Depends-on, Makefile.am): Likewise.
8863         * modules/signal (Depends-on, Makefile.am): Likewise.
8864         * modules/spawn (Depends-on, Makefile.am): Likewise.
8865         * modules/stdlib (Depends-on, Makefile.am): Likewise.
8866         * modules/string (Depends-on, Makefile.am): Likewise.
8867         * modules/strings (Depends-on, Makefile.am): Likewise.
8868         * modules/sys_file (Depends-on, Makefile.am): Likewise.
8869         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
8870         * modules/sys_select (Depends-on, Makefile.am): Likewise.
8871         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
8872         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
8873         * modules/sys_times (Depends-on, Makefile.am): Likewise.
8874         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
8875         * modules/wchar (Depends-on, Makefile.am): Likewise.
8876         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
8877         should be poisoned.
8878         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
8879         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
8880         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
8881         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8882         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
8883         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8884         * m4/math_h.m4 (gl_MATH_H): Likewise.
8885         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8886         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8887         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8888         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
8889         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
8890         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
8891         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
8892         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
8893         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
8894         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8895         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8896         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8897         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8898         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8899         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8900         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8901         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
8902         GL_LINK_WARNING.
8903         * lib/ctype.in.h: Likewise.
8904         * lib/dirent.in.h: Likewise.
8905         * lib/fcntl.in.h: Likewise.
8906         * lib/inttypes.in.h: Likewise.
8907         * lib/langinfo.in.h: Likewise.
8908         * lib/locale.in.h: Likewise.
8909         * lib/math.in.h: Likewise.
8910         * lib/search.in.h: Likewise.
8911         * lib/signal.in.h: Likewise.
8912         * lib/spawn.in.h: Likewise.
8913         * lib/stdio.in.h: Likewise.
8914         * lib/stdlib.in.h: Likewise.
8915         * lib/string.in.h: Likewise.
8916         * lib/strings.in.h: Likewise.
8917         * lib/sys_file.in.h: Likewise.
8918         * lib/sys_ioctl.in.h: Likewise.
8919         * lib/sys_select.in.h: Likewise.
8920         * lib/sys_socket.in.h: Likewise.
8921         * lib/sys_stat.in.h: Likewise.
8922         * lib/sys_times.in.h: Likewise.
8923         * lib/sys_utsname.in.h: Likewise.
8924         * lib/unistd.in.h: Likewise.
8925         * lib/wchar.in.h: Likewise.
8926
8927 2010-01-20  Bruno Haible  <bruno@clisp.org>
8928
8929         Avoid duplicate -lm.
8930         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
8931         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
8932         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
8933         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
8934         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
8935         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
8936         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
8937         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
8938         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
8939         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
8940         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
8941         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8942         Reported by Paolo Bonzini.
8943
8944 2010-01-19  Bruno Haible  <bruno@clisp.org>
8945
8946         langinfo, nl_langinfo: Relicense under LGPLv2+.
8947         * modules/langinfo (License): Change to LGPLv2+.
8948         * modules/nl_langinfo (License): Likewise.
8949         Patch by David Lutterkort <lutter@redhat.com>.
8950
8951 2010-01-19  Bruno Haible  <bruno@clisp.org>
8952
8953         Avoid compilation error with cc on OSF/1 5.1.
8954         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
8955         statement, not before.
8956         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8957
8958 2010-01-18  Bruno Haible  <bruno@clisp.org>
8959
8960         Avoid a link error due to the __printf__ symbol.
8961         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
8962         and 2.6.x.
8963         (__format__, __printf__): Remove definitions.
8964         * lib/argp-fmtstream.h: Likewise.
8965         * lib/argp.h: Likewise.
8966         * lib/error.h: Likewise.
8967         * lib/vasnprintf.h: Likewise.
8968         * lib/xprintf.h: Likewise.
8969         * lib/xvasprintf.h: Likewise.
8970         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8971
8972 2010-01-18  Bruno Haible  <bruno@clisp.org>
8973
8974         Tests for module 'tanl'.
8975         * modules/tanl-tests: New file.
8976         * tests/test-tanl.c: New file.
8977
8978         Tests for module 'sqrtl'.
8979         * modules/sqrtl-tests: New file.
8980         * tests/test-sqrtl.c: New file.
8981
8982         Tests for module 'sinl'.
8983         * modules/sinl-tests: New file.
8984         * tests/test-sinl.c: New file.
8985
8986         Tests for module 'logl'.
8987         * modules/logl-tests: New file.
8988         * tests/test-logl.c: New file.
8989
8990         Tests for module 'expl'.
8991         * modules/expl-tests: New file.
8992         * tests/test-expl.c: New file.
8993
8994         Tests for module 'cosl'.
8995         * modules/cosl-tests: New file.
8996         * tests/test-cosl.c: New file.
8997
8998         Tests for module 'atanl'.
8999         * modules/atanl-tests: New file.
9000         * tests/test-atanl.c: New file.
9001
9002         Tests for module 'asinl'.
9003         * modules/asinl-tests: New file.
9004         * tests/test-asinl.c: New file.
9005
9006         Tests for module 'acosl'.
9007         * modules/acosl-tests: New file.
9008         * tests/test-acosl.c: New file.
9009
9010         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
9011         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
9012         tanl): Use the standard gnulib idiom.
9013         * lib/cosl.c: Don't include trigl.c and sincosl.c.
9014         * lib/sinl.c: Likewise.
9015         * lib/tanl.c: Don't include trigl.c.
9016         (kernel_tanl): Make static.
9017         * lib/sincosl.c: Include trigl.h first.
9018         * lib/trigl.c: Likewise.
9019         * m4/acosl.m4: New file.
9020         * m4/asinl.m4: New file.
9021         * m4/atanl.m4: New file.
9022         * m4/cosl.m4: New file.
9023         * m4/expl.m4: New file.
9024         * m4/logl.m4: New file.
9025         * m4/sinl.m4: New file.
9026         * m4/sqrtl.m4: New file.
9027         * m4/tanl.m4: New file.
9028         * m4/mathl.m4: Remove file.
9029         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
9030         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
9031         Don't initialize GNULIB_MATHL.
9032         * modules/acosl: New file.
9033         * modules/asinl: New file.
9034         * modules/atanl: New file.
9035         * modules/cosl: New file.
9036         * modules/expl: New file.
9037         * modules/logl: New file.
9038         * modules/sinl: New file.
9039         * modules/sqrtl: New file.
9040         * modules/tanl: New file.
9041         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
9042         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
9043         substitute GNULIB_MATHL.
9044         * modules/mathl: Rewritten.
9045         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
9046         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
9047         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
9048         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
9049         * doc/posix-functions/expl.texi: Mention the 'expl' module.
9050         * doc/posix-functions/logl.texi: Mention the 'logl' module.
9051         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
9052         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
9053         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
9054
9055 2010-01-18  Bruno Haible  <bruno@clisp.org>
9056
9057         sqrt: Make gl_FUNC_SQRT requirable.
9058         * m4/sqrt.m4: New file.
9059         * modules/sqrt (Files): Add it.
9060         (configure.ac): Invoke gl_FUNC_SQRT.
9061
9062 2010-01-18  Bruno Haible  <bruno@clisp.org>
9063
9064         New modules for common <math.h> functions.
9065         * m4/mathfunc.m4: New file.
9066         * modules/acos: New file.
9067         * modules/asin: New file.
9068         * modules/atan: New file.
9069         * modules/atan2: New file.
9070         * modules/cbrt: New file.
9071         * modules/copysign: New file.
9072         * modules/cos: New file.
9073         * modules/cosh: New file.
9074         * modules/erf: New file.
9075         * modules/erfc: New file.
9076         * modules/exp: New file.
9077         * modules/fabs: New file.
9078         * modules/fmod: New file.
9079         * modules/hypot: New file.
9080         * modules/j0: New file.
9081         * modules/j1: New file.
9082         * modules/jn: New file.
9083         * modules/ldexp: New file.
9084         * modules/lgamma: New file.
9085         * modules/log: New file.
9086         * modules/log10: New file.
9087         * modules/log1p: New file.
9088         * modules/logb: New file.
9089         * modules/modf: New file.
9090         * modules/nextafter: New file.
9091         * modules/pow: New file.
9092         * modules/remainder: New file.
9093         * modules/rint: New file.
9094         * modules/sin: New file.
9095         * modules/sinh: New file.
9096         * modules/sqrt: New file.
9097         * modules/tan: New file.
9098         * modules/tanh: New file.
9099         * modules/y0: New file.
9100         * modules/y1: New file.
9101         * modules/yn: New file.
9102         * doc/posix-functions/acos.texi: Mention the 'acos' module.
9103         * doc/posix-functions/asin.texi: Mention the 'asin' module.
9104         * doc/posix-functions/atan.texi: Mention the 'atan' module.
9105         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
9106         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
9107         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
9108         * doc/posix-functions/cos.texi: Mention the 'cos' module.
9109         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
9110         * doc/posix-functions/erf.texi: Mention the 'erf' module.
9111         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
9112         * doc/posix-functions/exp.texi: Mention the 'exp' module.
9113         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
9114         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
9115         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
9116         * doc/posix-functions/j0.texi: Mention the 'j0' module.
9117         * doc/posix-functions/j1.texi: Mention the 'j1' module.
9118         * doc/posix-functions/jn.texi: Mention the 'jn' module.
9119         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
9120         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
9121         * doc/posix-functions/log.texi: Mention the 'log' module.
9122         * doc/posix-functions/log10.texi: Mention the 'log10' module.
9123         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
9124         * doc/posix-functions/logb.texi: Mention the 'logb' module.
9125         * doc/posix-functions/modf.texi: Mention the 'modf' module.
9126         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
9127         * doc/posix-functions/pow.texi: Mention the 'pow' module.
9128         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
9129         * doc/posix-functions/rint.texi: Mention the 'rint' module.
9130         * doc/posix-functions/sin.texi: Mention the 'sin' module.
9131         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
9132         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
9133         * doc/posix-functions/tan.texi: Mention the 'tan' module.
9134         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
9135         * doc/posix-functions/y0.texi: Mention the 'y0' module.
9136         * doc/posix-functions/y1.texi: Mention the 'y1' module.
9137         * doc/posix-functions/yn.texi: Mention the 'yn' module.
9138
9139 2010-01-18  Jim Meyering  <meyering@redhat.com>
9140
9141         ignore-value: relax license to LGPLv2+
9142         * modules/ignore-value (License): Relax to LGPLv2+.
9143
9144         getdate: don't leak when TZ contains two or more '"'s
9145         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
9146         double quote in TZ after the first one.
9147
9148         readtokens: do not leak internal token_lengths buffer
9149         * lib/readtokens.c (readtokens): Free the local, lengths,
9150         when the supplied "token_lengths" parameter is NULL.
9151
9152 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9153
9154         Fix a couple of missing LIBTHREAD link failures on AIX.
9155         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
9156         $(LIBTHREAD).
9157         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
9158
9159         Link test-poll against INET_PTON_LIB.
9160         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
9161         for inet_pton on Solaris 10.
9162
9163 2010-01-17  Bruno Haible  <bruno@clisp.org>
9164
9165         unistdio/*-sprintf: Fix typo in module description.
9166         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
9167         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
9168         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
9169         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
9170         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
9171         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
9172         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
9173         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9174
9175 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9176
9177         gnulib-tool: fix filelist for AIX, HP-UX ksh.
9178         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
9179         variables in shell case patterns, for AIX and HP-UX ksh.
9180
9181         Split large sed scripts, for HP-UX sed.
9182         * modules/stdio: Split sed scripts around 50 sed commands,
9183         to avoid HP-UX limit of 99 commands, in the near future.
9184         * modules/string: Likewise.
9185         * modules/unistd: Likewise.
9186
9187         gnulib-tool: avoid writing in the current directory.
9188         * gnulib-tool (func_emit_lib_Makefile_am)
9189         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
9190         not in the current directory, so concurrent gnulib-tool
9191         instances do not interfere.
9192
9193 2010-01-16  Jim Meyering  <meyering@redhat.com>
9194
9195         doc: update users.txt
9196         * users.txt: Add grep.
9197         (diffutils, gzip): Update URLs.
9198
9199 2010-01-12  Bruno Haible  <bruno@clisp.org>
9200
9201         posix_spawn: Avoid test failure on Cygwin.
9202         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
9203         characters.
9204         Reported by Simon Josefsson.
9205
9206 2010-01-12  Bruno Haible  <bruno@clisp.org>
9207
9208         * tests/test-cond.c (main): When skipping the test, show the reason.
9209
9210 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9211
9212         * lib/striconv.c (str_cd_iconv): Avoid if before free.
9213
9214 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9215
9216         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
9217         VC_LIST_ALWAYS_EXCLUDE_REGEX.
9218
9219 2010-01-12  Eric Blake  <ebb9@byu.net>
9220
9221         build: guarantee AS_VAR_IF
9222         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
9223         (gl_AS_VAR_IF): Move...
9224         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
9225         Reported by Simon Josefsson.
9226
9227 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9228
9229         * lib/stdio.in.h: Fix typo.
9230
9231 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9232
9233         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
9234         libgpg-error.
9235
9236 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9237
9238         * tests/test-xalloc-die.sh: Use $EXEEXT.
9239
9240 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9241             Bruno Haible  <bruno@clisp.org>
9242
9243         getlogin, getlogin_r: Avoid test failure.
9244         * tests/test-getlogin.c: Include <stdio.h>.
9245         (main): Skip the test when the function fails because stdin is not a
9246         tty.
9247         * tests/test-getlogin_r.c: Include <stdio.h>.
9248         (main): Skip the test when the function fails because stdin is not a
9249         tty.
9250
9251 2010-01-11  Eric Blake  <ebb9@byu.net>
9252
9253         tests: avoid more large file warnings
9254         * tests/test-fflush.c: Avoid warning about ftell use.
9255         * tests/test-fseek.c: Avoid warning about fseek use.
9256
9257 2010-01-10  Bruno Haible  <bruno@clisp.org>
9258
9259         nproc: Work better on Linux when /proc and /sys are not mounted.
9260         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
9261         as lower bound when, on glibc/Linux systems,
9262         sysconf (_SC_NPROCESSORS_CONF) returns 1.
9263         Suggested by Pádraig Brady <P@draigbrady.com>.
9264         Reported by Dmitry V. Levin <ldv@altlinux.org>.
9265
9266         nproc: Refactor.
9267         * lib/nproc.c (num_processors_via_affinity_mask): New function,
9268         extracted from num_processors.
9269         (num_processors): Call it.
9270
9271 2010-01-11  Jim Meyering  <meyering@redhat.com>
9272
9273         utimecmp: avoid new warning from upcoming gcc-4.5.0
9274         * lib/utimecmp.c (BILLION): Define using #define rather than an
9275         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
9276
9277 2010-01-11  Eric Blake  <ebb9@byu.net>
9278
9279         math: add portability warnings for classification macros
9280         * modules/math (Depends-on): Add warn-on-use.
9281         (Makefile.am): Provide new substitutions.
9282         * m4/math_h.m4 (gl_MATH_H): Require inline.
9283         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
9284         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
9285         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
9286         implement warnings.
9287
9288         unistd: warn on use of environ without module
9289         * modules/unistd (Depends-on): Add warn-on-use.
9290         (Makefile.am): Provide new substitutions.
9291         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
9292         * lib/unistd.in.h (environ): Wrap with a warning helper function.
9293
9294         stdio: warn on suspicious uses
9295         * modules/stdio (Depends-on): Add warn-on-use.
9296         (Makefile.am): Provide new substitutions.
9297         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
9298         fseeko.
9299         * lib/stdio.in.h (gets): Always warn on use.
9300         (fseek, ftell): Adjust when warnings are issued, and honor
9301         _GL_NO_LARGE_FILES as a way to silence the warning.
9302         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
9303         any warning about large file offsets.
9304         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
9305         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
9306         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
9307         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
9308         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
9309         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
9310         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
9311         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
9312
9313         warn-on-use: new module
9314         * modules/warn-on-use: New file.
9315         * build-aux/warn-on-use.h: Likewise.
9316         * m4/warn-on-use.m4: Likewise.
9317         * MODULES.html.sh (Support for building): Mention it.
9318
9319 2010-01-10  Bruno Haible  <bruno@clisp.org>
9320
9321         Tests for module 'unistr/u32-strdup'.
9322         * modules/unistr/u32-strdup-tests: New file.
9323         * tests/unistr/test-u32-strdup.c: New file.
9324
9325         Tests for module 'unistr/u16-strdup'.
9326         * modules/unistr/u16-strdup-tests: New file.
9327         * tests/unistr/test-u16-strdup.c: New file.
9328
9329         Tests for module 'unistr/u8-strdup'.
9330         * modules/unistr/u8-strdup-tests: New file.
9331         * tests/unistr/test-u8-strdup.c: New file.
9332         * tests/unistr/test-strdup.h: New file.
9333
9334         Tests for module 'unistr/u32-strncmp'.
9335         * modules/unistr/u32-strncmp-tests: New file.
9336         * tests/unistr/test-u32-strncmp.c: New file.
9337
9338         Tests for module 'unistr/u16-strncmp'.
9339         * modules/unistr/u16-strncmp-tests: New file.
9340         * tests/unistr/test-u16-strncmp.c: New file.
9341
9342         Tests for module 'unistr/u8-strncmp'.
9343         * modules/unistr/u8-strncmp-tests: New file.
9344         * tests/unistr/test-u8-strncmp.c: New file.
9345         * tests/unistr/test-strncmp.h: New file.
9346
9347         Tests for module 'unistr/u32-strcoll'.
9348         * modules/unistr/u32-strcoll-tests: New file.
9349         * tests/unistr/test-u32-strcoll.c: New file.
9350
9351         Tests for module 'unistr/u16-strcoll'.
9352         * modules/unistr/u16-strcoll-tests: New file.
9353         * tests/unistr/test-u16-strcoll.c: New file.
9354
9355         Tests for module 'unistr/u8-strcoll'.
9356         * modules/unistr/u8-strcoll-tests: New file.
9357         * tests/unistr/test-u8-strcoll.c: New file.
9358
9359         Tests for module 'unistr/u32-strcmp'.
9360         * modules/unistr/u32-strcmp-tests: New file.
9361         * tests/unistr/test-u32-strcmp.c: New file.
9362         * tests/unistr/test-u32-strcmp.h: New file.
9363
9364         Tests for module 'unistr/u16-strcmp'.
9365         * modules/unistr/u16-strcmp-tests: New file.
9366         * tests/unistr/test-u16-strcmp.c: New file.
9367         * tests/unistr/test-u16-strcmp.h: New file.
9368
9369         Tests for module 'unistr/u8-strcmp'.
9370         * modules/unistr/u8-strcmp-tests: New file.
9371         * tests/unistr/test-u8-strcmp.c: New file.
9372         * tests/unistr/test-u8-strcmp.h: New file.
9373         * tests/unistr/test-strcmp.h: New file.
9374
9375         Tests for module 'unistr/u32-strncat'.
9376         * modules/unistr/u32-strncat-tests: New file.
9377         * tests/unistr/test-u32-strncat.c: New file.
9378
9379         Tests for module 'unistr/u16-strncat'.
9380         * modules/unistr/u16-strncat-tests: New file.
9381         * tests/unistr/test-u16-strncat.c: New file.
9382
9383         Tests for module 'unistr/u8-strncat'.
9384         * modules/unistr/u8-strncat-tests: New file.
9385         * tests/unistr/test-u8-strncat.c: New file.
9386         * tests/unistr/test-strncat.h: New file.
9387
9388         Tests for module 'unistr/u32-strcat'.
9389         * modules/unistr/u32-strcat-tests: New file.
9390         * tests/unistr/test-u32-strcat.c: New file.
9391
9392         Tests for module 'unistr/u16-strcat'.
9393         * modules/unistr/u16-strcat-tests: New file.
9394         * tests/unistr/test-u16-strcat.c: New file.
9395
9396         Tests for module 'unistr/u8-strcat'.
9397         * modules/unistr/u8-strcat-tests: New file.
9398         * tests/unistr/test-u8-strcat.c: New file.
9399         * tests/unistr/test-strcat.h: New file.
9400
9401         Tests for module 'unistr/u32-stpncpy'.
9402         * modules/unistr/u32-stpncpy-tests: New file.
9403         * tests/unistr/test-u32-stpncpy.c: New file.
9404
9405         Tests for module 'unistr/u16-stpncpy'.
9406         * modules/unistr/u16-stpncpy-tests: New file.
9407         * tests/unistr/test-u16-stpncpy.c: New file.
9408
9409         Tests for module 'unistr/u8-stpncpy'.
9410         * modules/unistr/u8-stpncpy-tests: New file.
9411         * tests/unistr/test-u8-stpncpy.c: New file.
9412         * tests/unistr/test-stpncpy.h: New file.
9413
9414         Tests for module 'unistr/u32-strncpy'.
9415         * modules/unistr/u32-strncpy-tests: New file.
9416         * tests/unistr/test-u32-strncpy.c: New file.
9417
9418         Tests for module 'unistr/u16-strncpy'.
9419         * modules/unistr/u16-strncpy-tests: New file.
9420         * tests/unistr/test-u16-strncpy.c: New file.
9421
9422         Tests for module 'unistr/u8-strncpy'.
9423         * modules/unistr/u8-strncpy-tests: New file.
9424         * tests/unistr/test-u8-strncpy.c: New file.
9425         * tests/unistr/test-strncpy.h: New file.
9426
9427         Tests for module 'unistr/u32-stpcpy'.
9428         * modules/unistr/u32-stpcpy-tests: New file.
9429         * tests/unistr/test-u32-stpcpy.c: New file.
9430
9431         Tests for module 'unistr/u16-stpcpy'.
9432         * modules/unistr/u16-stpcpy-tests: New file.
9433         * tests/unistr/test-u16-stpcpy.c: New file.
9434
9435         Tests for module 'unistr/u8-stpcpy'.
9436         * modules/unistr/u8-stpcpy-tests: New file.
9437         * tests/unistr/test-u8-stpcpy.c: New file.
9438         * tests/unistr/test-stpcpy.h: New file.
9439
9440         Tests for module 'unistr/u32-strcpy'.
9441         * modules/unistr/u32-strcpy-tests: New file.
9442         * tests/unistr/test-u32-strcpy.c: New file.
9443
9444         Tests for module 'unistr/u16-strcpy'.
9445         * modules/unistr/u16-strcpy-tests: New file.
9446         * tests/unistr/test-u16-strcpy.c: New file.
9447
9448         Tests for module 'unistr/u8-strcpy'.
9449         * modules/unistr/u8-strcpy-tests: New file.
9450         * tests/unistr/test-u8-strcpy.c: New file.
9451         * tests/unistr/test-strcpy.h: New file.
9452
9453         Tests for module 'unistr/u32-strnlen'.
9454         * modules/unistr/u32-strnlen-tests: New file.
9455         * tests/unistr/test-u32-strnlen.c: New file.
9456
9457         Tests for module 'unistr/u16-strnlen'.
9458         * modules/unistr/u16-strnlen-tests: New file.
9459         * tests/unistr/test-u16-strnlen.c: New file.
9460
9461         Tests for module 'unistr/u8-strnlen'.
9462         * modules/unistr/u8-strnlen-tests: New file.
9463         * tests/unistr/test-u8-strnlen.c: New file.
9464         * tests/unistr/test-strnlen.h: New file.
9465
9466         Tests for module 'unistr/u32-strlen'.
9467         * modules/unistr/u32-strlen-tests: New file.
9468         * tests/unistr/test-u32-strlen.c: New file.
9469
9470         Tests for module 'unistr/u16-strlen'.
9471         * modules/unistr/u16-strlen-tests: New file.
9472         * tests/unistr/test-u16-strlen.c: New file.
9473
9474         Tests for module 'unistr/u8-strlen'.
9475         * modules/unistr/u8-strlen-tests: New file.
9476         * tests/unistr/test-u8-strlen.c: New file.
9477
9478         Tests for module 'unistr/u32-prev'.
9479         * modules/unistr/u32-prev-tests: New file.
9480         * tests/unistr/test-u32-prev.c: New file.
9481
9482         Tests for module 'unistr/u16-prev'.
9483         * modules/unistr/u16-prev-tests: New file.
9484         * tests/unistr/test-u16-prev.c: New file.
9485
9486         Tests for module 'unistr/u8-prev'.
9487         * modules/unistr/u8-prev-tests: New file.
9488         * tests/unistr/test-u8-prev.c: New file.
9489
9490         Tests for module 'unistr/u32-next'.
9491         * modules/unistr/u32-next-tests: New file.
9492         * tests/unistr/test-u32-next.c: New file.
9493
9494         Tests for module 'unistr/u16-next'.
9495         * modules/unistr/u16-next-tests: New file.
9496         * tests/unistr/test-u16-next.c: New file.
9497
9498         Tests for module 'unistr/u8-next'.
9499         * modules/unistr/u8-next-tests: New file.
9500         * tests/unistr/test-u8-next.c: New file.
9501
9502         Tests for module 'unistr/u32-strmbtouc'.
9503         * modules/unistr/u32-strmbtouc-tests: New file.
9504         * tests/unistr/test-u32-strmbtouc.c: New file.
9505
9506         Tests for module 'unistr/u16-strmbtouc'.
9507         * modules/unistr/u16-strmbtouc-tests: New file.
9508         * tests/unistr/test-u16-strmbtouc.c: New file.
9509
9510         Tests for module 'unistr/u8-strmbtouc'.
9511         * modules/unistr/u8-strmbtouc-tests: New file.
9512         * tests/unistr/test-u8-strmbtouc.c: New file.
9513
9514         Tests for module 'unistr/u32-strmblen'.
9515         * modules/unistr/u32-strmblen-tests: New file.
9516         * tests/unistr/test-u32-strmblen.c: New file.
9517
9518         Tests for module 'unistr/u16-strmblen'.
9519         * modules/unistr/u16-strmblen-tests: New file.
9520         * tests/unistr/test-u16-strmblen.c: New file.
9521
9522         Tests for module 'unistr/u8-strmblen'.
9523         * modules/unistr/u8-strmblen-tests: New file.
9524         * tests/unistr/test-u8-strmblen.c: New file.
9525
9526         Tests for module 'unistr/u32-cpy-alloc'.
9527         * modules/unistr/u32-cpy-alloc-tests: New file.
9528         * tests/unistr/test-u32-cpy-alloc.c: New file.
9529
9530         Tests for module 'unistr/u16-cpy-alloc'.
9531         * modules/unistr/u16-cpy-alloc-tests: New file.
9532         * tests/unistr/test-u16-cpy-alloc.c: New file.
9533
9534         Tests for module 'unistr/u8-cpy-alloc'.
9535         * modules/unistr/u8-cpy-alloc-tests: New file.
9536         * tests/unistr/test-u8-cpy-alloc.c: New file.
9537         * tests/unistr/test-cpy-alloc.h: New file.
9538
9539         Tests for module 'unistr/u32-mbsnlen'.
9540         * modules/unistr/u32-mbsnlen-tests: New file.
9541         * tests/unistr/test-u32-mbsnlen.c: New file.
9542
9543         Tests for module 'unistr/u16-mbsnlen'.
9544         * modules/unistr/u16-mbsnlen-tests: New file.
9545         * tests/unistr/test-u16-mbsnlen.c: New file.
9546
9547         Tests for module 'unistr/u8-mbsnlen'.
9548         * modules/unistr/u8-mbsnlen-tests: New file.
9549         * tests/unistr/test-u8-mbsnlen.c: New file.
9550
9551         Tests for module 'unistr/u32-chr'.
9552         * modules/unistr/u32-chr-tests: New file.
9553         * tests/unistr/test-u32-chr.c: New file.
9554
9555         Tests for module 'unistr/u16-chr'.
9556         * modules/unistr/u16-chr-tests: New file.
9557         * tests/unistr/test-u16-chr.c: New file.
9558
9559         Tests for module 'unistr/u8-chr'.
9560         * modules/unistr/u8-chr-tests: New file.
9561         * tests/unistr/test-u8-chr.c: New file.
9562         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
9563
9564         Tests for module 'unistr/u32-cmp2'.
9565         * modules/unistr/u32-cmp2-tests: New file.
9566         * tests/unistr/test-u32-cmp2.c: New file.
9567
9568         Tests for module 'unistr/u16-cmp2'.
9569         * modules/unistr/u16-cmp2-tests: New file.
9570         * tests/unistr/test-u16-cmp2.c: New file.
9571
9572         Tests for module 'unistr/u8-cmp2'.
9573         * modules/unistr/u8-cmp2-tests: New file.
9574         * tests/unistr/test-u8-cmp2.c: New file.
9575         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
9576
9577         Tests for module 'unistr/u32-cmp'.
9578         * modules/unistr/u32-cmp-tests: New file.
9579         * tests/unistr/test-u32-cmp.c: New file.
9580
9581         Tests for module 'unistr/u16-cmp'.
9582         * modules/unistr/u16-cmp-tests: New file.
9583         * tests/unistr/test-u16-cmp.c: New file.
9584
9585         Tests for module 'unistr/u8-cmp'.
9586         * modules/unistr/u8-cmp-tests: New file.
9587         * tests/unistr/test-u8-cmp.c: New file.
9588         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
9589
9590         Tests for module 'unistr/u32-set'.
9591         * modules/unistr/u32-set-tests: New file.
9592         * tests/unistr/test-u32-set.c: New file.
9593
9594         Tests for module 'unistr/u16-set'.
9595         * modules/unistr/u16-set-tests: New file.
9596         * tests/unistr/test-u16-set.c: New file.
9597
9598         Tests for module 'unistr/u8-set'.
9599         * modules/unistr/u8-set-tests: New file.
9600         * tests/unistr/test-u8-set.c: New file.
9601         * tests/unistr/test-set.h: New file.
9602
9603         Tests for module 'unistr/u32-move'.
9604         * modules/unistr/u32-move-tests: New file.
9605         * tests/unistr/test-u32-move.c: New file.
9606
9607         Tests for module 'unistr/u16-move'.
9608         * modules/unistr/u16-move-tests: New file.
9609         * tests/unistr/test-u16-move.c: New file.
9610
9611         Tests for module 'unistr/u8-move'.
9612         * modules/unistr/u8-move-tests: New file.
9613         * tests/unistr/test-u8-move.c: New file.
9614         * tests/unistr/test-move.h: New file.
9615
9616         Tests for module 'unistr/u32-cpy'.
9617         * modules/unistr/u32-cpy-tests: New file.
9618         * tests/unistr/test-u32-cpy.c: New file.
9619
9620         Tests for module 'unistr/u16-cpy'.
9621         * modules/unistr/u16-cpy-tests: New file.
9622         * tests/unistr/test-u16-cpy.c: New file.
9623
9624         Tests for module 'unistr/u8-cpy'.
9625         * modules/unistr/u8-cpy-tests: New file.
9626         * tests/unistr/test-u8-cpy.c: New file.
9627         * tests/unistr/test-cpy.h: New file.
9628
9629 2010-01-09  Bruno Haible  <bruno@clisp.org>
9630
9631         Tests for module 'unistr/u32-uctomb'.
9632         * modules/unistr/u32-uctomb-tests: New file.
9633         * tests/unistr/test-u32-uctomb.c: New file.
9634
9635         Tests for module 'unistr/u16-uctomb'.
9636         * modules/unistr/u16-uctomb-tests: New file.
9637         * tests/unistr/test-u16-uctomb.c: New file.
9638
9639         Tests for module 'unistr/u8-uctomb'.
9640         * modules/unistr/u8-uctomb-tests: New file.
9641         * tests/unistr/test-u8-uctomb.c: New file.
9642
9643         Tests for module 'unistr/u32-mbtoucr'.
9644         * modules/unistr/u32-mbtoucr-tests: New file.
9645         * tests/unistr/test-u32-mbtoucr.c: New file.
9646
9647         Tests for module 'unistr/u16-mbtoucr'.
9648         * modules/unistr/u16-mbtoucr-tests: New file.
9649         * tests/unistr/test-u16-mbtoucr.c: New file.
9650
9651         Tests for module 'unistr/u8-mbtoucr'.
9652         * modules/unistr/u8-mbtoucr-tests: New file.
9653         * tests/unistr/test-u8-mbtoucr.c: New file.
9654
9655         Tests for module 'unistr/u32-mbtouc'.
9656         * modules/unistr/u32-mbtouc-tests: New file.
9657         * tests/unistr/test-u32-mbtouc.c: New file.
9658
9659         Tests for module 'unistr/u16-mbtouc'.
9660         * modules/unistr/u16-mbtouc-tests: New file.
9661         * tests/unistr/test-u16-mbtouc.c: New file.
9662
9663         Tests for module 'unistr/u8-mbtouc'.
9664         * modules/unistr/u8-mbtouc-tests: New file.
9665         * tests/unistr/test-u8-mbtouc.c: New file.
9666
9667         Tests for module 'unistr/u32-mbtouc-unsafe'.
9668         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
9669         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
9670         * tests/unistr/test-u32-mbtouc.h: New file.
9671
9672         Tests for module 'unistr/u16-mbtouc-unsafe'.
9673         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
9674         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
9675         * tests/unistr/test-u16-mbtouc.h: New file.
9676
9677         Tests for module 'unistr/u8-mbtouc-unsafe'.
9678         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
9679         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
9680         * tests/unistr/test-u8-mbtouc.h: New file.
9681
9682         Tests for module 'unistr/u32-mblen'.
9683         * modules/unistr/u32-mblen-tests: New file.
9684         * tests/unistr/test-u32-mblen.c: New file.
9685
9686         Tests for module 'unistr/u16-mblen'.
9687         * modules/unistr/u16-mblen-tests: New file.
9688         * tests/unistr/test-u16-mblen.c: New file.
9689
9690         Tests for module 'unistr/u8-mblen'.
9691         * modules/unistr/u8-mblen-tests: New file.
9692         * tests/unistr/test-u8-mblen.c: New file.
9693
9694         Tests for module 'unistr/u32-to-u16'.
9695         * modules/unistr/u32-to-u16-tests: New file.
9696         * tests/unistr/test-u32-to-u16.c: New file.
9697
9698         Tests for module 'unistr/u32-to-u8'.
9699         * modules/unistr/u32-to-u8-tests: New file.
9700         * tests/unistr/test-u32-to-u8.c: New file.
9701
9702         Tests for module 'unistr/u16-to-u32'.
9703         * modules/unistr/u16-to-u32-tests: New file.
9704         * tests/unistr/test-u16-to-u32.c: New file.
9705
9706         Tests for module 'unistr/u16-to-u8'.
9707         * modules/unistr/u16-to-u8-tests: New file.
9708         * tests/unistr/test-u16-to-u8.c: New file.
9709
9710         Tests for module 'unistr/u8-to-u32'.
9711         * modules/unistr/u8-to-u32-tests: New file.
9712         * tests/unistr/test-u8-to-u32.c: New file.
9713
9714         Tests for module 'unistr/u8-to-u16'.
9715         * modules/unistr/u8-to-u16-tests: New file.
9716         * tests/unistr/test-u8-to-u16.c: New file.
9717
9718         Tests for module 'unistr/u32-check'.
9719         * modules/unistr/u32-check-tests: New file.
9720         * tests/unistr/test-u32-check.c: New file.
9721
9722         Tests for module 'unistr/u16-check'.
9723         * modules/unistr/u16-check-tests: New file.
9724         * tests/unistr/test-u16-check.c: New file.
9725
9726         Tests for module 'unistr/u8-check'.
9727         * modules/unistr/u8-check-tests: New file.
9728         * tests/unistr/test-u8-check.c: New file.
9729
9730         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
9731         (category_equals): New function.
9732         (main): Add more tests.
9733         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
9734
9735         * tests/unictype/test-bidi_byname.c (main): Add more tests.
9736
9737 2010-01-10  Bruno Haible  <bruno@clisp.org>
9738
9739         unistr/u*-strcoll: Try harder to distinguish different strings.
9740         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
9741         compare s1 and s2 to see if they are different.
9742
9743 2010-01-10  Bruno Haible  <bruno@clisp.org>
9744
9745         unistr/u*-stpncpy: Fix the return value.
9746         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
9747         description of the return value consistent with stpncpy in glibc.
9748         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
9749         written non-NUL unit.
9750
9751 2010-01-10  Bruno Haible  <bruno@clisp.org>
9752
9753         unistr/u*-next: Add missing dependencies.
9754         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
9755         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
9756         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
9757
9758 2010-01-10  Bruno Haible  <bruno@clisp.org>
9759
9760         unistr/u8-mbsnlen: Fix return value for incomplete character.
9761         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
9762         u8_mblen.
9763         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
9764         Remove unistr/u8-mblen.
9765         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
9766         u16_mblen.
9767         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
9768         Remove unistr/u16-mblen.
9769
9770 2010-01-10  Bruno Haible  <bruno@clisp.org>
9771
9772         wchar: Fix compilation error when <wchar.h> is used from coreutils.
9773         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
9774         Reported by Brian Gough <bjg@gnu.org> and
9775         Chris Clayton <chris2553@googlemail.com> via
9776         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
9777
9778 2010-01-09  Bruno Haible  <bruno@clisp.org>
9779
9780         unistr/u16-to-u32: Reject invalid input.
9781         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
9782         u16_mbtouc.
9783         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
9784         Remove unistr/u16-mbtouc.
9785
9786         unistr/u16-to-u8: Reject invalid input.
9787         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
9788         u16_mbtouc.
9789         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
9790         Remove unistr/u16-mbtouc.
9791
9792         unistr/u8-to-u32: Reject invalid input.
9793         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
9794         u8_mbtouc.
9795         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
9796         Remove unistr/u8-mbtouc.
9797
9798         unistr/u8-to-u16: Reject invalid input.
9799         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
9800         u8_mbtouc.
9801         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
9802         Remove unistr/u8-mbtouc.
9803
9804 2010-01-09  Bruno Haible  <bruno@clisp.org>
9805
9806         Tests for module 'getlogin'.
9807         * modules/getlogin-tests: New file.
9808         * tests/test-getlogin.c: New file.
9809
9810         New module 'getlogin'.
9811         * lib/unistd.in.h (getlogin): New declaration.
9812         * lib/getlogin.c: New file.
9813         * m4/getlogin.m4: New file.
9814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
9815         HAVE_GETLOGIN.
9816         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
9817         HAVE_GETLOGIN.
9818         * modules/getlogin: New file.
9819         * doc/posix-functions/getlogin.texi: Mention the new module.
9820         Reported by John W. Eaton <jwe@gnu.org>.
9821
9822 2010-01-09  Bruno Haible  <bruno@clisp.org>
9823
9824         getlogin_r: Support for native Windows.
9825         * lib/getlogin_r.c: Include <windows.h>
9826         (getlogin_r): Implement for native Windows.
9827         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
9828         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
9829         via John W. Eaton <jwe@gnu.org>.
9830
9831 2010-01-09  Bruno Haible  <bruno@clisp.org>
9832
9833         getlogin_r: Small fixes.
9834         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
9835         succeeds.
9836         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
9837         before testing whether getlogin_r is declared. No need to set
9838         HAVE_DECL_GETLOGIN_R to 1.
9839         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
9840
9841 2010-01-09  Bruno Haible  <bruno@clisp.org>
9842
9843         * lib/unistd.in.h (getlogin_r): Add comment.
9844
9845 2010-01-09  Bruno Haible  <bruno@clisp.org>
9846
9847         Tests for module 'getlogin_r'.
9848         * modules/getlogin_r-tests: New file.
9849         * tests/test-getlogin_r.c: New file.
9850
9851 2010-01-09  Jim Meyering  <meyering@redhat.com>
9852
9853         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
9854         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
9855         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
9856
9857 2010-01-08  Simon Josefsson  <simon@josefsson.org>
9858
9859         * lib/dup2.c (rpl_dup2): Improve comment.
9860
9861 2010-01-08  Eric Blake  <ebb9@byu.net>
9862
9863         maint.mk: allow packages to add makefile @@ exceptions
9864         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
9865         (sc_makefile_check): Rename...
9866         (sc_makefile_at_at_check): ...to this, and use hook.
9867
9868         dup2: work around mingw bug
9869         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
9870         Reported by Simon Josefsson.
9871
9872 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
9873
9874         glob: Fix C++ compilation.
9875         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
9876         C++.
9877
9878 2010-01-07  Bruno Haible  <bruno@clisp.org>
9879
9880         Fix indentation of wctype.in.h, broken since 2007-01-06.
9881         * lib/wctype.in.h: Fix indentation of preprocessor directives.
9882
9883 2010-01-07  Bruno Haible  <bruno@clisp.org>
9884
9885         mbslen: Avoid collision with system function.
9886         * lib/string.in.h [MirBSD]: Include <wchar.h>.
9887         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
9888         * m4/mbslen.m4: New file.
9889         * modules/mbslen (Files): Add it.
9890         (configure.ac): Invoke gl_MBSLEN.
9891         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
9892         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
9893         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
9894         via Ian Beckwith <ianb@erislabs.net>.
9895
9896 2010-01-07  Bruno Haible  <bruno@clisp.org>
9897
9898         dirent: Document the last fix.
9899         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
9900
9901 2010-01-07  Bruno Haible  <bruno@clisp.org>
9902
9903         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
9904         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
9905         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
9906         va_list are defined.
9907         * doc/posix-headers/stdio.texi: Document the bug of missing types.
9908         Reported by Eric Blake.
9909
9910 2010-01-07  Bruno Haible  <bruno@clisp.org>
9911
9912         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
9913         * modules/xlist (Depends-on): Add 'list',
9914         * modules/xoset (Depends-on): Add 'oset'.
9915         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9916
9917 2010-01-07  Bruno Haible  <bruno@clisp.org>
9918
9919         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
9920         * doc/posix-functions/strncasecmp.texi: Likewise.
9921
9922 2010-01-07  Bruno Haible  <bruno@clisp.org>
9923
9924         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
9925
9926 2010-01-07  John W. Eaton  <jwe@octave.org>
9927
9928         wctype: allow C++ use
9929         * lib/wctype.in.h: Add extern "C" block for C++.
9930
9931 2010-01-06  Eric Blake  <ebb9@byu.net>
9932
9933         maint.mk: detect incorrect GFDL usage
9934         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
9935
9936 2010-01-06  Jim Meyering  <meyering@redhat.com>
9937         and Eric Blake  <ebb9@byu.net>
9938
9939         maint.mk: ignore multi-line copyright in NEWS
9940         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
9941
9942 2010-01-06  Eric Blake  <ebb9@byu.net>
9943
9944         select: add missing dependency
9945         * modules/select-tests (Depends-on): Move sockets dependency...
9946         * modules/select (Depends-on): ...here.
9947         Reported by Ian Beckwith.
9948
9949         doc: regenerate INSTALL
9950         * doc/INSTALL: Reflect recent autoconf update.
9951         * doc/INSTALL.ISO: Likewise.
9952         * doc/INSTALL.UTF-8: Likewise.
9953
9954         pread: fix compilation on glibc
9955         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
9956         Reported by Ralf Wildenhues.
9957
9958         dirent: fix test failure
9959         * lib/dirent.in.h (includes): Guarantee ino_t.
9960         Reported by Ralf Wildenhues.
9961
9962 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
9963
9964         linkat, renameat: avoid bad free
9965         * lib/at-func2.c (at_func2): Fix typo.
9966         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
9967
9968 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9969
9970         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
9971         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
9972         to avoid failure of symlink test later.
9973
9974 2010-01-06  Eric Blake  <ebb9@byu.net>
9975
9976         stdio, unistd: guarantee ssize_t
9977         * lib/unistd.in.h (includes): Ensure that types required by POSIX
9978         2008 are exposed when needed.
9979         * lib/stdio.in.h (includes): Likewise.
9980         Reported by Ralf Wildenhues.
9981
9982 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
9983
9984         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
9985         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
9986         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
9987
9988 2010-01-06  Jim Meyering  <meyering@redhat.com>
9989
9990         readtokens: this module *does* require xalloc.h
9991         It uses only functions that were omitted by the old syntax-check rule.
9992         * lib/readtokens.c: Include "xalloc.h" once again.
9993         * modules/readtokens (Depends-on): Add xalloc.
9994         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
9995
9996 2010-01-05  Eric Blake  <ebb9@byu.net>
9997
9998         maint: support 'make announcement' from a VPATH build
9999         * top/maint.mk (announcement): Look for correct NEWS file.
10000
10001 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
10002
10003         utimens (fdutimens): ignore a negative FD, per contract
10004         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
10005         when we have a valid file descriptor.  Otherwise, using a brand
10006         new glibc (with just-patched futimens that now fails with EBADF)
10007         would cause this function to fail with ENOSYS.
10008         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
10009         See also http://bugzilla.redhat.com/552320.
10010
10011 2010-01-05  Eric Blake  <ebb9@byu.net>
10012
10013         strcase: document what it provides
10014         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
10015         gnulib module.
10016         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
10017         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
10018
10019 2010-01-05  Jim Meyering  <meyering@redhat.com>
10020
10021         maint: remove useless inclusions of "xalloc.h"
10022         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
10023         * lib/readtokens.c: Likewise.
10024         * lib/same.c: Likewise.
10025         * modules/getloadavg (Depends-on): Remove xalloc.
10026         * modules/readtokens: Likewise.
10027         * modules/same: Likewise.
10028
10029         maint.mk: include 4 more function names in alloca.h-checking regexp
10030         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
10031         regexp.  Before, we would give a false-positive (saying alloca.h
10032         is included unnecessarily) when the only uses involved omitted symbols.
10033
10034         xalloc.h: use consistent formatting
10035         * lib/xalloc.h: Move declarations to start in the first column.
10036
10037 2010-01-05  Eric Blake  <ebb9@byu.net>
10038
10039         mkdir: avoid xalloc
10040         * lib/mkdir.c (includes): Drop unused header.
10041         Reported by John W. Eaton.
10042
10043 2010-01-04  Jim Meyering  <meyering@redhat.com>
10044
10045         nl_langinfo: avoid configure-time syntax error
10046         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
10047         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
10048         the empty string.  Don't let that provoke a shell syntax error.
10049
10050         regcomp, regexec, fnmatch: avoid array bounds read error
10051         * lib/regcomp.c (build_equiv_class): From glibc:
10052         Use only the low 24 bits of a findidx return value as an index
10053         into the weights array.  Patch by Ulrich Drepper:
10054         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
10055         * lib/regexec.c (check_node_accept_bytes): Likewise.
10056         * lib/fnmatch_loop.c (FCT): Likewise.
10057
10058         regcomp: skip collseq lookup when there are no rules
10059         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
10060         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
10061
10062         regcomp: recognize ill-formed { } expressions
10063         * lib/regcomp.c (parse_dup_op): From glibc:
10064         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
10065
10066         regcomp: fix typo in comment
10067         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
10068         s/satisfy/satisfies/.
10069
10070         regcomp: sync from glibc: remove dead store
10071         * lib/regcomp.c (duplicate_node_closure): Remove useless
10072         search_duplicated_node call and dead store.
10073
10074         regcomp: sync from glibc; always use nl_langinfo
10075         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
10076         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
10077         * modules/regex (Depends-on): Add nl_langinfo.
10078
10079 2010-01-04  Eric Blake  <ebb9@byu.net>
10080
10081         fdopendir: fix configure test
10082         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
10083
10084 2010-01-01  Bruno Haible  <bruno@clisp.org>
10085
10086         wchar: Remove unused configure check.
10087         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
10088
10089 2010-01-01  Eric Blake  <ebb9@byu.net>
10090
10091         headers: make check of system header explicit
10092         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
10093         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
10094         ourselves.
10095         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10096         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10097         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
10098         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
10099         internals.
10100         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
10101         missing.
10102         Suggested by Bruno Haible.
10103
10104 2010-01-01  Jim Meyering  <meyering@redhat.com>
10105
10106         ChangeLog: tweak to eliminate unnecessary copyright line
10107         * ChangeLog: Remove a copyright line that was mistakenly updated
10108         by today's update-copyright run.  Reported by Eric Blake.
10109
10110         test-update-copyright: don't let envvar setting cause test failure
10111         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
10112
10113 2010-01-01  Bruno Haible  <bruno@clisp.org>
10114
10115         localename: Avoid gcc warning.
10116         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
10117         function if it is not used.
10118
10119 2010-01-01  Jim Meyering  <meyering@redhat.com>
10120
10121         update nearly all FSF copyright year lists to include 2010
10122         Use the same procedure as for 2009, outlined in
10123         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
10124
10125         version-etc: set COPYRIGHT_YEAR to 2010
10126         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
10127
10128 2009-12-31  Eric Blake  <ebb9@byu.net>
10129
10130         doc: correct availability of cygwin 1.5.x getopt
10131         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
10132         variables.
10133         * doc/posix-functions/opterr.texi (opterr): Likewise.
10134         * doc/posix-functions/optind.texi (optind): Likewise.
10135         * doc/posix-functions/optopt.texi (optopt): Likewise.
10136         * doc/posix-functions/tzname.texi (tzname): Likewise.
10137
10138         openat: update maintainer
10139         * modules/openat (Maintainer): Add myself.
10140
10141         utimens: avoid shadowing warning
10142         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
10143         buffers into one, to avoid shadowing, as well as avoiding a
10144         redundant stat.
10145         Reported by Jim Meyering.
10146
10147         test-dup2: avoid compiler warning
10148         * tests/test-dup2.c (is_inheritable): Only define if used.
10149
10150 2010-01-01  Bruno Haible  <bruno@clisp.org>
10151
10152         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
10153         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
10154         defined, use wctomb instead of wcrtomb.
10155
10156 2010-01-01  Bruno Haible  <bruno@clisp.org>
10157
10158         iconv: Reject native Solaris iconv.
10159         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
10160         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
10161
10162 2009-12-31  Bruno Haible  <bruno@clisp.org>
10163
10164         * tests/test-signal.c (main): Remove test of 'SIG'.
10165
10166 2009-12-31  Bruno Haible  <bruno@clisp.org>
10167
10168         spawn: Fix incomplete fix.
10169         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
10170         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
10171         warnings for GNULIB_POSIXCHECK again.
10172         Reported by Eric Blake.
10173
10174 2009-12-31  Bruno Haible  <bruno@clisp.org>
10175
10176         Avoid namespace pollution on glibc systems.
10177         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
10178         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
10179         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
10180         glibc systems.
10181
10182 2009-12-31  Bruno Haible  <bruno@clisp.org>
10183
10184         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
10185         (gl_REPLACE_WCHAR_H): Turn into a no-op.
10186         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
10187         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10188         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10189         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10190         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10191
10192 2009-12-31  Bruno Haible  <bruno@clisp.org>
10193
10194         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
10195         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
10196         afterwards.
10197
10198 2009-12-31  Bruno Haible  <bruno@clisp.org>
10199
10200         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
10201         SYS_UTSNAME_H.
10202
10203 2009-12-31  Bruno Haible  <bruno@clisp.org>
10204
10205         spawn: Fix misapplied patch.
10206         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
10207         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
10208         warnings for GNULIB_POSIXCHECK.
10209
10210 2009-12-31  Bruno Haible  <bruno@clisp.org>
10211
10212         times: Update after sys_times changed.
10213         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
10214         * modules/times (Files): Add it.
10215         (configure.ac): Invoke gl_FUNC_TIMES.
10216
10217 2009-12-31  Bruno Haible  <bruno@clisp.org>
10218
10219         Use AC_C_INLINE where necessary.
10220         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
10221         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
10222         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
10223         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
10224         * m4/mbfile.m4 (gl_MBFILE): Likewise.
10225         * m4/mbiter.m4 (gl_MBITER): Likewise.
10226         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10227         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10228         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
10229         * modules/u64 (configure.ac): Likewise.
10230
10231 2009-12-31  Bruno Haible  <bruno@clisp.org>
10232
10233         Use AC_C_INLINE instead of module 'inline' where possible.
10234         * modules/inline (Description): Clarify purpose.
10235         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
10236         * modules/count-one-bits (Depends-on): Remove inline.
10237         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
10238         * modules/openat (Depends-on): Remove inline.
10239         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
10240         instead of depending on module 'inline'.
10241         * modules/filevercmp (Depends-on, configure.ac): Likewise.
10242         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
10243         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
10244         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
10245         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
10246         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
10247         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
10248         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
10249         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
10250         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
10251         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
10252         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
10253         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
10254         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
10255         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
10256         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
10257         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
10258         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
10259         Likewise.
10260         * modules/unictype/property-ascii-hex-digit (Depends-on,
10261         configure.ac): Likewise.
10262         * modules/unictype/property-bidi-arabic-digit (Depends-on,
10263         configure.ac): Likewise.
10264         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
10265         configure.ac): Likewise.
10266         * modules/unictype/property-bidi-block-separator (Depends-on,
10267         configure.ac): Likewise.
10268         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
10269         configure.ac): Likewise.
10270         * modules/unictype/property-bidi-common-separator (Depends-on,
10271         configure.ac): Likewise.
10272         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
10273         Likewise.
10274         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
10275         configure.ac): Likewise.
10276         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
10277         configure.ac): Likewise.
10278         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
10279         configure.ac): Likewise.
10280         * modules/unictype/property-bidi-european-digit (Depends-on,
10281         configure.ac): Likewise.
10282         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
10283         configure.ac): Likewise.
10284         * modules/unictype/property-bidi-left-to-right (Depends-on,
10285         configure.ac): Likewise.
10286         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
10287         configure.ac): Likewise.
10288         * modules/unictype/property-bidi-other-neutral (Depends-on,
10289         configure.ac): Likewise.
10290         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
10291         Likewise.
10292         * modules/unictype/property-bidi-segment-separator (Depends-on,
10293         configure.ac): Likewise.
10294         * modules/unictype/property-bidi-whitespace (Depends-on,
10295         configure.ac): Likewise.
10296         * modules/unictype/property-combining (Depends-on, configure.ac):
10297         Likewise.
10298         * modules/unictype/property-composite (Depends-on, configure.ac):
10299         Likewise.
10300         * modules/unictype/property-currency-symbol (Depends-on,
10301         configure.ac): Likewise.
10302         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
10303         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
10304         Likewise.
10305         * modules/unictype/property-default-ignorable-code-point (Depends-on,
10306         configure.ac): Likewise.
10307         * modules/unictype/property-deprecated (Depends-on, configure.ac):
10308         Likewise.
10309         * modules/unictype/property-diacritic (Depends-on, configure.ac):
10310         Likewise.
10311         * modules/unictype/property-extender (Depends-on, configure.ac):
10312         Likewise.
10313         * modules/unictype/property-format-control (Depends-on, configure.ac):
10314         Likewise.
10315         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
10316         Likewise.
10317         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
10318         Likewise.
10319         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
10320         Likewise.
10321         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
10322         Likewise.
10323         * modules/unictype/property-hyphen (Depends-on, configure.ac):
10324         Likewise.
10325         * modules/unictype/property-id-continue (Depends-on, configure.ac):
10326         Likewise.
10327         * modules/unictype/property-id-start (Depends-on, configure.ac):
10328         Likewise.
10329         * modules/unictype/property-ideographic (Depends-on, configure.ac):
10330         Likewise.
10331         * modules/unictype/property-ids-binary-operator (Depends-on,
10332         configure.ac): Likewise.
10333         * modules/unictype/property-ids-trinary-operator (Depends-on,
10334         configure.ac): Likewise.
10335         * modules/unictype/property-ignorable-control (Depends-on,
10336         configure.ac): Likewise.
10337         * modules/unictype/property-iso-control (Depends-on, configure.ac):
10338         Likewise.
10339         * modules/unictype/property-join-control (Depends-on, configure.ac):
10340         Likewise.
10341         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
10342         Likewise.
10343         * modules/unictype/property-line-separator (Depends-on, configure.ac):
10344         Likewise.
10345         * modules/unictype/property-logical-order-exception (Depends-on,
10346         configure.ac): Likewise.
10347         * modules/unictype/property-lowercase (Depends-on, configure.ac):
10348         Likewise.
10349         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
10350         * modules/unictype/property-non-break (Depends-on, configure.ac):
10351         Likewise.
10352         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
10353         Likewise.
10354         * modules/unictype/property-numeric (Depends-on, configure.ac):
10355         Likewise.
10356         * modules/unictype/property-other-alphabetic (Depends-on,
10357         configure.ac): Likewise.
10358         * modules/unictype/property-other-default-ignorable-code-point
10359         (Depends-on, configure.ac): Likewise.
10360         * modules/unictype/property-other-grapheme-extend (Depends-on,
10361         configure.ac): Likewise.
10362         * modules/unictype/property-other-id-continue (Depends-on,
10363         configure.ac): Likewise.
10364         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
10365         Likewise.
10366         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
10367         Likewise.
10368         * modules/unictype/property-other-math (Depends-on, configure.ac):
10369         Likewise.
10370         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
10371         Likewise.
10372         * modules/unictype/property-paired-punctuation (Depends-on,
10373         configure.ac): Likewise.
10374         * modules/unictype/property-paragraph-separator (Depends-on,
10375         configure.ac): Likewise.
10376         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
10377         Likewise.
10378         * modules/unictype/property-pattern-white-space (Depends-on,
10379         configure.ac): Likewise.
10380         * modules/unictype/property-private-use (Depends-on, configure.ac):
10381         Likewise.
10382         * modules/unictype/property-punctuation (Depends-on, configure.ac):
10383         Likewise.
10384         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
10385         Likewise.
10386         * modules/unictype/property-radical (Depends-on, configure.ac):
10387         Likewise.
10388         * modules/unictype/property-sentence-terminal (Depends-on,
10389         configure.ac): Likewise.
10390         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
10391         Likewise.
10392         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
10393         * modules/unictype/property-terminal-punctuation (Depends-on,
10394         configure.ac): Likewise.
10395         * modules/unictype/property-titlecase (Depends-on, configure.ac):
10396         Likewise.
10397         * modules/unictype/property-unassigned-code-value (Depends-on,
10398         configure.ac): Likewise.
10399         * modules/unictype/property-unified-ideograph (Depends-on,
10400         configure.ac): Likewise.
10401         * modules/unictype/property-uppercase (Depends-on, configure.ac):
10402         Likewise.
10403         * modules/unictype/property-variation-selector (Depends-on,
10404         configure.ac): Likewise.
10405         * modules/unictype/property-white-space (Depends-on, configure.ac):
10406         Likewise.
10407         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
10408         Likewise.
10409         * modules/unictype/property-xid-start (Depends-on, configure.ac):
10410         Likewise.
10411         * modules/unictype/property-zero-width (Depends-on, configure.ac):
10412         Likewise.
10413         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
10414         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
10415         Likewise.
10416
10417 2009-12-31  Bruno Haible  <bruno@clisp.org>
10418
10419         Remove unnecessary AC_C_INLINE invocation.
10420         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
10421         since 2009-08-21.
10422
10423 2009-12-31  Jim Meyering  <meyering@redhat.com>
10424
10425         maint.mk: don't require explicit gpg_key_ID in cfg.mk
10426         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
10427         With this change, we can all remove the gpg_key_ID = ... definition
10428         from our respective cfg.mk files.
10429
10430         maint.mk: create announcement template in ~/, not in /tmp
10431         * top/maint.mk (emit_upload_commands): Adjust.
10432         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
10433         Remove temporary file, .ci-msg.
10434
10435 2009-12-31  Eric Blake  <ebb9@byu.net>
10436
10437         link-warning: always build headers with link warnings
10438         * modules/arpa_inet (Makefile.am): Always build replacement
10439         header.
10440         * modules/ctype (Makefile.am): Likewise.
10441         * modules/dirent (Makefile.am): Likewise.
10442         * modules/inttypes (Makefile.am): Likewise.
10443         * modules/langinfo (Makefile.am): Likewise.
10444         * modules/locale (Makefile.am): Likewise.
10445         * modules/spawn (Makefile.am): Likewise.
10446         * modules/sys_file (Makefile.am): Likewise.
10447         * modules/sys_ioctl (Makefile.am): Likewise.
10448         * modules/sys_select (Makefile.am): Likewise.
10449         * modules/sys_socket (Makefile.am): Likewise.
10450         * modules/sys_times (Makefile.am): Likewise.
10451         * modules/sys_utsname (Makefile.am): Likewise.
10452         * modules/sys_wait (Makefile.am): Likewise.
10453         * modules/wchar (Makefile.am): Likewise.
10454         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
10455         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
10456         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
10457         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
10458         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
10459         Likewise.
10460         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
10461         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
10462         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
10463         Likewise.
10464         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
10465         Likewise.
10466         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
10467         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
10468         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
10469         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10470         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10471         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
10472         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
10473         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
10474         (gl_WCHAR_H_DEFAULTS): Likewise.
10475
10476 2009-12-31  Eric Blake  <ebb9@byu.net>
10477
10478         signal, spawn: use link warnings
10479         * lib/signal.in.h (sigset_t): Make unconditional.
10480         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
10481         (sigpending, sigprocmask, sigaction): Add link warnings.
10482         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
10483         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
10484         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
10485         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
10486         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
10487         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
10488         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
10489         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
10490         (posix_spawn_file_actions_destroy)
10491         (posix_spawn_file_actions_addopen)
10492         (posix_spawn_file_actions_addclose)
10493         (posix_spawn_file_actions_adddup2): Likewise.
10494         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
10495         * tests/test-signal.c (main): Enhance test.
10496
10497         spawn: improve wrapper support
10498         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
10499         (gl_SPAWN_H_DEFAULTS): New defaults.
10500         * modules/spawn (Makefile.am): Substitute them.
10501         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
10502         Only declare if missing or broken.
10503
10504         sys_times, sys_utsname: use include_next
10505         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
10506         header.
10507         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
10508         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
10509         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
10510         * modules/sys_times (Depends-on): Add include_next.
10511         (Makefile.am): Substitute additional values.
10512         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
10513         * lib/sys_times.in.h (includes): Include native header, if
10514         available.
10515         * lib/sys_utsname.in.h (includes): Likewise.
10516         * tests/test-sys_times.c (main): Enhance test.
10517
10518         fdutimensat: revert prior patch
10519         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
10520         utimens.h.
10521         Reported by Bruno Haible.
10522
10523 2009-12-30  Eric Blake  <ebb9@byu.net>
10524
10525         sys_wait: drop link-warning dependency
10526         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
10527         link-warning efforts.
10528         * lib/sys_wait.in.h: Likewise.
10529
10530         fdutimensat: remove bogus dependency
10531         * modules/fdutimensat (Depends-on): Drop inline.
10532
10533         unistd: fix typo
10534         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
10535
10536 2009-12-30  Bruno Haible  <bruno@clisp.org>
10537
10538         Fix compilation error with Solaris cc.
10539         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
10540         * lib/unicase/u16-is-invariant.c: Likewise.
10541         * lib/unicase/u32-is-invariant.c: Likewise.
10542         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
10543
10544 2009-12-30  Bruno Haible  <bruno@clisp.org>
10545
10546         Fix test crash.
10547         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
10548         locales.
10549         Reported by Simon Josefsson <simon@josefsson.org>.
10550
10551 2009-12-30  Bruno Haible  <bruno@clisp.org>
10552
10553         Fix compilation error on most platforms.
10554         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
10555         Reported by Simon Josefsson <simon@josefsson.org>
10556         and Nelson H. F. Beebe <beebe@math.utah.edu>.
10557
10558 2009-12-30  Eric Blake  <ebb9@byu.net>
10559
10560         futimens, utimensat: work around ntfs-3g bug
10561         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
10562         a ctime bug is present, and expand workaround to cover ntfs-3g.
10563         * lib/utimens.c (fdutimens, lutimens): Likewise.
10564         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
10565         (validate_timespec): Adjust return value.
10566         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
10567         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10568         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
10569
10570 2009-12-29  Eric Blake  <ebb9@byu.net>
10571
10572         link-warning: make usage consistent
10573         * modules/ctype (Depends-on): Add link-warning.
10574         (Makefile.am): Update rules accordingly.
10575         * modules/langinfo (Depends-on, Makefile.am): Likewise.
10576         * modules/locale (Depends-on, Makefile.am): Likewise.
10577         * modules/sys_file (Makefile.am): Likewise.
10578         * modules/getopt-posix (Makefile.am): Delete unused link warning
10579         efforts.
10580         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
10581         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
10582         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
10583         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
10584
10585         stdio: remove unused variables
10586         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
10587         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
10588         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10589
10590         tests: test more substitute headers
10591         * modules/ctype-tests: New file.
10592         * modules/dirent-tests: Likewise.
10593         * modules/spawn-tests: Likewise.
10594         * modules/sys_file-tests: Likewise.
10595         * modules/sys_ioctl-tests: Likewise.
10596         * modules/sys_wait-tests: Likewise.
10597         * tests/test-ctype.c: Likewise.
10598         * tests/test-dirent.c: Likewise.
10599         * tests/test-spawn.c: Likewise.
10600         * tests/test-sys_file.c: Likewise.
10601         * tests/test-sys_ioctl.c: Likewise.
10602         * tests/test-sys_wait.c: Likewise.
10603         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
10604         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
10605         whether or not flock is in use.
10606
10607         tests: remove License section from module
10608         * modules/arpa_inet-tests: Remove unneeded section.
10609         * modules/byteswap-tests: Likewise.
10610         * modules/ceilf-tests: Likewise.
10611         * modules/ceill-tests: Likewise.
10612         * modules/crypto/des-tests: Likewise.
10613         * modules/crypto/gc-arcfour-tests: Likewise.
10614         * modules/crypto/gc-arctwo-tests: Likewise.
10615         * modules/crypto/gc-des-tests: Likewise.
10616         * modules/crypto/gc-hmac-md5-tests: Likewise.
10617         * modules/crypto/gc-hmac-sha1-tests: Likewise.
10618         * modules/crypto/gc-md2-tests: Likewise.
10619         * modules/crypto/gc-md4-tests: Likewise.
10620         * modules/crypto/gc-md5-tests: Likewise.
10621         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
10622         * modules/crypto/gc-rijndael-tests: Likewise.
10623         * modules/crypto/gc-sha1-tests: Likewise.
10624         * modules/crypto/gc-tests: Likewise.
10625         * modules/crypto/md2-tests: Likewise.
10626         * modules/crypto/md4-tests: Likewise.
10627         * modules/fcntl-h-tests: Likewise.
10628         * modules/floorf-tests: Likewise.
10629         * modules/floorl-tests: Likewise.
10630         * modules/frexp-nolibm-tests: Likewise.
10631         * modules/frexp-tests: Likewise.
10632         * modules/frexpl-nolibm-tests: Likewise.
10633         * modules/frexpl-tests: Likewise.
10634         * modules/getaddrinfo-tests: Likewise.
10635         * modules/inttypes-tests: Likewise.
10636         * modules/isfinite-tests: Likewise.
10637         * modules/isinf-tests: Likewise.
10638         * modules/ldexpl-tests: Likewise.
10639         * modules/locale-tests: Likewise.
10640         * modules/math-tests: Likewise.
10641         * modules/netdb-tests: Likewise.
10642         * modules/netinet_in-tests: Likewise.
10643         * modules/printf-frexp-tests: Likewise.
10644         * modules/printf-frexpl-tests: Likewise.
10645         * modules/priv-set-tests: Likewise.
10646         * modules/random_r-tests: Likewise.
10647         * modules/round-tests: Likewise.
10648         * modules/roundf-tests: Likewise.
10649         * modules/roundl-tests: Likewise.
10650         * modules/search-tests: Likewise.
10651         * modules/select-tests: Likewise.
10652         * modules/signal-tests: Likewise.
10653         * modules/stdbool-tests: Likewise.
10654         * modules/stddef-tests: Likewise.
10655         * modules/stdint-tests: Likewise.
10656         * modules/stdio-tests: Likewise.
10657         * modules/stdlib-tests: Likewise.
10658         * modules/string-tests: Likewise.
10659         * modules/strings-tests: Likewise.
10660         * modules/sys_select-tests: Likewise.
10661         * modules/sys_socket-tests: Likewise.
10662         * modules/sys_stat-tests: Likewise.
10663         * modules/sys_time-tests: Likewise.
10664         * modules/sys_utsname-tests: Likewise.
10665         * modules/sysexits-tests: Likewise.
10666         * modules/time-tests: Likewise.
10667         * modules/trunc-tests: Likewise.
10668         * modules/truncf-tests: Likewise.
10669         * modules/truncl-tests: Likewise.
10670         * modules/tsearch-tests: Likewise.
10671         * modules/unistd-tests: Likewise.
10672         * modules/wchar-tests: Likewise.
10673         * modules/wctype-tests: Likewise.
10674
10675         tests: fix license on several tests
10676         * tests/test-des.c: Update to GPLv3+.
10677         * tests/test-flock.c: Likewise.
10678         * tests/test-fsync.c: Likewise.
10679         * tests/test-futimens.h: Likewise.
10680         * tests/test-gc-arcfour.c: Likewise.
10681         * tests/test-gc-arctwo.c: Likewise.
10682         * tests/test-gc-des.c: Likewise.
10683         * tests/test-gc-hmac-md5.c: Likewise.
10684         * tests/test-gc-hmac-sha1.c: Likewise.
10685         * tests/test-gc-md2.c: Likewise.
10686         * tests/test-gc-md4.c: Likewise.
10687         * tests/test-gc-md5.c: Likewise.
10688         * tests/test-gc-pbkdf2-sha1.c: Likewise.
10689         * tests/test-gc-rijndael.c: Likewise.
10690         * tests/test-gc-sha1.c: Likewise.
10691         * tests/test-gc.c: Likewise.
10692         * tests/test-getcwd.c: Likewise.
10693         * tests/test-link.c: Likewise.
10694         * tests/test-link.h: Likewise.
10695         * tests/test-lutimens.h: Likewise.
10696         * tests/test-md2.c: Likewise.
10697         * tests/test-md4.c: Likewise.
10698         * tests/test-mkdir.h: Likewise.
10699         * tests/test-rename.c: Likewise.
10700         * tests/test-rename.h: Likewise.
10701         * tests/test-safe-alloc.c: Likewise.
10702         * tests/test-utimens-common.h: Likewise.
10703         * tests/test-utimens.h: Likewise.
10704
10705         maint: sync license texts
10706         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
10707         * doc/gpl-3.0.texi: Revert copyright year update.
10708         * doc/lgpl-3.0.texi: Likewise.
10709
10710 2009-12-29  Jim Meyering  <meyering@redhat.com>
10711
10712         update nearly all FSF copyright year lists to include 2009
10713         The files named by the following are exempted:
10714             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
10715               test -f "$dst" && { echo "$dst"; continue; }
10716               test -d "$dst" || continue
10717               echo "$dst"/$(basename "$src")
10718             done > exempt
10719             git ls-files tests/unictype >> exempt
10720         In the remaining files, convert to all-interval notation if
10721         - there is already at least one year interval like 2000-2003
10722         - the file is maintained by me
10723         - the file is in lib/uni*/, where that style already prevails
10724         Otherwise, use update-copyright's default.
10725
10726 2009-12-29  Simon Josefsson  <simon@josefsson.org>
10727         and Eric Blake  <ebb9@byu.net>
10728
10729         tests: don't require debug system() to pass
10730         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
10731         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10732         * tests/test-unlink.h (test_unlink_func): Likewise.
10733         * tests/test-fstatat.c (main): ...into callers.
10734         * tests/test-lstat.c (main): Likewise.
10735         * tests/test-rmdir.c (main): Likewise.
10736         * tests/test-unlink.c (main): Likewise.
10737         * tests/test-unlinkat.c (main): Likewise.
10738         * tests/test-areadlink-with-size.c (main): Don't require a
10739         debug-only system call to pass, aiding cross-testing to mingw.
10740         * tests/test-areadlink.c (main): Likewise.
10741         * tests/test-areadlinkat-with-size.c (main): Likewise.
10742         * tests/test-areadlinkat.c (main): Likewise.
10743         * tests/test-canonicalize-lgpl.c (main): Likewise.
10744         * tests/test-canonicalize.c (main): Likewise.
10745         * tests/test-chown.c (main): Likewise.
10746         * tests/test-fchownat.c (main): Likewise.
10747         * tests/test-lchown.c (main): Likewise.
10748         * tests/test-fdutimensat.c (main): Likewise.
10749         * tests/test-futimens.c (main): Likewise.
10750         * tests/test-link.c (main): Likewise.
10751         * tests/test-linkat.c (main): Likewise.
10752         * tests/test-mkdir.c (main): Likewise.
10753         * tests/test-mkdirat.c (main): Likewise.
10754         * tests/test-mkfifo.c (main): Likewise.
10755         * tests/test-mkfifoat.c (main): Likewise.
10756         * tests/test-mknod.c (main): Likewise.
10757         * tests/test-readlink.c (main): Likewise.
10758         * tests/test-remove.c (main): Likewise.
10759         * tests/test-rename.c (main): Likewise.
10760         * tests/test-renameat.c (main): Likewise.
10761         * tests/test-symlink.c (main): Likewise.
10762         * tests/test-symlinkat.c (main): Likewise.
10763         * tests/test-utimens.c (main): Likewise.
10764         * tests/test-utimensat.c (main): Likewise.
10765
10766 2009-12-29  Simon Josefsson  <simon@josefsson.org>
10767
10768         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
10769         on $(UNUSED_PARAMETER_H) to avoid build failure.
10770
10771 2009-12-28  Jim Meyering  <meyering@redhat.com>
10772
10773         update-copyright: you may specify a max. line length other than 72
10774         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
10775
10776         maint: use consistent FSF copyright line syntax
10777         * lib/posixtm.c: Add missing comma in FSF copyright line.
10778         * lib/posixtm.h: Likewise.
10779         * lib/getugroups.c: Add missing ", Inc.".
10780
10781         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
10782         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
10783         FSF copyright line.  Remove trailing blanks.
10784
10785 2009-12-28  Eric Blake  <ebb9@byu.net>
10786
10787         test-dup2: reduce dependencies
10788         * modules/cloexec (Configure.ac): Set witness.
10789         * modules/dup2-tests (Depends-on): Drop cloexec.
10790         * tests/test-dup2.c (main): Skip portion of test if cloexec module
10791         not present.
10792         Suggested by Bruno Haible.
10793
10794 2009-12-26  Bruno Haible  <bruno@clisp.org>
10795
10796         Remove an unneeded dependency.
10797         * modules/fseterr (Depends-on): Remove dup2.
10798
10799 2009-12-26  Eric Blake  <ebb9@byu.net>
10800
10801         tests: use macros.h in more places
10802         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
10803         (ASSERT_STREAM): Provide default of stderr.
10804         * tests/test-dirent-safer.c: Include macros.h, using alternate
10805         stream for assertions.
10806         * tests/test-dup-safer.c: Likewise.
10807         * tests/test-freopen-safer.c: Likewise.
10808         * tests/test-getopt.c: Likewise.
10809         * tests/test-openat-safer.c: Likewise.
10810         * tests/test-pipe.c: Likewise.
10811         * tests/test-popen-safer.c: Likewise.
10812         * modules/dirent-safer-tests (Files): Include macros.h.
10813         * modules/unistd-safer-tests (Files): Likewise.
10814         * modules/freopen-safer-tests (Files): Likewise.
10815         * modules/getopt-posix-tests (Files): Likewise.
10816         * modules/openat-safer-tests (Files): Likewise.
10817         * modules/pipe-tests (Files): Likewise.
10818
10819 2009-12-26  Bruno Haible  <bruno@clisp.org>
10820
10821         javacomp: Portability fix.
10822         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
10823         that it also works on Solaris.
10824
10825 2009-12-26  Bruno Haible  <bruno@clisp.org>
10826
10827         localename: Fix storage allocation of gl_locale_name_thread's result.
10828         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
10829         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
10830         all platforms that have 'uselocale'.
10831         (gl_locale_name_thread_unsafe): New function, extracted from
10832         gl_locale_name_thread.
10833         (gl_locale_name_thread): Call struniq on all platforms that have
10834         'uselocale'.
10835         * tests/test-localename.c (test_locale_name_thread): Check that the
10836         resulting strings are permanently allocated.
10837         * modules/localename-tests (Depends-on): Add strdup.
10838
10839 2009-12-26  Bruno Haible  <bruno@clisp.org>
10840
10841         * tests/test-localename.c (categories): Fill in the strings.
10842
10843 2009-12-26  Jim Meyering  <meyering@redhat.com>
10844
10845         isdir: complete the removal of m4/isdir.m4
10846         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
10847
10848         isdir: clean up, since at least grep still uses it
10849         * lib/isdir.c: Include "isdir.h".
10850         (S_ISDIR): Remove now-unneeded definition.
10851         * modules/isdir (Files): Add lib/isdir.h.
10852         * lib/isdir.h: New file, with declaration.
10853         * m4/isdir.m4: Remove file -- unneeded.
10854
10855 2009-12-25  Bruno Haible  <bruno@clisp.org>
10856
10857         selinux-h: Make generated .h files standalone.
10858         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
10859         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
10860         * lib/se-selinux.in.h: Likewise.
10861         * modules/selinux-h (Depends-on): Add unused-parameter.
10862         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
10863         selinux/selinux.h and selinux/context.h.
10864         Suggested by Eric Blake.
10865
10866 2009-12-25  Bruno Haible  <bruno@clisp.org>
10867
10868         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
10869         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
10870         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
10871         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
10872         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
10873
10874 2009-12-24  Bruno Haible  <bruno@clisp.org>
10875
10876         openat: Fix warning.
10877         * lib/openat-proc.c: Include <unistd.h>.
10878
10879 2009-12-24  Bruno Haible  <bruno@clisp.org>
10880
10881         New module 'unused-parameter'.
10882         * build-aux/unused-parameter.h: New file, extracted from earlier
10883         gnulib-common.m4.
10884         * modules/unused-parameter: New file.
10885         * lib/unistr.h: Include unused-parameter.h.
10886         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
10887         _GL_UNUSED.
10888         * modules/unistr/base (Depends-on): Add unused-parameter.
10889
10890 2009-12-24  Bruno Haible  <bruno@clisp.org>
10891
10892         Add missing dependencies to 'extensions' module.
10893         * m4/extensions.m4: Add comment.
10894         * modules/accept4 (Depends-on): Add extensions.
10895         * modules/dup3 (Depends-on): Likewise.
10896         * modules/fcntl (Depends-on): Likewise.
10897         * modules/futimens (Depends-on): Likewise.
10898         * modules/mknod (Depends-on): Likewise.
10899         * modules/pipe2 (Depends-on): Likewise.
10900         * modules/stat-time (Depends-on): Likewise.
10901         * modules/strcasestr-simple (Depends-on): Likewise.
10902         * modules/strsignal (Depends-on): Likewise.
10903         * modules/utimensat (Depends-on): Likewise.
10904         * modules/localcharset (Depends-on): Likewise. Needed because of
10905         gl_FCNTL_O_FLAGS.
10906         * modules/wcrtomb (Depends-on): Likewise. Needed because of
10907         AC_TYPE_MBSTATE_T.
10908         * modules/wcsnrtombs (Depends-on): Likewise.
10909         * modules/wcsrtombs (Depends-on): Likewise.
10910
10911 2009-12-24  Bruno Haible  <bruno@clisp.org>
10912
10913         binary-io: Avoid gcc warning due to SET_BINARY.
10914         * lib/binary-io.h (SET_BINARY): Cast the result to void.
10915         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
10916
10917 2009-12-24  Bruno Haible  <bruno@clisp.org>
10918
10919         Avoid future namespace pollution on glibc systems.
10920         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
10921         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
10922         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
10923         glibc systems.
10924
10925 2009-12-24  Bruno Haible  <bruno@clisp.org>
10926
10927         Refactor common macros used in tests.
10928         * tests/macros.h: New file.
10929         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
10930         and/or <stdlib.h>, if appropriate.
10931         (ASSERT, SIZEOF): Remove macros.
10932         * tests/test-areadlink-with-size.c: Likewise.
10933         * tests/test-areadlinkat.c: Likewise.
10934         * tests/test-areadlinkat-with-size.c: Likewise.
10935         * tests/test-argmatch.c: Likewise.
10936         * tests/test-argv-iter.c: Likewise.
10937         * tests/test-array-mergesort.c: Likewise.
10938         * tests/test-array_list.c: Likewise.
10939         * tests/test-array_oset.c: Likewise.
10940         * tests/test-avltree_list.c: Likewise.
10941         * tests/test-avltree_oset.c: Likewise.
10942         * tests/test-avltreehash_list.c: Likewise.
10943         * tests/test-base64.c: Likewise.
10944         * tests/test-binary-io.c: Likewise.
10945         * tests/test-bitrotate.c: Likewise.
10946         * tests/test-btowc.c: Likewise.
10947         * tests/test-byteswap.c: Likewise.
10948         * tests/test-c-ctype.c: Likewise.
10949         * tests/test-c-stack.c: Likewise.
10950         * tests/test-c-strcasecmp.c: Likewise.
10951         * tests/test-c-strcasestr.c: Likewise.
10952         * tests/test-c-strncasecmp.c: Likewise.
10953         * tests/test-c-strstr.c: Likewise.
10954         * tests/test-canonicalize-lgpl.c: Likewise.
10955         * tests/test-canonicalize.c: Likewise.
10956         * tests/test-carray_list.c: Likewise.
10957         * tests/test-ceilf1.c: Likewise.
10958         * tests/test-ceilf2.c: Likewise.
10959         * tests/test-ceill.c: Likewise.
10960         * tests/test-chown.c: Likewise.
10961         * tests/test-cloexec.c: Likewise.
10962         * tests/test-copy-acl.c: Likewise.
10963         * tests/test-copy-file.c: Likewise.
10964         * tests/test-count-one-bits.c: Likewise.
10965         * tests/test-dprintf-posix.c: Likewise.
10966         * tests/test-dup2.c: Likewise.
10967         * tests/test-dup3.c: Likewise.
10968         * tests/test-duplocale.c: Likewise.
10969         * tests/test-fbufmode.c: Likewise.
10970         * tests/test-fchdir.c: Likewise.
10971         * tests/test-fchownat.c: Likewise.
10972         * tests/test-fcntl-safer.c: Likewise.
10973         * tests/test-fcntl.c: Likewise.
10974         * tests/test-fdopendir.c: Likewise.
10975         * tests/test-fdutimensat.c: Likewise.
10976         * tests/test-fflush2.c: Likewise.
10977         * tests/test-file-has-acl.c: Likewise.
10978         * tests/test-filevercmp.c: Likewise.
10979         * tests/test-flock.c: Likewise.
10980         * tests/test-floorf1.c: Likewise.
10981         * tests/test-floorf2.c: Likewise.
10982         * tests/test-floorl.c: Likewise.
10983         * tests/test-fnmatch.c: Likewise.
10984         * tests/test-fopen.h: Likewise.
10985         * tests/test-fpending.c: Likewise.
10986         * tests/test-fprintf-posix.c: Likewise.
10987         * tests/test-fpurge.c: Likewise.
10988         * tests/test-freadable.c: Likewise.
10989         * tests/test-freadahead.c: Likewise.
10990         * tests/test-freading.c: Likewise.
10991         * tests/test-freadptr.c: Likewise.
10992         * tests/test-freadptr2.c: Likewise.
10993         * tests/test-freadseek.c: Likewise.
10994         * tests/test-freopen.c: Likewise.
10995         * tests/test-frexp.c: Likewise.
10996         * tests/test-frexpl.c: Likewise.
10997         * tests/test-fseek.c: Likewise.
10998         * tests/test-fseeko.c: Likewise.
10999         * tests/test-fstatat.c: Likewise.
11000         * tests/test-fstrcmp.c: Likewise.
11001         * tests/test-fsync.c: Likewise.
11002         * tests/test-ftell.c: Likewise.
11003         * tests/test-ftello.c: Likewise.
11004         * tests/test-func.c: Likewise.
11005         * tests/test-futimens.c: Likewise.
11006         * tests/test-fwritable.c: Likewise.
11007         * tests/test-fwriting.c: Likewise.
11008         * tests/test-getcwd.c: Likewise.
11009         * tests/test-getdate.c: Likewise.
11010         * tests/test-getdelim.c: Likewise.
11011         * tests/test-getdtablesize.c: Likewise.
11012         * tests/test-getgroups.c: Likewise.
11013         * tests/test-getline.c: Likewise.
11014         * tests/test-getndelim2.c: Likewise.
11015         * tests/test-glob.c: Likewise.
11016         * tests/test-hash.c: Likewise.
11017         * tests/test-i-ring.c: Likewise.
11018         * tests/test-iconv-utf.c: Likewise.
11019         * tests/test-iconv.c: Likewise.
11020         * tests/test-idpriv-drop.c: Likewise.
11021         * tests/test-idpriv-droptemp.c: Likewise.
11022         * tests/test-inet_ntop.c: Likewise.
11023         * tests/test-inet_pton.c: Likewise.
11024         * tests/test-isblank.c: Likewise.
11025         * tests/test-isfinite.c: Likewise.
11026         * tests/test-isinf.c: Likewise.
11027         * tests/test-isnan.c: Likewise.
11028         * tests/test-isnand.h: Likewise.
11029         * tests/test-isnanf.h: Likewise.
11030         * tests/test-isnanl.h: Likewise.
11031         * tests/test-lchown.c: Likewise.
11032         * tests/test-ldexpl.c: Likewise.
11033         * tests/test-link.c: Likewise.
11034         * tests/test-linkat.c: Likewise.
11035         * tests/test-linked_list.c: Likewise.
11036         * tests/test-linkedhash_list.c: Likewise.
11037         * tests/test-localename.c: Likewise.
11038         * tests/test-lseek.c: Likewise.
11039         * tests/test-lstat.c: Likewise.
11040         * tests/test-mbmemcasecmp.c: Likewise.
11041         * tests/test-mbmemcasecoll.c: Likewise.
11042         * tests/test-mbrtowc.c: Likewise.
11043         * tests/test-mbscasecmp.c: Likewise.
11044         * tests/test-mbscasestr1.c: Likewise.
11045         * tests/test-mbscasestr2.c: Likewise.
11046         * tests/test-mbscasestr3.c: Likewise.
11047         * tests/test-mbscasestr4.c: Likewise.
11048         * tests/test-mbschr.c: Likewise.
11049         * tests/test-mbscspn.c: Likewise.
11050         * tests/test-mbsinit.c: Likewise.
11051         * tests/test-mbsncasecmp.c: Likewise.
11052         * tests/test-mbsnrtowcs.c: Likewise.
11053         * tests/test-mbspbrk.c: Likewise.
11054         * tests/test-mbspcasecmp.c: Likewise.
11055         * tests/test-mbsrchr.c: Likewise.
11056         * tests/test-mbsrtowcs.c: Likewise.
11057         * tests/test-mbsspn.c: Likewise.
11058         * tests/test-mbsstr1.c: Likewise.
11059         * tests/test-mbsstr2.c: Likewise.
11060         * tests/test-mbsstr3.c: Likewise.
11061         * tests/test-memchr.c: Likewise.
11062         * tests/test-memchr2.c: Likewise.
11063         * tests/test-memcmp.c: Likewise.
11064         * tests/test-memmem.c: Likewise.
11065         * tests/test-memrchr.c: Likewise.
11066         * tests/test-mkdir.c: Likewise.
11067         * tests/test-mkdirat.c: Likewise.
11068         * tests/test-mkfifo.c: Likewise.
11069         * tests/test-mkfifoat.c: Likewise.
11070         * tests/test-mknod.c: Likewise.
11071         * tests/test-nanosleep.c: Likewise.
11072         * tests/test-nl_langinfo.c: Likewise.
11073         * tests/test-obstack-printf.c: Likewise.
11074         * tests/test-open.c: Likewise.
11075         * tests/test-openat.c: Likewise.
11076         * tests/test-pipe-filter-gi1.c: Likewise.
11077         * tests/test-pipe-filter-gi2-main.c: Likewise.
11078         * tests/test-pipe-filter-ii1.c: Likewise.
11079         * tests/test-pipe-filter-ii2-main.c: Likewise.
11080         * tests/test-pipe2.c: Likewise.
11081         * tests/test-popen.h: Likewise.
11082         * tests/test-posixtm.c: Likewise.
11083         * tests/test-pread.c: Likewise.
11084         * tests/test-printf-frexp.c: Likewise.
11085         * tests/test-printf-frexpl.c: Likewise.
11086         * tests/test-printf-posix.c: Likewise.
11087         * tests/test-priv-set.c: Likewise.
11088         * tests/test-quotearg.c: Likewise.
11089         * tests/test-random_r.c: Likewise.
11090         * tests/test-rawmemchr.c: Likewise.
11091         * tests/test-rbtree_list.c: Likewise.
11092         * tests/test-rbtree_oset.c: Likewise.
11093         * tests/test-rbtreehash_list.c: Likewise.
11094         * tests/test-readlink.c: Likewise.
11095         * tests/test-remove.c: Likewise.
11096         * tests/test-rename.c: Likewise.
11097         * tests/test-renameat.c: Likewise.
11098         * tests/test-rmdir.c: Likewise.
11099         * tests/test-round1.c: Likewise.
11100         * tests/test-roundf1.c: Likewise.
11101         * tests/test-roundl.c: Likewise.
11102         * tests/test-safe-alloc.c: Likewise.
11103         * tests/test-sameacls.c: Likewise.
11104         * tests/test-set-mode-acl.c: Likewise.
11105         * tests/test-setenv.c: Likewise.
11106         * tests/test-sigaction.c: Likewise.
11107         * tests/test-signbit.c: Likewise.
11108         * tests/test-sleep.c: Likewise.
11109         * tests/test-snprintf-posix.c: Likewise.
11110         * tests/test-snprintf.c: Likewise.
11111         * tests/test-sprintf-posix.c: Likewise.
11112         * tests/test-stat-time.c: Likewise.
11113         * tests/test-stat.c: Likewise.
11114         * tests/test-strcasestr.c: Likewise.
11115         * tests/test-strchrnul.c: Likewise.
11116         * tests/test-strerror.c: Likewise.
11117         * tests/test-striconv.c: Likewise.
11118         * tests/test-striconveh.c: Likewise.
11119         * tests/test-striconveha.c: Likewise.
11120         * tests/test-strsignal.c: Likewise.
11121         * tests/test-strstr.c: Likewise.
11122         * tests/test-strtod.c: Likewise.
11123         * tests/test-strverscmp.c: Likewise.
11124         * tests/test-symlink.c: Likewise.
11125         * tests/test-symlinkat.c: Likewise.
11126         * tests/test-trunc1.c: Likewise.
11127         * tests/test-trunc2.c: Likewise.
11128         * tests/test-truncf1.c: Likewise.
11129         * tests/test-truncf2.c: Likewise.
11130         * tests/test-truncl.c: Likewise.
11131         * tests/test-uname.c: Likewise.
11132         * tests/test-unlink.c: Likewise.
11133         * tests/test-unlinkat.c: Likewise.
11134         * tests/test-unsetenv.c: Likewise.
11135         * tests/test-usleep.c: Likewise.
11136         * tests/test-utimens.c: Likewise.
11137         * tests/test-utimensat.c: Likewise.
11138         * tests/test-vasnprintf-posix.c: Likewise.
11139         * tests/test-vasnprintf-posix2.c: Likewise.
11140         * tests/test-vasnprintf.c: Likewise.
11141         * tests/test-vasprintf-posix.c: Likewise.
11142         * tests/test-vasprintf.c: Likewise.
11143         * tests/test-vdprintf-posix.c: Likewise.
11144         * tests/test-vfprintf-posix.c: Likewise.
11145         * tests/test-vprintf-posix.c: Likewise.
11146         * tests/test-vsnprintf-posix.c: Likewise.
11147         * tests/test-vsnprintf.c: Likewise.
11148         * tests/test-vsprintf-posix.c: Likewise.
11149         * tests/test-wcrtomb.c: Likewise.
11150         * tests/test-wcsnrtombs.c: Likewise.
11151         * tests/test-wcsrtombs.c: Likewise.
11152         * tests/test-wctype.c: Likewise.
11153         * tests/test-wcwidth.c: Likewise.
11154         * tests/test-xfprintf-posix.c: Likewise.
11155         * tests/test-xmemdup0.c: Likewise.
11156         * tests/test-xprintf-posix.c: Likewise.
11157         * tests/test-xvasprintf.c: Likewise.
11158         * tests/unicase/test-locale-language.c: Likewise.
11159         * tests/unicase/test-mapping-part1.h: Likewise.
11160         * tests/unicase/test-predicate-part1.h: Likewise.
11161         * tests/unicase/test-u8-casecmp.c: Likewise.
11162         * tests/unicase/test-u8-casecoll.c: Likewise.
11163         * tests/unicase/test-u8-casefold.c: Likewise.
11164         * tests/unicase/test-u8-is-cased.c: Likewise.
11165         * tests/unicase/test-u8-is-casefolded.c: Likewise.
11166         * tests/unicase/test-u8-is-lowercase.c: Likewise.
11167         * tests/unicase/test-u8-is-titlecase.c: Likewise.
11168         * tests/unicase/test-u8-is-uppercase.c: Likewise.
11169         * tests/unicase/test-u8-tolower.c: Likewise.
11170         * tests/unicase/test-u8-totitle.c: Likewise.
11171         * tests/unicase/test-u8-toupper.c: Likewise.
11172         * tests/unicase/test-u16-casecmp.c: Likewise.
11173         * tests/unicase/test-u16-casecoll.c: Likewise.
11174         * tests/unicase/test-u16-casefold.c: Likewise.
11175         * tests/unicase/test-u16-is-cased.c: Likewise.
11176         * tests/unicase/test-u16-is-casefolded.c: Likewise.
11177         * tests/unicase/test-u16-is-lowercase.c: Likewise.
11178         * tests/unicase/test-u16-is-titlecase.c: Likewise.
11179         * tests/unicase/test-u16-is-uppercase.c: Likewise.
11180         * tests/unicase/test-u16-tolower.c: Likewise.
11181         * tests/unicase/test-u16-totitle.c: Likewise.
11182         * tests/unicase/test-u16-toupper.c: Likewise.
11183         * tests/unicase/test-u32-casecmp.c: Likewise.
11184         * tests/unicase/test-u32-casecoll.c: Likewise.
11185         * tests/unicase/test-u32-casefold.c: Likewise.
11186         * tests/unicase/test-u32-is-cased.c: Likewise.
11187         * tests/unicase/test-u32-is-casefolded.c: Likewise.
11188         * tests/unicase/test-u32-is-lowercase.c: Likewise.
11189         * tests/unicase/test-u32-is-titlecase.c: Likewise.
11190         * tests/unicase/test-u32-is-uppercase.c: Likewise.
11191         * tests/unicase/test-u32-tolower.c: Likewise.
11192         * tests/unicase/test-u32-totitle.c: Likewise.
11193         * tests/unicase/test-u32-toupper.c: Likewise.
11194         * tests/unicase/test-ulc-casecmp.c: Likewise.
11195         * tests/unicase/test-ulc-casecoll.c: Likewise.
11196         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
11197         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
11198         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
11199         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
11200         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
11201         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
11202         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
11203         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
11204         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
11205         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
11206         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
11207         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
11208         * tests/unictype/test-bidi_byname.c: Likewise.
11209         * tests/unictype/test-bidi_name.c: Likewise.
11210         * tests/unictype/test-bidi_of.c: Likewise.
11211         * tests/unictype/test-bidi_test.c: Likewise.
11212         * tests/unictype/test-block_list.c: Likewise.
11213         * tests/unictype/test-block_of.c: Likewise.
11214         * tests/unictype/test-block_test.c: Likewise.
11215         * tests/unictype/test-categ_and.c: Likewise.
11216         * tests/unictype/test-categ_and_not.c: Likewise.
11217         * tests/unictype/test-categ_byname.c: Likewise.
11218         * tests/unictype/test-categ_name.c: Likewise.
11219         * tests/unictype/test-categ_none.c: Likewise.
11220         * tests/unictype/test-categ_of.c: Likewise.
11221         * tests/unictype/test-categ_or.c: Likewise.
11222         * tests/unictype/test-categ_test_withtable.c: Likewise.
11223         * tests/unictype/test-combining.c: Likewise.
11224         * tests/unictype/test-decdigit.c: Likewise.
11225         * tests/unictype/test-digit.c: Likewise.
11226         * tests/unictype/test-mirror.c: Likewise.
11227         * tests/unictype/test-numeric.c: Likewise.
11228         * tests/unictype/test-pr_byname.c: Likewise.
11229         * tests/unictype/test-pr_test.c: Likewise.
11230         * tests/unictype/test-predicate-part1.h: Likewise.
11231         * tests/unictype/test-scripts.c: Likewise.
11232         * tests/unictype/test-sy_c_ident.c: Likewise.
11233         * tests/unictype/test-sy_java_ident.c: Likewise.
11234         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
11235         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
11236         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
11237         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
11238         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
11239         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
11240         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
11241         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
11242         * tests/uninorm/test-canonical-decomposition.c: Likewise.
11243         * tests/uninorm/test-compat-decomposition.c: Likewise.
11244         * tests/uninorm/test-composition.c: Likewise.
11245         * tests/uninorm/test-decomposing-form.c: Likewise.
11246         * tests/uninorm/test-decomposition.c: Likewise.
11247         * tests/uninorm/test-u8-nfc.c: Likewise.
11248         * tests/uninorm/test-u8-nfd.c: Likewise.
11249         * tests/uninorm/test-u8-nfkc.c: Likewise.
11250         * tests/uninorm/test-u8-nfkd.c: Likewise.
11251         * tests/uninorm/test-u8-normcmp.c: Likewise.
11252         * tests/uninorm/test-u8-normcoll.c: Likewise.
11253         * tests/uninorm/test-u16-nfc.c: Likewise.
11254         * tests/uninorm/test-u16-nfd.c: Likewise.
11255         * tests/uninorm/test-u16-nfkc.c: Likewise.
11256         * tests/uninorm/test-u16-nfkd.c: Likewise.
11257         * tests/uninorm/test-u16-normcmp.c: Likewise.
11258         * tests/uninorm/test-u16-normcoll.c: Likewise.
11259         * tests/uninorm/test-u32-nfc.c: Likewise.
11260         * tests/uninorm/test-u32-nfd.c: Likewise.
11261         * tests/uninorm/test-u32-nfkc.c: Likewise.
11262         * tests/uninorm/test-u32-nfkd.c: Likewise.
11263         * tests/uninorm/test-u32-normalize-big.c: Likewise.
11264         * tests/uninorm/test-u32-normcmp.c: Likewise.
11265         * tests/uninorm/test-u32-normcoll.c: Likewise.
11266         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
11267         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
11268         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
11269         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
11270         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
11271         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
11272         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
11273         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
11274         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
11275         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
11276         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
11277         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
11278         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
11279         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
11280         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
11281         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
11282         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
11283         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
11284         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
11285         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
11286         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
11287         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
11288         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
11289         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
11290         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
11291         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
11292         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
11293         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
11294         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
11295         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
11296         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
11297         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
11298         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
11299         * tests/uniwidth/test-u8-strwidth.c: Likewise.
11300         * tests/uniwidth/test-u8-width.c: Likewise.
11301         * tests/uniwidth/test-u16-strwidth.c: Likewise.
11302         * tests/uniwidth/test-u16-width.c: Likewise.
11303         * tests/uniwidth/test-u32-strwidth.c: Likewise.
11304         * tests/uniwidth/test-u32-width.c: Likewise.
11305         * tests/uniwidth/test-uc_width.c: Likewise.
11306         * tests/uniwidth/test-uc_width2.c: Likewise.
11307         * modules/acl-tests (Files): Add tests/macros.h.
11308         * modules/areadlink-tests (Files): Likewise.
11309         * modules/areadlink-with-size-tests (Files): Likewise.
11310         * modules/areadlinkat-tests (Files): Likewise.
11311         * modules/areadlinkat-with-size-tests (Files): Likewise.
11312         * modules/argmatch-tests (Files): Likewise.
11313         * modules/argv-iter-tests (Files): Likewise.
11314         * modules/array-list-tests (Files): Likewise.
11315         * modules/array-mergesort-tests (Files): Likewise.
11316         * modules/array-oset-tests (Files): Likewise.
11317         * modules/avltree-list-tests (Files): Likewise.
11318         * modules/avltree-oset-tests (Files): Likewise.
11319         * modules/avltreehash-list-tests (Files): Likewise.
11320         * modules/base64-tests (Files): Likewise.
11321         * modules/binary-io-tests (Files): Likewise.
11322         * modules/bitrotate-tests (Files): Likewise.
11323         * modules/btowc-tests (Files): Likewise.
11324         * modules/byteswap-tests (Files): Likewise.
11325         * modules/c-ctype-tests (Files): Likewise.
11326         * modules/c-stack-tests (Files): Likewise.
11327         * modules/c-strcase-tests (Files): Likewise.
11328         * modules/c-strcasestr-tests (Files): Likewise.
11329         * modules/c-strstr-tests (Files): Likewise.
11330         * modules/canonicalize-lgpl-tests (Files): Likewise.
11331         * modules/canonicalize-tests (Files): Likewise.
11332         * modules/carray-list-tests (Files): Likewise.
11333         * modules/ceilf-tests (Files): Likewise.
11334         * modules/ceill-tests (Files): Likewise.
11335         * modules/chown-tests (Files): Likewise.
11336         * modules/cloexec-tests (Files): Likewise.
11337         * modules/copy-file-tests (Files): Likewise.
11338         * modules/count-one-bits-tests (Files): Likewise.
11339         * modules/dprintf-posix-tests (Files): Likewise.
11340         * modules/dup2-tests (Files): Likewise.
11341         * modules/dup3-tests (Files): Likewise.
11342         * modules/duplocale-tests (Files): Likewise.
11343         * modules/fbufmode-tests (Files): Likewise.
11344         * modules/fchdir-tests (Files): Likewise.
11345         * modules/fcntl-safer-tests (Files): Likewise.
11346         * modules/fcntl-tests (Files): Likewise.
11347         * modules/fdopendir-tests (Files): Likewise.
11348         * modules/fdutimensat-tests (Files): Likewise.
11349         * modules/fflush-tests (Files): Likewise.
11350         * modules/filevercmp-tests (Files): Likewise.
11351         * modules/flock-tests (Files): Likewise.
11352         * modules/floorf-tests (Files): Likewise.
11353         * modules/floorl-tests (Files): Likewise.
11354         * modules/fnmatch-tests (Files): Likewise.
11355         * modules/fopen-safer-tests (Files): Likewise.
11356         * modules/fopen-tests (Files): Likewise.
11357         * modules/fpending-tests (Files): Likewise.
11358         * modules/fprintf-posix-tests (Files): Likewise.
11359         * modules/fpurge-tests (Files): Likewise.
11360         * modules/freadable-tests (Files): Likewise.
11361         * modules/freadahead-tests (Files): Likewise.
11362         * modules/freading-tests (Files): Likewise.
11363         * modules/freadptr-tests (Files): Likewise.
11364         * modules/freadseek-tests (Files): Likewise.
11365         * modules/freopen-tests (Files): Likewise.
11366         * modules/frexp-nolibm-tests (Files): Likewise.
11367         * modules/frexp-tests (Files): Likewise.
11368         * modules/frexpl-nolibm-tests (Files): Likewise.
11369         * modules/frexpl-tests (Files): Likewise.
11370         * modules/fseek-tests (Files): Likewise.
11371         * modules/fseeko-tests (Files): Likewise.
11372         * modules/fstrcmp-tests (Files): Likewise.
11373         * modules/fsync-tests (Files): Likewise.
11374         * modules/ftell-tests (Files): Likewise.
11375         * modules/ftello-tests (Files): Likewise.
11376         * modules/func-tests (Files): Likewise.
11377         * modules/futimens-tests (Files): Likewise.
11378         * modules/fwritable-tests (Files): Likewise.
11379         * modules/fwriting-tests (Files): Likewise.
11380         * modules/getcwd-tests (Files): Likewise.
11381         * modules/getdate-tests (Files): Likewise.
11382         * modules/getdelim-tests (Files): Likewise.
11383         * modules/getdtablesize-tests (Files): Likewise.
11384         * modules/getgroups-tests (Files): Likewise.
11385         * modules/getline-tests (Files): Likewise.
11386         * modules/getndelim2-tests (Files): Likewise.
11387         * modules/glob-tests (Files): Likewise.
11388         * modules/hash-tests (Files): Likewise.
11389         * modules/i-ring-tests (Files): Likewise.
11390         * modules/iconv-tests (Files): Likewise.
11391         * modules/iconv_open-utf-tests (Files): Likewise.
11392         * modules/idpriv-drop-tests (Files): Likewise.
11393         * modules/idpriv-droptemp-tests (Files): Likewise.
11394         * modules/inet_ntop-tests (Files): Likewise.
11395         * modules/inet_pton-tests (Files): Likewise.
11396         * modules/isblank-tests (Files): Likewise.
11397         * modules/isfinite-tests (Files): Likewise.
11398         * modules/isinf-tests (Files): Likewise.
11399         * modules/isnan-tests (Files): Likewise.
11400         * modules/isnand-nolibm-tests (Files): Likewise.
11401         * modules/isnand-tests (Files): Likewise.
11402         * modules/isnanf-nolibm-tests (Files): Likewise.
11403         * modules/isnanf-tests (Files): Likewise.
11404         * modules/isnanl-nolibm-tests (Files): Likewise.
11405         * modules/isnanl-tests (Files): Likewise.
11406         * modules/lchown-tests (Files): Likewise.
11407         * modules/ldexpl-tests (Files): Likewise.
11408         * modules/link-tests (Files): Likewise.
11409         * modules/linkat-tests (Files): Likewise.
11410         * modules/linked-list-tests (Files): Likewise.
11411         * modules/linkedhash-list-tests (Files): Likewise.
11412         * modules/localename-tests (Files): Likewise.
11413         * modules/lseek-tests (Files): Likewise.
11414         * modules/lstat-tests (Files): Likewise.
11415         * modules/mbmemcasecmp-tests (Files): Likewise.
11416         * modules/mbmemcasecoll-tests (Files): Likewise.
11417         * modules/mbrtowc-tests (Files): Likewise.
11418         * modules/mbscasecmp-tests (Files): Likewise.
11419         * modules/mbscasestr-tests (Files): Likewise.
11420         * modules/mbschr-tests (Files): Likewise.
11421         * modules/mbscspn-tests (Files): Likewise.
11422         * modules/mbsinit-tests (Files): Likewise.
11423         * modules/mbsncasecmp-tests (Files): Likewise.
11424         * modules/mbsnrtowcs-tests (Files): Likewise.
11425         * modules/mbspbrk-tests (Files): Likewise.
11426         * modules/mbspcasecmp-tests (Files): Likewise.
11427         * modules/mbsrchr-tests (Files): Likewise.
11428         * modules/mbsrtowcs-tests (Files): Likewise.
11429         * modules/mbsspn-tests (Files): Likewise.
11430         * modules/mbsstr-tests (Files): Likewise.
11431         * modules/memchr-tests (Files): Likewise.
11432         * modules/memchr2-tests (Files): Likewise.
11433         * modules/memcmp-tests (Files): Likewise.
11434         * modules/memmem-tests (Files): Likewise.
11435         * modules/memrchr-tests (Files): Likewise.
11436         * modules/mkdir-tests (Files): Likewise.
11437         * modules/mkfifo-tests (Files): Likewise.
11438         * modules/mkfifoat-tests (Files): Likewise.
11439         * modules/mknod-tests (Files): Likewise.
11440         * modules/nanosleep-tests (Files): Likewise.
11441         * modules/nl_langinfo-tests (Files): Likewise.
11442         * modules/obstack-printf-tests (Files): Likewise.
11443         * modules/open-tests (Files): Likewise.
11444         * modules/openat-tests (Files): Likewise.
11445         * modules/pipe-filter-gi-tests (Files): Likewise.
11446         * modules/pipe-filter-ii-tests (Files): Likewise.
11447         * modules/pipe2-tests (Files): Likewise.
11448         * modules/popen-safer-tests (Files): Likewise.
11449         * modules/popen-tests (Files): Likewise.
11450         * modules/posixtm-tests (Files): Likewise.
11451         * modules/pread-tests (Files): Likewise.
11452         * modules/printf-frexp-tests (Files): Likewise.
11453         * modules/printf-frexpl-tests (Files): Likewise.
11454         * modules/printf-posix-tests (Files): Likewise.
11455         * modules/priv-set-tests (Files): Likewise.
11456         * modules/quotearg-tests (Files): Likewise.
11457         * modules/random_r-tests (Files): Likewise.
11458         * modules/rawmemchr-tests (Files): Likewise.
11459         * modules/rbtree-list-tests (Files): Likewise.
11460         * modules/rbtree-oset-tests (Files): Likewise.
11461         * modules/rbtreehash-list-tests (Files): Likewise.
11462         * modules/readlink-tests (Files): Likewise.
11463         * modules/remove-tests (Files): Likewise.
11464         * modules/rename-tests (Files): Likewise.
11465         * modules/renameat-tests (Files): Likewise.
11466         * modules/rmdir-tests (Files): Likewise.
11467         * modules/round-tests (Files): Likewise.
11468         * modules/roundf-tests (Files): Likewise.
11469         * modules/roundl-tests (Files): Likewise.
11470         * modules/safe-alloc-tests (Files): Likewise.
11471         * modules/setenv-tests (Files): Likewise.
11472         * modules/sigaction-tests (Files): Likewise.
11473         * modules/signbit-tests (Files): Likewise.
11474         * modules/sleep-tests (Files): Likewise.
11475         * modules/snprintf-posix-tests (Files): Likewise.
11476         * modules/snprintf-tests (Files): Likewise.
11477         * modules/sprintf-posix-tests (Files): Likewise.
11478         * modules/stat-tests (Files): Likewise.
11479         * modules/stat-time-tests (Files): Likewise.
11480         * modules/strcasestr-tests (Files): Likewise.
11481         * modules/strchrnul-tests (Files): Likewise.
11482         * modules/strerror-tests (Files): Likewise.
11483         * modules/striconv-tests (Files): Likewise.
11484         * modules/striconveh-tests (Files): Likewise.
11485         * modules/striconveha-tests (Files): Likewise.
11486         * modules/strsignal-tests (Files): Likewise.
11487         * modules/strstr-tests (Files): Likewise.
11488         * modules/strtod-tests (Files): Likewise.
11489         * modules/strverscmp-tests (Files): Likewise.
11490         * modules/symlink-tests (Files): Likewise.
11491         * modules/symlinkat-tests (Files): Likewise.
11492         * modules/trunc-tests (Files): Likewise.
11493         * modules/truncf-tests (Files): Likewise.
11494         * modules/truncl-tests (Files): Likewise.
11495         * modules/uname-tests (Files): Likewise.
11496         * modules/unicase/cased-tests (Files): Likewise.
11497         * modules/unicase/ignorable-tests (Files): Likewise.
11498         * modules/unicase/locale-language-tests (Files): Likewise.
11499         * modules/unicase/tolower-tests (Files): Likewise.
11500         * modules/unicase/totitle-tests (Files): Likewise.
11501         * modules/unicase/toupper-tests (Files): Likewise.
11502         * modules/unicase/u8-casecmp-tests (Files): Likewise.
11503         * modules/unicase/u8-casecoll-tests (Files): Likewise.
11504         * modules/unicase/u8-casefold-tests (Files): Likewise.
11505         * modules/unicase/u8-is-cased-tests (Files): Likewise.
11506         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
11507         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
11508         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
11509         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
11510         * modules/unicase/u8-tolower-tests (Files): Likewise.
11511         * modules/unicase/u8-totitle-tests (Files): Likewise.
11512         * modules/unicase/u8-toupper-tests (Files): Likewise.
11513         * modules/unicase/u16-casecmp-tests (Files): Likewise.
11514         * modules/unicase/u16-casecoll-tests (Files): Likewise.
11515         * modules/unicase/u16-casefold-tests (Files): Likewise.
11516         * modules/unicase/u16-is-cased-tests (Files): Likewise.
11517         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
11518         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
11519         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
11520         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
11521         * modules/unicase/u16-tolower-tests (Files): Likewise.
11522         * modules/unicase/u16-totitle-tests (Files): Likewise.
11523         * modules/unicase/u16-toupper-tests (Files): Likewise.
11524         * modules/unicase/u32-casecmp-tests (Files): Likewise.
11525         * modules/unicase/u32-casecoll-tests (Files): Likewise.
11526         * modules/unicase/u32-casefold-tests (Files): Likewise.
11527         * modules/unicase/u32-is-cased-tests (Files): Likewise.
11528         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
11529         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
11530         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
11531         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
11532         * modules/unicase/u32-tolower-tests (Files): Likewise.
11533         * modules/unicase/u32-totitle-tests (Files): Likewise.
11534         * modules/unicase/u32-toupper-tests (Files): Likewise.
11535         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
11536         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
11537         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
11538         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
11539         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
11540         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
11541         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
11542         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
11543         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
11544         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
11545         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
11546         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
11547         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
11548         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
11549         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
11550         * modules/unictype/bidicategory-name-tests (Files): Likewise.
11551         * modules/unictype/bidicategory-of-tests (Files): Likewise.
11552         * modules/unictype/bidicategory-test-tests (Files): Likewise.
11553         * modules/unictype/block-list-tests (Files): Likewise.
11554         * modules/unictype/block-of-tests (Files): Likewise.
11555         * modules/unictype/block-test-tests (Files): Likewise.
11556         * modules/unictype/category-C-tests (Files): Likewise.
11557         * modules/unictype/category-Cc-tests (Files): Likewise.
11558         * modules/unictype/category-Cf-tests (Files): Likewise.
11559         * modules/unictype/category-Cn-tests (Files): Likewise.
11560         * modules/unictype/category-Co-tests (Files): Likewise.
11561         * modules/unictype/category-Cs-tests (Files): Likewise.
11562         * modules/unictype/category-L-tests (Files): Likewise.
11563         * modules/unictype/category-Ll-tests (Files): Likewise.
11564         * modules/unictype/category-Lm-tests (Files): Likewise.
11565         * modules/unictype/category-Lo-tests (Files): Likewise.
11566         * modules/unictype/category-Lt-tests (Files): Likewise.
11567         * modules/unictype/category-Lu-tests (Files): Likewise.
11568         * modules/unictype/category-M-tests (Files): Likewise.
11569         * modules/unictype/category-Mc-tests (Files): Likewise.
11570         * modules/unictype/category-Me-tests (Files): Likewise.
11571         * modules/unictype/category-Mn-tests (Files): Likewise.
11572         * modules/unictype/category-N-tests (Files): Likewise.
11573         * modules/unictype/category-Nd-tests (Files): Likewise.
11574         * modules/unictype/category-Nl-tests (Files): Likewise.
11575         * modules/unictype/category-No-tests (Files): Likewise.
11576         * modules/unictype/category-P-tests (Files): Likewise.
11577         * modules/unictype/category-Pc-tests (Files): Likewise.
11578         * modules/unictype/category-Pd-tests (Files): Likewise.
11579         * modules/unictype/category-Pe-tests (Files): Likewise.
11580         * modules/unictype/category-Pf-tests (Files): Likewise.
11581         * modules/unictype/category-Pi-tests (Files): Likewise.
11582         * modules/unictype/category-Po-tests (Files): Likewise.
11583         * modules/unictype/category-Ps-tests (Files): Likewise.
11584         * modules/unictype/category-S-tests (Files): Likewise.
11585         * modules/unictype/category-Sc-tests (Files): Likewise.
11586         * modules/unictype/category-Sk-tests (Files): Likewise.
11587         * modules/unictype/category-Sm-tests (Files): Likewise.
11588         * modules/unictype/category-So-tests (Files): Likewise.
11589         * modules/unictype/category-Z-tests (Files): Likewise.
11590         * modules/unictype/category-Zl-tests (Files): Likewise.
11591         * modules/unictype/category-Zp-tests (Files): Likewise.
11592         * modules/unictype/category-Zs-tests (Files): Likewise.
11593         * modules/unictype/category-and-not-tests (Files): Likewise.
11594         * modules/unictype/category-and-tests (Files): Likewise.
11595         * modules/unictype/category-byname-tests (Files): Likewise.
11596         * modules/unictype/category-name-tests (Files): Likewise.
11597         * modules/unictype/category-none-tests (Files): Likewise.
11598         * modules/unictype/category-of-tests (Files): Likewise.
11599         * modules/unictype/category-or-tests (Files): Likewise.
11600         * modules/unictype/category-test-withtable-tests (Files): Likewise.
11601         * modules/unictype/combining-class-tests (Files): Likewise.
11602         * modules/unictype/ctype-alnum-tests (Files): Likewise.
11603         * modules/unictype/ctype-alpha-tests (Files): Likewise.
11604         * modules/unictype/ctype-blank-tests (Files): Likewise.
11605         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
11606         * modules/unictype/ctype-digit-tests (Files): Likewise.
11607         * modules/unictype/ctype-graph-tests (Files): Likewise.
11608         * modules/unictype/ctype-lower-tests (Files): Likewise.
11609         * modules/unictype/ctype-print-tests (Files): Likewise.
11610         * modules/unictype/ctype-punct-tests (Files): Likewise.
11611         * modules/unictype/ctype-space-tests (Files): Likewise.
11612         * modules/unictype/ctype-upper-tests (Files): Likewise.
11613         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
11614         * modules/unictype/decimal-digit-tests (Files): Likewise.
11615         * modules/unictype/digit-tests (Files): Likewise.
11616         * modules/unictype/mirror-tests (Files): Likewise.
11617         * modules/unictype/numeric-tests (Files): Likewise.
11618         * modules/unictype/property-alphabetic-tests (Files): Likewise.
11619         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
11620         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
11621         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
11622         Likewise.
11623         * modules/unictype/property-bidi-block-separator-tests (Files):
11624         Likewise.
11625         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
11626         Likewise.
11627         * modules/unictype/property-bidi-common-separator-tests (Files):
11628         Likewise.
11629         * modules/unictype/property-bidi-control-tests (Files): Likewise.
11630         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
11631         Likewise.
11632         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
11633         Likewise.
11634         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
11635         Likewise.
11636         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
11637         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
11638         Likewise.
11639         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
11640         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
11641         Likewise.
11642         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
11643         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
11644         * modules/unictype/property-bidi-segment-separator-tests (Files):
11645         Likewise.
11646         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
11647         * modules/unictype/property-byname-tests (Files): Likewise.
11648         * modules/unictype/property-combining-tests (Files): Likewise.
11649         * modules/unictype/property-composite-tests (Files): Likewise.
11650         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
11651         * modules/unictype/property-dash-tests (Files): Likewise.
11652         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
11653         * modules/unictype/property-default-ignorable-code-point-tests (Files):
11654         Likewise.
11655         * modules/unictype/property-deprecated-tests (Files): Likewise.
11656         * modules/unictype/property-diacritic-tests (Files): Likewise.
11657         * modules/unictype/property-extender-tests (Files): Likewise.
11658         * modules/unictype/property-format-control-tests (Files): Likewise.
11659         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
11660         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
11661         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
11662         * modules/unictype/property-hex-digit-tests (Files): Likewise.
11663         * modules/unictype/property-hyphen-tests (Files): Likewise.
11664         * modules/unictype/property-id-continue-tests (Files): Likewise.
11665         * modules/unictype/property-id-start-tests (Files): Likewise.
11666         * modules/unictype/property-ideographic-tests (Files): Likewise.
11667         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
11668         * modules/unictype/property-ids-trinary-operator-tests (Files):
11669         Likewise.
11670         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
11671         * modules/unictype/property-iso-control-tests (Files): Likewise.
11672         * modules/unictype/property-join-control-tests (Files): Likewise.
11673         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
11674         * modules/unictype/property-line-separator-tests (Files): Likewise.
11675         * modules/unictype/property-logical-order-exception-tests (Files):
11676         Likewise.
11677         * modules/unictype/property-lowercase-tests (Files): Likewise.
11678         * modules/unictype/property-math-tests (Files): Likewise.
11679         * modules/unictype/property-non-break-tests (Files): Likewise.
11680         * modules/unictype/property-not-a-character-tests (Files): Likewise.
11681         * modules/unictype/property-numeric-tests (Files): Likewise.
11682         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
11683         * modules/unictype/property-other-default-ignorable-code-point-tests
11684         (Files): Likewise.
11685         * modules/unictype/property-other-grapheme-extend-tests (Files):
11686         Likewise.
11687         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
11688         * modules/unictype/property-other-id-start-tests (Files): Likewise.
11689         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
11690         * modules/unictype/property-other-math-tests (Files): Likewise.
11691         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
11692         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
11693         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
11694         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
11695         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
11696         * modules/unictype/property-private-use-tests (Files): Likewise.
11697         * modules/unictype/property-punctuation-tests (Files): Likewise.
11698         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
11699         * modules/unictype/property-radical-tests (Files): Likewise.
11700         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
11701         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
11702         * modules/unictype/property-space-tests (Files): Likewise.
11703         * modules/unictype/property-terminal-punctuation-tests (Files):
11704         Likewise.
11705         * modules/unictype/property-test-tests (Files): Likewise.
11706         * modules/unictype/property-titlecase-tests (Files): Likewise.
11707         * modules/unictype/property-unassigned-code-value-tests (Files):
11708         Likewise.
11709         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
11710         * modules/unictype/property-uppercase-tests (Files): Likewise.
11711         * modules/unictype/property-variation-selector-tests (Files): Likewise.
11712         * modules/unictype/property-white-space-tests (Files): Likewise.
11713         * modules/unictype/property-xid-continue-tests (Files): Likewise.
11714         * modules/unictype/property-xid-start-tests (Files): Likewise.
11715         * modules/unictype/property-zero-width-tests (Files): Likewise.
11716         * modules/unictype/scripts-tests (Files): Likewise.
11717         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
11718         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
11719         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
11720         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
11721         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
11722         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
11723         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
11724         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
11725         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
11726         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
11727         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
11728         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
11729         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
11730         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
11731         * modules/uninorm/composition-tests (Files): Likewise.
11732         * modules/uninorm/decomposing-form-tests (Files): Likewise.
11733         * modules/uninorm/decomposition-tests (Files): Likewise.
11734         * modules/uninorm/filter-tests (Files): Likewise.
11735         * modules/uninorm/nfc-tests (Files): Likewise.
11736         * modules/uninorm/nfd-tests (Files): Likewise.
11737         * modules/uninorm/nfkc-tests (Files): Likewise.
11738         * modules/uninorm/nfkd-tests (Files): Likewise.
11739         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
11740         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
11741         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
11742         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
11743         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
11744         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
11745         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
11746         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
11747         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
11748         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
11749         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
11750         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
11751         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
11752         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
11753         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
11754         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
11755         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
11756         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
11757         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
11758         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
11759         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
11760         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
11761         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
11762         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
11763         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
11764         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
11765         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
11766         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
11767         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
11768         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
11769         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
11770         * modules/uniwidth/u8-width-tests (Files): Likewise.
11771         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
11772         * modules/uniwidth/u16-width-tests (Files): Likewise.
11773         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
11774         * modules/uniwidth/u32-width-tests (Files): Likewise.
11775         * modules/uniwidth/width-tests (Files): Likewise.
11776         * modules/unlink-tests (Files): Likewise.
11777         * modules/unsetenv-tests (Files): Likewise.
11778         * modules/usleep-tests (Files): Likewise.
11779         * modules/utimens-tests (Files): Likewise.
11780         * modules/utimensat-tests (Files): Likewise.
11781         * modules/vasnprintf-posix-tests (Files): Likewise.
11782         * modules/vasnprintf-tests (Files): Likewise.
11783         * modules/vasprintf-posix-tests (Files): Likewise.
11784         * modules/vasprintf-tests (Files): Likewise.
11785         * modules/vdprintf-posix-tests (Files): Likewise.
11786         * modules/vfprintf-posix-tests (Files): Likewise.
11787         * modules/vprintf-posix-tests (Files): Likewise.
11788         * modules/vsnprintf-posix-tests (Files): Likewise.
11789         * modules/vsnprintf-tests (Files): Likewise.
11790         * modules/vsprintf-posix-tests (Files): Likewise.
11791         * modules/wcrtomb-tests (Files): Likewise.
11792         * modules/wcsnrtombs-tests (Files): Likewise.
11793         * modules/wcsrtombs-tests (Files): Likewise.
11794         * modules/wctype-tests (Files): Likewise.
11795         * modules/wcwidth-tests (Files): Likewise.
11796         * modules/xmemdup0-tests (Files): Likewise.
11797         * modules/xprintf-posix-tests (Files): Likewise.
11798         * modules/xvasprintf-tests (Files): Likewise.
11799
11800 2009-12-24  Eric Blake  <ebb9@byu.net>
11801
11802         test-nanosleep: fix typo
11803         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
11804         patch.
11805         Reported by Bruno Haible.
11806
11807 2009-12-24  Bruno Haible  <bruno@clisp.org>
11808
11809         Reduce namespace pollution on glibc systems.
11810         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
11811         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
11812         systems.
11813         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
11814         <getopt.h> on glibc systems.
11815         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
11816         systems.
11817         * lib/fcntl.c: Include <unistd.h> here instead.
11818
11819 2009-12-24  Bruno Haible  <bruno@clisp.org>
11820
11821         * lib/stdlib.in.h (includes): Fix typo in today's commit.
11822
11823 2009-12-24  Eric Blake  <ebb9@byu.net>
11824
11825         tests: add signature checks
11826         * tests/signature.h (SIGNATURE_CHECK): New file.
11827         * modules/atexit-tests (Files): Use it.
11828         * modules/btowc-tests (Files): Likewise.
11829         * modules/canonicalize-lgpl-tests (Files): Likewise.
11830         * modules/ceilf-tests (Files): Likewise.
11831         * modules/ceill-tests (Files): Likewise.
11832         * modules/chown-tests (Files): Likewise.
11833         * modules/dprintf-posix-tests (Files): Likewise.
11834         * modules/dup2-tests (Files): Likewise.
11835         * modules/dup3-tests (Files): Likewise.
11836         * modules/duplocale-tests (Files): Likewise.
11837         * modules/fchdir-tests (Files): Likewise.
11838         * modules/fcntl-tests (Files): Likewise.
11839         * modules/fdopendir-tests (Files): Likewise.
11840         * modules/fflush-tests (Files): Likewise.
11841         * modules/flock-tests (Files): Likewise.
11842         * modules/floorf-tests (Files): Likewise.
11843         * modules/floorl-tests (Files): Likewise.
11844         * modules/fnmatch-tests (Files): Likewise.
11845         * modules/fopen-tests (Files): Likewise.
11846         * modules/fprintf-posix-tests (Files): Likewise.
11847         * modules/freopen-tests (Files): Likewise.
11848         * modules/frexp-nolibm-tests (Files): Likewise.
11849         * modules/frexp-tests (Files): Likewise.
11850         * modules/frexpl-nolibm-tests (Files): Likewise.
11851         * modules/frexpl-tests (Files): Likewise.
11852         * modules/fseek-tests (Files): Likewise.
11853         * modules/fseeko-tests (Files): Likewise.
11854         * modules/fsync-tests (Files): Likewise.
11855         * modules/ftell-tests (Files): Likewise.
11856         * modules/ftello-tests (Files): Likewise.
11857         * modules/futimens-tests (Files): Likewise.
11858         * modules/getaddrinfo-tests (Files): Likewise.
11859         * modules/getcwd-tests (Files): Likewise.
11860         * modules/getdelim-tests (Files): Likewise.
11861         * modules/getdtablesize-tests (Files): Likewise.
11862         * modules/getgroups-tests (Files): Likewise.
11863         * modules/gethostname-tests (Files): Likewise.
11864         * modules/getline-tests (Files): Likewise.
11865         * modules/getopt-posix-tests (Files): Likewise.
11866         * modules/gettimeofday-tests (Files): Likewise.
11867         * modules/glob-tests (Files): Likewise.
11868         * modules/iconv-tests (Files): Likewise.
11869         * modules/inet_ntop-tests (Files): Likewise.
11870         * modules/inet_pton-tests (Files): Likewise.
11871         * modules/isblank-tests (Files): Likewise.
11872         * modules/lchown-tests (Files): Likewise.
11873         * modules/ldexpl-tests (Files): Likewise.
11874         * modules/link-tests (Files): Likewise.
11875         * modules/linkat-tests (Files): Likewise.
11876         * modules/lseek-tests (Files): Likewise.
11877         * modules/lstat-tests (Files): Likewise.
11878         * modules/mbrtowc-tests (Files): Likewise.
11879         * modules/mbsinit-tests (Files): Likewise.
11880         * modules/mbsnrtowcs-tests (Files): Likewise.
11881         * modules/mbsrtowcs-tests (Files): Likewise.
11882         * modules/memchr-tests (Files): Likewise.
11883         * modules/memcmp-tests (Files): Likewise.
11884         * modules/memmem-tests (Files): Likewise.
11885         * modules/memrchr-tests (Files): Likewise.
11886         * modules/mkdir-tests (Files): Likewise.
11887         * modules/mkfifo-tests (Files): Likewise.
11888         * modules/mkfifoat-tests (Files): Likewise.
11889         * modules/mknod-tests (Files): Likewise.
11890         * modules/nanosleep-tests (Files): Likewise.
11891         * modules/nl_langinfo-tests (Files): Likewise.
11892         * modules/obstack-printf-tests (Files): Likewise.
11893         * modules/open-tests (Files): Likewise.
11894         * modules/openat-tests (Files): Likewise.
11895         * modules/perror-tests (Files): Likewise.
11896         * modules/pipe2-tests (Files): Likewise.
11897         * modules/poll-tests (Files): Likewise.
11898         * modules/popen-tests (Files): Likewise.
11899         * modules/posix_spawn-tests (Files): Likewise.
11900         * modules/posix_spawnp-tests (Files): Likewise.
11901         * modules/pread-tests (Files): Likewise.
11902         * modules/printf-posix-tests (Files): Likewise.
11903         * modules/pty-tests (Files): Likewise.
11904         * modules/random_r-tests (Files): Likewise.
11905         * modules/rawmemchr-tests (Files): Likewise.
11906         * modules/readlink-tests (Files): Likewise.
11907         * modules/remove-tests (Files): Likewise.
11908         * modules/rename-tests (Files): Likewise.
11909         * modules/renameat-tests (Files): Likewise.
11910         * modules/rmdir-tests (Files): Likewise.
11911         * modules/round-tests (Files): Likewise.
11912         * modules/roundf-tests (Files): Likewise.
11913         * modules/roundl-tests (Files): Likewise.
11914         * modules/select-tests (Files): Likewise.
11915         * modules/setenv-tests (Files): Likewise.
11916         * modules/sigaction-tests (Files): Likewise.
11917         * modules/sleep-tests (Files): Likewise.
11918         * modules/snprintf-posix-tests (Files): Likewise.
11919         * modules/snprintf-tests (Files): Likewise.
11920         * modules/sprintf-posix-tests (Files): Likewise.
11921         * modules/stat-tests (Files): Likewise.
11922         * modules/strcasestr-tests (Files): Likewise.
11923         * modules/strchrnul-tests (Files): Likewise.
11924         * modules/strerror-tests (Files): Likewise.
11925         * modules/strsignal-tests (Files): Likewise.
11926         * modules/strstr-tests (Files): Likewise.
11927         * modules/strtod-tests (Files): Likewise.
11928         * modules/strverscmp-tests (Files): Likewise.
11929         * modules/symlink-tests (Files): Likewise.
11930         * modules/symlinkat-tests (Files): Likewise.
11931         * modules/times-tests (Files): Likewise.
11932         * modules/trunc-tests (Files): Likewise.
11933         * modules/truncf-tests (Files): Likewise.
11934         * modules/truncl-tests (Files): Likewise.
11935         * modules/tsearch-tests (Files): Likewise.
11936         * modules/uname-tests (Files): Likewise.
11937         * modules/unlink-tests (Files): Likewise.
11938         * modules/unsetenv-tests (Files): Likewise.
11939         * modules/usleep-tests (Files): Likewise.
11940         * modules/utimensat-tests (Files): Likewise.
11941         * modules/vasprintf-tests (Files): Likewise.
11942         * modules/vdprintf-posix-tests (Files): Likewise.
11943         * modules/vfprintf-posix-tests (Files): Likewise.
11944         * modules/vprintf-posix-tests (Files): Likewise.
11945         * modules/vsnprintf-posix-tests (Files): Likewise.
11946         * modules/vsnprintf-tests (Files): Likewise.
11947         * modules/vsprintf-posix-tests (Files): Likewise.
11948         * modules/wcrtomb-tests (Files): Likewise.
11949         * modules/wcsnrtombs-tests (Files): Likewise.
11950         * modules/wcsrtombs-tests (Files): Likewise.
11951         * modules/wcwidth-tests (Files): Likewise.
11952         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
11953         * tests/test-isinf.c (isinf): Likewise.
11954         * tests/test-isnan.c (isnan): Likewise.
11955         * tests/test-signbit.c (signbit): Likewise.
11956         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
11957         declaration, either as macro or with correct signature.
11958         (select): Ensure function under test is declared with correct
11959         signature in correct header.
11960         * tests/test-atexit.c (atexit): Likewise.
11961         * tests/test-btowc.c (btowc): Likewise.
11962         * tests/test-canonicalize-lgpl.c (realpath)
11963         (canonicalize_file_name): Likewise.
11964         * tests/test-ceilf1.c (ceilf): Likewise.
11965         * tests/test-ceill.c (ceill): Likewise.
11966         * tests/test-chown.c (chown): Likewise.
11967         * tests/test-dprintf-posix.c (dprintf): Likewise.
11968         * tests/test-dup2.c (dup2): Likewise.
11969         * tests/test-dup3.c (dup3): Likewise.
11970         * tests/test-duplocale.c (duplocale): Likewise.
11971         * tests/test-fchdir.c (fchdir): Likewise.
11972         * tests/test-fchownat.c (fchownat): Likewise.
11973         * tests/test-fcntl.c (fcntl): Likewise.
11974         * tests/test-fdopendir.c (fdopendir): Likewise.
11975         * tests/test-fflush.c (fflush): Likewise.
11976         * tests/test-flock.c (flock): Likewise.
11977         * tests/test-floorf1.c (floorf): Likewise.
11978         * tests/test-floorl.c (floorl): Likewise.
11979         * tests/test-fnmatch.c (fnmatch): Likewise.
11980         * tests/test-fopen.c (fopen): Likewise.
11981         * tests/test-fprintf-posix.c (fprintf): Likewise.
11982         * tests/test-freopen.c (freopen): Likewise.
11983         * tests/test-frexp.c (frexp): Likewise.
11984         * tests/test-frexpl.c (frexpl): Likewise.
11985         * tests/test-fseek.c (fseek): Likewise.
11986         * tests/test-fseeko.c (fseeko): Likewise.
11987         * tests/test-fstatat.c (fstatat): Likewise.
11988         * tests/test-fsync.c (fsync): Likewise.
11989         * tests/test-ftell.c (ftell): Likewise.
11990         * tests/test-ftello.c (ftello): Likewise.
11991         * tests/test-futimens.c (futimens): Likewise.
11992         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
11993         (gai_strerror): Likewise.
11994         * tests/test-getcwd.c (getcwd): Likewise.
11995         * tests/test-getdelim.c (getdelim): Likewise.
11996         * tests/test-getdtablesize.c (getdtablesize): Likewise.
11997         * tests/test-getgroups.c (getgroups): Likewise.
11998         * tests/test-gethostname.c (gethostname): Likewise.
11999         * tests/test-getline.c (getline): Likewise.
12000         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
12001         Likewise.
12002         * tests/test-gettimeofday.c (gettimeofday): Likewise.
12003         * tests/test-glob.c (glob, globfree): Likewise.
12004         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
12005         * tests/test-inet_ntop.c (inet_ntop): Likewise.
12006         * tests/test-inet_pton.c (inet_pton): Likewise.
12007         * tests/test-isblank.c (isblank): Likewise.
12008         * tests/test-lchown.c (lchown): Likewise.
12009         * tests/test-ldexpl.c (ldexpl): Likewise.
12010         * tests/test-link.c (link): Likewise.
12011         * tests/test-linkat.c (linkat): Likewise.
12012         * tests/test-lseek.c (lseek): Likewise.
12013         * tests/test-lstat.c (lstat): Likewise.
12014         * tests/test-mbrtowc.c (mbrtowc): Likewise.
12015         * tests/test-mbsinit.c (mbsinit): Likewise.
12016         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
12017         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
12018         * tests/test-memchr.c (memchr): Likewise.
12019         * tests/test-memcmp.c (memcmp): Likewise.
12020         * tests/test-memmem.c (memmem): Likewise.
12021         * tests/test-memrchr.c (memrchr): Likewise.
12022         * tests/test-mkdir.c (mkdir): Likewise.
12023         * tests/test-mkdirat.c (mkdirat): Likewise.
12024         * tests/test-mkfifo.c (mkfifo): Likewise.
12025         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
12026         * tests/test-mknod.c (mknod): Likewise.
12027         * tests/test-nanosleep.c (nanosleep): Likewise.
12028         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
12029         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
12030         Likewise.
12031         * tests/test-open.c (open): Likewise.
12032         * tests/test-openat.c (openat): Likewise.
12033         * tests/test-perror.c (perror): Likewise.
12034         * tests/test-pipe2.c (pipe2): Likewise.
12035         * tests/test-poll.c (poll): Likewise.
12036         * tests/test-popen.c (popen, pclose): Likewise.
12037         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
12038         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
12039         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
12040         (posix_spawn_file_actions_destroy)
12041         (posix_spawn_file_actions_addclose)
12042         (posix_spawn_file_actions_addopen)
12043         (posix_spawn_file_actions_adddup2): Likewise.
12044         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
12045         * tests/test-pread.c (pread): Likewise.
12046         * tests/test-printf-posix.c (printf): Likewise.
12047         * tests/test-pty.c (openpty, forkpty): Likewise.
12048         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
12049         (random_r): Likewise.
12050         * tests/test-rawmemchr.c (rawmemchr): Likewise.
12051         * tests/test-readlink.c (readlink): Likewise.
12052         * tests/test-remove.c (remove): Likewise.
12053         * tests/test-rename.c (rename): Likewise.
12054         * tests/test-renameat.c (renameat): Likewise.
12055         * tests/test-rmdir.c (rmdir): Likewise.
12056         * tests/test-round1.c (round): Likewise.
12057         * tests/test-roundf1.c (roundf): Likewise.
12058         * tests/test-roundl.c (roundl): Likewise.
12059         * tests/test-setenv.c (setenv): Likewise.
12060         * tests/test-sigaction.c (sigaction): Likewise.
12061         * tests/test-sleep.c (sleep): Likewise.
12062         * tests/test-snprintf.c (snprintf): Likewise.
12063         * tests/test-sprintf-posix.c (sprintf): Likewise.
12064         * tests/test-stat.c (stat): Likewise.
12065         * tests/test-stpncpy.c (stpncpy): Likewise.
12066         * tests/test-strcasestr.c (strcasestr): Likewise.
12067         * tests/test-strchrnul.c (strchrnul): Likewise.
12068         * tests/test-strerror.c (strerror): Likewise.
12069         * tests/test-strsignal.c (strsignal): Likewise.
12070         * tests/test-strstr.c (strstr): Likewise.
12071         * tests/test-strtod.c (strtod): Likewise.
12072         * tests/test-strverscmp.c (strverscmp): Likewise.
12073         * tests/test-symlink.c (symlink): Likewise.
12074         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
12075         * tests/test-times.c (times): Likewise.
12076         * tests/test-trunc1.c (trunc): Likewise.
12077         * tests/test-truncf1.c (truncf): Likewise.
12078         * tests/test-truncl.c (truncl): Likewise.
12079         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
12080         Likewise.
12081         * tests/test-uname.c (uname): Likewise.
12082         * tests/test-unlink.c (unlink): Likewise.
12083         * tests/test-unlinkat.c (unlinkat): Likewise.
12084         * tests/test-unsetenv.c (unsetenv): Likewise.
12085         * tests/test-usleep.c (usleep): Likewise.
12086         * tests/test-utimensat.c (utimensat): Likewise.
12087         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
12088         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
12089         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
12090         * tests/test-vprintf-posix.c (vprintf): Likewise.
12091         * tests/test-vsnprintf.c (vsnprintf): Likewise.
12092         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
12093         * tests/test-wcrtomb.c (wcrtomb): Likewise.
12094         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
12095         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
12096         * tests/test-wcwidth.c (wcwidth): Likewise.
12097
12098         build: pull in conditional headers during GNULIB_POSIXCHECK
12099         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
12100         definitions from any conditionally-included headers.
12101         * lib/stdlib.in.h (includes): Likewise.
12102         * lib/unistd.in.h (includes): Likewise.
12103
12104 2009-12-24  Bruno Haible  <bruno@clisp.org>
12105
12106         * tests/test-argv-iter.c: Include header file being tested immediately
12107         after config.h.
12108         * tests/test-base64.c: Likewise.
12109         * tests/test-flock.c: Likewise.
12110         * tests/test-fsync.c: Likewise.
12111         * tests/test-getdate.c: Likewise.
12112         * tests/test-getndelim2.c: Likewise.
12113         * tests/test-isfinite.c: Likewise.
12114         * tests/test-isinf.c: Likewise.
12115         * tests/test-strerror.c: Likewise.
12116         * tests/test-strsignal.c: Likewise.
12117
12118 2009-12-23  Eric Blake  <ebb9@byu.net>
12119
12120         unistd: work around cygwin bug
12121         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
12122         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
12123         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12124
12125 2009-12-23  Bruno Haible  <bruno@clisp.org>
12126
12127         localename: More tests.
12128         * tests/test-localename.c (SIZEOF): New macro.
12129         (categories): New variable.
12130         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
12131         test_locale_name_default): Add test w.r.t. thread locale.
12132         (test_locale_name_thread): New function.
12133         (main): Invoke it.
12134
12135         localename: Make aware of thread locale.
12136         * lib/localename.h (gl_locale_name_thread): New declaration.
12137         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
12138         behaviour with respect to thread locale.
12139         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
12140         <langinfo.h>, glthread/lock.h.
12141         (SIZE_BITS): New macro.
12142         (string_hash): New function.
12143         (struct hash_node): New type.
12144         (HASH_TABLE_SIZE): New macro.
12145         (struniq_hash_table, struniq_lock): New variables.
12146         (struniq): New function.
12147         (gl_locale_name_thread): New function.
12148         (gl_locale_name): Invoke it.
12149         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
12150         * modules/localename (Depends-on): Add lock.
12151         Reported by Mike Gran <spk121@yahoo.com>.
12152
12153 2009-12-23  Eric Blake  <ebb9@byu.net>
12154
12155         va-args: new module
12156         * modules/va-args: New file.
12157         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
12158         * MODULES.html.sh (Core language properties): Mention it.
12159
12160         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
12161         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
12162         named alias for __attribute__((__unused__)).
12163         * lib/chown.c: Update client.
12164         * lib/fchmodat.c: Likewise.
12165         * lib/fts.c: Likewise.
12166         * lib/getdate.y: Likewise.
12167         * lib/getgroups.c: Likewise.
12168         * lib/getopt.c: Likewise.
12169         * lib/getugroups.c: Likewise.
12170         * lib/mkdir.c: Likewise.
12171         * lib/mkfifo.c: Likewise.
12172         * lib/mkfifoat.c: Likewise.
12173         * lib/mknod.c: Likewise.
12174         * lib/mknodat.c: Likewise.
12175         * lib/readlink.c: Likewise.
12176         * lib/se-context.in.h: Likewise.
12177         * lib/se-selinux.in.h: Likewise.
12178         * lib/sockets.c: Likewise.
12179         * lib/symlink.c: Likewise.
12180         * lib/symlinkat.c: Likewise.
12181         * lib/unicodeio.c: Likewise.
12182         * lib/unistr.h: Likewise.
12183         * tests/test-areadlink.c: Likewise.
12184         * tests/test-areadlinkat.c: Likewise.
12185         * tests/test-filenamecat.c: Likewise.
12186         * tests/test-fseeko.c: Likewise.
12187         * tests/test-ftello.c: Likewise.
12188         * tests/test-getdate.c: Likewise.
12189         * tests/test-getgroups.c: Likewise.
12190         * tests/test-gethostname.c: Likewise.
12191         * tests/test-quotearg.c: Likewise.
12192         * tests/test-version-etc.c: Likewise.
12193         * tests/test-xalloc-die.c: Likewise.
12194         * tests/test-xfprintf-posix.c: Likewise.
12195         * tests/test-xprintf-posix.c: Likewise.
12196         * tests/test-xvasprintf.c: Likewise.
12197
12198         tests: avoid compiler warnings
12199         * tests/test-fcntl.c (main): Delete unused parameters.
12200         * tests/test-freopen-safer.c (main): Likewise.
12201         * tests/test-xalloc-die.c (main): Mark unused parameters.
12202         * tests/test-fseeko.c (main): Likewise.
12203         * tests/test-ftello.c (main): Likewise.
12204         * tests/test-nanosleep.c (main): Avoid declaration warning.
12205         * tests/test-sleep.c (main): Likewise.
12206         * tests/test-unsetenv.c (main): Silence warning about string
12207         literal.
12208         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
12209
12210 2009-12-23  Bruno Haible  <bruno@clisp.org>
12211
12212         * tests/test-localename.c (test_locale_name): New function, extracted
12213         from main. Also test mixed situations.
12214         (test_locale_name_posix, test_locale_name_environ,
12215         test_locale_name_default): New functions.
12216         (main): Invoke them all.
12217         * modules/localename-tests (configure.ac): Test for newlocale.
12218
12219 2009-12-23  Bruno Haible  <bruno@clisp.org>
12220
12221         unistd: Ensure getcwd gets declared before being overridden.
12222         * lib/unistd.in.h: Conditionally include <io.h>.
12223
12224 2009-12-22  Bruno Haible  <bruno@clisp.org>
12225
12226         wchar: Diagnose broken combination of glibc and gcc versions and flags.
12227         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
12228         (gl_WCHAR_H): Invoke it.
12229         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
12230         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
12231         Reported by Karl Berry <karl@freefriends.org>.
12232
12233 2009-12-22  Eric Blake  <ebb9@byu.net>
12234
12235         math, unistd: avoid redundant includes
12236         * lib/math.in.h (isnan): No need to re-include <math.h>.
12237         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
12238
12239         getsubopt: work around cygwin bug
12240         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
12241         avoid conflicting with system getsubopt.
12242         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
12243         bug.
12244
12245         getopt: synchronize from glibc
12246         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
12247         parameter order.  Adjust all callers.
12248         (_getopt_internal_r, main): Adjust quoting in error messages.
12249         Drop considerations for outdated POSIX 1003.2 error message.
12250         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
12251         callers.
12252         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
12253
12254         test-getopt: test stderr behavior
12255         * modules/getopt-posix-tests (Depends-on): Add dup2.
12256         * tests/test-getopt.c (ASSERT): Avoid stderr.
12257         (main): Move stderr to a temporary file.
12258         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
12259         Instead, add parameter to inform caller if output occurred.
12260         (test_getopt): Adjust all existing tests to expect silence, and
12261         add new tests of leading ":".
12262         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
12263         glibc shortcomings with leading "-:" or "+:" in optstring.
12264         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12265         Likewise.
12266         * doc/posix-functions/getopt.texi (getopt): Likewise.
12267
12268         test-getopt: enhance test
12269         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
12270         supports optind=0.
12271         * tests/test-getopt.c (OPTIND_MIN): Move...
12272         * tests/test-getopt.h (OPTIND_MIN): ...here.
12273         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
12274         Require that optind=0 works, since modern BSD supports it in
12275         addition to optreset, and since coreutils expects it.
12276         (test_getopt_long_only): New test.
12277         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
12278         glibc shortcomings with 'W;', and enforcement of optind=0.
12279         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12280         Likewise.
12281
12282 2009-12-21  Bruno Haible  <bruno@clisp.org>
12283
12284         localename: Improvements for MacOS X and Cygwin.
12285         * lib/localename.h (gl_locale_name_environ): New declaration.
12286         * lib/localename.c (gl_locale_name_environ): New function, extracted from
12287         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
12288         (gl_locale_name_posix): Invoke it.
12289         (gl_locale_name_default): Add comments. Use Windows native API also on
12290         Cygwin.
12291
12292 2009-12-21  Bruno Haible  <bruno@clisp.org>
12293
12294         Update list of Win32 locale ids.
12295         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
12296         (LANG_SAMI): Renamed from LANG_SAAMI.
12297         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
12298         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
12299         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
12300         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
12301         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
12302         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
12303         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
12304         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
12305         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
12306         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
12307         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
12308         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
12309         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
12310         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
12311         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
12312         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
12313         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
12314         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
12315         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
12316         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
12317         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
12318         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
12319         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
12320         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
12321         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
12322         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
12323         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
12324         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
12325         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
12326         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
12327         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
12328         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
12329         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
12330         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
12331         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
12332         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
12333         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
12334         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
12335         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
12336         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
12337         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
12338         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
12339         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
12340         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
12341         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
12342         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
12343         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
12344         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
12345         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
12346         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
12347         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
12348         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
12349         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
12350         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
12351         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
12352         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
12353         Add more languages and countries for Sami, Sorbian. Add more countries
12354         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
12355         for Pashto. Change country for Syriac, Tswana.
12356
12357 2009-12-21  Eric Blake  <ebb9@byu.net>
12358
12359         test-utimens: avoid spurious failure
12360         * tests/test-chown.h (nap): Factor...
12361         * tests/nap.h: ...into new file.
12362         * tests/test-lchown.h (nap): Avoid duplication.
12363         * tests/test-utimens-common.h (nap): Use shared implementation,
12364         necessary on file systems with 1-second resolution.
12365         * modules/chown-tests (Files): Include new file.
12366         * modules/fdutimensat-tests (Files): Likewise.
12367         * modules/futimens-tests (Files): Likewise.
12368         * modules/lchown-tests (Files): Likewise.
12369         * modules/openat-tests (Files): Likewise.
12370         * modules/utimens-tests (Files): Likewise.
12371         * modules/utimensat-tests (Files): Likewise.
12372
12373 2009-12-19  Eric Blake  <ebb9@byu.net>
12374
12375         futimens, utimensat: work around Linux bug
12376         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
12377         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12378         * lib/utimensat.c (rpl_utimensat): Work around it.
12379         * lib/futimens.c (rpl_futimens): Adjust comment.
12380
12381         utimens: work around Linux ctime bug
12382         * lib/utimens.c (detect_ctime_bug): New helper function.
12383         (update_timespec): Differentiate between workaround needed for
12384         this bug vs. what is needed for systems that lack utimensat.
12385         (fdutimens, lutimens): Work around bug.
12386
12387         utimens: check for ctime update
12388         * tests/test-utimens-common.h (check_ctime): Define.
12389         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
12390         * tests/test-futimens.h (test_futimens): Likewise.
12391         * tests/test-lutimens.h (test_lutimens): Likewise.
12392         * doc/posix-functions/futimens.texi (futimens): Document the bug.
12393         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12394
12395 2009-12-19  Bruno Haible  <bruno@clisp.org>
12396
12397         dprintf-posix: Check against memory leak fixed on 2009-12-15.
12398         * tests/test-dprintf-posix2.sh: New file.
12399         * tests/test-dprintf-posix2.c: New file.
12400         * modules/dprintf-posix-tests (Files): Add them.
12401         (configure.ac): Check for getrlimit and setrlimit.
12402         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
12403
12404 2009-12-19  Bruno Haible  <bruno@clisp.org>
12405
12406         fprintf-posix: Check against memory leak fixed on 2009-12-15.
12407         * tests/test-fprintf-posix3.sh: New file.
12408         * tests/test-fprintf-posix3.c: New file.
12409         * modules/fprintf-posix-tests (Files): Add them.
12410         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
12411
12412 2009-12-19  Eric Blake  <ebb9@byu.net>
12413
12414         dirfd: fix prototype
12415         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
12416         * lib/dirfd.c (dirfd): Likewise.
12417
12418         canonicalize: reduce memory usage
12419         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
12420         allocation to size.
12421         Reported by Solar Designer <solar@openwall.com>.
12422
12423 2009-12-19  Bruno Haible  <bruno@clisp.org>
12424
12425         New module attribute 'Applicability'.
12426         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
12427         * gnulib-tool: New option --extract-applicability.
12428         (func_usage): Document it.
12429         (sed_extract_prog): Recognize it.
12430         (func_get_applicability): New function.
12431         (func_import): Generalize handling of 'link-warning' module.
12432         * modules/link-warning (Applicability): New section.
12433         * modules/arg-nonnull (Applicability): New section.
12434         Repoted by Simon Josefsson <simon@josefsson.org>.
12435
12436 2009-12-19  Bruno Haible  <bruno@clisp.org>
12437
12438         fflush: tweak
12439         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
12440         * lib/fseeko.c (rpl_fseeko): Likewise.
12441
12442 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
12443
12444         * lib/gl_list.h: Fix typo in comment.
12445
12446 2009-12-16  Eric Blake  <ebb9@byu.net>
12447
12448         fcntl: use to simplify other modules
12449         * modules/cloexec (Depends-on): Add fcntl.
12450         * modules/fchdir (Depends-on): Likewise.
12451         * modules/fd-safer-flag (Depends-on): Likewise.
12452         * modules/unistd-safer (Depends-on): Likewise.
12453         * modules/dup3 (configure.ac): Set module indicator.
12454         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
12455         missing.
12456         * lib/fchdir.c (_gl_register_dup): Fix comment.
12457         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
12458         * lib/dup-safer.c (dup_safer): Likewise.
12459         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
12460         * lib/dup3.c (dup3): Likewise.
12461         * tests/test-fchdir.c (main): Enhance test.
12462         Fixes a dup_cloexec bug reported by Ondřej Vašík.
12463
12464         fcntl: port portions of fcntl to mingw
12465         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
12466         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
12467         replacement for mingw.
12468         * modules/fcntl (Description): Update.
12469         (Depends-on): Add dup2.
12470         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
12471         * modules/fcntl-h (Makefile.am): Substitute it.
12472         * lib/fcntl.in.h (fcntl): Update declaration.
12473         (F_DUPFD, F_GETFD): New macros, when needed.
12474         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12475         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
12476         * tests/test-fcntl.c (check_flags, main): Enhance test for items
12477         we now guarantee.
12478
12479         fcntl: work around cygwin bug in F_DUPFD
12480         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
12481         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
12482         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
12483         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
12484         * doc/posix-functions/fcntl.texi (fcntl): Document it.
12485
12486         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
12487         * modules/fcntl (Files): List new files.
12488         (configure.ac): Run a test.
12489         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
12490         * lib/fcntl.c (rpl_fcntl): Likewise.
12491         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
12492         (gl_FCNTL_H): Always replace fcntl.h.
12493         * modules/fcntl-h (Makefile.am): Substitute witnesses.
12494         * lib/fcntl.in.h (fcntl): Declare replacement.
12495         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
12496         needed, plus a witness.
12497         * doc/posix-functions/fcntl.texi (fcntl): Document this.
12498         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
12499         * tests/test-fcntl.c: New file.
12500         * modules/fcntl-tests: Likewise.
12501
12502         binary-io: avoid potential compilation warning
12503         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
12504         directives.
12505
12506         fflush: avoid compilation error on NetBSD
12507         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
12508         between off_t and fpos_t, since the latter is sometimes a struct.
12509         * lib/fseeko.c (rpl_fseeko): Likewise.
12510         Reported by Alexander Nasonov <alnsn@yandex.ru>.
12511
12512 2009-12-15  Eric Blake  <ebb9@byu.net>
12513
12514         fcntl-h, stdio, sys_ioctl: fix declarations
12515         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
12516         function must not take arguments.
12517         * lib/sys_ioctl.in.h (ioctl): Likewise.
12518         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
12519         (open): Add a link warning.
12520
12521 2009-12-15  Jim Meyering  <meyering@redhat.com>
12522
12523         areadlink, areadlink-with-size: relax license to LGPLv2+
12524         * modules/areadlink (License): Relax to LGPLv2+.
12525         * modules/areadlink-with-size (License): Likewise.
12526
12527 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
12528             Bruno Haible  <bruno@clisp.org>
12529
12530         *printf: Fix memory leak.
12531         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
12532         * lib/vfprintf.c (vfprintf): Likewise.
12533         * lib/dprintf.c (dprintf): Likewise.
12534         * lib/vdprintf.c (vdprintf): Likewise.
12535
12536 2009-12-14  Eric Blake  <ebb9@byu.net>
12537
12538         accept4: adjust module dependencies
12539         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
12540
12541         utimens: one more try at avoiding compiler warning
12542         * lib/utimens.c (lutimens): Lower scope of result.
12543
12544 2009-12-13  Bruno Haible  <bruno@clisp.org>
12545
12546         Move the malloc checking from module 'list' to new module 'xlist'.
12547         * modules/xlist: New file.
12548         * lib/gl_xlist.h: New file.
12549         * lib/gl_xlist.c: New file.
12550         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
12551         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
12552         gl_list_add_last, gl_list_add_before, gl_list_add_after,
12553         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
12554         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
12555         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
12556         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
12557         gl_sortedlist_nx_add): New declarations.
12558         (struct gl_list_implementation): Rename and change methods accordingly.
12559         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
12560         (gl_list_nx_create): Renamed from gl_list_create.
12561         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
12562         (gl_list_nx_set_at): Renamed from gl_list_set_at.
12563         (gl_list_nx_add_first): Renamed from gl_list_add_first.
12564         (gl_list_nx_add_last): Renamed from gl_list_add_last.
12565         (gl_list_nx_add_before): Renamed from gl_list_add_before.
12566         (gl_list_nx_add_after): Renamed from gl_list_add_after.
12567         (gl_list_nx_add_at): Renamed from gl_list_add_at.
12568         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
12569         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
12570         gl_list_create_empty.
12571         (gl_list_nx_create): Renamed from gl_list_create.
12572         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
12573         (gl_list_nx_set_at): Renamed from gl_list_set_at.
12574         (gl_list_nx_add_first): Renamed from gl_list_add_first.
12575         (gl_list_nx_add_last): Renamed from gl_list_add_last.
12576         (gl_list_nx_add_before): Renamed from gl_list_add_before.
12577         (gl_list_nx_add_after): Renamed from gl_list_add_after.
12578         (gl_list_nx_add_at): Renamed from gl_list_add_at.
12579         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
12580         * lib/gl_array_list.c: Don't include xalloc.h.
12581         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
12582         NULL upon out-of-memory.
12583         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
12584         out-of-memory.
12585         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
12586         Change return type to 'int'.
12587         (gl_array_nx_set_at): Renamed from gl_array_set_at.
12588         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
12589         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
12590         upon out-of-memory.
12591         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
12592         upon out-of-memory.
12593         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
12594         upon out-of-memory.
12595         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
12596         upon out-of-memory.
12597         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
12598         out-of-memory.
12599         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
12600         Update.
12601         (gl_array_list_implementation): Update.
12602         * lib/gl_carray_list.c: Don't include xalloc.h.
12603         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
12604         Return NULL upon out-of-memory.
12605         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
12606         out-of-memory.
12607         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
12608         Change return type to 'int'.
12609         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
12610         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
12611         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
12612         upon out-of-memory.
12613         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
12614         upon out-of-memory.
12615         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
12616         out-of-memory.
12617         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
12618         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
12619         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
12620         Update.
12621         (gl_carray_list_implementation): Update.
12622         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
12623         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
12624         gl_linked_create_empty. Return NULL upon out-of-memory.
12625         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
12626         out-of-memory.
12627         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
12628         Change return type to 'int'. Return -1 upon out-of-memory.
12629         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
12630         out-of-memory.
12631         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
12632         upon out-of-memory.
12633         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
12634         upon out-of-memory.
12635         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
12636         NULL upon out-of-memory.
12637         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
12638         upon out-of-memory.
12639         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
12640         out-of-memory.
12641         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
12642         Update.
12643         * lib/gl_linked_list.c: Don't include xalloc.h.
12644         (gl_linked_list_implementation): Update.
12645         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
12646         (add_to_bucket): Change return type to 'int'.
12647         (gl_linkedhash_list_implementation): Update.
12648         * lib/gl_anytree_list1.h (free_subtree): New function.
12649         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
12650         gl_tree_create_empty. Return NULL upon out-of-memory.
12651         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
12652         Change return type to 'int'. Return -1 upon out-of-memory.
12653         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
12654         out-of-memory.
12655         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
12656         (gl_tree_remove_node): New function, moved here from
12657         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
12658         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
12659         Update.
12660         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
12661         malloc, not xmalloc. Return NULL upon out-of-memory.
12662         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
12663         out-of-memory.
12664         (gl_tree_remove_node_from_tree): New function, extracted from
12665         gl_tree_remove_node.
12666         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
12667         upon out-of-memory.
12668         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
12669         out-of-memory.
12670         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
12671         upon out-of-memory.
12672         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
12673         upon out-of-memory.
12674         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
12675         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
12676         not xmalloc. Return NULL upon out-of-memory.
12677         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
12678         out-of-memory.
12679         (gl_tree_remove_node_from_tree): New function, extracted from
12680         gl_tree_remove_node.
12681         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
12682         upon out-of-memory.
12683         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
12684         out-of-memory.
12685         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
12686         upon out-of-memory.
12687         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
12688         upon out-of-memory.
12689         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
12690         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
12691         gl_anytree_list1.h before gl_anyavltree_list2.h.
12692         (gl_avltree_list_implementation): Update.
12693         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
12694         gl_anytree_list1.h before gl_anyavltree_list2.h.
12695         (gl_rbtree_list_implementation): Update.
12696         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
12697         Change return type to 'int'. Return -1 upon out-of-memory. Use
12698         __builtin_expect.
12699         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
12700         (gl_avltreehash_list_implementation): Update.
12701         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
12702         (gl_rbtreehash_list_implementation): Update.
12703         * modules/array-list (Depends-on): Remove xalloc.
12704         * modules/carray-list (Depends-on): Likewise.
12705         * modules/linked-list (Depends-on): Likewise.
12706         * modules/linkedhash-list (Depends-on): Likewise.
12707         * modules/avltree-list (Depends-on): Likewise.
12708         * modules/rbtree-list (Depends-on): Likewise.
12709         * modules/avltreehash-list (Depends-on): Likewise.
12710         * modules/rbtreehash-list (Depends-on): Likewise.
12711
12712         * modules/xsublist: New file.
12713         * lib/gl_xsublist.h: New file.
12714         * lib/gl_xsublist.c: New file.
12715         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
12716         (gl_sublist_nx_create): New declaration.
12717         * lib/gl_sublist.c: Don't include xalloc.h.
12718         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
12719         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
12720         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
12721         Change return type to 'int'. Return -1 upon out-of-memory.
12722         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
12723         upon out-of-memory.
12724         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
12725         NULL upon out-of-memory.
12726         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
12727         upon out-of-memory.
12728         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
12729         NULL upon out-of-memory.
12730         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
12731         NULL upon out-of-memory.
12732         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
12733         upon out-of-memory.
12734         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
12735         (gl_sublist_list_implementation): Update.
12736         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
12737         upon out-of-memory.
12738         * modules/sublist (Depends-on): Remove xalloc.
12739
12740         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
12741         * tests/test-carray_list.c: Likewise.
12742         * tests/test-linked_list.c: Likewise.
12743         * tests/test-linkedhash_list.c: Likewise.
12744         * tests/test-avltree_list.c: Likewise.
12745         * tests/test-rbtree_list.c: Likewise.
12746         * tests/test-avltreehash_list.c: Likewise.
12747         * tests/test-rbtreehash_list.c: Likewise.
12748         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
12749         * modules/carray-list-tests (Makefile.am): Likewise.
12750         * modules/linked-list-tests (Makefile.am): Likewise.
12751         * modules/linkedhash-list-tests (Makefile.am): Likewise.
12752         * modules/avltree-list-tests (Makefile.am): Likewise.
12753         * modules/rbtree-list-tests (Makefile.am): Likewise.
12754         * modules/avltreehash-list-tests (Makefile.am): Likewise.
12755         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
12756
12757         * NEWS: Mention the changes.
12758
12759         * lib/clean-temp.c: Include gl_xlist.h.
12760         * modules/clean-temp (Depends-on): Add xlist.
12761
12762         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
12763         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
12764
12765         * tests/test-array_oset.c: Include gl_xlist.h.
12766         * modules/array-oset-tests (Depends-on): Add xlist.
12767
12768         Reported by José E. Marchesi <jemarch@gnu.org>.
12769
12770 2009-12-13  Bruno Haible  <bruno@clisp.org>
12771
12772         Move the malloc checking from module 'oset' to new module 'xoset'.
12773         * modules/xoset: New file.
12774         * lib/gl_xoset.h: New file.
12775         * lib/gl_xoset.c: New file.
12776         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
12777         declarations.
12778         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
12779         (struct gl_oset_implementation): Rename and change methods accordingly.
12780         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
12781         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
12782         'int'. Mark as __warn_unused_result__.
12783         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
12784         gl_oset_create_empty.
12785         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
12786         'int'.
12787         * lib/gl_array_oset.c: Don't include xalloc.h.
12788         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
12789         malloc, not xmalloc.
12790         (grow): Change return type to 'int'. Don't call xalloc_die.
12791         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
12792         to 'int'.
12793         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
12794         'int'.
12795         (gl_array_oset_implementation): Update.
12796         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
12797         gl_tree_create_empty.
12798         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
12799         'int'.
12800         * lib/gl_avltree_oset.c: Don't include xalloc.h.
12801         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
12802         xmalloc.
12803         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
12804         not xmalloc.
12805         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
12806         xmalloc.
12807         (gl_avltree_oset_implementation): Update.
12808         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
12809         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
12810         xmalloc.
12811         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
12812         not xmalloc.
12813         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
12814         xmalloc.
12815         (gl_rbtree_oset_implementation): Update.
12816         * modules/array-oset (Depends-on): Remove xalloc.
12817         * modules/avltree-oset (Depends-on): Likewise.
12818         * modules/rbtree-oset (Depends-on): Likewise.
12819         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
12820         * tests/test-avltree_oset.c: Likewise.
12821         * tests/test-rbtree_oset.c: Likewise.
12822         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
12823         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
12824         * modules/rbtree-oset-tests (Makefile.am): Likewise.
12825         * NEWS: Mention the change.
12826
12827 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
12828
12829         maint.mk: allow a project to override release-prep commands
12830         * top/maint.mk (alpha, beta, stable): Move release-preparatory
12831         commands into a new rule.
12832         (release-prep): New rule.
12833         (release-prep-hook): New overridable variable.
12834
12835 2009-12-13  Bruno Haible  <bruno@clisp.org>
12836
12837         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
12838
12839 2009-12-13  Jim Meyering  <meyering@redhat.com>
12840
12841         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
12842         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
12843
12844 2009-12-12  Bruno Haible  <bruno@clisp.org>
12845
12846         duplocale: Tweak.
12847         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
12848
12849 2009-12-12  Karl Berry  <karl@gnu.org>
12850
12851         * config/srclist.txt (strtoll.c): tab changes, no more sync.
12852
12853 2009-12-12  Bruno Haible  <bruno@clisp.org>
12854
12855         * m4/po.m4: Undo incorrect untabification.
12856
12857 2009-12-12  Bruno Haible  <bruno@clisp.org>
12858
12859         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
12860         * modules/c-strtod (Depends-on): Add locale.
12861         * modules/c-strtold (Depends-on): Likewise.
12862
12863 2009-12-12  Bruno Haible  <bruno@clisp.org>
12864
12865         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
12866
12867 2009-12-11  Eric Blake  <ebb9@byu.net>
12868
12869         setenv: relax requirement in light of POSIX ruling
12870         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
12871         not NULL.
12872         * tests/test-setenv.c (main): Relax test.
12873         * tests/test-unsetenv.c (main): Likewise.
12874         * doc/posix-functions/setenv.texi (setenv): Document this.
12875         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
12876
12877 2009-12-11  Bruno Haible  <bruno@clisp.org>
12878
12879         New module 'fd-safer-flag'.
12880         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
12881         * lib/dup-safer.c (dup_safer_flag): Remove function.
12882         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
12883         * lib/fd-safer.c (fd_safer_flag): Remove function.
12884         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
12885         * modules/cloexec (configure.ac): Drop indicator macro.
12886         * modules/fd-safer-flag: New file.
12887         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
12888         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
12889         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
12890
12891 2009-12-11  Bruno Haible  <bruno@clisp.org>
12892
12893         Tests for module 'nl_langinfo'.
12894         * modules/nl_langinfo-tests: New file.
12895         * tests/test-nl_langinfo.sh: New file.
12896         * tests/test-nl_langinfo.c: New file.
12897
12898         New module 'nl_langinfo'.
12899         * lib/nl_langinfo.c: New file.
12900         * m4/nl_langinfo.m4: New file.
12901         * modules/nl_langinfo: New file.
12902         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
12903
12904 2009-12-11  Bruno Haible  <bruno@clisp.org>
12905
12906         Tests for module 'langinfo'.
12907         * modules/langinfo-tests: New file.
12908         * tests/test-langinfo.c: New file.
12909
12910         New module 'langinfo'.
12911         * lib/langinfo.in.h: New file.
12912         * m4/langinfo_h.m4: New file.
12913         * modules/langinfo: New file.
12914         * doc/posix-headers/langinfo.texi: Mention the new module.
12915
12916 2009-12-11  Bruno Haible  <bruno@clisp.org>
12917
12918         * lib/config.charset: Untabify.
12919
12920 2009-12-11  Bruno Haible  <bruno@clisp.org>
12921
12922         * modules/unistd-safer (configure.ac): Drop indicator macro.
12923
12924 2009-12-11  Bruno Haible  <bruno@clisp.org>
12925
12926         Move pipe2-safer code to its own file.
12927         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
12928         * lib/pipe-safer.c (pipe2_safer): Remove function.
12929         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
12930         (Makefile.am): Add it to lib_SOURCES.
12931
12932 2009-12-10  Bruno Haible  <bruno@clisp.org>
12933
12934         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
12935
12936 2009-12-10  Bruno Haible  <bruno@clisp.org>
12937
12938         Declare which arguments expect non-NULL values, for GCC and clang.
12939         * build-aux/arg-nonnull.h: New file.
12940         * modules/arg-nonnull: New file.
12941         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
12942         (inet_ntop, inet_pton): Use it.
12943         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
12944         (closedir, dirfd, opendir, scandir, alphasort): Use it.
12945         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
12946         (open, openat): Use it.
12947         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
12948         (fnmatch): Use it.
12949         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
12950         (getopt, getopt_long, getopt_long_only): Use it.
12951         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
12952         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
12953         Use it.
12954         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
12955         (iconv_open): Use it.
12956         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
12957         (strtoimax, strtoumax): Use it.
12958         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
12959         (duplocale): Use it.
12960         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
12961         (frexp, frexpl): Use it.
12962         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
12963         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
12964         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
12965         (tsearch, tfind, tdelete, twalk): Use it.
12966         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
12967         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
12968         sigpending): Use it.
12969         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
12970         (posix_spawn, posix_spawnp, posix_spawnattr_init,
12971         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
12972         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
12973         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
12974         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
12975         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
12976         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
12977         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
12978         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
12979         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
12980         Use it.
12981         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
12982         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
12983         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
12984         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
12985         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
12986         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
12987         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
12988         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
12989         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
12990         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
12991         strtoull, unsetenv): Use it.
12992         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
12993         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
12994         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
12995         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
12996         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
12997         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
12998         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
12999         (strcasecmp, strncasecmp): Use it.
13000         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
13001         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
13002         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
13003         rpl_setsockopt): Use it.
13004         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
13005         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
13006         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
13007         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
13008         (gettimeofday): Use it.
13009         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
13010         (times): Use it.
13011         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
13012         (uname): Use it.
13013         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
13014         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
13015         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
13016         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
13017         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
13018         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
13019         unlinkat, write): Use it.
13020         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
13021         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
13022         * lib/argv-iter.h: Include arg-nonnull.h.
13023         (_ATTRIBUTE_NONNULL_): Remove macro.
13024         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
13025         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
13026         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
13027         optimization.
13028         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
13029         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
13030         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
13031         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
13032         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
13033         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
13034         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
13035         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
13036         * modules/arpa_inet (Depends-on): Add arg-nonnull.
13037         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
13038         * modules/dirent (Depends-on): Add arg-nonnull.
13039         (Makefile.am): Insert arg-nonnull.h into dirent.h.
13040         * modules/fcntl-h (Depends-on): Add arg-nonnull.
13041         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
13042         * modules/fnmatch (Depends-on): Add arg-nonnull.
13043         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
13044         * modules/getopt-posix (Depends-on): Add arg-nonnull.
13045         (Makefile.am): Insert arg-nonnull.h into getopt.h.
13046         * modules/glob (Depends-on): Add arg-nonnull.
13047         (Makefile.am): Insert arg-nonnull.h into glob.h.
13048         * modules/iconv_open (Depends-on): Add arg-nonnull.
13049         (Makefile.am): Insert arg-nonnull.h into iconv.h.
13050         * modules/inttypes (Depends-on): Add arg-nonnull.
13051         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
13052         * modules/locale (Depends-on): Add arg-nonnull.
13053         (Makefile.am): Insert arg-nonnull.h into locale.h.
13054         * modules/math (Depends-on): Add arg-nonnull.
13055         (Makefile.am): Insert arg-nonnull.h into math.h.
13056         * modules/netdb (Depends-on): Add arg-nonnull.
13057         (Makefile.am): Insert arg-nonnull.h into netdb.h.
13058         * modules/search (Depends-on): Add arg-nonnull.
13059         (Makefile.am): Insert arg-nonnull.h into search.h.
13060         * modules/signal (Depends-on): Add arg-nonnull.
13061         (Makefile.am): Insert arg-nonnull.h into signal.h.
13062         * modules/spawn (Depends-on): Add arg-nonnull.
13063         (Makefile.am): Insert arg-nonnull.h into spawn.h.
13064         * modules/stdio (Depends-on): Add arg-nonnull.
13065         (Makefile.am): Insert arg-nonnull.h into stdio.h.
13066         * modules/stdlib (Depends-on): Add arg-nonnull.
13067         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
13068         * modules/string (Depends-on): Add arg-nonnull.
13069         (Makefile.am): Insert arg-nonnull.h into string.h.
13070         * modules/strings (Depends-on): Add arg-nonnull.
13071         (Makefile.am): Insert arg-nonnull.h into strings.h.
13072         * modules/sys_socket (Depends-on): Add arg-nonnull.
13073         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
13074         * modules/sys_stat (Depends-on): Add arg-nonnull.
13075         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
13076         * modules/sys_time (Depends-on): Add arg-nonnull.
13077         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
13078         * modules/sys_times (Depends-on): Add arg-nonnull.
13079         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
13080         * modules/sys_utsname (Depends-on): Add arg-nonnull.
13081         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
13082         * modules/time (Depends-on): Add arg-nonnull.
13083         (Makefile.am): Insert arg-nonnull.h into time.h.
13084         * modules/unistd (Depends-on): Add arg-nonnull.
13085         (Makefile.am): Insert arg-nonnull.h into unistd.h.
13086         * modules/wchar (Depends-on): Add arg-nonnull.
13087         (Makefile.am): Insert arg-nonnull.h into wchar.h.
13088         * modules/argv-iter (Depends-on): Add arg-nonnull.
13089         * tests/test-canonicalize.c (null_ptr): New function.
13090         (main): Use it.
13091         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
13092         (main): Use it.
13093         * tests/test-memmem.c (null_ptr): New function.
13094         (main): Use it.
13095         Reported by Jim Meyering.
13096
13097 2009-12-10  Bruno Haible  <bruno@clisp.org>
13098
13099         Use spaces for indentation, not tabs.
13100         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
13101         * m4/*.m4: Untabify.
13102         * build-aux/*.h: Untabify.
13103         * tests/**/*.[hc]: Untabify.
13104         * README: New section "Indent with spaces, not TABs", based on
13105         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
13106         * NEWS: Mention the change.
13107
13108 2009-12-10  Bruno Haible  <bruno@clisp.org>
13109
13110         pty test: Fix link error.
13111         * modules/pty-tests (Makefile.am): Add the default LDADD value to
13112         test_pty_LDADD.
13113
13114 2009-12-07  Simon Josefsson  <simon@josefsson.org>
13115
13116         * modules/pty: New file.
13117         * modules/pty-tests: New file.
13118         * m4/pty.m4: New file.
13119         * tests/test-pty.c: New file.
13120         * doc/glibc-headers/pty.texi: Modified.
13121         * doc/glibc-functions/forkpty.texi: Modified.
13122         * doc/glibc-functions/openpty.texi: Modified.
13123
13124 2009-12-10  Bruno Haible  <bruno@clisp.org>
13125
13126         Avoid syntax error in C++ mode.
13127         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
13128
13129 2009-12-10  Bruno Haible  <bruno@clisp.org>
13130
13131         Use sed with option -e.
13132         * gnulib-tool (func_version, func_emit_copyright_notice,
13133         func_emit_initmacro_end, func_import, func_create_testdir): Pass
13134         option -e to sed.
13135         * modules/link-warning (Makefile.am): Likewise.
13136
13137 2009-12-10  Jim Meyering  <meyering@redhat.com>
13138
13139         mgetgroups: do not write bytes beyond end of malloc'd buffer
13140         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
13141         username, we call getgroups with a one-element-shorter buffer,
13142         but still told it the length was original, max_n_groups.
13143
13144 2009-12-09  Eric Blake  <ebb9@byu.net>
13145
13146         cloexec: relax license
13147         * modules/cloexec (Maintainer): Add myself.
13148         (License): Use LGPL, not GPL.
13149
13150         link-warning: optimize generation
13151         * modules/link-warning (Makefile.am): Reduce process usage.
13152
13153 2009-12-09  Bruno Haible  <bruno@clisp.org>
13154
13155         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
13156         workaround was added on 2009-11-17.
13157
13158 2009-12-09  Jim Meyering  <meyering@redhat.com>
13159             Bruno Haible  <bruno@clisp.org>
13160
13161         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
13162         * modules/link-warning (Makefile.am): Make the comment-removing sed
13163         command more robust in the face of bootstrap-prepended comment lines.
13164
13165 2009-12-09  Bruno Haible  <bruno@clisp.org>
13166
13167         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
13168         most one group.
13169
13170 2009-12-09  Simon Josefsson <simon@josefsson.org>
13171             Bruno Haible  <bruno@clisp.org>
13172
13173         * build-aux/link-warning.h: Add copyright notice.
13174         * modules/link-warning (Makefile.am): Generate link-warning.h from
13175         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
13176         * NEWS: Mention change in link-warning module.
13177         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
13178         * modules/dirent (Makefile.am): Add dependency to dirent.h.
13179         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
13180         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
13181         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
13182         * modules/math (Makefile.am): Add dependency to math.h.
13183         * modules/search (Makefile.am): Add dependency to search.h.
13184         * modules/signal (Makefile.am): Add dependency to signal.h.
13185         * modules/spawn (Makefile.am): Add dependency to spawn.h.
13186         * modules/stdio (Makefile.am): Add dependency to stdio.h.
13187         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
13188         * modules/string (Makefile.am): Add dependency to string.h.
13189         * modules/strings (Makefile.am): Add dependency to strings.h.
13190         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
13191         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
13192         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
13193         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
13194         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
13195         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
13196         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
13197         * modules/unistd (Makefile.am): Add dependency to unistd.h.
13198         * modules/wchar (Makefile.am): Add dependency to wchar.h.
13199
13200 2009-12-09  Bruno Haible  <bruno@clisp.org>
13201
13202         fchdir: Optimize away rpl_fstat when possible.
13203         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
13204         REPLACE_OPEN_DIRECTORY.
13205         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
13206
13207 2009-12-09  Bruno Haible  <bruno@clisp.org>
13208
13209         * lib/fchdir.c: Update comment.
13210
13211 2009-12-09  Bruno Haible  <bruno@clisp.org>
13212
13213         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
13214
13215 2009-12-08  Eric Blake  <ebb9@byu.net>
13216
13217         fchdir: avoid memory leak on re-registration.
13218         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
13219
13220 2009-12-08  Jim Meyering  <meyering@redhat.com>
13221
13222         init.sh: avoid Solaris 10 /bin/sh portability problem
13223         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
13224         sourced script:
13225           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
13226           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
13227           bar
13228         tests/init.sh relied on that, accepting a --set-path=DIR argument,
13229         and two tests used that idiom.
13230         * tests/init.sh: Update suggested usage comments.
13231         (path_prepend_): New function, to be used in place
13232         of the --src-path=DIR option.
13233         (setup_): Move PATH-prepending code into path_prepend_.
13234         * tests/test-pread.sh: Adapt to new usage.
13235         * tests/test-xalloc-die.sh: Likewise.
13236
13237 2009-12-08  Simon Josefsson  <simon@josefsson.org>
13238
13239         * doc/gnulib.texi (Glibc pty.h): Add.
13240         * doc/glibc-functions/forkpty.texi: Add.
13241         * doc/glibc-functions/openpty.texi: Add.
13242         Suggested by Bruno Haible.
13243
13244 2009-12-08  Eric Blake  <ebb9@byu.net>
13245
13246         fchdir: fix logic bugs
13247         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
13248         * tests/test-fchdir.c (main): Enhance test.
13249         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
13250         is in use.
13251
13252         dup2: fix logic bugs
13253         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
13254         REPLACE_DUP2 to decide when rpl_dup2 is needed.
13255         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
13256         exists.
13257         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
13258
13259 2009-12-07  Eric Blake  <ebb9@byu.net>
13260
13261         unlink: fix m4 detection
13262         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
13263
13264         unistd-safer: add unit test
13265         * modules/unistd-safer-tests: New file.
13266         * tests/test-dup-safer.c: Likewise.
13267         * tests/test-cloexec.c (setmode): Avoid compiler warning.
13268         * tests/test-dup2.c (setmode): Likewise.
13269         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
13270
13271         cloexec: preserve text vs. binary across dup_cloexec
13272         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
13273         mode.
13274         * modules/dup2-tests (Depends-on): Add binary-io.
13275         * modules/cloexec-tests (Depends-on): Likewise.
13276         * tests/test-dup2.c (setmode, is_mode): New helpers.
13277         (main): Add tests that translation mode is preserved.
13278         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
13279         Reported by Bruno Haible.
13280
13281         mgetgroups: reduce duplicate listings
13282         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
13283         resulting array.
13284         * tests/test-chown.h (test_chown): Simplify client.
13285         * tests/test-lchown.h (test_lchown): Likewise.
13286
13287 2009-12-06  Bruno Haible  <bruno@clisp.org>
13288
13289         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
13290         value.
13291
13292 2009-12-06  Bruno Haible  <bruno@clisp.org>
13293
13294         * lib/progname.c: Include stdio.h, stdlib.h.
13295         (set_program_name): Reject a NULL argument.
13296
13297 2009-12-05  Eric Blake  <ebb9@byu.net>
13298
13299         pipe2-safer: new module
13300         * modules/pipe2-safer: New file.
13301         * lib/unistd-safer.h (pipe2_safer): New prototype.
13302         * lib/unistd--.h (pipe2): New wrapper.
13303         * lib/pipe-safer.c (pipe2_safer): New function.
13304         * modules/pipe (Depends-on): Add pipe2-safer.
13305         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
13306
13307         stdlib-safer: preserve cloexec flag for mkostemp[s]
13308         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
13309         fd_safer_flag.
13310
13311         unistd-safer: allow preservation of cloexec status via flag
13312         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
13313         prototypes.
13314         * lib/dup-safer.c (dup_safer_flag): New function.
13315         * lib/fd-safer.c (fd_safer_flag): Likewise.
13316         * modules/cloexec (configure.ac): Set witness.
13317
13318         test-dup2: enhance test
13319         * modules/dup2-tests (Depends-on): Add cloexec.
13320         * tests/test-dup2.c (main): Enhance test.
13321
13322         cloexec: add dup_cloexec
13323         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
13324         header and comments.
13325         * lib/cloexec.c (set_cloexec_flag): Add comments.
13326         (dup_cloexec): New function, with mingw implementation borrowed
13327         from...
13328         * lib/w32spawn.h (dup_noinherit): ...here.
13329         * modules/execute (Depends-on): Add cloexec.
13330         * modules/pipe (Depends-on): Likewise.
13331         * modules/cloexec (Depends-on): Add dup2.
13332         * modules/cloexec-tests (Files): New file.
13333         * tests/test-cloexec.c: Likewise.
13334
13335         test-xalloc-die: fix test for mingw
13336         * modules/xalloc-die-tests (Files): Add tests/init.sh.
13337         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
13338         directory and .exe suffix off argv[0] output.
13339
13340         test-fseeko: fix test for mingw
13341         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
13342         than undefining fseek, so test will pass on mingw.
13343
13344 2009-12-05  Bruno Haible  <bruno@clisp.org>
13345
13346         * lib/progname.h (set_program_name): Clarify specification.
13347         * lib/progname.c (set_program_name): Likewise.
13348         Reported by Jim Meyering.
13349
13350 2009-12-05  Jim Meyering  <meyering@redhat.com>
13351
13352         maint.mk: backslash-escape parens in default regexp
13353         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
13354         backslash-escape the literal parentheses.
13355
13356         maint.mk: news-date-check: use grep -E
13357         * top/maint.mk (today): Define a Make variable, not a...
13358         (news-date-check): ...shell variable.
13359         (news-date-regexp): Use the Make variable.
13360         Use grep's -E option.  Change the failing diagnostic to mention
13361         the variable, $(news-date-regexp).
13362
13363 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
13364
13365         maintainer-makefile: allow customization of NEWS entry format
13366         * top/maint.mk (news-date-regexp): New overridable variable.
13367         (news-date-check): Use it.
13368
13369 2009-12-04  Eric Blake  <ebb9@byu.net>
13370
13371         mgetgroups: add xgetgroups, and avoid ENOSYS failures
13372         * lib/mgetgroups.h (xgetgroups): New prototype.
13373         * lib/mgetgroups.c (xgetgroups): New wrapper.
13374         (mgetgroups): Handle ENOSYS.
13375         * modules/mgetgroups (Depends-on): Add realloc.
13376         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
13377
13378         mgetgroups: avoid argument promotion issues with -1
13379         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
13380         for invalid gid_t.
13381         * tests/test-chown.h (getegid, test_chown): Likewise.
13382         * tests/test-lchown.h (getegid, test_lchown): Likewise.
13383
13384 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
13385
13386         exclude: Fix header file problems.
13387         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
13388
13389 2009-12-01  Jim Meyering  <meyering@redhat.com>
13390
13391         fts: fts_open: do not let an empty string cause immediate failure
13392         This is required in support of GNU rm, for which the command
13393         "rm A '' B" must process and remove both A and B, in spite of
13394         the empty string argument.
13395         * lib/fts.c (fts_open): Do not let the presence of an empty string
13396         cause fts_open to fail immediately.  Most fts-using tools must be
13397         able to process all arguments, in order, and can be expected to
13398         diagnose such arguments themselves.
13399
13400 2009-11-30  Eric Blake  <ebb9@byu.net>
13401
13402         utimens: fix compilation error
13403         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
13404         Declare variable at right scope.
13405
13406 2009-11-29  Jim Meyering  <meyering@redhat.com>
13407
13408         bootstrap: handle perl-5.11's changed --version output
13409         * build-aux/bootstrap (get_version): Handle perl separately,
13410         since perl-5.11's --version output is different.
13411
13412 2009-11-28  Jim Meyering  <meyering@redhat.com>
13413
13414         userspec: depend on the inttostr module, too
13415         * modules/userspec (Depends-on): Add inttostr.
13416
13417         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
13418         * lib/userspec.c (parse_with_separator): Do not accept a user ID
13419         number of MAXUID when it evaluates to (uid_t) -1.
13420         Likewise for group ID.  Reported by Matt McCutchen in
13421         <http://savannah.gnu.org/bugs/?28113>
13422
13423         userspec: reformat to use spaces, not TABs
13424         * lib/userspec.c: Expand TABs to spaces.
13425         Add Emacs' "indent-tabs-mode: nil" hint.
13426
13427 2009-11-27  Eric Blake  <ebb9@byu.net>
13428
13429         getopt-gnu: flush out another BSD bug
13430         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
13431         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
13432         flush out BSD bug.
13433         * tests/test-getopt.h (test_getopt): End lists with NULL.
13434         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13435         (test_getopt_long_posix): Enhance test.
13436         * modules/getopt-posix-tests (Depends-on): Add stdbool.
13437         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
13438         getopt-gnu.
13439         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13440         Likewise.
13441
13442 2009-11-27  Simon Josefsson  <simon@josefsson.org>
13443
13444         * modules/idpriv-droptemp-tests (Notice): Fix text.
13445
13446 2009-11-27  Jim Meyering  <meyering@redhat.com>
13447
13448         test-xalloc-die: avoid spurious failure due to libtool argv difference
13449         In a libtool-enabled project, this test would fail due to a difference
13450         in the emitted program name, e.g.,
13451         -test-xalloc-die: memory exhausted
13452         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
13453         Use program to avoid that.
13454         * modules/xalloc-die-tests (Depends-on): Add progname.
13455         * tests/test-xalloc-die.c: Include progname.h".
13456         (program_name): Remove decl.
13457         (main): Call set_program_name.
13458         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
13459
13460 2009-11-26  Richard Jones  <rjones@redhat.com>
13461
13462         w32sock: leave win32 error in place.
13463         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
13464
13465 2009-11-26  Eric Blake  <ebb9@byu.net>
13466
13467         init.sh: suggest to use skip_ and fail_ functions in comments
13468         * tests/init.sh: Add a sentence.
13469
13470 2009-11-25  Bruno Haible  <bruno@clisp.org>
13471
13472         init.sh: add documentation in comments
13473         * tests/init.sh: Add some developer and user documentation.
13474
13475 2009-11-26  Jim Meyering  <meyering@redhat.com>
13476
13477         init.sh: accommodate even those who specify bogus srcdir manually
13478         * tests/init.sh: Normally, srcdir is guaranteed by automake and
13479         configure-time tests to be sanitized, so that there is no need to
13480         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
13481         (with no double quotes) suffices.  However, since tests may be
13482         invoked manually, and since you may explicitly set srcdir to the
13483         name of a directory containing spaces, do quote its uses here.
13484         * tests/test-pread.sh: Likewise.
13485         Suggested by Bruno Haible.
13486
13487         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
13488         * tests/test-pread.sh: Write no data into the pipe, because
13489         test-pread actually reads none.  This avoids a diagnostic,
13490         "bash: echo: write error: Broken pipe", that arises in the unusual
13491         event something is ignoring SIGPIPE, and might be interpreted
13492         as some sort of failure.  Reported by Bruno Haible.
13493
13494 2009-11-25  Jim Meyering  <meyering@redhat.com>
13495
13496         test-pread: cover failure with ESPIPE and EINVAL
13497         * tests/test-pread.c (main): Test for failure, too.
13498         * tests/test-pread.sh: Invoke with stdin on a pipe.
13499         Suggested by Eric Blake.
13500
13501         pread: improvement and fix
13502         * modules/pread (Depends-on): Depend on lseek, for portability to
13503         e.g., mingw.  Suggested by Eric Blake.
13504         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
13505
13506         unistd.in.h: correct declaration of pread
13507         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
13508         Reported by Richard W.M. Jones.
13509
13510         test-pread.sh: distribute the test script
13511         * modules/pread-tests (Files): Include test-pread.sh.
13512
13513         test-pread.sh: clean up
13514         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
13515         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
13516         That is unnecessary, since it's always ".".
13517         Suggestion from Eric Blake.
13518
13519         test-pread.sh: make executable
13520         * tests/test-pread.sh: Set executable bit.
13521         Reported by Eric Blake.
13522
13523         correct typo in test-pread.sh
13524         * tests/test-pread.sh: Add #! line.
13525
13526         test pread
13527         * tests/test-pread.c: New file.
13528         * tests/test-pread.sh: Likewise.
13529         * modules/pread-tests: Likewise.
13530
13531         pread: new module
13532         * modules/pread: New file.
13533         * lib/unistd.in.h (pread): Define/declare.
13534         * lib/pread.c (pread): New file.
13535         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
13536         * modules/unistd (Makefile.am): Substitute witnesses.
13537         * doc/posix-functions/pread.texi (pread): Update.
13538         * MODULES.html.sh: Add pread.
13539
13540 2009-11-25  Jim Meyering  <meyering@redhat.com>
13541
13542         tests/init.sh: new file to be used via most *.sh tests
13543         * tests/init.sh: New file.
13544
13545 2009-11-25  Eric Blake  <ebb9@byu.net>
13546
13547         utimens: work around older Linux failure with symlinks
13548         * lib/utimens.c (lutimensat_works_really): New variable.
13549         (fdutimens, lutimens): Use it to manage kernels that support
13550         nanosecond times on files, but not on symlinks.
13551         Reported by Ondřej Vašík.
13552
13553         utimes: fix configure grammar
13554         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
13555
13556 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
13557
13558         regex: Fix fastmap for multibyte character ranges.
13559         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
13560         characters when a multibyte character range is included.
13561
13562 2009-11-22  Andy Wingo  <wingo@pobox.com>
13563
13564         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
13565         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
13566
13567 2009-11-24  Bruno Haible  <bruno@clisp.org>
13568
13569         doc: Most *_l functions exist in MacOS X 10.5.
13570         * doc/posix-functions/duplocale.texi: Update platforms list.
13571         * doc/posix-functions/freelocale.texi: Likewise.
13572         * doc/posix-functions/newlocale.texi: Likewise.
13573         * doc/posix-functions/uselocale.texi: Likewise.
13574         * doc/posix-functions/isalnum_l.texi: Likewise.
13575         * doc/posix-functions/isalpha_l.texi: Likewise.
13576         * doc/posix-functions/isblank_l.texi: Likewise.
13577         * doc/posix-functions/iscntrl_l.texi: Likewise.
13578         * doc/posix-functions/isdigit_l.texi: Likewise.
13579         * doc/posix-functions/isgraph_l.texi: Likewise.
13580         * doc/posix-functions/islower_l.texi: Likewise.
13581         * doc/posix-functions/isprint_l.texi: Likewise.
13582         * doc/posix-functions/ispunct_l.texi: Likewise.
13583         * doc/posix-functions/isspace_l.texi: Likewise.
13584         * doc/posix-functions/isupper_l.texi: Likewise.
13585         * doc/posix-functions/iswalnum_l.texi: Likewise.
13586         * doc/posix-functions/iswalpha_l.texi: Likewise.
13587         * doc/posix-functions/iswblank_l.texi: Likewise.
13588         * doc/posix-functions/iswcntrl_l.texi: Likewise.
13589         * doc/posix-functions/iswctype_l.texi: Likewise.
13590         * doc/posix-functions/iswdigit_l.texi: Likewise.
13591         * doc/posix-functions/iswgraph_l.texi: Likewise.
13592         * doc/posix-functions/iswlower_l.texi: Likewise.
13593         * doc/posix-functions/iswprint_l.texi: Likewise.
13594         * doc/posix-functions/iswpunct_l.texi: Likewise.
13595         * doc/posix-functions/iswspace_l.texi: Likewise.
13596         * doc/posix-functions/iswupper_l.texi: Likewise.
13597         * doc/posix-functions/iswxdigit_l.texi: Likewise.
13598         * doc/posix-functions/isxdigit_l.texi: Likewise.
13599         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
13600         * doc/posix-functions/strcasecmp_l.texi: Likewise.
13601         * doc/posix-functions/strcoll_l.texi: Likewise.
13602         * doc/posix-functions/strfmon_l.texi: Likewise.
13603         * doc/posix-functions/strftime_l.texi: Likewise.
13604         * doc/posix-functions/strncasecmp_l.texi: Likewise.
13605         * doc/posix-functions/strxfrm_l.texi: Likewise.
13606         * doc/posix-functions/tolower_l.texi: Likewise.
13607         * doc/posix-functions/toupper_l.texi: Likewise.
13608         * doc/posix-functions/towctrans_l.texi: Likewise.
13609         * doc/posix-functions/towlower_l.texi: Likewise.
13610         * doc/posix-functions/towupper_l.texi: Likewise.
13611         * doc/posix-functions/wcscoll_l.texi: Likewise.
13612         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
13613         * doc/posix-functions/wctrans_l.texi: Likewise.
13614         * doc/posix-functions/wctype_l.texi: Likewise.
13615         * doc/glibc-functions/strptime_l.texi: Likewise.
13616         * doc/glibc-functions/strtod_l.texi: Likewise.
13617         * doc/glibc-functions/strtof_l.texi: Likewise.
13618         * doc/glibc-functions/strtol_l.texi: Likewise.
13619         * doc/glibc-functions/strtold_l.texi: Likewise.
13620         * doc/glibc-functions/strtoll_l.texi: Likewise.
13621         * doc/glibc-functions/strtoul_l.texi: Likewise.
13622         * doc/glibc-functions/strtoull_l.texi: Likewise.
13623         * doc/glibc-functions/wcsftime_l.texi: Likewise.
13624         * doc/glibc-functions/wcstod_l.texi: Likewise.
13625         * doc/glibc-functions/wcstof_l.texi: Likewise.
13626         * doc/glibc-functions/wcstol_l.texi: Likewise.
13627         * doc/glibc-functions/wcstold_l.texi: Likewise.
13628         * doc/glibc-functions/wcstoll_l.texi: Likewise.
13629         * doc/glibc-functions/wcstoul_l.texi: Likewise.
13630         * doc/glibc-functions/wcstoull_l.texi: Likewise.
13631
13632 2009-11-24  Bruno Haible  <bruno@clisp.org>
13633
13634         duplocale: Fix logic bug.
13635         * lib/duplocale.c: Don't include <langinfo.h>.
13636         (_NL_LOCALE_NAME): Remove macro.
13637         (rpl_duplocale): Use setlocale instead of nl_langinfo.
13638         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
13639
13640 2009-11-23  Jim Meyering  <meyering@redhat.com>
13641
13642         test-update-copyright: don't hard-code /usr/bin/perl
13643         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
13644         perl to print the current year.  Gilles Espinasse reported that
13645         the replaced use of perl was hard-coded as /usr/bin/perl.
13646
13647 2009-11-23  Bruno Haible  <bruno@clisp.org>
13648
13649         duplocale: Add support for glibc 2.3.x.
13650         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
13651
13652 2009-11-22  Bruno Haible  <bruno@clisp.org>
13653
13654         vasnprintf: Tiny optimization.
13655         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
13656         MacOS X.
13657
13658 2009-11-22  Bruno Haible  <bruno@clisp.org>
13659
13660         Tests for module 'duplocale'.
13661         * modules/duplocale-tests: New file.
13662         * tests/test-duplocale.c: New file.
13663
13664         New module 'duplocale'.
13665         * m4/duplocale.m4: New file.
13666         * lib/locale.in.h (duplocale): New declaration.
13667         * lib/duplocale.c: New file.
13668         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
13669         gl_LOCALE_H_DEFAULTS): New macros.
13670         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
13671         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
13672         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
13673         REPLACE_DUPLOCALE.
13674         * modules/duplocale: New file.
13675         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
13676
13677 2009-11-22  Bruno Haible  <bruno@clisp.org>
13678
13679         * modules/locale-tests (configure.ac): Test for newlocale function.
13680         * tests/test-locale.c: When the system has extended locale functions,
13681         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
13682
13683         locale: Make locale_t available when possible.
13684         * lib/locale.in.h: Include <xlocale.h> when it exists.
13685         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
13686         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
13687         * modules/locale (Depends-on): Add extensions.
13688         (Makefile.am): Also substitute HAVE_XLOCALE_H.
13689         * doc/posix-headers/locale.texi: Document the problem with locale_t.
13690
13691 2009-11-22  Bruno Haible  <bruno@clisp.org>
13692
13693         Add comments.
13694         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
13695         invocation.
13696         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
13697         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13698         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
13699
13700 2009-11-22  Bruno Haible  <bruno@clisp.org>
13701
13702         error: account for the possibility of freopen (stdout).
13703         * lib/error.c: Include <unistd.h>.
13704         (flush_stdout): New function, extracted from error and error_at_line.
13705         Determine stdout's fd dynamically.
13706         (error, error_at_line): Invoke flush_stdout.
13707         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
13708         * modules/error (Depends-on): Add unistd.
13709
13710 2009-11-22  Bruno Haible  <bruno@clisp.org>
13711
13712         diffseq: Add comment.
13713         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
13714
13715 2009-11-22  Jim Meyering  <meyering@redhat.com>
13716
13717         c-stack: avoid defining an unused static function
13718         * lib/c-stack.c (find_stack_direction): Do not define this function
13719         when it will not be used.
13720
13721         diffseq: avoid spurious gcc warnings
13722         * lib/diffseq.h (IF_LINT2): Define.
13723         (compareseq): Use it to initialize two members of "part".
13724         This avoids two used-uninitialized warnings.
13725
13726 2009-11-21  Jim Meyering  <meyering@redhat.com>
13727
13728         c-stack: avoid "ignoring return value of `write'" warning
13729         * lib/c-stack.c: Include "ignore-value.h".
13730         (die): Explicitly ignore each write return value.
13731         * modules/c-stack (Depends-on): Add ignore-value.
13732
13733 2009-11-21  Bruno Haible  <bruno@clisp.org>
13734
13735         diffseq: reduce scope of variable 'best'.
13736         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
13737         variable, earlier used for two different purposes.
13738
13739 2009-11-21  Jim Meyering  <meyering@redhat.com>
13740
13741         diffseq: remove useless assignment to "best"
13742         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
13743         assignment.  At that point "best" is already guaranteed to be zero.
13744
13745 2009-11-20  Eric Blake  <ebb9@byu.net>
13746
13747         build: mention ftp redirector in release announcements
13748         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
13749         values that used to come from cfg.mk; mention FTP redirect URL.
13750         * build-aux/announce-gen: Mention the mirror list.
13751         Suggested by Karl Berry.
13752
13753         nanosleep: improve port to mingw
13754         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
13755         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
13756         LIB_NANOSLEEP, but only when needed.
13757         * modules/select (Link): Document LIBSOCKET.
13758         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
13759         enough.
13760
13761         nanosleep: work around cygwin bug
13762         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
13763         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
13764         bug.
13765         (getnow): Delete, not needed.
13766         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
13767         LIB_CLOCK_GETTIME.
13768         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
13769         clock-time, gettime.
13770         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
13771         bug.
13772         * modules/nanosleep-tests: New test.
13773         * tests/test-nanosleep.c: New file.
13774
13775         sleep: work around cygwin bug
13776         * lib/sleep.c (rpl_sleep): Work around the bug.
13777         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
13778         (gl_PREREQ_SLEEP): Delete unused macro.
13779         * modules/sleep (Depends-on): Add verify.
13780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
13781         * modules/unistd (Makefile.am): Substitute witness.
13782         * lib/unistd.in.h (sleep): Update prototype.
13783         * doc/posix-functions/sleep.texi (sleep): Document the bug.
13784         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
13785         * modules/sleep-tests (Depends-on): Check for alarm.
13786
13787 2009-11-20  Jim Meyering  <meyering@redhat.com>
13788
13789         maint.mk: improve sc_prohibit_magic_number_exit
13790         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
13791         so it does not match uses like System.exit(1).
13792         Add comments showing how to correct all offenders.
13793
13794 2009-11-19  Eric Blake  <ebb9@byu.net>
13795
13796         xalloc-die-tests: add missing library
13797         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
13798
13799         test-xvasprintf: silence compiler warnings
13800         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
13801         empty string from gcc.
13802
13803 2009-11-19  Jim Meyering  <meyering@redhat.com>
13804
13805         xfreopen: new module, from coreutils
13806         * modules/xfreopen: New module.
13807         * lib/xfreopen.c: New file.
13808         * lib/xfreopen.h: New file.
13809         * MODULES.html.sh (File stream based Input/Output"): Add it.
13810
13811 2009-11-19  Eric Blake  <ebb9@byu.net>
13812
13813         manywarnings: depend on warnings
13814         * modules/manywarnings (Depends-on): Add warnings.
13815
13816         build: avoid compiler warnings
13817         * lib/select.c (rpl_select): Delete unused variable.
13818         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
13819
13820 2009-11-18  Eric Blake  <ebb9@byu.net>
13821
13822         tests: avoid false negative with --with-packager
13823         * tests/test-version-etc.sh: Discard packager information.
13824         * tests/test-argp-version-etc-1.sh: Likewise.
13825         Reported by Mike Frysinger.
13826
13827         utimens: fix regression on Solaris
13828         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
13829         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
13830         can only change fd timestamps via futimesat.  Instead, use an
13831         additional witness macro to avoid BSD bug.
13832         Reported by Jim Meyering.
13833
13834 2009-11-17  Eric Blake  <ebb9@byu.net>
13835
13836         usleep: use it to simplify tests
13837         * modules/stat-time-tests (Depends-on): Add usleep.
13838         (configure.ac): Drop usleep check.
13839         * modules/chown-tests (Depends-on, configure.ac): Likewise.
13840         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
13841         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
13842         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
13843         * modules/openat-tests (Depends-on, configure.ac): Likewise.
13844         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
13845         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
13846         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
13847         Likewise.
13848         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
13849         * tests/test-lchown.h (nap): Likewise.
13850         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
13851         * tests/test-stat-time.c (nap): Likewise.
13852         * tests/test-utimens-common.h (nap): Update comments.
13853
13854         usleep: new module
13855         * modules/usleep: New file.
13856         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
13857         * lib/usleep.c (usleep): Likewise.
13858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
13859         * modules/unistd (Makefile.am): Substitute witnesses.
13860         * lib/unistd.in.h (usleep): Add declaration.
13861         * doc/pastposix-functions/usleep.texi (usleep): Document this.
13862         * MODULES.html.sh (Date and time): Likewise.
13863         * modules/usleep-tests (Depends-on): New test.
13864         * tests/test-usleep.c: New file.
13865
13866         chown: work around OpenBSD bug
13867         * lib/chown.c (rpl_chown): Work around the bug.
13868         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
13869         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
13870         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
13871         * modules/chown (Depends-on): Add stdbool.
13872         * modules/lchown (Depends-on): Likewise.
13873         * doc/posix-functions/chown.texi (chown): Document the bug.
13874         * doc/posix-functions/lchown.texi (lchown): Likewise.
13875         * tests/test-lchown.h (test_chown): Relax test.
13876
13877         mkstemp: avoid conflict with C++ keyword template
13878         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
13879         * lib/mkostemp.c (mkostemp): Likewise.
13880         * lib/mkostemps.c (mkostemps): Likewise.
13881         * lib/mkstemp.c (mkstemp): Likewise.
13882         * lib/mkstemps.c (mkstemps): Likewise.
13883
13884         xalloc-die-tests: optimize
13885         * tests/test-xalloc-die.sh: Reduce number of processes.
13886
13887 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13888
13889         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
13890         patch from ludo@gnu.org (Ludovic Courtès).
13891
13892 2009-11-17  Jim Meyering  <meyering@redhat.com>
13893
13894         version-etc: use proper license string
13895         * modules/version-etc (License): Use LGPL, not LGPLv3+.
13896         * modules/version-etc-fsf: Likewise.
13897
13898 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13899
13900         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
13901         printed to stdout.  Deal with EOL differences.
13902
13903 2009-11-17  Eric Blake  <ebb9@byu.net>
13904
13905         unsetenv: work around Solaris bug
13906         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
13907         * lib/unsetenv.c (rpl_unsetenv): Work around it.
13908         Reported by Jim Meyering.
13909
13910         vasnprintf: avoid compiler warnings
13911         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
13912         variables.
13913         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
13914
13915 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13916
13917         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
13918         settings since xalloc-die is no longer the self test,
13919         xalloc-die.sh is.
13920
13921 2009-11-17  Jim Meyering  <meyering@redhat.com>
13922
13923         test-xalloc-die.sh: make the code agree with the commit log
13924         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
13925         at the end, just in case you happen to have a test-xalloc-die
13926         program in some other PATH directory.
13927
13928         test-xalloc-die.sh: fix a portability bug
13929         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
13930         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
13931         Otherwise, argv[0] (as often seen in diagnostics) would be too
13932         system-dependent, sometimes with, and sometimes without the leading "./".
13933
13934         version-etc-fsf: relax license to LGPLv3+
13935         * modules/version-etc-fsf (License): Relax license.
13936
13937 2009-11-16  Eric Blake  <ebb9@byu.net>
13938
13939         xalloc-die-tests: avoid printing null pointer
13940         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
13941         shell script.
13942         * tests/test-xalloc-die.c (program_name): Declare.
13943         * tests/test-xalloc-die.sh (tmpfiles): New file.
13944
13945         setenv, unsetenv: work around various bugs
13946         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
13947         (setenv) [HAVE_SETENV]: Work around bugs.
13948         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
13949         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
13950         for bugs.
13951         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
13952         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
13953         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
13954         * modules/stdlib (Makefile.am): Update substitutions.
13955         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
13956         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
13957         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
13958         * modules/setenv-tests: New test.
13959         * modules/unsetenv-tests: Likewise.
13960         * tests/test-setenv.c: New file.
13961         * tests/test-unsetenv.c: Likewise.
13962
13963 2009-11-16  Jim Meyering  <meyering@redhat.com>
13964
13965         version-etc: relax license to LGPLv3+
13966         * modules/version-etc (License): Relax license.
13967
13968         better AC_REQUIRE expanded-before-required-warning avoidance
13969         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
13970         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
13971         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
13972         which is no longer needed.
13973
13974 2009-11-16  Eric Blake  <ebb9@byu.net>
13975
13976         test-freading: clean up temporary file
13977         * tests/test-freading.c (main): Remove file on success, and use
13978         ASSERT more liberally.
13979         Reported by Jim Meyering.
13980
13981 2009-11-16  Jim Meyering  <meyering@redhat.com>
13982
13983         avoid new AC_REQUIRE expanded-before-required warnings
13984         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
13985         merely using it.
13986         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
13987         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
13988
13989 2009-11-15  Simon Josefsson  <simon@josefsson.org>
13990
13991         * tests/test-xalloc-die.c: New file.
13992         * modules/xalloc-die-tests: New file.
13993         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
13994         XFAIL_TESTS so it can be appended by modules.
13995
13996 2009-11-15  Simon Josefsson  <simon@josefsson.org>
13997
13998         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
13999         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
14000
14001 2009-11-14  Eric Blake  <ebb9@byu.net>
14002
14003         fnmatch: avoid compiler warning
14004         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
14005         to silence compiler warning about mismatch signedness in ?:.
14006         Reported by Robert Millan.
14007
14008         intprops: add double-inclusion guard
14009         * lib/intprops.h: Allow idempotent includes.
14010         Suggested by Bruce Korb.
14011
14012         openat: detect Solaris fchownat bug
14013         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
14014         penalizing glibc chownat when only lchownat is broken.
14015         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
14016         trailing slash bugs.
14017         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
14018         * modules/openat-tests (Files): Include more files.
14019         (Depends-on): Add mgetgroups, sleep, stat-time.
14020         (configure.ac): Add additional checks.
14021         (Makefile.am): Build new test.
14022         * tests/test-fchownat.c: New file.
14023
14024         lchown: detect Solaris and FreeBSD bug
14025         * lib/lchown.c (rpl_lchown): Work around bug.
14026         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
14027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14028         * modules/unistd (Makefile.am): Populate it.
14029         * lib/unistd.in.h (lchown): Update declaration.
14030         * doc/posix-functions/lchown.texi (lchown): Document the bug.
14031         * modules/lchown-tests: New file.
14032         * tests/test-lchown.h (test_lchown): Likewise.
14033         * tests/test-lchown.c (main): Likewise.
14034
14035         chown: detect Solaris and FreeBSD bug
14036         * lib/chown.c (rpl_chown): Work around bug.
14037         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
14038         (gl_PREREQ_CHOWN): Delete.
14039         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14040         * modules/unistd (Makefile.am): Populate it.
14041         * lib/unistd.in.h (chown): Update declaration.
14042         * lib/lchown.c (chown): Update client.
14043         * modules/lchown (Depends-on): Add lstat.
14044         * doc/posix-functions/chown.texi (chown): Document the bug.
14045         * doc/posix-functions/getgroups.texi (getgroups): Document
14046         getgroups pitfall.
14047         * modules/chown-tests: New file.
14048         * tests/test-chown.h (test_chown): Likewise.
14049         * tests/test-chown.c (main): Likewise.
14050
14051 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
14052
14053         gnulib-tool: correctly detect absence of m4 directories
14054         * gnulib-tool: Avoid extra newline on data passed to wc -l.
14055
14056 2009-11-14  Jim Meyering  <meyering@redhat.com>
14057
14058         maint.mk: Prohibit inclusion of "xalloc.h" without use.
14059         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
14060
14061 2009-11-14  John W. Eaton  <jwe@gnu.org>
14062
14063         strftime.h: wrap funtion declaration in extern "C" block
14064         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
14065
14066 2009-11-13  Eric Blake  <ebb9@byu.net>
14067
14068         getgroups: avoid compiler warning
14069         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
14070
14071         getgroups: work around FreeBSD bug
14072         * lib/getgroups.c (rpl_getgroups): Work around the bug.
14073         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
14074         * doc/posix-functions/getgroups.texi (getgroups): Document it.
14075         * tests/test-getgroups.c (main): Fix buffer overrun.
14076
14077         getgroups: avoid compilation failure
14078         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
14079         * modules/getgroups (Depends-on): Add stdint.
14080
14081 2009-11-13  Jim Meyering  <meyering@redhat.com>
14082
14083         test-getgroups: avoid compilation failure
14084         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
14085
14086 2009-11-13  Eric Blake  <ebb9@byu.net>
14087
14088         mgetgroups: new module, taken from coreutils
14089         * modules/mgetgroups: New file.
14090         * lib/mgetgroups.h: Likewise.
14091         * lib/mgetgroups.c (mgetgroups): Likewise.
14092         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
14093         * MODULES.html.sh (Users and groups): Mention it.
14094
14095         getgroups: don't expose GETGROUPS_T to user
14096         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
14097         an element at a time if GETGROUPS_T is wrong size.
14098         * lib/getugroups.h (getugroups): Change signature.
14099         * lib/unistd.in.h (getgroups): Likewise.
14100         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
14101         signature needs fixing.
14102         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
14103         AC_TYPE_GETGROUPS.
14104         * modules/group-member (Depends-on): Add getgroups.
14105         * lib/group-member.c (group_info, get_group_info): Use gid_t.
14106         (group_member): Rely on getgroups replacement.
14107         * lib/getugroups.c (getugroups): Use gid_t.
14108         * tests/test-getgroups.c (main): Likewise.
14109         * NEWS: Mention the signature change.
14110         * doc/posix-functions/getgroups.texi (getgroups): Mention the
14111         problem with signature.
14112         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
14113         GETGROUPS_T is still useful for setgroups.
14114
14115         getgroups, getugroups: provide stubs for mingw
14116         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
14117         * lib/getugroups.c (getugroups): Likewise.
14118         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
14119         function.  Modernize replacement scheme.
14120         (gl_PREREQ_GETGROUPS): Delete.
14121         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
14122         * modules/getgroups (configure.ac): Declare witness.
14123         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
14124         * modules/unistd (Depends-on): Substitute witness.
14125         * lib/unistd.in.h (getgroups): Declare replacement.
14126
14127         getgroups: avoid calling exit
14128         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
14129         drop xalloc.
14130         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
14131         dependencies.
14132         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
14133         exiting, in the rare case of malloc failure.
14134
14135         getgroups: fix logic error
14136         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
14137         has more than 20 groups.
14138         * modules/getgroups-tests: New test.
14139         * tests/test-getgroups.c: New file.
14140
14141 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14142
14143         * tests/test-base64.c: Improve.
14144
14145 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14146
14147         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
14148         Blake <ebb9@byu.net>.
14149
14150 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14151
14152         * tests/test-xvasprintf.c: Add %s%s related checks.
14153
14154 2009-11-12  Eric Blake  <ebb9@byu.net>
14155
14156         version-etc: match standards.texi style
14157         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
14158         and use <> only for URLs.
14159
14160 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
14161
14162         fts: do not fail on a submount during traversal
14163         * lib/fts.c (fts_build): Read the stat info again after opening
14164         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
14165         Original report at http://bugzilla.redhat.com/501848.
14166
14167 2009-11-12  Jim Meyering  <meyering@redhat.com>
14168
14169         bootstrap: sync from coreutils
14170         * build-aux/bootstrap (bootstrap_epilogue): New function.
14171         Use git_modules_config in one more place.  This make bootstrap's
14172         --gnulib-srcdir option more useful for testing.
14173
14174         bootstrap: generalize autoheader check
14175         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
14176         AC_CONFIG_HEADERS.
14177
14178 2009-11-11  Eric Blake  <ebb9@byu.net>
14179
14180         mkfifoat: use new modules for Solaris and BSD bugs
14181         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
14182         * lib/mkfifoat.c (mknodat): Split...
14183         * lib/mknodat.c (mknodat): ...into new file.
14184         * modules/mkfifoat (Files): Ship new file.
14185         (Depends-on): Add mkfifo, mknod.
14186         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
14187         (Depends-on): Add symlink.
14188         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
14189         redundant with test_mkfifo.h.
14190         (do_mkfifoat, do_mknodat): New helpers.
14191
14192         mknod: new module
14193         * modules/mknod: New file.
14194         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
14195         * lib/mknod.c (mknod): Likewise.
14196         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
14197         defaults.
14198         * modules/sys_stat (Makefile.am): Substitute them.
14199         * lib/sys_stat.in.h (mknod): Declare replacement.
14200         * MODULES.html.sh (Support for systems lacking POSIX:2008):
14201         Document it.
14202         * doc/posix-functions/mknod.texi (mknod): Likewise.
14203         * modules/mknod-tests: New test.
14204         * tests/test-mknod.c: Likewise.
14205
14206         mkfifo: new module
14207         * modules/mkfifo: New file.
14208         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
14209         * lib/mkfifo.c (mkfifo): Likewise.
14210         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
14211         defaults.
14212         * modules/sys_stat (Makefile.am): Substitute them.
14213         * lib/sys_stat.in.h (mkfifo): Declare replacement.
14214         * MODULES.html.sh (Support for systems lacking POSIX:2008):
14215         Document it.
14216         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
14217         * modules/mkfifo-tests: New test.
14218         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
14219         from test-mkfifoat.c.
14220         * tests/test-mkfifo.c: New file.
14221
14222         readlink: detect FreeBSD bug
14223         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
14224         slash on symlink.
14225         * doc/posix-functions/readlink.texi (readlink): Document the bug.
14226         * tests/test-readlink.h (test_readlink): Enhance test.
14227
14228         symlink: detect FreeBSD bug
14229         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
14230         slash on symlink.
14231         * doc/posix-functions/symlink.texi (symlink): Document the bug.
14232         * tests/test-symlink.h (test_symlink): Enhance test.
14233
14234 2009-11-10  Eric Blake  <ebb9@byu.net>
14235
14236         link: detect FreeBSD bug
14237         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
14238         symlink.
14239         * doc/posix-functions/link.texi (link): Document the bug.
14240         * tests/test-link.h (test_link): Enhance test.
14241         * tests/test-linkat.c (main): Update caller.
14242
14243         unlink, remove: detect FreeBSD bug
14244         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
14245         slash on symlink.
14246         * doc/posix-functions/unlink.texi (unlink): Document the bug.
14247         * doc/posix-functions/remove.texi (remove): Likewise.
14248         * tests/test-unlink.h (test_unlink): Enhance test.
14249         * tests/test-remove.c (main): Likewise.
14250
14251 2009-11-09  Eric Blake  <ebb9@byu.net>
14252
14253         rename: detect FreeBSD bug
14254         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
14255         slash on symlink.
14256         * modules/renameat-tests (Depends-on): Add filenamecat.
14257         * tests/test-rename.h (test_rename): Allow one more errno.
14258         * tests/test-renameat.c (main): Likewise.
14259         * doc/posix-functions/rename.texi (rename): Document the bug.
14260
14261         open: detect FreeBSD bug
14262         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
14263         symlink.
14264         * doc/posix-functions/open.texi (open): Document the bug.
14265         * doc/posix-functions/utimes.texi (utimes): Likewise.
14266         * tests/test-open.h (test_open): Add parameters, and test symlink
14267         handling.
14268         * tests/test-open.c (main): Adjust caller.
14269         * tests/test-fcntl-safer.c (main): Likewise.
14270         * modules/open-tests (Depends-on): Add stdbool, symlink.
14271         * modules/fcntl-safer-tests (Depends-on): Likewise.
14272         * tests/test-openat.c (main): Add test-open tests.
14273
14274         stat: detect FreeBSD bug
14275         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
14276         symlink.
14277         * doc/posix-functions/stat.texi (stat): Document the bug.
14278         * tests/test-stat.h (test_stat_func): Add argument.
14279         * tests/test-stat.c (main): Adjust caller.
14280         * tests/test-fstatat.c (main): Likewise.
14281         * modules/stat-tests (Depends-on): Add stdbool, symlink.
14282         Reported by Jim Meyering.
14283
14284 2009-11-09  James Youngman  <jay@gnu.org>
14285
14286         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
14287         * lib/strftime.c: Correct placement of #include "ignore-value.h".
14288
14289 2009-11-08  Jim Meyering  <meyering@redhat.com>
14290
14291         utimens: remove invalid futimesat call
14292         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
14293         It used the file descriptor of the target file as the DIR_FD
14294         parameter and NULL as the file name.  That caused failure with
14295         errno == EFAULT on FreeBSD-8.0-rc2
14296
14297 2009-11-07  Eric Blake  <ebb9@byu.net>
14298
14299         fflush, freadseek: use fseeko, not fseek
14300         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
14301         (clear_ungetc_buffer): Avoid potential problems on large files.
14302         * lib/freadseek.c (freadseek): Likewise.
14303         * modules/freadseek (Depends-on): Add fseeko.
14304         * modules/fseek (configure.ac): Set a witness.
14305         * tests/test-fflush.c (main): Use fseeko.
14306         * tests/test-fpurge.c (fseek): Disable link warning.
14307         * tests/test-freadable.c (fseek): Likewise.
14308         * tests/test-freading.c (fseek): Likewise.
14309         * tests/test-fseeko.c (fseek): Likewise.
14310         * tests/test-ftell.c (fseek): Likewise.
14311         * tests/test-ftello.c (fseek): Likewise.
14312         * tests/test-fwritable.c (fseek): Likewise.
14313         * tests/test-fwriting.c (fseek): Likewise.
14314
14315 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14316
14317         * modules/memchr (Depends-on): Drop getpagesize dependency.
14318
14319 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14320
14321         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
14322         Reported by Ludovic Courtès.
14323         * build-aux/pmccabe2html: Improve example usage.
14324         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
14325
14326 2009-11-06  Jim Meyering  <meyering@redhat.com>
14327
14328         do-release-commit-and-tag: New module.
14329         Automate the release-commit and tag process.
14330         * build-aux/do-release-commit-and-tag: New script, from coreutils.
14331         * modules/do-release-commit-and-tag: New file.
14332         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14333
14334 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14335
14336         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
14337         because test-select.c uses inet_pton.
14338
14339 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14340
14341         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
14342         GETADDRINFO_LIB.  Bump serial number.
14343         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
14344         Suggested by Eric Blake <ebb9@byu.net>.
14345
14346 2009-11-05  Eric Blake  <ebb9@byu.net>
14347
14348         strtod: detect darwin bug
14349         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
14350         Reported by Leo Davis.
14351
14352         freopen-safer: new module
14353         * modules/freopen-safer: New module.
14354         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
14355         * lib/freopen-safer.c (freopen_safer): New file.
14356         * lib/stdio-safer.h (freopen_safer): New declaration.
14357         * lib/stdio--.h (freopen): New override.
14358         * MODULES.html.sh (File stream based Input/Output): Mention it.
14359         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
14360         freopen-safer module.
14361         * doc/posix-functions/stderr.texi (stderr): Likewise.
14362         * doc/posix-functions/stdin.texi (stdin): Likewise.
14363         * doc/posix-functions/stdout.texi (stdout): Likewise.
14364         * modules/freopen-safer-tests: New test.
14365         * tests/test-reopen-safer.c: New file.
14366
14367 2009-11-05  Jim Meyering  <meyering@redhat.com>
14368
14369         maint.mk: Prohibit inclusion of "close-stream.h" without use.
14370         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
14371
14372 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14373
14374         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
14375
14376 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14377
14378         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
14379
14380 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14381
14382         Fix link error.
14383         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
14384         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14385
14386 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14387
14388         * tests/test-func.c: Also test value of __func__.
14389
14390 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14391
14392         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
14393         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
14394
14395 2009-11-05  Bruno Haible  <bruno@clisp.org>
14396
14397         Fix link error.
14398         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
14399         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14400         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
14401
14402 2009-11-05  Bruno Haible  <bruno@clisp.org>
14403
14404         Tests for module 'inet_pton'.
14405         * modules/inet_pton-tests: New file.
14406         * tests/test-inet_pton.c: New file.
14407
14408 2009-11-05  Bruno Haible  <bruno@clisp.org>
14409
14410         Tests for module 'inet_ntop'.
14411         * modules/inet_ntop-tests: New file.
14412         * tests/test-inet_ntop.c: New file.
14413
14414 2009-11-04  Eric Blake  <ebb9@byu.net>
14415
14416         stdlib-safer: wrap all mkstemp variants
14417         * modules/mkostemp (configure.ac): Set witness.
14418         * modules/mkostemps (configure.ac): Likewise.
14419         * modules/mkstemps (configure.ac): Likewise.
14420         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
14421         (mkstemps_safer): Wrap more functions.
14422         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
14423         wrapping.
14424         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
14425         (mkstemps_safer): Implement the wrappers.
14426
14427         mkstemps, mkostemps: new modules
14428         * modules/mkostemps: New module.
14429         * modules/mkstemps: Likewise.
14430         * lib/mkostemps.c (mkostemps): New file.
14431         * lib/mkstemps.c (mkstemps): Likewise.
14432         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
14433         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
14434         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
14435         * modules/stdlib (Makefile.am): Substitute them.
14436         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
14437         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
14438         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
14439         * doc/gnulib.texi (Glibc stdlib.h): Include them.
14440         * MODULES.html.sh (File system functions): Mention them.
14441
14442         tempname: resync from glibc
14443         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
14444         same values for __GT_FILE as glibc.  Abort even when assertions
14445         are disabled.
14446         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
14447         match its value otherwise.  Allow idempotent inclusion.
14448         * lib/mkdtemp.c (mkdtemp): Adjust caller.
14449         * lib/mkostemp.c (mkostemp): Likewise.
14450         * lib/mkstemp.c (mkstemp): Likewise.
14451         * lib/tmpfile.c (tmpfile): Likewise.
14452         * NEWS: Document this.
14453
14454         utimens: fix use of futimens on older Linux
14455         * lib/utimens.c (fdutimens): Use updated, rather than original,
14456         timespec to avoid bug in older Linux kernel.
14457         Reported by Simon Josefsson.
14458
14459 2009-11-04  Bruno Haible  <bruno@clisp.org>
14460
14461         Make num_processors more flexible and consistent.
14462         * lib/nproc.h (enum nproc_query): New type.
14463         (num_processors): Add a 'query' argument.
14464         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
14465         (num_processors): Add a 'query' argument. Test the value of the
14466         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
14467         mingw, count the number of CPUs available for the current process.
14468         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
14469         Check for sched_getaffinity and sched_getaffinity_np.
14470         * modules/nproc (Depends-on): Add c-ctype, extensions.
14471         * NEWS: Mention the change.
14472
14473 2009-11-03  Bruno Haible  <bruno@clisp.org>
14474
14475         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
14476
14477 2009-11-03  Jim Meyering  <meyering@redhat.com>
14478
14479         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
14480         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
14481         if it is defined.
14482
14483 2009-11-02  Eric Blake  <ebb9@byu.net>
14484
14485         mktime, timegm: share common declaration
14486         * lib/mktime-internal.h: New file.
14487         * lib/mktime.c: Use it rather than open-coding a declaration.
14488         * lib/timegm.c: Likewise.
14489         * modules/mktime (Files): Ship it.
14490         * modules/timegm (Files): Likewise.
14491         Suggested by Bruno Haible.
14492
14493         test-update-copyright: update test to match script changes
14494         * tests/test-update-copyright.sh: Avoid hard-coding perl
14495         location.  Don't update *.bak created by earlier runs.
14496
14497 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14498             Simon Josefsson  <simon@josefsson.org>
14499             Bruno Haible  <bruno@clisp.org>
14500
14501         Fix link error on Solaris 8.
14502         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
14503         also in libnsl. Define also INET_PTON_LIB.
14504         * modules/inet_pton (Link): New section.
14505
14506 2009-11-02  Simon Josefsson  <simon@josefsson.org>
14507             Bruno Haible  <bruno@clisp.org>
14508
14509         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
14510         * modules/inet_ntop (Link): New section.
14511         Reported by Boyan Kasarov <bkasarov@gmail.com>.
14512
14513 2009-11-02  Eric Blake  <ebb9@byu.net>
14514
14515         maint: avoid compiler warnings in m4 macros
14516         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
14517         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
14518
14519 2009-11-02  Simon Josefsson  <simon@josefsson.org>
14520
14521         * m4/pmccabe2html.m4: Remove file.
14522         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
14523         function.  Change maintainer.
14524         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
14525         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
14526         Courtès).
14527
14528 2009-10-31  Eric Blake  <ebb9@byu.net>
14529
14530         fseeko: fix m4 regression
14531         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
14532         regression from 2009-10-27.
14533         Reported by Ralf Wildenhues.
14534
14535 2009-10-31  Jim Meyering  <meyering@redhat.com>
14536
14537         inttostr: aesthetics and improved (compile-time) safety
14538         Define inttype_is_signed rather than inttype_is_unsigned,
14539         since the sole use is via "#if inttype_is_signed".
14540         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
14541         inttype_is_unsigned.
14542         * lib/offtostr.c (inttype_is_signed): Likewise.
14543         * lib/uinttostr.c (inttype_is_signed): Likewise.
14544         * lib/umaxtostr.c (inttype_is_signed): Likewise.
14545         * lib/inttostr.c (inttostr): Use verify to cross-check the
14546         inttype_is_signed value and the signedness of the actual type.
14547         * modules/inttostr (Depends-on): Add verify.
14548
14549 2009-10-30  Eric Blake  <ebb9@byu.net>
14550
14551         build: avoid compiler warnings
14552         * lib/fchmodat.c (lchmod): Mark unused variables.
14553         * lib/getopt.c (_getopt_initialize): Likewise.
14554         * lib/mktime.c (__mktime_internal): Provide prototype.
14555         * lib/inttostr.c (inttostr): Avoid compiler warning even with
14556         older gcc that do not understand #pragma GCC diagnostic.
14557         * lib/uinttostr.c (inttype_is_unsigned): Define.
14558         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
14559
14560 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
14561
14562         stat: fix compilation on AIX
14563         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
14564         only see struct stat64.
14565
14566 2009-10-30  Eric Blake  <ebb9@byu.net>
14567
14568         exclude: make more robust
14569         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
14570         rather than masking a coding bug.
14571         Suggested by Bruno Haible.
14572
14573 2009-10-30  Jim Meyering  <meyering@redhat.com>
14574
14575         perl scripts: remove #!/usr/bin/perl in favor of more portable...
14576         Rather than putting #!/usr/bin/perl on the first line,
14577         start with a variant of what's recommended by "man perlrun" that
14578         invokes the first "perl" program from your shell's search path.
14579         * build-aux/gitlog-to-changelog: Replace #!... as above.
14580         Add a "Local Variables" perl mode setting.
14581         Prompted by a patch from Ludovic Courtès.
14582         Improved by Eric Blake.
14583         * build-aux/useless-if-before-free: Likewise.
14584         * build-aux/announce-gen: Likewise.
14585         * build-aux/update-copyright: Likewise.
14586
14587 2009-10-29  Eric Blake  <ebb9@byu.net>
14588
14589         filenamecat-lgpl: adjust clients
14590         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
14591         filenamecat.
14592         * modules/renameat (Depends-on): Likewise.
14593
14594         filenamecat: split into filenamecat-lgpl
14595         * modules/filenamecat-lgpl: New module.
14596         * modules/filenamecat (Files): Move library-safe files into
14597         filenamecat-lgpl.
14598         (Depends-on): Add filenamecat-lgpl.
14599         (configure.ac): Declare witness.
14600         * lib/filenamecat.h (file_name_concat): Only declare when using
14601         GPL module.
14602         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
14603         Move...
14604         * lib/filenamecat-lgpl.c: ...into new file.
14605         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
14606         (gl_FILE_NAME_CONCAT): Use it.
14607         * MODULES.html.sh (File system functions): Mention new module.
14608
14609         argp: avoid memory leak
14610         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
14611         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
14612         base_name, since the latter malloc()s and can call exit().
14613         Leak introduced 2006-07-03.
14614
14615         dirname-lgpl: adjust clients that don't need full dirname
14616         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
14617         * modules/filenamecat (Depends-on): Likewise.
14618         * modules/linkat (Depends-on): Likewise.
14619         * modules/mkancesdirs (Depends-on): Likewise.
14620         * modules/mkdir (Depends-on): Likewise.
14621         * modules/openat (Depends-on): Likewise.
14622         * modules/savewd (Depends-on): Likewise.
14623         * modules/rename (Depends-on): Likewise.
14624         (License): Relax license.
14625         * modules/mkdir-tests (Depends-on): Drop progname.
14626         (Makefile.am): Delete unneeded LDADD.
14627         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
14628
14629         dirname: split into dirname-lgpl
14630         * modules/dirname-lgpl: New module.
14631         * modules/dirname (Files): Move library-safe files into
14632         dirname-lgpl.
14633         (Depends-on): Add dirname-lgpl.
14634         (configure.ac): Declare witness.
14635         * modules/double-slash-root (License): Relax license.
14636         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
14637         module.
14638         * lib/dirname.c (dir_len, mdir_name): Move...
14639         * lib/dirname-lgpl.c: ...into new file.
14640         * lib/basename.c (last_component, base_len): Move...
14641         * lib/basename-lgpl.c: ...into new file.
14642         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
14643         (gl_DIRNAME): Use it.
14644         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
14645         Mention new module.
14646         * modules/dirname-tests (Depends-on): Add progname.
14647         * tests/test-dirname.c (program_name): Delete.
14648
14649         mkdir: make safe for libraries
14650         * modules/mkdir (Depends-on): Drop xalloc.
14651         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
14652         exit.
14653
14654         tests: avoid some compiler warnings
14655         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
14656         literals.
14657         * tests/test-memchr.c (main): Avoid type mismatch.
14658         * tests/test-arpa_inet.c (main): Avoid unused parameters.
14659         * tests/test-base64.c (main): Likewise.
14660         * tests/test-getdelim.c (main): Likewise.
14661         * tests/test-gethostname.c (main): Likewise.
14662         * tests/test-getline.c (main): Likewise.
14663         * tests/test-netinet_in.c (main): Likewise.
14664         * tests/test-select.c (open_server_socket, main): Likewise.
14665         * tests/test-select-stdin.c (main): Likewise.
14666         * tests/test-sockets.c (main): Likewise.
14667         * tests/test-strsignal.c (main): Likewise.
14668         * tests/test-sys_select.c (main): Likewise.
14669         * tests/test-sys_socket.c (main): Likewise.
14670         * tests/test-u64.c (main): Likewise.
14671         * tests/test-xfprintf-posix.c (main): Likewise.
14672         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
14673
14674         sockets: avoid compiler warning
14675         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
14676
14677         maint: detect usage(1) and other suspicious exits
14678         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
14679
14680 2009-10-29  Jim Meyering  <meyering@redhat.com>
14681
14682         timespec: long-to-int truncation could make timespec_cmp malfunction
14683         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
14684         a multiple of 2^32 nanoseconds as no difference.
14685
14686 2009-10-28  Jim Meyering  <meyering@redhat.com>
14687
14688         fprintftime: wrap macro code argument in "do {...} while(0)"
14689         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
14690         cpy macro must be a statement that can be followed by a semicolon.
14691         Now that the else clause contains a comment and is hence longer
14692         than one line, I require curly braces.  That in turn requires
14693         that we wrap this code block in the standard do...while(0).
14694
14695         fprintftime: remove stray semicolon from previous change
14696         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
14697
14698         fprintftime: avoid a warning about ignored fwrite return value
14699         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
14700         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
14701         that is unsafe.
14702         * modules/fprintftime (Depends-on): Add ignore-value.
14703
14704         exclude: avoid an unwarranted warning
14705         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
14706
14707 2009-10-27  Eric Blake  <ebb9@byu.net>
14708
14709         fseek: avoid compilation failure when fflush is replaced
14710         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
14711         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
14712         module is in use.
14713         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
14714         module is not in use; since REPLACE_FSEEK worked otherwise.
14715         (GNULIB_FTELLO): Likewise for ftell.
14716         Reported by Ian Beckwith and others.
14717
14718 2009-10-27  Bruno Haible  <bruno@clisp.org>
14719
14720         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
14721         Reported by Jim Meyering.
14722
14723 2009-10-27  Jim Meyering  <jim@meyering.net>
14724             Bruno Haible  <bruno@clisp.org>
14725
14726         Avoid warning despite dropping the return value of fwrite.
14727         * lib/unicodeio.c: Include ignore-value.h.
14728         (fwrite_success_callback): Explicitly ignore fwrite's return value.
14729         * modules/unicodeio (Depends-on): Add ignore-value.
14730
14731 2009-10-26  Eric Blake  <ebb9@byu.net>
14732
14733         areadlinkat: fix fallback path
14734         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
14735         pointer and zero.
14736
14737 2009-10-22  Pádraig Brady  <P@draigBrady.com>
14738
14739         Use a better IO block size for modern systems
14740         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
14741         * lib/md2.c: Likewise.
14742         * lib/md4.c: Likewise.
14743         * lib/md5.c: Likewise.
14744         * lib/sha1.c: Likewise.
14745         * lib/sha256.c: Likewise.
14746         * lib/sha512.c: Likewise.
14747
14748 2009-10-22  Eric Blake  <ebb9@byu.net>
14749
14750         tests: avoid several compiler warnings
14751         * tests/test-getcwd.c (main): Avoid buffer underflow.
14752         * tests/test-getdate.c (main): String literals are not safe with
14753         putenv, so use setenv.  Declare unused argument.
14754         * modules/getdate-tests (Depends-on): Add setenv.
14755         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
14756         problems with string literals in char *.
14757         * tests/test-hash.c (main): Avoid shadowing declaration.
14758         (insert_new): Treat string literals as char const *.
14759         * tests/test-getopt.h (test_getopt): Likewise.
14760         (getopt_loop): Alter types to minimize casting elsewhere.
14761         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
14762         (test_getopt_long_posix): Likewise.
14763         (do_getopt_long): Add wrapper to minimize casting.
14764         * tests/test-atexit.c (clear_temp_file): Use void.
14765         * tests/test-areadlink-with-size.c (main): Declare unused
14766         arguments.
14767         * tests/test-areadlink.c (main): Likewise.
14768         * tests/test-areadlinkat-with-size.c (main): Likewise.
14769         * tests/test-areadlinkat.c (main): Likewise.
14770         * tests/test-canonicalize-lgpl.c (main): Likewise.
14771         * tests/test-canonicalize.c (main): Likewise.
14772         * tests/test-dirent-safer.c (main): Likewise.
14773         * tests/test-dirname.c (main): Likewise.
14774         * tests/test-dup2.c (main): Likewise.
14775         * tests/test-fchdir.c (main): Likewise.
14776         * tests/test-fcntl-h.c (main): Likewise.
14777         * tests/test-fcntl-safer.c (main): Likewise.
14778         * tests/test-fdopendir.c (main): Likewise.
14779         * tests/test-fdutimensat.c (main): Likewise.
14780         * tests/test-fflush.c (main): Likewise.
14781         * tests/test-filenamecat.c (main): Likewise.
14782         * tests/test-filevercmp.c (main): Likewise.
14783         * tests/test-fopen-safer.c (main): Likewise.
14784         * tests/test-fopen.c (main): Likewise.
14785         * tests/test-fpending.c (main): Likewise.
14786         * tests/test-fpurge.c (main): Likewise.
14787         * tests/test-freading.c (main): Likewise.
14788         * tests/test-fstatat.c (main): Likewise.
14789         * tests/test-fsync.c (main): Likewise.
14790         * tests/test-futimens.c (main): Likewise.
14791         * tests/test-getndelim2.c (main): Likewise.
14792         * tests/test-gettimeofday.c (main): Likewise.
14793         * tests/test-getopt.c (main): Likewise.
14794         * tests/test-i-ring.c (main): Likewise.
14795         * tests/test-inttypes.c (main): Likewise.
14796         * tests/test-link.c (main): Likewise.
14797         * tests/test-lstat.c (main): Likewise.
14798         * tests/test-math.c (main): Likewise.
14799         * tests/test-md5.c (main): Likewise.
14800         * tests/test-memchr2.c (main): Likewise.
14801         * tests/test-memrchr.c (main): Likewise.
14802         * tests/test-mkdir.c (main): Likewise.
14803         * tests/test-mkdirat.c (main): Likewise.
14804         * tests/test-mkfifoat.c (main): Likewise.
14805         * tests/test-open.c (main): Likewise.
14806         * tests/test-openat-safer.c (main): Likewise.
14807         * tests/test-openat.c (main): Likewise.
14808         * tests/test-quotearg.c (main): Likewise.
14809         * tests/test-rawmemchr.c (main): Likewise.
14810         * tests/test-readlink.c (main): Likewise.
14811         * tests/test-remove.c (main): Likewise.
14812         * tests/test-rename.c (main): Likewise.
14813         * tests/test-renameat.c (main): Likewise.
14814         * tests/test-rmdir.c (main): Likewise.
14815         * tests/test-sha1.c (main): Likewise.
14816         * tests/test-signal.c (main): Likewise.
14817         * tests/test-sigaction.c (main): Likewise.
14818         * tests/test-stat.c (main): Likewise.
14819         * tests/test-stat-time.c (main): Likewise.
14820         * tests/test-stddef.c (main): Likewise.
14821         * tests/test-stdint.c (main): Likewise.
14822         * tests/test-stdio.c (main): Likewise.
14823         * tests/test-stdlib.c (main): Likewise.
14824         * tests/test-strchrnul.c (main): Likewise.
14825         * tests/test-strerror.c (main): Likewise.
14826         * tests/test-string.c (main): Likewise.
14827         * tests/test-strtod.c (main): Likewise.
14828         * tests/test-strverscmp.c (main): Likewise.
14829         * tests/test-symlink.c (main): Likewise.
14830         * tests/test-symlinkat.c (main): Likewise.
14831         * tests/test-sys_stat.c (main): Likewise.
14832         * tests/test-sys_time.c (main): Likewise.
14833         * tests/test-time.c (main): Likewise.
14834         * tests/test-unistd.c (main): Likewise.
14835         * tests/test-unlink.c (main): Likewise.
14836         * tests/test-unlinkat.c (main): Likewise.
14837         * tests/test-utimens.c (main): Likewise.
14838         * tests/test-utimensat.c (main): Likewise.
14839         * tests/test-version-etc.c (main): Likewise.
14840         * tests/test-wchar.c (main): Likewise.
14841         * tests/test-wctype.c (main): Likewise.
14842         * tests/test-xprintf-posix.c (main): Likewise.
14843         * tests/test-posixtm.c (main): Likewise.
14844         (STREQ): Delete unused macro.
14845         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
14846         shadowed variables.
14847         * tests/test-memchr.c (main): Likewise.
14848
14849 2009-10-21  Eric Blake  <ebb9@byu.net>
14850
14851         areadlinkat: avoid failure on older glibc
14852         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
14853         rather than mis-comparing 0 against FUNC_RESULT of char*.
14854
14855 2009-10-21  Bruno Haible  <bruno@clisp.org>
14856
14857         * modules/stpncpy (License): Relicense under LGPLv2+.
14858         Reported by David Lutterkort <lutter@redhat.com>.
14859
14860 2009-10-20  Eric Blake  <ebb9@byu.net>
14861
14862         utimensat: work around Solaris 9 bug
14863         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
14864         has trailing slash bugs.
14865         * tests/test-lutimens.h (test_lutimens): Enhance test.
14866         * tests/test-utimens.h (test_utimens): Likewise.
14867         * doc/posix-functions/utime.texi (utime): Enhance documentation.
14868         * doc/posix-functions/utimes.texi (utimes): Likewise.
14869         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
14870         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
14871         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
14872         * doc/posix-functions/futimens.texi (futimens): Likewise.
14873
14874         fdutimensat: new module
14875         * modules/fdutimensat: New file.
14876         * lib/fdutimensat.c (fdutimensat): Likewise.
14877         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
14878         * MODULES.html.sh (File system functions): Mention module.
14879         * modules/fdutimensat-tests: New test.
14880         * tests/test-fdutimensat.c: Likewise.
14881
14882         doc: regenerate INSTALL
14883         * doc/INSTALL: Reflect recent autoconf update.
14884         * doc/INSTALL.ISO: Likewise.
14885         * doc/INSTALL.UTF-8: Likewise.
14886
14887 2009-10-20  Pádraig Brady  <P@draigBrady.com>
14888
14889         acl: warn if ACL support is not detected
14890         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
14891
14892 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
14893
14894         * lib/nproc.h: Add extern "C" block for C++.
14895
14896 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
14897             Bruno Haible  <bruno@clisp.org>
14898
14899         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
14900         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
14901         * doc/posix-functions/isalpha.texi: Likewise.
14902         * doc/posix-functions/isblank.texi: Likewise.
14903         * doc/posix-functions/iscntrl.texi: Likewise.
14904         * doc/posix-functions/isdigit.texi: Likewise.
14905         * doc/posix-functions/isgraph.texi: Likewise.
14906         * doc/posix-functions/islower.texi: Likewise.
14907         * doc/posix-functions/isprint.texi: Likewise.
14908         * doc/posix-functions/ispunct.texi: Likewise.
14909         * doc/posix-functions/isspace.texi: Likewise.
14910         * doc/posix-functions/isupper.texi: Likewise.
14911         * doc/posix-functions/isxdigit.texi: Likewise.
14912
14913 2009-10-18  Bruno Haible  <bruno@clisp.org>
14914
14915         Tests for module 'isblank'.
14916         * modules/isblank-tests: New file.
14917         * tests/test-isblank.c: New file.
14918
14919         New module 'isblank'.
14920         * lib/isblank.c: New file.
14921         * m4/isblank.m4: New file.
14922         * modules/isblank: New file.
14923         * doc/posix-functions/isblank.texi: Mention the new module.
14924
14925 2009-10-18  Bruno Haible  <bruno@clisp.org>
14926
14927         New module 'ctype'.
14928         * lib/ctype.in.h: New file.
14929         * m4/ctype.m4: New file.
14930         * modules/ctype: New file.
14931         * doc/posix-headers/ctype.texi: Mention the new module.
14932
14933 2009-10-18  Jim Meyering  <meyering@redhat.com>
14934
14935         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
14936         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
14937         right after its initialization, rather than farther down.
14938         Keeping these in close proximity makes it easier to ensure
14939         that each such variable is initialized.  E.g.,
14940
14941             LIB_CLOCK_GETTIME=
14942             AC_SUBST([LIB_CLOCK_GETTIME])
14943
14944         This change also increments these serial numbers.
14945         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
14946         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
14947         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
14948
14949 2009-10-18  Bruno Haible  <bruno@clisp.org>
14950
14951         Don't let environment variables perturb build.
14952         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
14953         (gl_PREREQ_GETHRXTIME): ... not here.
14954
14955 2009-10-18  Bruno Haible  <bruno@clisp.org>
14956
14957         Avoid symlink attack in localcharset module.
14958         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
14959         (O_NOFOLLOW): Define fallback.
14960         (get_charset_aliases): Don't open the file if it is a symbolic link.
14961         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
14962         gl_FCNTL_H.
14963         (gl_FCNTL_H): Require it.
14964         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
14965         * modules/localcharset (Files): Add m4/fcntl_h.m4.
14966         Reported by Fergal Glynn <fglynn@veracode.com>.
14967
14968 2009-10-18  Bruno Haible  <bruno@clisp.org>
14969
14970         Implement nproc for mingw.
14971         * lib/nproc.c: Include <windows.h>
14972         (num_processors): On native Windows platforms, try GetSystemInfo.
14973
14974 2009-10-18  Bruno Haible  <bruno@clisp.org>
14975
14976         Implement nproc for IRIX.
14977         * lib/nproc.c: Include <sys/sysmp.h>.
14978         (num_processors): On IRIX systems, try sysmp.
14979         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
14980
14981 2009-10-18  Bruno Haible  <bruno@clisp.org>
14982
14983         Implement nproc for HP-UX.
14984         * lib/nproc.c: Include <sys/pstat.h>
14985         (num_processors): On HP-UX systems, try pstat_getdynamic.
14986         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
14987         pstat_getdynamic.
14988
14989 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
14990             Bruno Haible  <bruno@clisp.org>
14991
14992         Implement nproc for NetBSD, OpenBSD.
14993         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
14994         (ARRAY_SIZE): New macro.
14995         (num_processors): On BSD systems, try sysctl of HW_NCPU.
14996         * m4/nproc.m4: New file.
14997         * modules/nproc (Files): Add m4/nproc.m4.
14998         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
14999         (Makefile.am): Instead, augment lib_SOURCES.
15000
15001 2009-10-18  Bruno Haible  <bruno@clisp.org>
15002
15003         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
15004         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
15005         sys/param.h.
15006
15007 2009-10-16  Eric Blake  <ebb9@byu.net>
15008
15009         utimensat: new module
15010         * modules/utimensat: New file.
15011         * lib/utimensat.c (utimensat): Likewise.
15012         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
15013         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
15014         so we can work around Linux bugs.
15015         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15016         * modules/sys_stat (Makefile.am): Substitute them.
15017         * lib/sys_stat.in.h (utimensat): Declare it.
15018         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15019         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15020         * modules/utimensat-tests: New test.
15021         * tests/test-utimensat.c: Likewise.
15022
15023         utimens: let lutimens work on non-symlinks
15024         * lib/utimens.c (lutimens): Fall back to utimens rather than
15025         failing with ENOSYS, when file is not a symlink.
15026         (utimens): Reduce redirection.
15027         * tests/test-lutimens.h (test_lutimens): Update test to cover
15028         non-symlinks.
15029         * tests/test-utimens.h (test_utimens): Update test to cover
15030         symlinks.
15031         * tests/test-utimens.c (main): Update caller.
15032
15033         utimens: cache whether utimensat syscall works
15034         * lib/utimens.c (utimensat_works_really): New cache variable.
15035         (fdutimens, lutimens): Use it to avoid failing syscall.
15036
15037         test-stat-time, test-utimens: improve portability
15038         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
15039         ext4 on alpha, and for cygwin.
15040         * tests/test-utimens-common.h: New file.
15041         (nap): Factor delays into single function.
15042         * tests/test-lutimens.h (test_lutimens): Use new header.
15043         * tests/test-futimens.h (test_futimens): Likewise.
15044         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
15045         timestamps to occur from same machine, as was done previously for
15046         test_utimens.
15047         * modules/utimens-tests (Files): Ship new file.
15048         * modules/futimens-tests (Files): Likewise.
15049         Reported in part by Jim Meyering.
15050
15051         sys_stat: sort replacement declarations
15052         * lib/sys_stat.in.h: Sort declarations.
15053         * lib/futimens.c (futimens): Fix typo.
15054
15055 2009-10-15  Jim Meyering  <meyering@redhat.com>
15056
15057         don't let environment settings perturb build
15058         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
15059         could cause a configure-time and/or build-time malfunction.
15060         Typically, a configure-time function-in-library test is performed
15061         via code like this:
15062
15063           LIB_VAR=
15064           AC_SUBST([LIB_VAR])
15065           prefix_saved_LIBS=$LIBS
15066             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
15067                        [test "$ac_cv_search_FUNC" = "none required" ||
15068                         LIB_VAR=$ac_cv_search_FUNC])
15069           LIBS=$prefix_saved_LIBS
15070
15071         However, in each of the files affected by this change, the LIB_VAR=
15072         initialization was omitted.  Thus, when set in the environment, its
15073         value would propagate into generated Makefiles when FUNC is not found
15074         in LIB_NAME.
15075         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
15076         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
15077         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15078
15079 2009-10-14  Eric Blake  <ebb9@byu.net>
15080
15081         fchdir: avoid infinite recursion in mingw
15082         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
15083         recursing.
15084
15085         test-stat-time: port to mingw
15086         * tests/test-stat-time.c (force_unlink): Return a value.
15087         (test_ctime) [W32]: Fix compilation error.
15088         (nap): Don't call usleep with too large an argument.  Use
15089         force_unlink.
15090         * doc/pastposix-functions/usleep.texi (usleep): Document the
15091         portability issue.
15092
15093 2009-10-13  Jim Meyering  <meyering@redhat.com>
15094
15095         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
15096         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
15097         * modules/pipe-filter-ii: Likewise.
15098         * modules/sys_socket-tests: Likewise.
15099         * modules/tsearch-tests: Likewise.
15100         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
15101         (check): Depend on it.
15102
15103 2009-10-12  Eric Blake  <ebb9@byu.net>
15104
15105         utimens-tests: port to NFS file systems
15106         * tests/test-utimens.h (test_utimens): Refactor utimecmp
15107         comparisons to avoid spurious failures from timestamp drift
15108         between NFS machines.
15109
15110 2009-10-12  Eric Blake  <ebb9@byu.net>
15111
15112         stat-time-tests: minor cleanups
15113         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
15114         * tests/test-stat-time.c (nap): Separate assignment from call.
15115         Suggested by Paolo Bonzini and Bruno Haible.
15116
15117         sys_stat: guarantee struct timespec
15118         * lib/sys_stat.in.h (includes): Always include <time.h>
15119         * modules/sys_stat (Depends-on): Add time.
15120         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
15121         mode_t permission values.
15122         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
15123         get at subsecond timestamps.
15124
15125 2009-10-10  Eric Blake  <ebb9@byu.net>
15126
15127         futimens: new module
15128         * modules/futimens: New file.
15129         * lib/futimens.c (futimens): Likewise.
15130         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
15131         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
15132         we can work around Linux bugs.
15133         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15134         * modules/sys_stat (Makefile.am): Substitute them.
15135         * lib/sys_stat.in.h (futimens): Declare it.
15136         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15137         * doc/posix-functions/futimens.texi (futimens): Likewise.
15138         * modules/futimens-tests: New test.
15139         * tests/test-futimens.c: Likewise.
15140
15141         utimens: introduce fdutimens
15142         * lib/utimens.h (fdutimens): New prototype.
15143         * lib/utimens.c (gl_futimens): Move guts...
15144         (fdutimens): ...to new interface.
15145         * tests/test-utimens.c (do_fdutimens): Use it.
15146
15147         utimens: add UTIME_NOW and UTIME_OMIT support
15148         * lib/utimens.c (validate_timespec, update_timespec): New helper
15149         functions.
15150         (gl_futimens, lutimens): Use them.
15151         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
15152         stdbool, sys_stat.
15153         (Link): Mention resulting library dependency.
15154         * modules/utimecmp (Link): Likewise.
15155         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
15156         (Makefile.am): Pick up library dependency.
15157         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
15158         definition.
15159         * tests/test-sys_stat.c: Test the definitions.
15160         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
15161         * NEWS: Document library dependency.
15162
15163         utimecmp: support symlink timestamps
15164         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
15165         hashing when possible.  Use pathconf when available.
15166         (SYSCALL_RESOLUTION): Recognize tighter resolution.
15167         * modules/utimecmp (Depends-on): Add lstat.
15168
15169         utimens: add lutimens interface
15170         * lib/utimens.c (lutimens): New function.
15171         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
15172         * lib/utimens.h (lutimens): Declare new interface.
15173         * tests/test-utimens.c (main): Enhance test.
15174         * tests/test-lutimens.h (test_lutimens): New file.
15175         * modules/utimens-tests (Files): Distribute it.
15176         (Depends-on): Add symlink.
15177         (configure.ac): Check for usleep.
15178
15179         utimens: validate futimens usage
15180         * lib/utimens.c (gl_futimens): Require valid fd up front, using
15181         fewer syscalls on failure later on.  Avoid compiler warning on
15182         mingw.
15183         * modules/utimens (Depends-on): Add dup2.
15184
15185         utimens: add test
15186         * modules/utimens-tests: New test.
15187         * tests/test-utimens.h: New file.
15188         * tests/test-futimens.h: Likewise.
15189         * tests/test-utimens.c: Likewise.
15190
15191         doc: mention timestamp portability issues
15192         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
15193         instead.
15194         * doc/posix-functions/utime.texi (utime): Likewise.
15195         * doc/posix-functions/utimes.texi (utimes): Likewise.
15196         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
15197         instead.
15198         * doc/posix-functions/futimens.texi (futimens): Mention utimens
15199         module.
15200         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15201         Mention weakness with symlink timestamps.
15202         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
15203         to utimensat/futimens instead.
15204         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
15205
15206         test-dup2: enhance test
15207         * tests/test-dup2.c (main): Also check AT_FDCWD.
15208
15209         test-stat-time: avoid more spurious failures
15210         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
15211         xfs; and avoid race if the two timestamps cross quantization edge.
15212
15213         relocatable: prefer 'file system' over 'filesystem'
15214         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
15215         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
15216         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
15217         * doc/relocatable.texi (Enabling Relocatability): Likewise.
15218         * lib/relocatable.c (compute_curr_prefix): Likewise.
15219
15220 2009-10-10  Jim Meyering  <meyering@redhat.com>
15221
15222         stat-time-tests: check for the usleep function
15223         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
15224
15225 2009-10-10  Bruno Haible  <bruno@clisp.org>
15226
15227         * modules/xnanosleep: Put the Link section after the Include section.
15228
15229 2009-10-09  Eric Blake  <ebb9@byu.net>
15230
15231         dup2: work around FreeBSD 6.1 bug
15232         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
15233         * doc/posix-functions/dup2.texi (dup2): Document it.
15234         Reported by Nelson H. F. Beebe and Jim Meyering.
15235
15236         test-stat-time: port to buggy NFS clients
15237         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
15238         (test_ctime): Also skip test if mtime and ctime are skewed.
15239
15240         maint: prefer 'file system' over 'filesystem'
15241         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
15242         * doc/posix-functions/lstat.texi (lstat): Likewise.
15243         * lib/file-has-acl.c (file_has_acl): Likewise.
15244         * lib/fwriteerror.c [TEST]: Likewise.
15245         * tests/test-areadlink.h (test_areadlink): Likewise.
15246         * tests/test-areadlinkat-with-size.c (main): Likewise.
15247         * tests/test-areadlinkat.c (main): Likewise.
15248         * tests/test-canonicalize-lgpl.c (main): Likewise.
15249         * tests/test-canonicalize.c (main): Likewise.
15250         * tests/test-fstatat.c (main): Likewise.
15251         * tests/test-linkat.c (main): Likewise.
15252         * tests/test-lstat.h (test_lstat_func): Likewise.
15253         * tests/test-mkdir.h (test_mkdir): Likewise.
15254         * tests/test-readlink.h (test_readlink): Likewise.
15255         * tests/test-remove.c (main): Likewise.
15256         * tests/test-rename.h (test_rename): Likewise.
15257         * tests/test-renameat.c (main): Likewise.
15258         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15259         * tests/test-symlink.h (test_symlink): Likewise.
15260         * tests/test-symlinkat.c (main): Likewise.
15261         * tests/test-unlink.h (test_unlink_func): Likewise.
15262         * tests/test-unlinkat.c (main): Likewise.
15263
15264         maint: make realtime library usage explicit
15265         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
15266         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
15267         * modules/settime (Link): Likewise.
15268         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
15269
15270         test-stat-time: speed up execution
15271         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
15272         warning on mingw.
15273         (nap): New helper function.
15274         (prepare_test): Use it to reduce sleep time.
15275         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
15276         execution.
15277         * modules/stat-time-tests (configure.ac): Check for usleep.
15278
15279 2009-10-09  Jim Meyering  <meyering@redhat.com>
15280
15281         selinux-h: always use getfilecon wrappers
15282         * lib/getfilecon.c: New file.
15283         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
15284         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
15285         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
15286         (fgetfilecon): Provide a stub.
15287         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
15288         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
15289         file unconditionally.
15290         When <selinux/selinux.h> is found, arrange to use wrappers.
15291         * modules/selinux-h (Files): Add getfilecon.c.
15292         (Makefile.am): Substitute include-next-related bits
15293         into the now-always-generated selinux/selinux.h file.
15294         * doc/glibc-functions/lgetfilecon.texi: New file.
15295         * doc/glibc-functions/fgetfilecon.texi: New file.
15296         * doc/glibc-functions/getfilecon.texi: New file.
15297         * doc/glibc-functions/getfilecon-desc.texi: New file.
15298         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
15299         which to pull in the new files.
15300         * MODULES.html.sh (Misc): Add selinux-h.
15301
15302 2009-10-08  Jim Meyering  <meyering@redhat.com>
15303
15304         unistd: fix comment typo
15305         * lib/unistd.in.h (euidaccess): Fix a comment typo.
15306
15307 2009-10-08  Eric Blake  <ebb9@byu.net>
15308
15309         areadlink: use SIZE_MAX consistently
15310         * modules/areadlink (Depends-on): Add stdint.
15311         * modules/areadlink-with-size (Depends-on): Likewise.
15312         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
15313         gives NULL; drop sys/types, since unistd gives size_t; and add
15314         stdint for SIZE_MAX.
15315         (SIZE_MAX): Rely on headers.
15316         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
15317         and add stdint.
15318         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
15319         (SIZE_MAX): Likewise.
15320         (INITIAL_BUF_SIZE): Turn into enum.
15321         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
15322
15323 2009-10-08  Jim Meyering  <meyering@redhat.com>
15324
15325         areadlinkat: avoid compilation failure
15326         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
15327         Fix typo in comment.
15328
15329 2009-10-07  Eric Blake  <ebb9@byu.net>
15330
15331         areadlinkat-with-size: new module
15332         * modules/areadlinkat-with-size: New module.
15333         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
15334         * lib/areadlink.h (areadlinkat): Declare it.
15335         * MODULES.html.sh (File system functions): Mention it.
15336         * modules/areadlinkat-with-size-tests: New test.
15337         * tests/test-areadlinkat-with-size.c: New file.
15338
15339         xreadlinkat: new module
15340         * modules/xreadlinkat: New module.
15341         * lib/xreadlinkat.c (xreadlinkat): New file.
15342         * lib/xreadlink.h (xreadlinkat): Declare it.
15343         * MODULES.html.sh (File system functions): Mention it.
15344
15345         areadlinkat: new module
15346         * lib/at-func.c (FUNC_FAIL): New define.
15347         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
15348         * modules/areadlinkat: New module.
15349         * lib/linkat.c (areadlinkat): Move...
15350         * lib/areadlinkat.c (areadlinkat): ...to new file.
15351         * lib/areadlink.h (areadlinkat): Declare it.
15352         * modules/linkat (Depends-on): Add areadlinkat.
15353         * MODULES.html.sh (File system functions): Mention it.
15354         * modules/areadlinkat-tests: New test.
15355         * tests/test-areadlinkat.c: New file.
15356
15357         areadlink, areadlink-with-size: add tests
15358         * modules/areadlink-tests: New test.
15359         * modules/areadlink-with-size-tests: Likewise.
15360         * tests/test-areadlink.h: New file.
15361         * tests/test-areadlink.c: Likewise.
15362         * tests/test-areadlink-with-size.c: Likewise.
15363
15364         maint: minor cleanups
15365         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
15366         _UNUSED_PARAMETER_ instead.
15367         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
15368         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
15369         * modules/linkat-tests (Files): Distribute test-link.h.
15370
15371         openat, utimens: whitespace cleanup
15372         * lib/openat.c: Prefer space throughout, rather than mix of 8
15373         spaces vs. tabs.
15374         * lib/at-func.c: Likewise.
15375         * lib/utimens.c: Likewise.
15376
15377         openat: avoid using wrong fd
15378         * lib/openat.c (openat_permissive): Reject user's fd if saving the
15379         working directory chooses same fd.
15380         * lib/at-func.c (AT_FUNC_NAME): Likewise.
15381
15382         mkdir, mkdirat: fix cygwin 1.5.x bug
15383         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
15384         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
15385         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
15386         bug.
15387         (gl_PREREQ_MKDIR): Delete unused macro.
15388         * modules/mkdir (Files): Track file rename.
15389         (configure.ac): Update macro name.
15390         * modules/openat (Depends-on): Add mkdir.
15391         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
15392
15393         mkdir, mkdirat: add tests
15394         * modules/mkdir-tests: New test.
15395         * tests/test-mkdir.h: New file.
15396         * tests/test-mkdir.c: Likewise.
15397         * tests/test-mkdirat.c: Likewise.
15398         * modules/openat-tests (Files): Add new files.
15399         (Makefile.am): Run new test.
15400
15401 2009-10-06  Eric Blake  <ebb9@byu.net>
15402
15403         doc: tweak *at function documentation
15404         * doc/posix-functions/faccessat.texi (faccessat): Mention
15405         known issue with replacement.
15406         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
15407         * doc/posix-functions/linkat.texi (linkat): Likewise.
15408         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
15409         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
15410         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15411         * doc/posix-functions/renameat.texi (renameat): Likewise.
15412         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
15413
15414         openat: fix GNU/Hurd bug in unlinkat
15415         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
15416         broken.
15417         * doc/posix-functions/unlink.texi (unlink): Document this.
15418         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
15419
15420         fdopendir: fix GNU/Hurd bug
15421         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
15422         allowing non-directory fds.
15423         * lib/fdopendir.c (rpl_fdopendir): Work around it.
15424         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
15425         * modules/dirent (Makefile.am): Substitute it.
15426         * lib/dirent.in.h (fdopendir): Declare replacement.
15427         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
15428         * tests/test-fdopendir.c (main): Test something other than
15429         /dev/null, since on Hurd that behaves like a directory.
15430
15431         test-symlink: port to GNU/Hurd
15432         * tests/test-symlink.h (test_symlink): Relax expected errno.
15433
15434         doc: tweak more cygwin information
15435         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
15436         now compatible with glibc.
15437         * doc/posix-functions/getopt.texi (getopt): Likewise.
15438
15439         getopt-gnu: add another test
15440         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
15441         guarantee behavior relied on by m4.
15442         * tests/test-getopt.c (main): Use it.
15443         * modules/getopt-posix-tests (Depends-on): Add setenv.
15444         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
15445
15446         getopt: fix compilation on darwin
15447         * lib/getopt.in.h (includes): Leave breadcrumbs during system
15448         include.
15449         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
15450         Reported by Ludovic Courtès.
15451
15452 2009-10-06  Bruno Haible  <bruno@clisp.org>
15453
15454         * modules/size_max (Description): Discourage its use.
15455         Reported by Simon Josefsson.
15456
15457 2009-10-06  Jim Meyering  <meyering@redhat.com>
15458
15459         linkat: avoid compilation failure
15460         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
15461
15462 2009-10-05  Eric Blake  <ebb9@byu.net>
15463
15464         linkat: support Linux 2.6.17
15465         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
15466         linkat on Linux, but allow cache variable override.
15467         * lib/linkat.c (rpl_linkat): Define override.
15468         * modules/linkat (Depends-on): Add symlinkat.
15469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
15470         * modules/unistd (Makefile.am): Substitute it.
15471         * lib/unistd.in.h (linkat): Declare replacement.
15472         Reported by Pádraig Brady.
15473
15474         quotearg: port test to systems with C.UTF-8 locale
15475         * tests/test-quotearg.c (struct result_strings): Add another
15476         member, differentiating between C.ASCII and C.UTF-8 handling.
15477         (compare_strings): Add parameter.
15478         (main): Adjust all callers.
15479
15480         getopt: avoid clash with FreeBSD _getopt_internal
15481         * lib/getopt.in.h (_getopt_internal): Override the name.
15482         * lib/getopt_int.h (includes): Pick up any overrides.
15483         Reported by Reuben Thomas.
15484
15485         hash: allow C89 compilation
15486         * lib/hash.c (check_tuning): Move declaration before statement.
15487         Reported by Reuben Thomas.
15488
15489 2009-10-05  Karl Berry  <karl@gnu.org>
15490
15491         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
15492
15493 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
15494             Bruno Haible  <bruno@clisp.org>
15495
15496         * lib/uname.c (uname): Use a table-driven algorithm to compute
15497         Windows NT versions.
15498
15499 2009-10-04  Bruno Haible  <bruno@clisp.org>
15500
15501         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
15502         program_invocation_short_name.
15503         * modules/progname (configure.ac): Test for presence of
15504         program_invocation_short_name.
15505         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
15506
15507 2009-10-04  Bruno Haible  <bruno@clisp.org>
15508
15509         * lib/progname.c (set_program_name): Fix comment.
15510         Reported by Jim Meyering.
15511
15512 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
15513             Bruno Haible  <bruno@clisp.org>
15514
15515         * lib/uname.c: Include <string.h>.
15516         (uname): Do only one call to GetVersionEx in the common case.
15517
15518 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
15519             Bruno Haible  <bruno@clisp.org>
15520
15521         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
15522         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
15523         (uname): Add support for Windows CE and various non-x86 CPU types.
15524
15525 2009-10-03  Bruno Haible  <bruno@clisp.org>
15526
15527         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
15528         invocation to tests/configure.ac.
15529         Reported by Ian Beckwith <ianb@erislabs.net>.
15530
15531 2009-10-02  Eric Blake  <ebb9@byu.net>
15532
15533         fchdir: avoid compiler warning
15534         * lib/fchdir.c (canonicalize_file_name)
15535         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
15536
15537         test-open: support mingw errno values
15538         * tests/test-open.h (test_open): Relax test.
15539         * tests/test-fopen.h (test_fopen): Likewise.
15540         * tests/test-openat-safer.c (main): Likewise.
15541
15542         open: fix opening directory on mingw
15543         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
15544
15545         test-open: on GNU/Hurd, /dev/null is a directory
15546         * tests/test-fopen.h (main): Rename...
15547         (test_fopen): ...to this.  Use a guaranteed non-directory when
15548         confirming open behavior on trailing slash.
15549         * tests/test-openat-safer.c (main): Likewise.
15550         * tests/test-open.h (main): Likewise....
15551         (test_open): ...to this.
15552         * tests/test-fopen.c (main): Adjust caller.
15553         * tests/test-fopen-safer.c (main): Likewise.
15554         * tests/test-open.c (main): Likewise.
15555         * tests/test-fcntl-safer.c (main): Likewise.
15556         Reported by Samuel Thibault.
15557
15558         rename, fchdir: don't ignore chdir failure
15559         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
15560         * lib/rename.c (rpl_rename) [W32]: Likewise.
15561         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
15562         an empty destination directory if source cannot be renamed,
15563         although there is still possibility for failure.
15564         * doc/posix-functions/rename.texi (rename): Document the race.
15565         Reported by Jim Meyering.
15566
15567         maint: cleanup whitespace in recent commits
15568         * lib/rename.c (rpl_rename): Remove tabs.
15569         * tests/test-link.h (test_link): Likewise.
15570         * lib/fchdir.c (get_name): Likewise.
15571         Reported by Jim Meyering.
15572
15573 2009-10-02  Ben Pfaff  <blp@gnu.org>
15574
15575         relocatable-prog-wrapper: Add missing dependency on
15576         double-slash-root.
15577         * modules/relocatable-prog-wrapper: Add dependency.
15578         Reported by Ian Beckwith <ianb@erislabs.net>.
15579
15580 2009-10-02  Eric Blake  <ebb9@byu.net>
15581
15582         renameat: fix Solaris bugs
15583         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
15584         needed fixing.
15585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
15586         * modules/stdio (Makefile.am): Substitute it.
15587         * lib/stdio.in.h (renameat): Declare replacement.
15588         * lib/renameat.c (rpl_renameat): Implement fix.
15589
15590         renameat: new module
15591         * modules/renameat: New file.
15592         * lib/renameat.c (renameat): Likewise.
15593         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
15594         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
15595         * modules/stdio (Makefile.am): Substitute them.
15596         * lib/stdio.in.h (renameat): Declare it.
15597         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15598         * doc/posix-functions/renameat.texi (renameat): Likewise.
15599         * modules/renameat-tests: New test.
15600         * tests/test-renameat.c: Likewise.
15601
15602         rename: fix mingw bugs
15603         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
15604         directory overwrite bugs.
15605
15606         rename: fix another cygwin 1.5 bug
15607         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
15608         checks.
15609         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
15610         unnecessary cygwin workarounds.  Also work around bug with moving
15611         full directory onto an empty one.
15612         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
15613
15614         rename-dest-slash: merge into rename module
15615         * modules/rename-dest-slash (Status): Mark obsolete.
15616         (Depends-on): Add rename.
15617         (Files): Let rename do it all.
15618         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
15619         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
15620         * m4/rename-dest-slash.m4: ...so this file can be deleted.
15621         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
15622         * lib/rename.c (rpl_rename): Update comments.
15623
15624         rename: fix cygwin 1.5.x bugs
15625         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
15626         * lib/rename.c (rpl_rename): Work around them.
15627         * modules/rename (Depends-on): Add same-inode.
15628
15629         rename: fix Solaris 10 bug
15630         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
15631         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
15632         was the only bug.
15633
15634         rename: fix Solaris 9 bug
15635         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
15636         on non-directory.  Avoid calling exit.
15637         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
15638         strdup.
15639         * modules/rename-tests (Depends-on): Drop lstat.
15640         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
15641         (gl_PREREQ_RENAME): Delete unused macro.
15642
15643         rename-dest-slash: fix NetBSD bug
15644         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
15645         links.
15646         * modules/rename-dest-slash (Depends-on): Add same-inode.
15647
15648         rename-tests: new test, exposes several platform bugs
15649         * modules/rename-tests: New file.
15650         * tests/test-rename.h: Likewise.
15651         * tests/test-rename.c: Likewise.
15652         * doc/posix-functions/rename.texi (rename): Improve documentation,
15653         including bugs that will eventually be fixed in gnulib.
15654
15655 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
15656
15657         * lib/uname.c: Include <stdlib.h>
15658         (uname): Assume version info is available.
15659
15660 2009-10-02  Jim Meyering  <meyering@redhat.com>
15661
15662         gnu-web-doc-update: correct --help output
15663         * build-aux/gnu-web-doc-update: Make --help output relevant.
15664
15665         gnu-web-doc-update: add standard options
15666         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
15667
15668         gnu-web-doc-update: New module.
15669         Use this script to automatically update the on-line web documentation
15670         for your GNU project at http://www.gnu.org/software/$pkg/manual/
15671         * modules/gnu-web-doc-update: New file, from coreutils.
15672         * build-aux/gnu-web-doc-update: New script.
15673
15674 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
15675
15676         link: LoadLibrary is not needed.
15677         * lib/link.c: Use GetModuleHandle.
15678
15679 2009-10-01  Eric Blake  <ebb9@byu.net>
15680
15681         getopt: bump serial number
15682         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
15683         change.
15684
15685         tests: tighten link, rmdir, and remove tests
15686         * tests/test-link.h (includes): No need to use <config.h> here.
15687         Clean up if directory hard link was created, otherwise test for
15688         trailing '.'.
15689         * tests/test-linkat.c (main): Simplify.
15690         * tests/test-remove.c (main): Enhance test for trailing '.'.
15691         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15692
15693 2009-10-01  Jim Meyering  <meyering@redhat.com>
15694
15695         maint.mk: requiring "make major" was annoying, for a "minor" release.
15696         What is intended is "stable", to contrast with alpha and beta,
15697         so require "make stable", not "make major".
15698         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
15699         (get_tool_versions): Likewise.
15700         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
15701
15702 2009-09-30  Ben Pfaff  <blp@gnu.org>
15703
15704         Fix broken build of replacement for Windows tmpfile().
15705         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
15706         flags argument added along with the 'mkostemp' module.
15707
15708 2009-09-28  Bruno Haible  <bruno@clisp.org>
15709
15710         Avoid identifier clash with POSIX function 'remove' defined as a macro.
15711         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
15712         to 'remove_elt'.
15713         (gl_list_remove): Update.
15714         * lib/gl_list.c (gl_list_remove): Update.
15715         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
15716         to 'remove_elt'.
15717         (gl_oset_remove): Update.
15718         * lib/gl_list.c (gl_oset_remove): Update.
15719         Reported by Eric Blake.
15720
15721 2009-09-28  Eric Blake  <ebb9@byu.net>
15722
15723         doc: mention yet more cygwin 1.7 status
15724         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
15725         cygwin.
15726         * doc/glibc-functions/execvpe.texi (execvpe): New file.
15727         * doc/gnulib.texi (Glibc unistd.h): Mention it.
15728
15729         argp: fix test failure
15730         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
15731         that are not upper-case.  Pass correct range to tolower.
15732
15733 2009-09-27  Jim Meyering  <meyering@redhat.com>
15734
15735         test-yesno: work around sparc-dash here-document infelicity
15736         Without this change, the literal \177 byte in a here document
15737         would make dash 0.5.5.1-3 access uninitialized memory.
15738         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
15739         Instead, use a marker, "@", and filter through tr to create the desired
15740         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
15741
15742 2009-09-27  Bruno Haible  <bruno@clisp.org>
15743
15744         Disable untested support for new flavours of ACLs on AIX.
15745         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
15746         progress.
15747         * lib/set-mode-acl.c (qset_acl): Likewise.
15748
15749 2008-12-07  Bruno Haible  <bruno@clisp.org>
15750
15751         Add support for new flavours of ACLs on AIX. (Untested.)
15752         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
15753         (file_has_acl): Add support for newer AIX.
15754         * lib/set-mode-acl.c (qset_acl): Likewise.
15755         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
15756         Rainer Tammer <tammer@tammer.net>.
15757
15758 2009-09-26  Eric Blake  <ebb9@byu.net>
15759
15760         argp: fix compilation of getopt
15761         * lib/getopt.in.h (includes): Use different guard than glibc.
15762         Reported by Sergey Poznyakoff.
15763
15764         doc: mention more cygwin 1.7 status
15765         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
15766         bug.
15767         * doc/posix-functions/execl.texi (execl): Likewise.
15768         * doc/posix-functions/execle.texi (execle): Likewise.
15769         * doc/posix-functions/execlp.texi (execlp): Likewise.
15770         * doc/posix-functions/execv.texi (execv): Likewise.
15771         * doc/posix-functions/execve.texi (execve): Likewise.
15772         * doc/posix-functions/execvp.texi (execvp): Likewise.
15773         * doc/glibc-functions/canonicalize_file_name.texi
15774         (canonicalize_file_name): Cygwin 1.7 now provides this.
15775         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
15776         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
15777         on AT_SYMLINK_NOFOLLOW.
15778
15779 2009-09-24  Eric Blake  <ebb9@byu.net>
15780
15781         test-linkat: make test more robust
15782         * tests/test-linkat.c (main): Avoid collision with EEXIST.
15783
15784         getopt: fix inclusion guards for cygwin
15785         * modules/getopt-posix (Depends-on): Add include-next.
15786         (Makefile.am): Substitute more items in replacement header.
15787         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
15788         <getopt.h>.
15789         * lib/getopt.in.h (includes): Use split inclusion guard, and
15790         prefer <getopt.h> over include <unistd.h> when one is present.
15791         (option): Also override name of 'struct option'.
15792
15793         same-inode: revert prior change; it is not yet ready
15794         * NEWS: Undo mention of this change.
15795         * lib/same-inode.h (same-inode.h): Undo tri-state change.
15796         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
15797         * lib/cycle-check.c (cycle_check): Likewise.
15798         * lib/same.c (same_name): Likewise.
15799         * lib/at-func2.c (at_func2): Likewise.
15800
15801 2009-09-23  Eric Blake  <ebb9@byu.net>
15802
15803         linkat: new module
15804         * modules/linkat: New file.
15805         * lib/at-func2.c (at_func2): Likewise.
15806         * lib/linkat.c (linkat): Likewise.
15807         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
15808         * lib/openat-priv.h (at_func2): Add declaration.
15809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
15810         * modules/unistd (Makefile.am): Substitute them.
15811         * lib/unistd.in.h (linkat): Declare it.
15812         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15813         * doc/posix-functions/linkat.texi (linkat): Likewise.
15814         * doc/posix-functions/link.texi (link): Tweak wording.
15815         * tests/test-link.c (main): Move guts...
15816         * tests/test-link.h (test_link): ...into new file.
15817         * modules/linkat-tests: New test.
15818         * tests/test-linkat.c: Likewise.
15819         * modules/link-tests (Files): Ship new file.
15820         (Depends-on): Add stdbool.
15821
15822         dirname: add library-safe mdir_name
15823         * lib/dirname.h (mdir_name): New prototype.
15824         * lib/dirname.c (dir_name): Move guts...
15825         (mdir_name): ...to new function that avoids xalloc_die.
15826
15827         fchdir: another mingw fix
15828         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
15829         * lib/fchdir.c (get_name): New helper method; skips canonicalize
15830         on mingw (where it has not yet been ported), and make it optional
15831         elsewhere.
15832         (_gl_register_fd): Use it.
15833
15834         same-inode: make SAME_INODE tri-state, to port to mingw
15835         * NEWS: Mention this change.
15836         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
15837         st_ino always being 0.
15838         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
15839         * lib/cycle-check.c (cycle_check): Likewise.
15840         * lib/same.c (same_name): Likewise.
15841
15842         lstat: avoid mingw compilation error
15843         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
15844         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
15845         lstat ourselves.
15846         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
15847         was adequate.
15848         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
15849         the checks for lstat.
15850         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
15851
15852         link: fix test failure on Solaris 9
15853         * lib/link.c (rpl_link): Don't assume link will catch bogus
15854         trailing slash on source.
15855
15856         test-symlinkat: enhance test
15857         * tests/test-readlink.c (main): Move guts...
15858         * tests/test-readlink.h (test_readlink): ...into new file.
15859         * tests/test-symlink.c (main): Move guts...
15860         * tests/test-symlink.h (test_symlink): ...into new file.
15861         * tests/test-symlinkat.c (main): Use new files for further
15862         coverage.
15863         (do_symlink, do_readlink): New helper functions.
15864         * modules/symlink-tests (Files): Ship new file.
15865         (Depends-on): Add stdbool.
15866         * modules/readlink-tests (Files): Ship new file.
15867         (Depends-on): Add stdbool.
15868         * modules/symlinkat-tests (Files): Use new files.
15869
15870 2009-09-23  Eric Blake  <ebb9@byu.net>
15871
15872         readlink: document portability issue with symlink length
15873         * doc/posix-functions/lstat.texi (lstat): Mention that some file
15874         systems have bogus st_size on symlinks, and mention the
15875         areadlink-with-size module.
15876         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
15877         * doc/posix-functions/readlink.texi (readlink): Mention the
15878         areadlink module, and ERANGE failure.
15879         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15880         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
15881
15882         readlink: fix Solaris 9 bug with trailing slash
15883         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
15884         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
15885         * doc/posix-functions/readlink.texi (readlink): Document this.
15886         * modules/readlink-tests: New test.
15887         * tests/test-readlink.c: Likewise.
15888
15889         readlink: fix cygwin 1.5.x bug with return type
15890         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
15891         * lib/unistd.in.h (readlink): Use ssize_t.
15892         * lib/readlink.c (readlink): Likewise.
15893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
15894         * modules/unistd (Makefile.am): Substitute it.
15895         * lib/unistd.in.h (readlink): Declare replacement.
15896         * doc/posix-functions/readlink.texi (readlink): Document this.
15897
15898         symlink: use throughout gnulib
15899         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
15900         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
15901         symlink is not used.
15902         * modules/symlinkat (Depends-on): Add symlink.
15903         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15904         * modules/canonicalize-tests (Depends-on): Likewise.
15905         * modules/lstat-tests (Depends-on): Likewise.
15906         * modules/openat-tests (Depends-on): Likewise.
15907         * modules/remove-tests (Depends-on): Likewise.
15908         * modules/rmdir-tests (Depends-on): Likewise.
15909         * modules/unlink-tests (Depends-on): Likewise.
15910         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
15911         * tests/test-canonicalize.c (symlink): Likewise.
15912         * tests/test-fstatat.c (symlink): Likewise.
15913         * tests/test-lstat.c (symlink): Likewise.
15914         * tests/test-remove.c (symlink): Likewise.
15915         * tests/test-rmdir.c (symlink): Likewise.
15916         * tests/test-unlink.c (symlink): Likewise.
15917         * tests/test-unlinkat.c (symlink): Likewise.
15918
15919         symlink: new module, for Solaris 9 bug
15920         * modules/symlink: New file.
15921         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
15922         * lib/symlink.c: Likewise.
15923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
15924         * modules/unistd (Makefile.am): Substitute them.
15925         * lib/unistd.in.h (symlink): Declare replacement.
15926         * MODULES.html.sh (File system functions): Mention it.
15927         * doc/posix-functions/symlink.texi (symlink): Likewise.
15928         * modules/symlink-tests: New test.
15929         * tests/test-symlink.c: Likewise.
15930
15931 2009-09-23  Bruno Haible  <bruno@clisp.org>
15932
15933         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
15934         when needed.
15935         Test case: gnulib-tool --import --with-tests atexit inttypes.
15936         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
15937
15938 2009-09-23  Bruno Haible  <bruno@clisp.org>
15939
15940         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
15941         subcommand, not in a subshell.
15942
15943 2009-09-22  Eric Blake  <ebb9@byu.net>
15944
15945         unistd: sort replacement declarations
15946         * lib/unistd.in.h: Sort declarations.
15947
15948         open, openat: minor optimization
15949         * lib/open.c (open): If open succeeded, len is non-zero.
15950         * lib/openat.c (rpl_openat): Likewise.
15951
15952         link-follow: ensure correct result
15953         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
15954         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
15955         distinguish between possible failures.
15956
15957 2009-09-21  Eric Blake  <ebb9@byu.net>
15958
15959         fts: avoid compiler warning
15960         * lib/fts.c (dirent_inode_sort_may_be_useful)
15961         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
15962
15963 2009-09-19  Bruno Haible  <bruno@clisp.org>
15964
15965         * lib/progreloc.c (canonicalize_file_name): New declaration.
15966
15967 2009-09-19  Eric Blake  <ebb9@byu.net>
15968
15969         link: fix quoting
15970         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
15971
15972         openat: fix openat bugs on Solaris 9
15973         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
15974         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
15975         * modules/openat (Depends-on): Add open.
15976         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
15977         * modules/fcntl-h (Makefile.am): Substitute it.
15978         * lib/fcntl.in.h (openat): Declare replacement.
15979         * doc/posix-functions/openat.texi (openat): Document this.
15980
15981         openat: move fstatat and unlinkat into correct files
15982         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
15983         compiled.
15984         * lib/openat.c (fstatat, unlinkat): Move...
15985         * lib/fstatat.c (fstatat): ...into correct files.
15986         * lib/unlinkat.c (unlinkat): Likewise.
15987
15988         openat: fix unlinkat bugs on Solaris 9
15989         * lib/unlinkat.c (unlinkat): New file.
15990         * modules/openat (Depends-on): Add unlink.
15991         (Files): Distribute it.
15992         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
15993         trailing slash behavior is broken.
15994         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
15995         * modules/unistd (Makefile.am): Substitute it.
15996         * lib/unistd.in.h (unlinkat): Declare replacement.
15997         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
15998
15999         openat: fix fstatat bugs on Solaris 9
16000         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
16001         stat.
16002         * doc/posix-functions/fstatat.texi (fstatat): Document this.
16003
16004         test-unlinkat: enhance test, to expose Solaris 9 bug
16005         * tests/test-unlink.c (main): Factor guts...
16006         * tests/test-unlink.h (test_rmdir_func): ...into new file.
16007         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
16008         * tests/test-rmdir.c (main): Adjust caller.
16009         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
16010         (unlinker): New helper function.
16011         (rmdirat): Enhance check.
16012         * modules/rmdir-tests (Depends-on): Add stdbool.
16013         * modules/unlink-tests (Depends-on): Likewise.
16014         (Files): Add test-unlink.h.
16015         * modules/openat-tests (Files): Likewise.
16016         (Depends-on): Add unlinkdir.
16017
16018         test-fstatat: new test, to expose Solaris 9 bugs
16019         * tests/test-stat.c (main): Factor guts...
16020         * tests/test-stat.h (test_stat_func): ...into new file.
16021         * tests/test-lstat.c (main): Factor guts...
16022         * tests/test-lstat.h (test_lstat_func): ...into new file.
16023         * tests/test-fstatat.c: New file.
16024         * modules/stat-tests (Files): Add test-stat.h.
16025         * modules/lstat-tests (Files): Add test-lstat.h.
16026         (Depends-on): Add stdbool.
16027         * modules/openat-tests (Depends-on): Add pathmax.
16028         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
16029         (Makefile.am): Run new test.
16030
16031         remove: new module, for mingw and Solaris 9 bugs
16032         * modules/remove: New file.
16033         * lib/remove.c: Likewise.
16034         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
16035         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
16036         * modules/stdio (Makefile.am): Use them.
16037         * lib/stdio.in.h (remove): Declare replacement.
16038         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16039         * doc/posix-functions/remove.texi (remove): Likewise.
16040         * modules/remove-tests: New test.
16041         * tests/test-remove.c: Likewise.
16042
16043         unlink: new module, for Solaris 9 bug
16044         * modules/unlink: New file.
16045         * lib/unlink.c: Likewise.
16046         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
16048         * modules/unistd (Makefile.am): Use them.
16049         * lib/unistd.in.h (stat): Declare replacement.
16050         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16051         * doc/posix-functions/unlink.texi (unlink): Likewise.
16052         * modules/unlink-tests: New test.
16053         * tests/test-unlink.c: Likewise.
16054
16055         lstat: fix Solaris 9 bug
16056         * lib/lstat.c (lstat): Also check for trailing slash on
16057         non-symlink, non-directories.  Use stat module to simplify logic.
16058         * doc/posix-functions/lstat.texi (lstat): Document it.
16059         * modules/lstat-tests (Depends-on): Add errno, same-inode.
16060         (configure.ac): Check for symlink.
16061         * tests/test-lstat.c (main): Add more tests.
16062
16063         stat: add as dependency to other modules
16064         * modules/chown (Depends-on): Add stat.
16065         * modules/euidaccess (Depends-on): Likewise.
16066         * modules/fchdir (Depends-on): Likewise.
16067         * modules/isdir (Depends-on): Likewise.
16068         * modules/link (Depends-on): Likewise.
16069         * modules/lstat (Depends-on): Likewise.
16070         * modules/mkdir-p (Depends-on): Likewise.
16071         * modules/modechange (Depends-on): Likewise.
16072         * modules/open (Depends-on): Likewise.
16073         * modules/readlink (Depends-on): Likewise.
16074         * modules/same (Depends-on): Likewise.
16075
16076         stat: fix Solaris 9 bug
16077         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
16078         slash.
16079         * lib/stat.c (rpl_stat): Work around it.
16080         * doc/posix-functions/stat.texi (stat): Update documentation.
16081
16082         stat: new module, for mingw bug
16083         * modules/stat: New file.
16084         * lib/stat.c: Likewise.
16085         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16086         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
16087         * modules/sys_stat (Makefile.am): Use them.
16088         * lib/sys_stat.in.h (stat): Declare replacement.
16089         * lib/openat.c (fstatat): Deal with lstat and stat being function
16090         macros.
16091         * modules/openat (Depends-on): Add inline.
16092         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16093         * doc/posix-functions/stat.texi (stat): Likewise.
16094         * modules/stat-tests: New test.
16095         * tests/test-stat.c: Likewise.
16096
16097 2009-09-19  Jim Meyering  <meyering@redhat.com>
16098
16099         syntax-check: detect unnecessary inclusion of canonicalize.h
16100         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
16101
16102 2009-09-19  Eric Blake  <ebb9@byu.net>
16103
16104         canonicalize-lgpl: adjust clients to use correct header
16105         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16106         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
16107         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
16108         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
16109         * lib/progreloc.c (includes): Likewise.
16110
16111 2009-09-19  Jim Meyering  <meyering@redhat.com>
16112
16113         test-posixtm.c: correct a comment
16114         * tests/test-posixtm.c: Correct first-line comment.
16115         Spotted by Eric Blake.
16116
16117 2009-09-16  Jim Meyering  <meyering@redhat.com>
16118
16119         posixtm-tests: make T const-correct; add a test case
16120         * tests/test-posixtm.c (T): Declare const.
16121         Add a test for -(2^31+1).
16122         Remove useless can-succeed-only-in-2002 test.
16123
16124         posixtm-tests: adjust the sole failing test
16125         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
16126         expected output matches what mktime now produces.  Cross-checked via
16127         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
16128
16129         posixtm: move #ifdef'd tests into a new module
16130         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
16131         * tests/test-posixtm.c: ... this new file.
16132         * modules/posixtm-tests: New module.
16133
16134 2009-09-19  Eric Blake  <ebb9@byu.net>
16135
16136         openat: simplify use of at-func.c
16137         * lib/at-func.c (includes): Include prerequisites here, to
16138         simplify requirements on client files.
16139         * lib/openat-priv.h: Add double-inclusion guard.
16140         * lib/faccessat.c (includes): Simplify.
16141         * lib/fchmodat.c (includes): Likewise.
16142         * lib/fchownat.c (includes): Likewise.
16143         * lib/mkdirat.c (includes): Likewise.
16144         * lib/mkfifoat.c (includes): Likewise.
16145         * lib/symlinkat.c (includes): Likewise.
16146
16147         openat: allow return of fd 0
16148         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
16149         * modules/save-cwd (Depends-on): Replace fcntl-safer with
16150         unistd-safer.
16151         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
16152         <fcntl.h>; this module does not leak fds.
16153         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
16154         must be allowed to return 0, leaving openat_safer to add the
16155         safety.
16156         (openat_permissive): Avoid writing to just-opened fd 2 if
16157         restoring the current directory fails.
16158         * lib/openat-die.c (openat_restore_fail): Add comment.
16159         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
16160         (save_cwd): Guarantee safe fd, but without use of open_safer.
16161         * tests/test-openat.c: New test.
16162         * modules/openat-tests (Files, Makefile.am): Distribute and build
16163         new file.
16164
16165         relocatable-prog-wrapper: fix build
16166         * modules/relocatable-prog-wrapper (Files): Update name of
16167         canonicalize m4 file, broken on 2009-09-17.
16168         Reported by emad hajjar <aleppos@hotmail.com>.
16169
16170 2009-09-19  Bruno Haible  <bruno@clisp.org>
16171
16172         * lib/safe-alloc.h: Use the standard header with GPL copyright.
16173         * lib/safe-alloc.c: Likewise.
16174         Reported by Ian Beckwith <ianb@erislabs.net>.
16175
16176 2009-09-18  Bruno Haible  <bruno@clisp.org>
16177
16178         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
16179         Reported by <erobles@sensacd.com.mx>.
16180
16181 2009-09-17  Eric Blake  <ebb9@byu.net>
16182
16183         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
16184         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
16185         slashes when checking if last component is missing.
16186         * tests/test-canonicalize.c (main): Test this.
16187
16188         canonicalize, canonicalize-lgpl: honor // if distinct from /
16189         * modules/canonicalize (Files): Add double-slash-root.m4.
16190         * modules/canonicalize-lgpl (Files): Likewise.
16191         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16192         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
16193         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
16194         fallback definition.
16195         (canonicalize_filename_mode): Use it to protect //.
16196         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
16197         (__realpath): Likewise.
16198         * tests/test-canonicalize.c (main): Test this.
16199         * tests/test-canonicalize-lgpl.c (main): Likewise.
16200         * modules/canonicalize-tests (Depends-on): Add same-inode.
16201         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16202
16203         canonicalize-lgpl: fix glibc bug with trailing slash
16204         * m4/canonicalize-lgpl.m4: Move contents...
16205         * m4/canonicalize.m4: ...here.
16206         (gl_CANONICALIZE_LGPL): Factor realpath check...
16207         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
16208         glibc 2.3.5 bug, fixed 2005-04-27.
16209         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
16210         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
16211         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
16212         * modules/canonicalize-lgpl (Files): Manage file rename.
16213         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
16214         * modules/stdlib (Makefile.am): Substitute witness.
16215         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
16216         is needed.
16217         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
16218         replacement is required.
16219         * lib/canonicalize.c (canonicalize_file_name): Likewise.
16220         * doc/glibc-functions/canonicalize_file_name.texi
16221         (canonicalize_file_name): Document this.
16222         * doc/posix-functions/realpath.texi (realpath): Likewise.
16223
16224         canonicalize-lgpl: reject non-directory with trailing slash
16225         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
16226         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
16227         catches failures in glibc 2.3.5.
16228         * tests/test-canonicalize.c (main): Likewise.
16229
16230         canonicalize-lgpl: use native realpath if it works
16231         * lib/canonicalize-lgpl.c (realpath): Guard with
16232         FUNC_REALPATH_WORKS.
16233         * lib/stdlib.in.h (realpath): Make declaration optional based on
16234         HAVE_REALPATH.
16235         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
16236         native realpath works.
16237         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
16238         * modules/stdlib (Makefile.am): Substitute witness.
16239
16240         canonicalize, canonicalize-lgpl: use <stdlib.h>
16241         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
16242         (Include): Mention <stdlib.h>.
16243         (configure.ac): Mention functions we provide.
16244         * modules/canonicalize (configure.ac): Likewise.
16245         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
16246         realpath if canonicalize_file_name is missing.
16247         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
16248         * modules/stdlib (Makefile.am): Substitute witnesses.
16249         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
16250         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
16251         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
16252         * NEWS: Document this.
16253         * doc/glibc-functions/canonicalize_file_name.texi
16254         (canonicalize_file_name): Likewise.
16255         * doc/posix-functions/realpath.texi (realpath): Likewise.
16256         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
16257
16258         test-canonicalize: consolidate into single C program
16259         * tests/test-canonicalize.sh: Delete; move setup into...
16260         * tests/test-canonicalize.c (main): ...the program, making it
16261         easier to run in debugger.  Add some tests.
16262         * modules/canonicalize-tests (Files): Remove unused file.
16263         (Depends-on): Add progname.
16264         (configure.ac, Makefile.am): Simplify.
16265
16266         test-canonicalize-lgpl: consolidate into single C program
16267         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
16268         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
16269         easier to run in debugger.  Add some tests.
16270         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
16271         (configure.ac, Makefile.am): Simplify.
16272
16273         canonicalize: avoid resolvepath
16274         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
16275         unnecessary checks.
16276         * lib/canonicalize.c (includes): Simplify.
16277         (canonicalize_file_name): Drop resolvepath implementation.
16278         * modules/canonicalize (Depends-on): Drop filenamecat.
16279
16280         canonicalize: don't lose errno
16281         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
16282         over calls to free.
16283
16284         canonicalize: simplify errno handling
16285         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
16286         assignment.
16287
16288         canonicalize, canonicalize-lgpl: update module dependencies
16289         * modules/canonicalize (Depends-on): Add extensions, lstat,
16290         pathmax, stdlib.
16291         (Files): Drop pathmax.h.
16292         (configure.ac): Adjust macro name.
16293         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
16294         lstat, stdlib, sys_stat.
16295         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
16296         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
16297         extensions.
16298         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
16299         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
16300         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
16301         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
16302         declaration, if available.
16303         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
16304         we can rely on the readlink module.
16305         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
16306         (includes): Use <unistd.h> unconditionally.
16307
16308 2009-09-17  Eric Blake  <ebb9@byu.net>
16309
16310         maint: make Include sections of modules consistent
16311         * modules/alloca: Use only header name; no need to list #include.
16312         * modules/alloca-opt: Likewise.
16313         * modules/arpa_inet: Likewise.
16314         * modules/canon-host: Likewise.
16315         * modules/configmake: Likewise.
16316         * modules/dirent: Likewise.
16317         * modules/eealloc: Likewise.
16318         * modules/environ: Likewise.
16319         * modules/fchdir: Likewise.
16320         * modules/fcntl: Likewise.
16321         * modules/fcntl-h: Likewise.
16322         * modules/gethrxtime: Likewise.
16323         * modules/gettime: Likewise.
16324         * modules/ignore-value: Likewise.
16325         * modules/inet_ntop: Likewise.
16326         * modules/inet_pton: Likewise.
16327         * modules/inttypes: Likewise.
16328         * modules/isnand-nolibm: Likewise.
16329         * modules/isnanf-nolibm: Likewise.
16330         * modules/mbchar: Likewise.
16331         * modules/mbfile: Likewise.
16332         * modules/mbiter: Likewise.
16333         * modules/mbuiter: Likewise.
16334         * modules/netdb: Likewise.
16335         * modules/netinet_in: Likewise.
16336         * modules/nproc: Likewise.
16337         * modules/pagealign_alloc: Likewise.
16338         * modules/poll: Likewise.
16339         * modules/printf-frexp: Likewise.
16340         * modules/pthread: Likewise.
16341         * modules/putenv: Likewise.
16342         * modules/random_r: Likewise.
16343         * modules/relocatable-prog: Likewise.
16344         * modules/search: Likewise.
16345         * modules/select: Likewise.
16346         * modules/selinux-h: Likewise.
16347         * modules/settime: Likewise.
16348         * modules/signal: Likewise.
16349         * modules/size_max: Likewise.
16350         * modules/socklen: Likewise.
16351         * modules/ssize_t: Likewise.
16352         * modules/stdarg: Likewise.
16353         * modules/stdbool: Likewise.
16354         * modules/stddef: Likewise.
16355         * modules/stdint: Likewise.
16356         * modules/stdio: Likewise.
16357         * modules/stdlib: Likewise.
16358         * modules/string: Likewise.
16359         * modules/strings: Likewise.
16360         * modules/sys_file: Likewise.
16361         * modules/sys_ioctl: Likewise.
16362         * modules/sys_select: Likewise.
16363         * modules/sys_socket: Likewise.
16364         * modules/sys_stat: Likewise.
16365         * modules/sys_time: Likewise.
16366         * modules/sys_times: Likewise.
16367         * modules/sys_utsname: Likewise.
16368         * modules/sys_wait: Likewise.
16369         * modules/sysexits: Likewise.
16370         * modules/time: Likewise.
16371         * modules/times: Likewise.
16372         * modules/tmpfile: Likewise.
16373         * modules/trim: Likewise.
16374         * modules/unistd: Likewise.
16375         * modules/wchar: Likewise.
16376         * modules/wctype: Likewise.
16377
16378 2009-09-17  Bruno Haible  <bruno@clisp.org>
16379
16380         Make getdate.y compile on QNX and NetBSD 5 / i386.
16381         * m4/getdate.m4 (gl_GETDATE): Conditionally define
16382         TIME_T_FITS_IN_LONG_INT.
16383         * lib/getdate.y (long_time_t): New type.
16384         (relative_time): Change type of 'seconds' field to long_time_t.
16385         (get_date): Update types of local variables. Check against overflow
16386         during conversion from long_time_t to time_t.
16387         Reported by Matt Kraai <kraai@ftbfs.org>
16388         and Hasso Tepper <hasso@netbsd.org>.
16389
16390 2009-09-17  Bruno Haible  <bruno@clisp.org>
16391
16392         * modules/COPYING: Update copyright years.
16393         * modules/README: Likeiwse.
16394         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
16395         Reported by Ian Beckwith <ianb@erislabs.net>.
16396
16397 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
16398
16399         * users.txt: Update references for gnuit package.
16400
16401 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
16402
16403         * m4/getdelim.m4: Fix typo in copyright line.
16404
16405 2009-09-17  Bruno Haible  <bruno@clisp.org>
16406
16407         * lib/atoll.c: Use the standard header with GPL copyright.
16408         * lib/argz.in.h: Likewise.
16409         * lib/glob.c: Likewise.
16410         * lib/glob-libc.h: Likewise.
16411         * lib/random_r.c: Likewise.
16412         * lib/siglist.h: Likewise.
16413         * lib/strsignal.c: Likewise.
16414         Reported by Ian Beckwith <ianb@erislabs.net>.
16415
16416 2009-09-17  Eric Blake  <ebb9@byu.net>
16417
16418         rmdir: ensure correct dependency order
16419         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
16420
16421 2009-09-17  Bruno Haible  <bruno@clisp.org>
16422
16423         Disable assertion that fails on NetBSD 5 / i386.
16424         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
16425         Reported by Sam Steingold <sds@gnu.org>
16426         and Hasso Tepper <hasso@netbsd.org>.
16427
16428 2009-09-16  Eric Blake  <ebb9@byu.net>
16429
16430         unlinkdir: port to mingw
16431         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
16432         on which no one can unlink a directory.
16433
16434         stdlib: sort witness names
16435         * modules/stdlib (Makefile.am): Sort replacements.
16436         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
16437         * lib/stdlib.in.h: Likewise.
16438
16439         parse-duration-tests: avoid link failure
16440         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
16441         LIBINTL.
16442         Reported by Tom G. Christensen.
16443
16444         openat-tests: ensure unlinkat behaves like rmdir
16445         * tests/test-rmdir.c (main): Factor guts...
16446         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
16447         * modules/rmdir-tests (Files): Ship new file.
16448         * modules/openat-tests: New test.
16449         * tests/test-unlinkat.c: Likewise.
16450
16451         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
16452         * modules/rmdir-errno (Status, Notice): Now obsolete.
16453
16454         rmdir: work around cygwin 1.5.x and mingw bugs
16455         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
16456         * lib/rmdir.c (rmdir): Work around it.
16457         * modules/rmdir (Status, Notice): No longer obsolete.
16458         (Files): Add dos.m4.
16459         (Depends-on): Add unistd.
16460         (configure.ac): Set witnesses.
16461         (License): Relax to LGPLv2+.
16462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
16463         * modules/unistd (Makefile.am): Substitute witnesses.
16464         * lib/unistd.in.h (rmdir): Declare replacement.
16465         * doc/posix-functions/rmdir.texi (rmdir): Document this.
16466         * modules/rmdir-tests: New tests.
16467         * tests/test-rmdir.c: Likewise.
16468
16469 2009-09-15  Eric Blake  <ebb9@byu.net>
16470
16471         fchdir: improve use of replacement functions
16472         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
16473         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
16474         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
16475         REPLACE_CLOSEDIR.
16476         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
16477         * modules/sys_stat (Makefile.am): Substitute correct witness.
16478         * modules/dirent (Makefile.am): Likewise.
16479         * modules/unistd (Makefile.am): Likewise.
16480         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
16481         * lib/unistd.in.h (dup): Likewise.
16482         * lib/sys_stat.in.h (fstat): Likewise.
16483
16484         maint: ignore gnulib-tool temp files
16485         * .gitignore: Ignore files created during gnulib-tool --test.
16486
16487 2009-09-13  Jim Meyering  <meyering@redhat.com>
16488
16489         posixtm: don't reject a time that specify "60" as the number of seconds
16490         * lib/posixtm.c (posixtime): The code to reject invalid dates
16491         would also reject a time specified with the .60 suffix.
16492         But POSIX allows that, in order to accommodate leap seconds.
16493         So don't reject it.
16494         (main): Adjust tests accordingly.
16495         * modules/posixtm (Depends-on): Add stpcpy.
16496
16497 2009-09-11  Jim Meyering  <meyering@redhat.com>
16498
16499         announce-gen: include [$release_type] in emitted Subject:
16500         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
16501         e.g., [stable] in the emitted Subject: line.
16502
16503 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16504
16505         Remove obsolete macros from several modules.
16506         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
16507         obsolete Autoconf macros with their modern counterparts.
16508         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
16509         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
16510         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
16511         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
16512         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
16513         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
16514         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
16515         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
16516         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
16517         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
16518         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16519         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16520         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
16521         * m4/sockets.m4 (gl_SOCKETS): Likewise.
16522         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
16523         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
16524         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
16525         * m4/time_r.m4 (gl_TIME_R): Likewise.
16526         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
16527         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
16528         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
16529
16530         Fix copyright header in build-aux scripts.
16531         * build-aux/git-version-gen: Fix copyright header to match GPLv3
16532         recommendation.
16533         * build-aux/ncftpput-ftp: Likewise.
16534         * build-aux/update-copyright: Likewise.
16535
16536 2009-09-09  Eric Blake  <ebb9@byu.net>
16537
16538         test-link: allow Linux choice of errno
16539         * tests/test-link.c (main): Relax test for alternate error.
16540
16541         strndup: fix improper m4 caching
16542         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
16543         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
16544         (gl_PREREQ_STRNDUP): Delete.
16545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
16546         * modules/string (Makefile.am): Substitute it.
16547         * lib/string.in.h (strndup): Modernize prototype.
16548
16549         getcwd: port to mingw
16550         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
16551         different from the POSIX assumptions made throughout the getcwd
16552         module; fortunately, the mingw getcwd does not need replacement.
16553         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
16554         * modules/getcwd-tests: New test.
16555         * tests/test-getcwd.c: Likewise.
16556
16557         link: fix platform bugs
16558         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
16559         * lib/link.c (link): Work around them.  Fix related mingw bug.
16560         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
16561         * modules/unistd (Makefile.am): Substitute it.
16562         * lib/unistd.in.h (link): Declare replacement.
16563         * doc/posix-functions/link.texi (link): Document this.
16564         * modules/link (Depends-on): Add strdup-posix, sys_stat.
16565
16566         test-link: consolidate into single C program, test more cases
16567         * tests/test-link.sh: Delete.
16568         * tests/test-link.c: Test more error conditions.  Exposes bugs on
16569         at least Cygwin and Solaris.
16570         * modules/link-tests (Files): Remove unused file.
16571         (Depends-on): Add errno, sys_stat.
16572         (Makefile.am): Simplify.
16573
16574 2009-09-08  Bruno Haible  <bruno@clisp.org>
16575
16576         Work around towlower, towupper bug on mingw.
16577         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
16578         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
16579         * doc/posix-functions/towlower.texi: Mention the mingw bug.
16580         * doc/posix-functions/towupper.texi: Likewise.
16581         Reported by Eric Blake.
16582
16583 2009-09-08  Jim Meyering  <meyering@redhat.com>
16584
16585         build: don't try to run autoheader if we don't use it
16586         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
16587         is not used in configure.ac.
16588
16589 2009-09-08  Eric Blake  <ebb9@byu.net>
16590
16591         euidaccess: fix compilation error
16592         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
16593
16594         rawmemchr: relax license
16595         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
16596         okay.
16597         Reported by Jim Meyering.
16598
16599         mkfifoat: new module
16600         * modules/mkfifoat: New file.
16601         * lib/mkfifoat.c: Likewise.
16602         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
16603         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
16604         * modules/sys_stat (Makefile.am): Use them.
16605         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
16606         * MODULES.html.sh (File system functions): Mention module.
16607         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
16608         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
16609         * modules/mkfifoat-tests: New test.
16610         * tests/test-mkfifoat.c: Likewise.
16611
16612         strchrnul: relax license
16613         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
16614         okay.
16615         Reported by Jim Meyering.
16616
16617 2009-09-08  Eric Blake  <ebb9@byu.net>
16618
16619         fstatat: fix compilation on Solaris
16620         * lib/fstatat.c (includes): Add fcntl.h.
16621         Reported by Pádraig Brady.
16622
16623 2009-09-07  Eric Blake  <ebb9@byu.net>
16624
16625         rename: modernize replacement
16626         * modules/rename (Depends-on): Add stdio.
16627         (configure.ac): Declare witness.
16628         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
16629         stdio take care of replacement.
16630         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
16631         * modules/stdio (Makefile.am): Substitute them.
16632         * lib/stdio.in.h (rename): Declare replacement.
16633         * lib/rename.c (includes): Allow cross-compilation to non-windows
16634         machines.
16635         * doc/posix-functions/rename.texi (rename): Improve
16636         documentation.
16637
16638         stdio: sort witness names
16639         * modules/stdio (Makefile.am): Sort replacements.
16640         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16641         * lib/stdio.in.h: Likewise.
16642
16643         getcwd: minor cleanups
16644         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
16645         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
16646
16647         openat: provide more convenience names
16648         * modules/faccessat (configure.ac): Add C witness.
16649         * lib/unistd.in.h (readlinkat): Fix typo.
16650         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
16651         convenience wrappers.
16652         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
16653         wrappers in syntax checks.
16654
16655 2009-09-06  Eric Blake  <ebb9@byu.net>
16656
16657         doc: fix comments in recent patches
16658         * lib/faccessat.c: Mention correct function.
16659         * lib/fchmodat.c: Likewise.
16660         * lib/fchownat.c: Likewise.
16661         * lib/symlinkat.c: Likewise.
16662         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
16663         constants.
16664
16665         faccessat, symlinkat: continue cleanup of previous patch
16666         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
16667         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
16668         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
16669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
16670         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
16671         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
16672         set.
16673
16674 2009-09-06  Bruno Haible  <bruno@clisp.org>
16675
16676         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
16677         (fstatat): Declare if GNULIB_FSTATAT is set.
16678         (mkdirat): Declare if GNULIB_MKDIRAT is set.
16679         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
16680         (unlinkat): Declare if GNULIB_UNLINKAT is set.
16681         * modules/fcntl-h (Files): Remove m4/openat.m4.
16682         * modules/sys_stat (Files): Remove m4/openat.m4.
16683         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
16684         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
16685         * modules/unistd (Files): Remove m4/openat.m4.
16686         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
16687         GNULIB_OPENAT.
16688         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
16689         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
16690         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
16691         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
16692         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
16693         gl_OPENAT_DEFAULTS.
16694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
16695         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
16696         Don't require gl_OPENAT_DEFAULTS.
16697         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
16698         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
16699         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
16700         (gl_OPENAT_DEFAULTS): Remove macro.
16701
16702 2009-09-06  Bruno Haible  <bruno@clisp.org>
16703
16704         * modules/openat (configure.ac): Remove unneeded witness.
16705
16706 2009-09-06  Bruno Haible  <bruno@clisp.org>
16707
16708         Set errno to ENOSYS when a function is entirely unsupported.
16709         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
16710         EOPNOTSUPP.
16711         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
16712         * modules/chown (Depends-on): Remove errno.
16713
16714 2009-09-06  Bruno Haible  <bruno@clisp.org>
16715
16716         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
16717
16718 2009-09-06  Bruno Haible  <bruno@clisp.org>
16719
16720         * lib/sys_stat.in.h: Fix preprocessor command indentation.
16721
16722 2009-09-06  Ben Pfaff  <blp@gnu.org>
16723             Bruno Haible  <bruno@clisp.org>
16724
16725         Work around a glibc bug in strtok_r.
16726         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
16727         Undefine if UNDEFINE_STRTOK_R is set.
16728         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
16729         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16730         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
16731         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
16732         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
16733         UNDEFINE_STRTOK_R.
16734         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
16735
16736 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
16737
16738         exclude: minor fix
16739         * lib/exclude.c: Include wctype.h
16740
16741 2009-09-06  Akim Demaille  <demaille@gostai.com>
16742
16743         bootstrap: improve error message
16744         * build-aux/bootstrap (find_tool): Upon failure, report the list
16745         of candidates.
16746         Honor the initial value of the envvar.
16747
16748 2009-09-05  Eric Blake  <ebb9@byu.net>
16749
16750         symlinkat: new module
16751         * modules/symlinkat: New file.
16752         * lib/symlinkat.c: Likewise.
16753         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
16754         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
16755         * modules/unistd (Makefile.am): Use them.
16756         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
16757         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
16758         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
16759         * MODULES.html.sh (File system functions): Mention module.
16760         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
16761         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
16762         * modules/symlinkat-tests: New test.
16763         * tests/test-symlinkat.c: Likewise.
16764
16765         test-openat-safer: add more checks
16766         * tests/test-openat-safer.c (main): Check more code paths.
16767
16768 2009-09-05  Jim Meyering  <meyering@redhat.com>
16769
16770         syntax-check: detect unnecessary inclusion of openat.h
16771         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
16772
16773 2009-09-05  Bruno Haible  <bruno@clisp.org>
16774
16775         Support towlower, towupper.
16776         * doc/posix-functions/towlower.texi: Mention module wctype.
16777         * doc/posix-functions/towupper.texi: Likewise.
16778         * lib/wctype.in.h (towlower, towupper): New functions.
16779         * tests/test-wctype.c: Include stdio.h, stdlib.h.
16780         (ASSERT): New macro.
16781         (e): New variable.
16782         (main): Test also towlower, towupper. Test WEOF argument.
16783         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16784
16785 2009-09-05  Bruno Haible  <bruno@clisp.org>
16786
16787         Fix conversion behaviour when the input is invalid.
16788         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
16789         mark occurring in first pass of indirect conversion.
16790         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
16791         input.
16792         Found by clang's static analyzer.
16793
16794 2009-09-05  Bruno Haible  <bruno@clisp.org>
16795
16796         * tests/test-striconveh.c (main): Test indirect conversion on platforms
16797         where direct conversion is possible.
16798
16799 2009-09-04  Eric Blake  <ebb9@byu.net>
16800
16801         openat: fail with ENOENT on empty name
16802         * lib/openat-proc.c (openat_proc_name): Special-case the empty
16803         buffer.
16804
16805         link-follow: fix logic bug in prior patch
16806         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
16807         reversed sense of yes and no in prior patch.  Avoid confusing
16808         compilation failure with desired semantics.
16809
16810         link-follow: accomodate mingw and cross-compilation
16811         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
16812         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
16813         cross-compilation results to -1, to make linkat easier to
16814         implement when cross-compiling.  Trivially support mingw.
16815         * modules/link-follow (configure.ac): Call new name.
16816         * NEWS: Mention this.
16817
16818 2009-09-03  Eric Blake  <ebb9@byu.net>
16819
16820         faccessat: compile replacement
16821         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
16822         needed.
16823
16824         fts: fix compilation error
16825         * lib/fts.c (includes): Re-add "openat.h", for
16826         openat_needs_fchdir.
16827
16828         faccessat: new module
16829         * modules/faccessat: New file.
16830         * lib/faccessat.c: Likewise.
16831         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
16832         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16833         * modules/unistd (Makefile.am): Use it.
16834         * lib/unistd.in.h (faccessat): Declare it.
16835         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
16836         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
16837         * MODULES.html.sh (File system functions): Mention it.
16838         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
16839         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
16840
16841         euidaccess: prefer POSIX over non-standard implementation
16842         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
16843         * lib/euidaccess.c (euidaccess): Use it if available.
16844
16845         openat: make template easier to use
16846         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
16847         AT_FUNC_F2 to be undefined.
16848         (VALIDATE_FLAG): New macro; use it to reject bad flags.
16849         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
16850         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
16851         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
16852         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
16853         Likewise.
16854         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
16855         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
16856         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
16857         Likewise.
16858
16859         openat: declare in POSIX headers
16860         * NEWS: Mention this.
16861         * modules/openat (configure.ac): Declare witnesses.
16862         (Depends-on): Add fcntl-h, sys_stat, unistd.
16863         (Include): Mention correct headers.
16864         * modules/fcntl-h (Depends-on): Add link-warning.
16865         (Files): Add openat.m4.
16866         (Makefile.am): Substitute witnesses.
16867         * modules/sys_stat (Files, Makefile.am): Likewise.
16868         * modules/unistd (Files, Makefile.am): Likewise.
16869         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
16870         (gl_OPENAT_DEFAULTS): New macro.
16871         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
16872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
16873         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
16874         (SYS_STAT_H): Remove unused variable.
16875         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
16876         * lib/fcntl--.h (includes): Remove unneeded header.
16877         * lib/openat-safer.c (includes): Likewise.
16878         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
16879         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
16880         appropriate headers.
16881         (__OPENAT_PREFIX): Delete.
16882         * lib/fcntl.in.h (openat): Provide declaration.
16883         (AT_FDCWD): Fix Solaris bug.
16884         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
16885         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
16886         * lib/fchmodat.c (includes):  Adjust to find declaration.
16887         * lib/fchownat.c (includes): Likewise.
16888         * lib/mkdirat.c (includes): Likewise.
16889         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
16890         still visible.
16891
16892 2009-09-02  Eric Blake  <ebb9@byu.net>
16893
16894         errno: use consistently
16895         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
16896         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
16897         * lib/canonicalize.c (ELOOP): Likewise.
16898         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
16899         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
16900         * lib/lchown.c (EOPNOTSUPP): Likewise.
16901         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
16902         * lib/savewd.c (ESTALE): Likewise.
16903         * lib/settime.c (ENOSYS): Likewise.
16904         * lib/utimens.c (ENOSYS): Likewise.
16905         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
16906         * lib/chdir-safer.c (ELOOP): Likewise.
16907         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
16908         * modules/c-stack (Depends-on): Add errno.
16909         * modules/canonicalize (Depends-on): Likewise.
16910         * modules/chdir-safer (Depends-on): Likewise.
16911         * modules/fdopendir (Depends-on): Likewise.
16912         * modules/inet_ntop (Depends-on): Likewise.
16913         * modules/inet_pton (Depends-on): Likewise.
16914         * modules/lchown (Depends-on): Likewise.
16915         * modules/openat (Depends-on): Likewise.
16916         * modules/savewd (Depends-on): Likewise.
16917         * modules/settime (Depends-on): Likewise.
16918         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
16919
16920         fts: avoid leaking fds
16921         * modules/fts (Depends-on): Add cloexec.
16922         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
16923         flag.
16924
16925         fts: make directory fds more robust
16926         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
16927         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
16928
16929         backupfile, chdir-long, fts, savedir: make safer
16930         * lib/backupfile.c (includes): Use "dirent--.h", since
16931         numbered_backup can write to stderr during readdir.
16932         * lib/savedir.c (includes): Likewise.
16933         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
16934         emulation can write to stderr on failure.
16935         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
16936         * lib/getcwd.c: Document why opendir_safer is unused.
16937         * lib/glob.c: Likewise.
16938         * lib/scandir.c: Likewise.
16939         * lib/openat-proc.c: Likewise, for open_safer.
16940         * modules/backupfile (Depends-on): Add dirent-safer.
16941         * modules/savedir (Depends-on): Likewise.
16942         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
16943         * modules/chdir-long (Depends-on): Add openat-safer.
16944
16945         openat-safer: new module
16946         * modules/openat-safer: New file.
16947         * lib/openat-safer.c: Likewise.
16948         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
16949         * lib/fcntl-safer.h (openat_safer): Declare.
16950         * lib/fcntl--.h (openat): Override.
16951         * MODULES.html.sh (File descriptor based I/O): Mention it.
16952         * lib/openat.h: Add double-inclusion guards.
16953         * lib/openat.c (includes): Only include "fcntl-safer.h", not
16954         "fcntl--.h", so we can implement openat.
16955         * modules/openat-safer-tests: New test.
16956         * tests/test-openat-safer.c: New file.
16957
16958         dirent-safer: new module
16959         * modules/dirent-safer: New file.
16960         * lib/dirent--.h: Likewise.
16961         * lib/dirent-safer.h: Likewise.
16962         * lib/opendir-safer.c: Likewise.
16963         * m4/dirent-safer.m4: Likewise.
16964         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
16965         * modules/dirent-safer-tests: New test.
16966         * tests/test-dirent-safer.c: New file.
16967         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
16968
16969         fdopendir: optimize on mingw
16970         * lib/unistd.in.h (_gl_directory_name): New prototype.
16971         * lib/fchdir.c (_gl_directory_name): Implement it.
16972         (fchdir): Use it to simplify implementation.
16973         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
16974         fchdir, when available, to avoid calling [f]chdir().
16975
16976         fdopendir: split into its own module
16977         * lib/openat.c (fdopendir): Move...
16978         * lib/fdopendir.c: ...into new file.
16979         * modules/fdopendir: New module.
16980         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
16981         * modules/openat (Depends-on): Add fdopendir.
16982         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
16983         fdopendir here.
16984         * modules/savedir (Depends-on): Only need fdopendir, not full
16985         openat.
16986         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
16987         * lib/openat.h (fdopendir): Drop prototype.
16988         * lib/dirent.in.h (fdopendir): Provide prototype.
16989         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
16990         * modules/dirent (Makefile.am): Substitute them.
16991         * MODULES.html.sh (File system functions): Mention it.
16992         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
16993         * modules/fdopendir-tests: New file.
16994         * tests/test-fdopendir.c: Likewise.
16995
16996         fchdir: use more consistent macro convention
16997         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
16998         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
16999         REPLACE_FCHDIR, rather than relying on config.h macros.
17000         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
17001         inside a single make-time REPLACE_FCHDIR block, rather than using
17002         the config.h FCHDIR_REPLACEMENT.
17003         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
17004         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
17005         Manage fstat replacement.
17006         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
17007         REPLACE_FCHDIR.
17008         * modules/sys_stat (Files): Add m4/unistd_h.m4.
17009         (Makefile.am): Substitute REPLACE_FCHDIR.
17010         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
17011         FCHDIR_REPLACEMENT.
17012         * lib/dup-safer.c (dup_safer): Likewise.
17013         * lib/dup2.c (rpl_dup2): Likewise.
17014         * lib/dup3.c (rpl_dup3): Likewise.
17015         * lib/open.c (rpl_open): Likewise.
17016
17017         fchdir: simplify error handling, and support dup3
17018         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
17019         stdbool, malloc-posix, realloc-posix.
17020         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
17021         (ensure_dirs_slot): Return false on allocation failure.
17022         (rpl_dup2): Delete.
17023         (_gl_register_dup): New function.
17024         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
17025         (_gl_register_fd): Close fd on allocation failure.
17026         * lib/fcntl.in.h (_gl_register_fd): Update signature.
17027         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
17028         prototype.
17029         (rpl_dup2_fchdir): Delete prototype.
17030         * lib/open.c (open): Update caller.
17031         * lib/dup2.c (dup2): Track fchdir metadata.
17032         * lib/dup3.c (dup3): Likewise.
17033         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
17034         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
17035
17036 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17037
17038         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
17039         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
17040         don't pass arguments to AC_OUTPUT.
17041
17042 2009-09-02  Bruno Haible  <bruno@clisp.org>
17043
17044         * modules/mkdtemp (License): Relicense under LGPLv2+.
17045         Reported by Paolo Bonzini.
17046
17047 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17048
17049         Replace uses of obsolete autoconf macros in Jim's modules.
17050         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
17051         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
17052         can evoke a warning from autoconf when run with -Wobsolete
17053         enabled.  They were declared obsolete for good reasons (see
17054         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
17055         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
17056         should not continue using the deprecated macros.
17057         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
17058         obsolete Autoconf macros with modern counterparts.
17059         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17060         * m4/dos.m4 (gl_AC_DOS): Likewise.
17061         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
17062         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17063         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
17064         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
17065         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
17066         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
17067         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
17068         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
17069         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
17070         Likewise.
17071         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17072         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
17073         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
17074         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
17075         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
17076         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
17077
17078 2009-09-01  Eric Blake  <ebb9@byu.net>
17079
17080         fchdir: fix off-by-one bug in previous patch
17081         * lib/fchdir.c (rpl_fstat): Use correct bounds.
17082         (_gl_unregister_fd): Delete useless if.
17083
17084 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
17085
17086         maint.mk: sort the list of syntax-check rules
17087         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
17088         easier to get a sense of progress when the rules are run sequentially
17089         and take a long time.
17090
17091 2009-09-01  Simon Josefsson  <simon@josefsson.org>
17092
17093         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
17094         * modules/netinet_in: Likewise.
17095         * modules/sys_file: Likewise.
17096         * modules/sys_ioctl: Likewise.
17097         * modules/sys_select: Likewise.
17098         * modules/sys_socket: Likewise.
17099         * modules/sys_stat: Likewise.
17100         * modules/sys_time: Likewise.
17101         * modules/sys_times: Likewise.
17102         * modules/sys_utsname: Likewise.
17103         * modules/sys_wait: Likewise.
17104
17105 2009-09-01  Jim Meyering  <meyering@redhat.com>
17106
17107         fts: help ensure that return values are not ignored
17108         * lib/fts_.h (__GNUC_PREREQ): Define.
17109         (__attribute_warn_unused_result__): Define.
17110         (fts_children, fts_close, fts_open, fts_read): Declare with
17111         __attribute_warn_unused_result__.
17112
17113         fts: fts_close now fails also when closing a dir file descriptor fails
17114         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
17115         and propagate to caller, along with errno.
17116
17117         announce-gen: correct formatting in --help output
17118         * build-aux/announce-gen (usage): Move the one-line description in
17119         --help output "up", to where it belongs, just after Usage:.
17120
17121 2009-08-31  Eric Blake  <ebb9@byu.net>
17122
17123         fchdir: port to mingw
17124         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
17125         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
17126         opened, then use a substitute.
17127         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
17128         replacement.
17129         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
17130         (_gl_register_fd): No need to check stat if open already filters
17131         all directories.
17132         (fchdir): Fix error condition to match POSIX.
17133         * modules/fchdir (Depends-on): Add sys_stat.
17134         * doc/posix-functions/open.texi (open): Document the limitation.
17135         * modules/fchdir-tests: New file.
17136         * tests/test-fchdir.c: Likewise.
17137
17138         canonicalize: allow cross-testing from cygwin to mingw
17139         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
17140         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
17141         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
17142         Likewise.
17143         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
17144         target does not support symlinks.
17145         * tests/test-canonicalize-lgpl.sh: Likewise.
17146
17147         chown: avoid compilation warning on mingw
17148         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
17149         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
17150         mingw.
17151         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
17152         * modules/chown (Depends-on): Add errno.
17153
17154 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17155
17156         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
17157         command.
17158
17159 2009-08-31  Jim Meyering  <meyering@redhat.com>
17160
17161         canonicalize: remove useless initialization
17162         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
17163         initialization of local, "end".
17164
17165 2009-08-30  Bruno Haible  <bruno@clisp.org>
17166
17167         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
17168         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
17169         ENOSYS.
17170
17171 2009-08-30  Bruno Haible  <bruno@clisp.org>
17172
17173         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
17174         /usr/xpg4/bin/tr when it exists.
17175         * tests/test-pipe-filter-gi1.sh: Likewise.
17176
17177 2009-08-30  Bruno Haible  <bruno@clisp.org>
17178
17179         Work around deficient /usr/bin/id program on Solaris.
17180         * tests/test-file-has-acl.sh (ID): New variable.
17181         * tests/test-set-mode-acl.sh (ID): Likewise.
17182         * tests/test-copy-acl.sh (ID): Likewise.
17183         * tests/test-copy-file.sh (ID): Likewise.
17184
17185 2009-08-30  Bruno Haible  <bruno@clisp.org>
17186
17187         New module 'xstriconveh'.
17188         * lib/xstriconveh.h: New file.
17189         * lib/xstriconveh.c: New file.
17190         * modules/xstriconveh: New file.
17191
17192 2009-08-30  Bruno Haible  <bruno@clisp.org>
17193
17194         Make it easier to use mem_cd_iconveh.
17195         * lib/striconveh.h (iconveh_t): New type.
17196         (iconveh_open, iconveh_close): New declarations.
17197         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
17198         with a single 'const iconveh_t *' argument.
17199         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
17200         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
17201         with a single 'const iconveh_t *' argument.
17202         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
17203         * tests/test-striconveh.c (main): Update.
17204         * NEWS: Mention the change.
17205
17206 2009-08-30  Bruno Haible  <bruno@clisp.org>
17207
17208         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
17209         problem.
17210
17211 2009-08-30  Bruno Haible  <bruno@clisp.org>
17212
17213         Work around iconv_open problem on Solaris.
17214         * lib/iconv_open-solaris.gperf: New file.
17215         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
17216         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
17217         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
17218         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
17219         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
17220         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
17221
17222 2009-08-29  Jim Meyering  <meyering@redhat.com>
17223
17224         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
17225         * top/maint.mk (cvs-check): Remove target; it was just an alias
17226         to the better-named vc-diff-check.
17227         (maintainer-distcheck): Remove rule.  It was used only from
17228         the (alpha/beta/major) target, and all of its commands but one
17229         were coreutils-specific.
17230         (vc-dist): Remove rule.
17231         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
17232         Run vc-diff-check, not vc-dist.
17233         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
17234
17235 2009-08-27  Bruno Haible  <bruno@clisp.org>
17236
17237         * tests/test-bitrotate.c (main): Remove test that uses a shift count
17238         of 0.
17239
17240 2009-08-27  Bruno Haible  <bruno@clisp.org>
17241
17242         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
17243         compilers.
17244         * doc/func.texi: Document the SunPRO C bug.
17245
17246 2009-08-27  Bruno Haible  <bruno@clisp.org>
17247
17248         Fix link error on Solaris.
17249         * tests/test-parse-duration.c (xstrdup): Remove function.
17250
17251 2009-08-26  Pádraig Brady  <P@draigbrady.com>
17252
17253         ignore-value: handle pointer types, too
17254         * lib/ignore-value.h (__attribute__): Remove definition.
17255         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
17256         of a more concise and more-often effective "(void) i" statement.
17257         (ignore_ptr): New function to suppress warnings from functions that
17258         return pointers, and to make it explicit that one function doesn't
17259         handle all cases.
17260
17261 2009-08-25  Bruno Haible  <bruno@clisp.org>
17262
17263         dup2: work around a Linux bug.
17264         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
17265         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
17266         * doc/posix-functions/dup2.texi: Mention the Linux bug.
17267         Reported by Simon Josefsson.
17268
17269 2009-08-25  Jim Meyering  <meyering@redhat.com>
17270
17271         libguestfs uses gnulib
17272         * users.txt: Add libguestfs.
17273
17274 2009-08-24  Eric Blake  <ebb9@byu.net>
17275
17276         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
17277         * lib/pipe2.c (includes): Add binary-io.h.
17278         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
17279
17280 2009-08-24  Bruno Haible  <bruno@clisp.org>
17281
17282         Tolerate declared but missing accept4 syscall.
17283         * lib/accept4.c (accept4): Invoke original accept4 function first, if
17284         available.
17285         * lib/sys_socket.in.h (accept4): If the function is already present,
17286         override it.
17287         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
17288         * modules/accept4 (Makefile.am): Compile accept4.c always.
17289         Reported by Paolo Bonzini and Eric Blake.
17290
17291 2009-08-23  Bruno Haible  <bruno@clisp.org>
17292
17293         New module 'accept4'.
17294         * lib/sys_socket.in.h (accept4): New declaration.
17295         * lib/accept4.c: New file.
17296         * m4/accept4.m4: New file.
17297         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17298         GNULIB_ACCEPT4, HAVE_ACCEPT4.
17299         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
17300         HAVE_ACCEPT4.
17301         * modules/accept4: New file.
17302         * doc/glibc-functions/accept4.texi: Mention the new module.
17303
17304 2009-08-24  Jim Meyering  <meyering@redhat.com>
17305
17306         progname: also set global program_invocation_name, when possible
17307         Before this change, a libtool-enabled program that calls glibc's
17308         error function would report the program name as
17309         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
17310         * modules/progname (configure.ac): Check for a declaration of
17311         program_invocation_name.
17312         * lib/progname.c:  Include <errno.h>.
17313         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
17314         Set program_invocation_name.
17315
17316 2009-08-23  Bruno Haible  <bruno@clisp.org>
17317
17318         * lib/dup3.c: Include <string.h>.
17319
17320 2009-08-23  Bruno Haible  <bruno@clisp.org>
17321
17322         * lib/dup3.c (dup3): Test only once whether the system actually exists.
17323         * lib/pipe2.c (pipe2): Likewise.
17324         Suggested by Eric Blake.
17325
17326 2009-08-23  Bruno Haible  <bruno@clisp.org>
17327
17328         Tolerate declared but missing dup3 syscall.
17329         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
17330         * lib/unistd.in.h (dup3): If the function is already present,
17331         override it.
17332         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
17333         * modules/dup3 (Makefile.am): Compile dup3.c always.
17334         Reported by Paolo Bonzini.
17335
17336 2009-08-23  Bruno Haible  <bruno@clisp.org>
17337
17338         Tolerate declared but missing pipe2 syscall.
17339         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
17340         available.
17341         * lib/unistd.in.h (pipe2): If the function is already present,
17342         override it.
17343         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
17344         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
17345         Reported by Paolo Bonzini.
17346
17347 2009-08-23  Bruno Haible  <bruno@clisp.org>
17348
17349         * lib/pipe2.c (pipe2): Move #ifs inside function.
17350
17351 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17352
17353         quotearg: document limitations of quote_these_too
17354         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
17355         those limitations are created.
17356         * lib/quotearg.h (set_char_quoting): Document that digits and
17357         letters that are special after backslash are not permitted.
17358         (quotearg_char): Cross-reference set_char_quoting documentation.
17359
17360 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
17361
17362         quotearg: implement custom_quoting_style
17363         * lib/quotearg.c: (struct quoting_options): Add left_quote and
17364         right_quote fields.
17365         (set_custom_quoting): New public function.
17366         (quotearg_buffer_restyled): Add left_quote and right_quote
17367         arguments, handle them very much like locale quoting, and update
17368         all uses.
17369         (quotearg_n_custom): New public function.
17370         (quotearg_n_custom_mem): New public function.
17371         (quotearg_custom): New public function.
17372         (quotearg_custom_mem): New public function.
17373         * lib/quotearg.h: Prototype and document new public functions.
17374         (enum quoting_style): For escape_quoting_style and
17375         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
17376         ignored even though they're otherwise like c_quoting_style.
17377         Add custom_quoting_style member and document with comparison to
17378         clocale_quoting_style.
17379         * tests/test-quotearg.c (custom_quotes): New array.
17380         (custom_results): New array.
17381         (main): Extend to test custom quoting.
17382
17383 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17384
17385         quotearg: fix right quote escaping when it's in quote_these_too
17386         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
17387         quote, be sure to prepend only one backslash.
17388         * tests/test-quotearg.c (use_quote_double_quotes): New function.
17389         (main): Test it.
17390
17391 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17392
17393         quotearg-tests: test escaping of embedded locale quotes
17394         * tests/test-quotearg.c (struct result_strings): Add member for
17395         new input.
17396         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
17397         (inputs): Add new input.
17398         (results_g): Add expected results.
17399         (flag_results): Likewise.
17400         (locale_results): Likewise.
17401         (compare_strings): Check those.
17402
17403 2009-08-23  Bruno Haible  <bruno@clisp.org>
17404
17405         Tests for module 'dup3'.
17406         * modules/dup3-tests: New file.
17407         * tests/test-dup3.c: New file.
17408
17409         New module 'dup3'.
17410         * lib/unistd.in.h (dup3): New declaration.
17411         * lib/dup3.c: New file.
17412         * m4/dup3.m4: New file.
17413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
17414         HAVE_DUP3.
17415         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
17416         * modules/dup3: New file.
17417         * doc/glibc-functions/dup3.texi: Mention the new module.
17418
17419 2009-08-23  Bruno Haible  <bruno@clisp.org>
17420
17421         Tweak the dup2 test.
17422         * tests/test-dup2.c (main): Create the test file empty. Verify that an
17423         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
17424         the test file is still empty. Fix argument order of lseek.
17425
17426 2009-08-23  Bruno Haible  <bruno@clisp.org>
17427
17428         Avoid test link errors when the modules getopt-gnu, gettext are used.
17429         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
17430         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17431
17432 2009-08-23  Bruno Haible  <bruno@clisp.org>
17433
17434         Fix getdtablesize() on mingw.
17435         * lib/getdtablesize.c (getdtablesize): Implement differently.
17436         * lib/unistd.in.h (getdtablesize): Improve comment.
17437
17438 2009-08-23  Bruno Haible  <bruno@clisp.org>
17439
17440         New module 'mkostemp'.
17441         Based on Ulrich Drepper's 2007-08-10 change in glibc.
17442         * lib/stdlib.in.h (mksotemp): New declaration.
17443         * lib/mkostemp.c: New file, from glibc with modifications.
17444         * lib/tempname.h (GT_FILE): Remove outdated comment.
17445         (gen_tempname): Add flags argument.
17446         * lib/tempname.c (__GT_BIGFILE): Remove macro.
17447         (__GT_FILE): Map to 1.
17448         (small_open, large_open): Remove macros.
17449         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
17450         * lib/mkstemp.c (mkstemp): Update.
17451         * lib/mkdtemp.c (mkdtemp): Likewise.
17452         * m4/mkostemp.m4: New file.
17453         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
17454         HAVE_MKOSTEMP.
17455         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
17456         HAVE_MKOSTEMP.
17457         * modules/mkostemp: New file, based on modules/mkstemp.
17458         * doc/glibc-functions/mkostemp.texi: Mention the new module.
17459         * NEWS: Mention the change.
17460
17461 2009-08-23  Bruno Haible  <bruno@clisp.org>
17462
17463         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
17464         Reported by Eric Blake.
17465
17466 2009-08-23  Bruno Haible  <bruno@clisp.org>
17467
17468         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
17469         Reported by Eric Blake.
17470
17471 2009-08-23  Bruno Haible  <bruno@clisp.org>
17472
17473         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
17474         * modules/pipe2 (Depends-on): Likewise.
17475
17476 2009-08-23  Eric Blake  <ebb9@byu.net>
17477
17478         fcntl-h: add O_TTY_INIT support
17479         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
17480         * tests/test-fcntl-h.c (o): Test it.
17481         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
17482
17483         fcntl-h: rename from fcntl, in preparation for fcntl(2)
17484         * modules/fcntl: Move <fcntl.h> header replacement...
17485         * modules/fcntl-h: ...to new name, so as not to collide with
17486         like-named function.
17487         * tests/test-fcntl.c: Rename...
17488         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
17489         * modules/fcntl-tests: Rename...
17490         * modules/fcntl-h-tests: ...to this.  Update test file name.
17491         * modules/chdir-long (Depends-on): Update clients.
17492         * modules/chdir-safer (Depends-on): Likewise.
17493         * modules/fcntl-safer (Depends-on): Likewise.
17494         * modules/fts (Depends-on): Likewise.
17495         * modules/mkancesdirs (Depends-on): Likewise.
17496         * modules/mkdir-p (Depends-on): Likewise.
17497         * modules/open (Depends-on): Likewise.
17498         * modules/savewd (Depends-on): Likewise.
17499         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
17500         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
17501
17502 2009-08-22  Bruno Haible  <bruno@clisp.org>
17503
17504         * modules/binary-io (License): Relicense under LGPL.
17505         * modules/pipe2 (License): Likewise.
17506
17507 2009-08-22  Bruno Haible  <bruno@clisp.org>
17508
17509         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
17510         return value.
17511         * lib/pipe-filter-gi.c (filter_init): Likewise.
17512         Reported by Eric Blake.
17513
17514 2009-08-22  Bruno Haible  <bruno@clisp.org>
17515
17516         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
17517         * modules/pipe (Depends-on): Add pipe2.
17518
17519 2009-08-22  Bruno Haible  <bruno@clisp.org>
17520
17521         Tests for module 'pipe2'.
17522         * modules/pipe2-tests: New file.
17523         * tests/test-pipe2.c: New file.
17524
17525         New module 'pipe2'.
17526         * lib/unistd.in.h (pipe2): New declaration.
17527         * lib/pipe2.c: New file.
17528         * m4/pipe2.m4: New file.
17529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
17530         HAVE_PIPE2.
17531         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
17532         * modules/pipe2: New file.
17533         * doc/glibc-functions/pipe2.texi: Mention the new module.
17534
17535 2009-08-22  Bruno Haible  <bruno@clisp.org>
17536
17537         Reference some new glibc functions.
17538         * doc/glibc-functions/accept4.texi: New file.
17539         * doc/glibc-functions/dup3.texi: New file.
17540         * doc/glibc-functions/mkostemp.texi: New file.
17541         * doc/glibc-functions/pipe2.texi: New file.
17542         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
17543         (Glibc sys/socket.h): Refer to accept4.
17544         (Glibc unistd.h): Refer to dup3, pipe2.
17545         Reported by Eric Blake.
17546
17547 2009-08-22  Jim Meyering  <meyering@redhat.com>
17548             Bruno Haible  <bruno@clisp.org>
17549
17550         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
17551         This makes it so packages using automake-1.11's silent-rules option
17552         can print e.g., a single "GEN    configmake.h" line, rather than
17553         the 30+ statements that perform the job.  If you want to see the
17554         actual commands, you can still run "make V=1".
17555         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
17556         so that make output is abbreviated when those variables are defined
17557         appropriately.
17558         * modules/argz: Likewise.
17559         * modules/arpa_inet: Likewise.
17560         * modules/byteswap: Likewise.
17561         * modules/configmake: Likewise.
17562         * modules/dirent: Likewise.
17563         * modules/errno: Likewise.
17564         * modules/fcntl: Likewise.
17565         * modules/float: Likewise.
17566         * modules/fnmatch: Likewise.
17567         * modules/getopt-posix: Likewise.
17568         * modules/glob: Likewise.
17569         * modules/iconv_open: Likewise.
17570         * modules/inttypes: Likewise.
17571         * modules/localcharset: Likewise.
17572         * modules/locale: Likewise.
17573         * modules/math: Likewise.
17574         * modules/netdb: Likewise.
17575         * modules/netinet_in: Likewise.
17576         * modules/poll: Likewise.
17577         * modules/posix_spawnp-tests: Likewise.
17578         * modules/sched: Likewise.
17579         * modules/search: Likewise.
17580         * modules/selinux-h: Likewise.
17581         * modules/signal: Likewise.
17582         * modules/spawn: Likewise.
17583         * modules/stdarg: Likewise.
17584         * modules/stdbool: Likewise.
17585         * modules/stddef: Likewise.
17586         * modules/stdint: Likewise.
17587         * modules/stdio: Likewise.
17588         * modules/stdlib: Likewise.
17589         * modules/string: Likewise.
17590         * modules/strings: Likewise.
17591         * modules/sys_file: Likewise.
17592         * modules/sys_ioctl: Likewise.
17593         * modules/sys_select: Likewise.
17594         * modules/sys_socket: Likewise.
17595         * modules/sys_stat: Likewise.
17596         * modules/sys_time: Likewise.
17597         * modules/sys_times: Likewise.
17598         * modules/sys_utsname: Likewise.
17599         * modules/sys_wait: Likewise.
17600         * modules/sysexits: Likewise.
17601         * modules/time: Likewise.
17602         * modules/unistd: Likewise.
17603         * modules/wchar: Likewise.
17604         * modules/wctype: Likewise.
17605
17606 2009-08-22  Jim Meyering  <meyering@redhat.com>
17607
17608         announce-gen: detect write failure
17609         * build-aux/announce-gen: Add Coda at end.
17610         Remove equivalent-but-more-verbose block at top.
17611
17612 2009-08-19  Akim Demaille  <demaille@gostai.com>
17613
17614         bootstrap: --help to stdout.
17615         * bootstrap (usage): Don't send --help to stderr.
17616         Use a here doc instead of a long string.
17617
17618 2009-08-21  Eric Blake  <ebb9@byu.net>
17619
17620         test-popen-safer: split from test-popen
17621         * tests/test-popen.c (main): Move...
17622         * tests/test-popen.h: ...into new file.
17623         * tests/test-popen-safer2.c: New file.
17624         * modules/popen-tests (Files): Add test-popen.h.
17625         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
17626         Suggested by Bruno Haible.
17627
17628         test-fcntl-safer: split from test-open
17629         * tests/test-open.c (main): Move...
17630         * tests/test-open.h: ...into new file.
17631         * tests/test-fcntl-safer.c: New file.
17632         * modules/open-tests (Files): Add test-open.h.
17633         * modules/fcntl-safer-tests: New file.
17634         Suggested by Bruno Haible.
17635
17636         test-fopen-safer: split from test-fopen
17637         * tests/test-fopen.c (main): Move...
17638         * tests/test-fopen.h: ...into new file.
17639         * tests/test-fopen-safer.c: New file.
17640         * modules/fopen-tests (Files): Add test-fopen.h.
17641         * modules/fopen-safer-tests: New file.
17642         Suggested by Bruno Haible.
17643
17644 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
17645
17646         popen-safer: test O_CLOEXEC at run-time.
17647         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
17648
17649 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
17650
17651         fcntl: move more flags to the header
17652         * lib/cloexec.c: Do not define FD_CLOEXEC here.
17653         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
17654         * lib/fcntl.in.h: Do both things here.
17655
17656 2009-08-21  Jim Meyering  <meyering@redhat.com>
17657
17658         consistently remove $@-t before redirecting to it
17659         * modules/argz: Remove $@-t and $@ before redirecting to the former.
17660         * modules/alloca-opt: Likewise.
17661         * modules/byteswap: Likewise.
17662         * modules/fnmatch: Likewise.
17663         * modules/getopt-posix: Likewise.
17664         * modules/glob: Likewise.
17665         * modules/poll: Likewise.
17666         * modules/posix_spawnp-tests: Likewise.
17667         * modules/sys_socket: Likewise.
17668         * modules/sysexits: Likewise.
17669
17670 2009-08-21  Eric Blake  <ebb9@byu.net>
17671
17672         popen: simplify access to original popen
17673         * lib/popen.c (rpl_popen): No need to worry about popen being a
17674         macro.
17675         Reported by Bruno Haible.
17676
17677 2009-08-20  Eric Blake  <ebb9@byu.net>
17678
17679         build: avoid some compiler warnings
17680         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
17681         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
17682         type.
17683         (new_exclude_segment, excluded_file_pattern_p)
17684         (excluded_file_name_p): Reduce scope.
17685         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
17686         old-style declaration.
17687
17688 2009-08-20  Simon Josefsson  <simon@josefsson.org>
17689
17690         * tests/test-exclude1.sh: Handle Windows EOL.
17691         * tests/test-exclude2.sh: Likewise.
17692         * tests/test-exclude3.sh: Likewise.
17693         * tests/test-exclude4.sh: Likewise.
17694         * tests/test-exclude5.sh: Likewise.
17695         * tests/test-exclude6.sh: Likewise.
17696         * tests/test-exclude7.sh: Likewise.
17697
17698 2009-08-19  Akim Demaille  <demaille@gostai.com>
17699
17700         bootstrap: find sha1sum when named gsha1sum.
17701         * bootstrap (find_tool): New.
17702         ($SHA1SUM): New.
17703         Use it.
17704
17705 2009-08-20  Jim Meyering  <meyering@redhat.com>
17706
17707         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
17708         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
17709         expression that converts "." in a file name to "\." in the resulting
17710         regexp.  Start with a dummy statement, so that prior shell variable
17711         definitions are expanded portably.  Reported by Simon Josefsson.
17712
17713 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
17714
17715         Fix polling for writeability of a screen buffer.
17716         * lib/poll.c: Distinguish input and screen buffers for the
17717         Win32 implementation.
17718         * lib/select.c: Likewise.
17719
17720 2009-08-19  Eric Blake  <ebb9@byu.net>
17721
17722         popen-safer: prevent popen from clobbering std descriptors
17723         * modules/popen-safer: New file.
17724         * lib/popen-safer.c: Likewise.
17725         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
17726         * lib/stdio--.h (popen): Provide override.
17727         * lib/stdio-safer.h (popen_safer): Provide declaration.
17728         * tests/test-popen.c (includes): Partially test this.
17729         * modules/popen-safer-tests: New file, for more tests.
17730         * tests/test-popen-safer.c: Likewise.
17731         * MODULES.html.sh (file stream based Input/Output): Mention it.
17732
17733         tests: test some of the *-safer modules
17734         * modules/fopen-safer (Depends-on): Add fopen.
17735         * modules/fcntl-safer (Depends-on): Add fcntl.
17736         * modules/stdlib-safer (Depends-on): Add stdlib.
17737         (configure.ac): Set indicator.
17738         * modules/unistd-safer (configure.ac): Likewise.
17739         * modules/tmpfile-safer (configure.ac): Likewise.
17740         (Depends-on): Add tmpfile.
17741         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
17742         active.
17743         * tests/test-fopen.c (includes): Test safer versions when they are
17744         in use.
17745         * tests/test-open.c (includes): Likewise.
17746
17747         popen: fix cygwin 1.5 bug when stdin closed
17748         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
17749         * modules/popen: New file.
17750         * modules/popen-tests: Likewise.
17751         * tests/test-popen.c: Likewise.
17752         * m4/popen.m4: Likewise.
17753         * lib/popen.c: Likewise.
17754         * lib/stdio.in.h (popen): New declaration.
17755         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
17756         * modules/stdio (Makefile.am): Likewise.
17757         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
17758
17759 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
17760
17761         maint.mk: give full control over update-copyright exclusions
17762         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
17763         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
17764         (update-copyright): Don't force inclusion of top-level
17765         ChangeLog.  Don't force exclusion of all COPYING files, but make
17766         them the default exclusion instead.
17767
17768 2009-08-16  Bruno Haible  <bruno@clisp.org>
17769
17770         Fix test failures on Solaris 10.
17771         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
17772         tests when Solaris iconv() is used.
17773         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
17774         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
17775         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
17776         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
17777         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
17778
17779 2009-08-16  Bruno Haible  <bruno@clisp.org>
17780
17781         Fix test failures on Solaris 10.
17782         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
17783         'tr' program and pass it as first argument.
17784         * tests/test-pipe-filter-gi1.sh: Likewise.
17785         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
17786         program as first argument.
17787         * tests/test-pipe-filter-gi1.c (main): Likewise.
17788
17789 2009-08-16  Eric Blake  <ebb9@byu.net>
17790
17791         fpurge: fix previous commits
17792         * modules/fpurge (Makefile.am): Make replacement conditional,
17793         partially reverting 2007-04-29 change; missed in previous
17794         attempt.
17795         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
17796         is missing.
17797
17798 2009-08-16  Bruno Haible  <bruno@clisp.org>
17799
17800         Clarify fpurge's effect on the file position.
17801         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
17802         * tests/test-fpurge.c (main): Make a second pass for checking the file
17803         position.
17804
17805 2009-08-16  Bruno Haible  <bruno@clisp.org>
17806
17807         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
17808         declaration of fpurge is missing.
17809         * tests/test-fpurge.c (main): Check that the file has not more contents
17810         than expected. Close the file before removing it.
17811
17812 2009-08-15  Eric Blake  <ebb9@byu.net>
17813
17814         fpurge: don't wrap working cygwin implementation
17815         * lib/fpurge.c (fpurge): Fix comment typo.
17816         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
17817         1.7 to avoid replacement.
17818         * tests/test-fpurge.c (main): Enhance test.
17819
17820 2009-08-15  Eric Blake  <ebb9@byu.net>
17821         and Jim Meyering  <meyering@redhat.com>
17822
17823         test-update-copyright: skip if perl is insufficient
17824         * tests/test-update-copyright.sh: Failure to run maintainer tool
17825         should not cause testsuite failure on cygwin 1.5.
17826
17827 2009-08-14  Eric Blake  <ebb9@byu.net>
17828
17829         doc: mention more functions added in cygwin 1.7.0
17830         * doc/posix-headers/limits.texi (limits.h): Update for recent
17831         cygwin additions.
17832         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
17833         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
17834         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
17835         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
17836         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
17837
17838 2009-08-14  Eric Blake  <ebb9@byu.net>
17839
17840         maint.mk: simplify update-copyright rule
17841         * top/maint.mk (update-copyright-local): Delete, and document how
17842         to do it in cfg.mk instead.
17843         (update-copyright-exclude-regexp): Delete, and document how to do
17844         it in .x-update-copyright instead.
17845         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
17846         exclude ChangeLog.
17847
17848 2009-08-14  Bruno Haible  <bruno@clisp.org>
17849
17850         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
17851
17852 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17853
17854         maint.mk: support update-copyright-env
17855         * top/maint.mk (update-copyright-env): Define place-holder.
17856         (update-copyright): Expand $(update-copyright-env) before
17857         invoking update-copyright.
17858
17859 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17860
17861         update-copyright: implement forced reformatting
17862         * build-aux/update-copyright: Implement and document
17863         UPDATE_COPYRIGHT_FORCE.
17864         * tests/test-update-copyright.sh: Test it.
17865
17866 2009-08-14  Eric Blake  <ebb9@byu.net>
17867         and Bruno Haible  <bruno@clisp.org>
17868
17869         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
17870         * tests/test-locale.c: Revert previous patch related to NULL.
17871         * tests/test-stdio.c: Likewise.
17872         * tests/test-stdlib.c: Likewise.
17873         * tests/test-string.c: Likewise.
17874         * tests/test-unistd.c: Likewise.
17875         * modules/time-tests (Depends-on): Add verify.
17876         * modules/wchar-tests (Depends-on): Likewise.
17877         * tests/test-time.c: Test for NULL compliance.
17878         * tests/test-wchar.c: Likewise.
17879         * modules/locale (Depends-on): Add stddef.
17880         * modules/stdio (Depends-on): Likewise.
17881         * modules/stdlib (Depends-on): Likewise.
17882         * modules/string (Depends-on): Likewise.
17883         * modules/time (Depends-on): Likewise.
17884         * modules/unistd (Depends-on): Likewise.
17885         * modules/wchar (Depends-on): Likewise.
17886         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
17887         * lib/stdlib.in.h (includes): Likewise.
17888         * lib/string.in.h (includes): Likewise.
17889         * lib/time.in.h (includes): Likewise.
17890         * lib/unistd.in.h (includes): Likewise.
17891         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
17892         replaced.
17893         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17894         * m4/stddef_h.m4: New file.
17895         * modules/stddef: Likewise.
17896         * lib/stddef.in.h: Likewise.
17897         * modules/stddef-tests: Likewise.
17898         * tests/test-stddef.c: Likewise.
17899         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
17900         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
17901         * doc/posix-headers/locale.texi (locale.h): Likewise.
17902         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
17903         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
17904         * doc/posix-headers/string.texi (string.h): Likewise.
17905         * doc/posix-headers/time.texi (time.h): Likewise.
17906         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
17907         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
17908
17909 2009-08-14  Eric Blake  <ebb9@byu.net>
17910
17911         doc: improve git diff of texinfo files
17912         * .gitattributes: Add rule for *.texi files, with hint on how to
17913         use it.
17914         Copied from m4, and based on a report by Bruno Haible.
17915
17916 2009-08-14  Bruno Haible  <bruno@clisp.org>
17917
17918         Disable multithread support by default on Cygwin 1.5.x for real.
17919         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
17920
17921 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17922
17923         update-copyright: much ado about intervals
17924         * build-aux/update-copyright: Implement and document
17925         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
17926         of copyright year intervals.
17927         Also, document UPDATE_COPYRIGHT_YEAR.
17928         * tests/test-update-copyright.sh: Test it.
17929
17930         update-copyright: convert 2-digit to 4-digit years
17931         * build-aux/update-copyright: Implement and document.
17932         * tests/test-update-copyright.sh: Update.
17933
17934 2009-08-14  Jim Meyering  <meyering@redhat.com>
17935
17936         test-exclude: avoid coreutils "make check" failure
17937         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
17938         just as in test-argmatch.c.
17939
17940 2009-08-13  Eric Blake  <ebb9@byu.net>
17941
17942         test-dup2: fix bad assumption
17943         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
17944         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
17945
17946         test-version-etc: fix CRLF portability issue
17947         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
17948         recognize \r.
17949         * tests/test-argp-version-etc-1.sh: Likewise.
17950
17951         getopt: update client modules
17952         * modules/argp (Depends-on): Use getopt-gnu.
17953         * modules/git-merge-changelog (Depends-on): Likewise.
17954         * modules/long-options (Depends-on): Likewise.
17955         * modules/xstrtol (Depends-on): Likewise.
17956
17957 2009-08-13  Simon Josefsson  <simon@josefsson.org>
17958
17959         * tests/test-version-etc.sh: Don't fail on different
17960         project/version.  Don't fail on CRLF differences.  Rewrite to use
17961         multiple -e instead of multiple sed forks, suggested by Eric Blake
17962         <ebb9@byu.net>.
17963         * tests/test-argp-version-etc-1.sh: Likewise.
17964
17965 2009-08-13  Simon Josefsson  <simon@josefsson.org>
17966
17967         * tests/test-version-etc.sh: Don't fail on different
17968         project/version.
17969
17970 2009-08-12  Bruno Haible  <bruno@clisp.org>
17971
17972         Tests for modules 'getopt-posix', 'getopt-gnu'.
17973         * modules/getopt-posix-tests: New file.
17974         * tests/test-getopt.c: New file.
17975         * tests/test-getopt.h: New file.
17976         * tests/test-getopt_long.h: New file.
17977
17978         New modules 'getopt-posix', 'getopt-gnu'.
17979         * modules/getopt-gnu: New file, renamed from modules/getopt.
17980         * modules/getopt-posix: New file.
17981         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
17982         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
17983         (gl_GETOPT): Remove macro.
17984         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
17985         Disable the test against BSD systems that declare optreset. Test
17986         against mingw bug. Test against lack of support of optional arguments
17987         on many platforms.
17988         * doc/glibc-headers/getopt.texi: Update module name and list of
17989         relevant platforms.
17990         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
17991         'getopt-gnu' and more portability problems.
17992         * NEWS: Mention the changes.
17993
17994 2009-08-12  Bruno Haible  <bruno@clisp.org>
17995
17996         Ensure that optarg etc. get declared by <unistd.h>.
17997         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
17998         AC_USE_SYSTEM_EXTENSIONS.
17999         * modules/getopt (Depends-on): Add 'extensions'.
18000
18001 2009-08-12  Bruno Haible  <bruno@clisp.org>
18002
18003         Avoid test link errors.
18004         * modules/pipe-filter-ii-tests (Makefile.am): Define
18005         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
18006         * modules/pipe-filter-gi-tests (Makefile.am): Define
18007         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
18008         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18009
18010 2009-08-12  Bruno Haible  <bruno@clisp.org>
18011
18012         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
18013         gl_GETOPT_SUBSTITUTE before.
18014         (gl_GETOPT): Use it.
18015         * m4/argp.m4 (gl_ARGP): Update.
18016         Reported by Sergey Poznyakoff.
18017
18018         * m4/getopt.m4: Reorder macros.
18019         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
18020         (gl_GETOPT_SUBSTITUTE): Remove macro.
18021
18022 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18023
18024         Minor improvement in gitlog-to-changelog
18025
18026         * build-aux/gitlog-to-changelog: New option `--format' makes
18027         output format string configurable.
18028
18029 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18030
18031         Optimize exclude: use hash tables for non-wildcard patterns.
18032
18033         * lib/exclude.c: Include hash.h and mbuiter.h
18034         (struct exclude_pattern, exclude_segment): New data types.
18035         (struct exclude): Rewrite.
18036         (fnmatch_pattern_has_wildcards): New function.
18037         (new_exclude_segment, free_exclude_segment): New functions.
18038         (excluded_file_pattern_p, excluded_file_name_p): New functions.
18039         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
18040         * lib/exclude.h (is_fnmatch_pattern): New prototype.
18041         * modules/exclude: Depend on hash and mbuiter.
18042
18043         * modules/exclude-tests: New file.
18044         * tests/test-exclude.c: New file.
18045         * tests/test-exclude1.sh: New file.
18046         * tests/test-exclude2.sh: New file.
18047         * tests/test-exclude3.sh: New file.
18048         * tests/test-exclude4.sh: New file.
18049         * tests/test-exclude5.sh: New file.
18050         * tests/test-exclude6.sh: New file.
18051         * tests/test-exclude7.sh: New file.
18052
18053 2009-08-12  Bruno Haible  <bruno@clisp.org>
18054
18055         Ensure that getopt() gets declared by <unistd.h>.
18056         * lib/unistd.in.h: Conditionally include getopt.h.
18057         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
18058         Set GNULIB_UNISTD_H_GETOPT.
18059         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18060         GNULIB_UNISTD_H_GETOPT.
18061         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
18062
18063 2009-08-12  Bruno Haible  <bruno@clisp.org>
18064
18065         Clarify logic.
18066         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
18067         gl_replace_getopt instead of GETOPT_H.
18068
18069 2009-08-12  Bruno Haible  <bruno@clisp.org>
18070
18071         * m4/getopt.m4: Add comments.
18072
18073 2009-08-12  Bruno Haible  <bruno@clisp.org>
18074
18075         Disable multithread support by default on Cygwin 1.5.x.
18076         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
18077         set gl_use_threads=no if not specified otherwise.
18078
18079 2009-08-11  Bruno Haible  <bruno@clisp.org>
18080
18081         Avoid compilation error on NetBSD 5.0.
18082         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
18083         * tests/test-stdio.c: Likewise.
18084         * tests/test-stdlib.c: Likewise.
18085         * tests/test-string.c: Likewise.
18086         * tests/test-unistd.c: Likewise.
18087         Reported by Greg Troxel <gdt@ir.bbn.com>
18088         at <https://savannah.gnu.org/support/?106973>.
18089
18090 2009-08-11  Bruno Haible  <bruno@clisp.org>
18091
18092         * modules/dup2-tests (Depends-on): Remove close.
18093
18094         Undo 2009-07-19 commit.
18095         * modules/acl-tests (Depends-on): Remove close.
18096         * modules/binary-io-tests (Depends-on): Likewise.
18097         * modules/closein-tests (Depends-on): Likewise.
18098         * modules/flock-tests (Depends-on): Likewise.
18099         * modules/fsync-tests (Depends-on): Likewise.
18100         * modules/lseek-tests (Depends-on): Likewise.
18101         * modules/pipe-tests (Depends-on): Likewise.
18102         * modules/posix_spawn-tests (Depends-on): Likewise.
18103         * modules/posix_spawnp-tests (Depends-on): Likewise.
18104         * modules/stat-time-tests (Depends-on): Likewise.
18105         * modules/yesno-tests (Depends-on): Likewise.
18106
18107 2009-08-10  Bruno Haible  <bruno@clisp.org>
18108
18109         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
18110
18111 2009-08-10  Bruno Haible  <bruno@clisp.org>
18112
18113         Fix a gcc warning.
18114         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
18115
18116 2009-08-10  Bruno Haible  <bruno@clisp.org>
18117
18118         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
18119         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
18120         not only the first time.
18121         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
18122         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
18123         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
18124         is 1, not only the the first time.
18125
18126 2009-08-10  Bruno Haible  <bruno@clisp.org>
18127
18128         Make it possible to use module 'gethostname' without module 'close'.
18129         * lib/unistd.in.h (close): Evoke a link error only if
18130         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
18131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18132         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18133         * modules/unistd (Makefile.am): Substitute
18134         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18135         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
18136         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
18137         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
18138         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18139         * modules/sys_ioctl (Makefile.am): Substitute
18140         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18141         * modules/socket (configure.ac): On native Windows, set
18142         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
18143         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18144         Reported by Sam Steingold <sds@gnu.org>.
18145
18146 2009-08-10  Bruno Haible  <bruno@clisp.org>
18147
18148         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
18149         * modules/ioctl (configure.ac): Likewise.
18150
18151 2009-08-10  Bruno Haible  <bruno@clisp.org>
18152
18153         Avoid collision between gnulib wrapper and libintl wrapper.
18154         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
18155         already defined in intl/printf.c.
18156         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
18157         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
18158
18159 2009-08-09  Bruno Haible  <bruno@clisp.org>
18160
18161         Make <sys/select.h> really self-contained, also on Solaris 10.
18162         * lib/sys_select.in.h: Include <string.h>.
18163         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
18164         Solaris 10 problem.
18165         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
18166         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
18167         Reported by Jim Meyering.
18168
18169 2009-08-09  Bruno Haible  <bruno@clisp.org>
18170
18171         Avoid warnings from 'aclocal' that are due to a use of macro name
18172         AM_XGETTEXT_OPTION that is not defined in automake.
18173         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
18174         automake.
18175         * modules/error (configure.ac): Likewise.
18176         * modules/propername (configure.ac): Likewise.
18177         * modules/vasprintf (configure.ac): Likewise.
18178         * modules/verror (configure.ac): Likewise.
18179         * modules/xprintf (configure.ac): Likewise.
18180         * modules/xvasprintf (configure.ac): Likewise.
18181
18182 2009-08-08  Bruno Haible  <bruno@clisp.org>
18183
18184         Avoid compilation error in C++ mode.
18185         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
18186         Reported by Sam Steingold <sds@gnu.org>.
18187
18188 2009-08-08  Bruno Haible  <bruno@clisp.org>
18189
18190         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
18191         for the various Unix platforms.
18192         * doc/posix-headers/limits.texi: Update platforms list regarding
18193         HOST_NAME_MAX.
18194         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18195
18196 2009-08-07  Jim Meyering  <meyering@redhat.com>
18197
18198         selinux-at: fix typo in a comment
18199         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
18200         Spotted by Paolo Bonzini.
18201
18202         selinux-at: remove redundant m4 code, add documentation
18203         * modules/selinux-at (configure.ac): Remove redundant code.
18204         LIB_SELINUX is already set via the dependent module, selinux-h.
18205         (Include): Add quotes around selinux-at.h.
18206         * lib/selinux-at.h: Add documentation.
18207         Reported by Bruno Haible in
18208         http://marc.info/?l=gnulib-bug&m=124958988300749
18209
18210 2009-08-07  Bruno Haible  <bruno@clisp.org>
18211
18212         Avoid link error on MacOS X 10.3 and 10.4.
18213         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
18214         on non-ELF systems.
18215         * lib/argp-pv.c (argp_program_version): Likewise.
18216         Reported by Simon Josefsson.
18217
18218 2009-08-07  Simon Josefsson  <simon@josefsson.org>
18219
18220         * tests/test-version-etc.sh: Use $EXEEXT.
18221
18222 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
18223
18224         update-copyright: update documentation to point to maint.mk
18225         * build-aux/update-copyright: Here.
18226
18227 2009-08-06  Jim Meyering  <meyering@redhat.com>
18228
18229         maint.mk: support update-copyright-local
18230         * top/maint.mk (update-copyright-local): Define place-holder.
18231         (update-copyright): Depend on $(update-copyright-local).
18232
18233 2009-08-06  Jim Meyering  <meyering@redhat.com>
18234
18235         selinux-at: new module
18236         Initially written for coreutils, this module will soon be
18237         used by findutils, too.
18238         * MODULES.html.sh [Misc]: Add selinux-at.
18239         * lib/selinux-at.h: New file, from coreutils.
18240         * lib/selinux-at.c: Likewise.
18241         * modules/selinux-at: Likewise.
18242         (License): Change from LGPL to GPL, since it depends
18243         on the GPL'd openat module.
18244
18245         doc: update README
18246         * README: Remove references to cogito.
18247         Remove cvs-repo-updating instructions from 2007.
18248         Don't imply that CVS is better if you have limited disk space.
18249
18250 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18251
18252         update-copyright: support C-style comments
18253         * build-aux/update-copyright: Implement and document.
18254         * tests/test-update-copyright.sh: Test.
18255
18256 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18257
18258         update-copyright: support omitted "(C)"
18259         * build-aux/update-copyright: Implement and document.  Also,
18260         allow variable whitespace before "(C)".
18261         * tests/test-update-copyright.sh: Test.
18262
18263 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18264
18265         update-copyright: don't trip on non-FSF copyright statements
18266         * build-aux/update-copyright: Fix so that the first correctly
18267         formatted FSF copyright statement is recognized no matter what
18268         appears before it.  Update documentation.
18269         * tests/test-update-copyright.sh: Test that.
18270
18271 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18272
18273         update-copyright: clean up code a little
18274         * build-aux/update-copyright: Append "_re" to the name of any
18275         variable holding a regular expression.
18276         Replace "old" and "new" with "stmt" in variable names.
18277         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
18278         handled correctly.
18279         Format code more consistently.
18280
18281 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18282
18283         update-copyright-tests: improve portability
18284         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
18285         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
18286
18287 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
18288
18289         update-copyright: support @copyright{} and &copy;
18290         * build-aux/update-copyright: Implement and document.
18291         * tests/test-update-copyright.sh: Test.
18292
18293 2009-08-04  Jim Meyering  <meyering@redhat.com>
18294
18295         update-copyright-tests: correctly test EOL=\r\n handling
18296         * tests/test-update-copyright.sh: Put \r at the end of some lines
18297         for the dos-eol tests.  Based on a patch by Joel E. Denny.
18298
18299         maint.mk: make update-copyright exclusion list more configurable
18300         * top/maint.mk (update-copyright): Default to excluding COPYING,
18301         but allow an override, in case someone does want to update that file.
18302
18303         maint.mk: don't update copyright date in COPYING
18304         * top/maint.mk (update-copyright): Exclude COPYING.
18305
18306         maint.mk: add a copyright-updating rule
18307         * top/maint.mk (update-copyright): New rule.
18308         Derived from coreutils/Makefile.am.
18309
18310         update-copyright: rename some variables
18311         * build-aux/update-copyright: Rename a few variables for clarity.
18312         Tweak syntax.  List Joel E. Denny as coauthor.
18313
18314 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
18315
18316         update-copyright: fix bug for 2-digit last year and add tests
18317         * build-aux/update-copyright: Fix bug.
18318         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
18319         specified.
18320         * modules/update-copyright-tests: New
18321         * tests/test-update-copyright.sh: New.
18322
18323 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18324
18325         update-copyright: handle leading tabs in line prefix
18326         * build-aux/update-copyright: Count leading tabs as 8 spaces
18327         when computing margin.  This helps with the formatting of
18328         ChangeLogs, for example.
18329         Fix documentation a little.
18330
18331 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18332
18333         update-copyright: support EOL=\r\n
18334         * build-aux/update-copyright: Implement that.
18335
18336 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18337
18338         update-copyright: automatically format copyright statements
18339         * build-aux/update-copyright: Implement that.
18340         Also, be a little more predictable and safer by always failing
18341         when the full copyright format is not perfectly recognized as an
18342         unbroken whole.  Discussed at
18343         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
18344         Rewrite documentation.
18345
18346 2009-08-03  Bruno Haible  <bruno@clisp.org>
18347
18348         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
18349
18350 2009-08-02  Bruno Haible  <bruno@clisp.org>
18351
18352         Tests for module 'uname'.
18353         * modules/uname-tests: New file.
18354         * tests/test-uname.c: New file.
18355
18356         New module 'uname'.
18357         * lib/uname.c: New file.
18358         * m4/uname.m4: New file.
18359         * modules/uname: New file.
18360         * doc/posix-functions/uname.texi: Mention the new module.
18361
18362 2009-08-02  Bruno Haible  <bruno@clisp.org>
18363
18364         Tests for module 'sys_utsname'.
18365         * modules/sys_utsname-tests: New file.
18366         * tests/test-sys_utsname.c: New file.
18367
18368         New module 'sys_utsname'.
18369         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
18370         * m4/sys_utsname_h.m4: New file.
18371         * modules/sys_utsname: New file.
18372         * doc/posix-headers/sys_utsname.texi: Mention the new module.
18373
18374 2009-08-02  Bruno Haible  <bruno@clisp.org>
18375
18376         Implicitly initialize the sockets library.
18377         * lib/gethostname.c: Include sockets.h.
18378         (rpl_gethostname): Invoke gl_sockets_startup.
18379         * lib/socket.c: Include sockets.h.
18380         (rpl_socket): Invoke gl_sockets_startup.
18381         * modules/gethostname (Depends-on): Add sockets.
18382         * modules/socket (Depends-on): Likewise.
18383         * tests/test-poll.c: Don't include sockets.h.
18384         (main): Don't invoke gl_sockets_startup.
18385         * tests/test-select.c: Don't include sockets.h.
18386         (main): Don't invoke gl_sockets_startup.
18387
18388 2009-08-02  Bruno Haible  <bruno@clisp.org>
18389
18390         Allow multiple calls to gl_sockets_startup.
18391         * lib/sockets.c (initialized_sockets_version): New variable.
18392         (gl_sockets_startup): Do nothing if already called for this or a higher
18393         version.
18394         (gl_sockets_cleanup): Reset initialized_sockets_version.
18395
18396 2009-08-03  Simon Josefsson  <simon@josefsson.org>
18397
18398         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
18399         different project/version.
18400
18401 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
18402             Bruno Haible  <bruno@clisp.org>
18403
18404         Tests for module 'pipe-filter-gi'.
18405         * modules/pipe-filter-gi-tests: New file.
18406         * tests/test-pipe-filter-gi1.sh: New file.
18407         * tests/test-pipe-filter-gi1.c: New file.
18408         * tests/test-pipe-filter-gi2.sh: New file.
18409         * tests/test-pipe-filter-gi2-main.c: New file.
18410         * tests/test-pipe-filter-gi2-child.c: New file.
18411
18412         New module 'pipe-filter-gi'.
18413         * lib/pipe-filter-gi.c: New file.
18414         * modules/pipe-filter-gi: New file.
18415
18416 2009-08-02  Bruno Haible  <bruno@clisp.org>
18417             Paolo Bonzini  <bonzini@gnu.org>
18418
18419         Tests for module 'pipe-filter-ii'.
18420         * modules/pipe-filter-ii-tests: New file.
18421         * tests/test-pipe-filter-ii1.sh: New file.
18422         * tests/test-pipe-filter-ii1.c: New file.
18423         * tests/test-pipe-filter-ii2.sh: New file.
18424         * tests/test-pipe-filter-ii2-main.c: New file.
18425         * tests/test-pipe-filter-ii2-child.c: New file.
18426
18427         New module 'pipe-filter-ii'.
18428         * lib/pipe-filter.h: New file.
18429         * lib/pipe-filter-ii.c: New file.
18430         * lib/pipe-filter-aux.h: New file.
18431         * modules/pipe-filter-ii: New file.
18432
18433 2009-08-02  Simon Josefsson  <simon@josefsson.org>
18434
18435         * lib/gc-libgcrypt.c: Change copyright to FSF.
18436         * lib/gc-gnulib.c: Likewise.
18437
18438 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
18439
18440         * lib/gethostname.c: Include limits.h.
18441
18442 2009-08-02  Simon Josefsson  <simon@josefsson.org>
18443             Bruno Haible  <bruno@clisp.org>
18444
18445         Ensure HOST_NAME_MAX as part of the gethostname module.
18446         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
18447         define also HOST_NAME_MAX.
18448         * tests/test-gethostname.c: Include <limits.h>.
18449         (main): Check also HOST_NAME_MAX.
18450         * doc/posix-headers/limits.texi: Document the mingw problem.
18451
18452 2009-08-02  Bruno Haible  <bruno@clisp.org>
18453
18454         * lib/gethostname.c (gethostname): Fix handling of large len argument.
18455         Add comments.
18456
18457 2009-03-31  Simon Josefsson  <simon@josefsson.org>
18458
18459         * lib/gethostname.c: Add Windows wrapper.
18460         * m4/gethostname.m4: Look for gethostname in -lws2_32.
18461         * modules/gethostname: Depend on sys_socket & errno, for also
18462         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
18463         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
18464
18465 2009-07-31  Jim Meyering  <meyering@redhat.com>
18466
18467         getloadavg: fix symbol name in comment
18468         * lib/getloadavg.c: Correct a typo I introduced when adding
18469         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
18470         Matt Kraai spotted the problem.
18471
18472 2009-07-29  Matt Kraai  <mkraai@beckman.com>
18473
18474         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
18475         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
18476         code also if ! defined N_NAME_POINTER.
18477         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
18478         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
18479         but the n_name member is a 12-byte array.
18480
18481 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
18482
18483         update-copyright: generalize comment handling
18484         * build-aux/update-copyright: Handle copyright statements
18485         within more comment styles.
18486         Document usage.
18487         Report any file with an external copyright holder or parse failure.
18488
18489 2009-07-29  Jim Meyering  <meyering@redhat.com>
18490
18491         mktime: correct setting of REPLACE_MKTIME
18492         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
18493
18494         update-copyright: new module
18495         * modules/update-copyright: New file.
18496         * build-aux/update-copyright: New file.
18497         * MODULES.html.sh (maint+release support): Add update-copyright.
18498
18499 2009-07-27  Bruno Haible  <bruno@clisp.org>
18500
18501         Fix compilation error when <ctime> is used and mktime is replaced.
18502         * lib/time.in.h (mktime): New declaration.
18503         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
18504         REPLACE_MKTIME instead of defining mktime in config.h.
18505         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
18506         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
18507         Reported by Ross McFarland <rwmcfa1@neces.com>.
18508
18509 2009-07-27  Bruno Haible  <bruno@clisp.org>
18510
18511         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
18512         Reported by Matt Kraai <mkraai@beckman.com>.
18513
18514 2009-07-25  Jim Meyering  <meyering@redhat.com>
18515
18516         maint.mk: avoid warnings about missing files
18517         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
18518         diagnostic when .prev-version does not exist.
18519         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
18520         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
18521         nonexistent cfg.mk.
18522         Suggestions from Simon Josefsson.
18523
18524 2009-07-25  Bruno Haible  <bruno@clisp.org>
18525
18526         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
18527         defined as macros. Needed on QNX 6.4.1.
18528         Reported by Matt Kraai <mkraai@beckman.com>.
18529
18530 2009-07-23  Jim Meyering  <meyering@redhat.com>
18531
18532         maint.mk: invoke "make dist" with a working value of XZ_OPT
18533         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
18534
18535 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
18536
18537         Make fseeko.c compile on QNX.
18538         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
18539
18540 2009-07-22  Peter Simons  <simons@cryp.to>
18541
18542         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
18543         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
18544         * lib/md4.h: Likewise.
18545         * lib/md5.h: Likewise.
18546         * lib/sha1.h: Likewise.
18547         * lib/sha256.h: Likewise.
18548         * lib/sha512.h: Likewise.
18549
18550         tests-sha1: don't assign literal string to 'char *' variable
18551         * tests/test-sha1.c (main): Declare locals with "const" to match
18552         attributes of the right hand side.
18553
18554 2009-07-21  Eric Blake  <ebb9@byu.net>
18555
18556         dup2: fix more mingw problems
18557         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
18558         fd to itself.
18559         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18560         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
18561         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
18562         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
18563         care of mingw bugs.
18564
18565 2009-07-21  Jim Meyering  <meyering@redhat.com>
18566
18567         vc-list-files: avoid failure when /bin/sh is dash
18568         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
18569         On some Debian based systems, /bin/sh is a symlink to dash, and running
18570         this command would omit the "/" following each 'tests' prefix:
18571           dash -x build-aux/vc-list-files -C . tests
18572         That is because bash and dash work differently:
18573           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
18574           bash ok
18575           dash odd
18576
18577 2009-07-21  Eric Blake  <ebb9@byu.net>
18578
18579         dup2-tests: test previous patch
18580         * modules/dup2-tests: New file.
18581         * tests/test-dup2.c: Likewise.
18582         * tests/test-open.c (main): Avoid unspecified behavior.
18583         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
18584         test.
18585
18586         dup2: work around mingw and cygwin 1.5 bug
18587         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
18588         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18589         * modules/unistd (Makefile.am): Substitute it.
18590         * lib/unistd.in.h (dup2): Declare the replacement.
18591         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
18592         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
18593         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
18594         * modules/execute (Depends-on): Add dup2.
18595         * modules/fseterr (Depends-on): Likewise.
18596         * modules/pipe (Depends-on): Likewise.
18597         * modules/posix_spawn-internal (Depends-on): Likewise.
18598
18599 2009-07-21  Bruno Haible  <bruno@clisp.org>
18600
18601         * modules/.gitattributes: New file.
18602
18603 2009-07-20  Bruno Haible  <bruno@clisp.org>
18604
18605         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
18606         (main): Use it.
18607
18608 2009-07-20  Eric Blake  <ebb9@byu.net>
18609
18610         test-pipe: make a bit more robust.
18611         * tests/test-pipe.c (myerr): Allow error messages regardless of
18612         what we do to stderr.
18613         (test_pipe): Rearrange to avoid deadlock.
18614         (child_main): Try a larger read, to ensure we avoided deadlock.
18615         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
18616         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
18617         if misused.
18618
18619 2009-07-19  Jim Meyering  <meyering@redhat.com>
18620
18621         fts: avoid false-positive cycle-detection
18622         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
18623         for each new command line argument.
18624
18625 2009-07-19  Bruno Haible  <bruno@clisp.org>
18626
18627         Fix build error on mingw with the modules sys_select and unistd.
18628         * modules/acl-tests (Depends-on): Add close.
18629         * modules/binary-io-tests (Depends-on): Likewise.
18630         * modules/closein-tests (Depends-on): Likewise.
18631         * modules/flock-tests (Depends-on): Likewise.
18632         * modules/fsync-tests (Depends-on): Likewise.
18633         * modules/lseek-tests (Depends-on): Likewise.
18634         * modules/pipe-tests (Depends-on): Likewise.
18635         * modules/posix_spawn-tests (Depends-on): Likewise.
18636         * modules/posix_spawnp-tests (Depends-on): Likewise.
18637         * modules/stat-time-tests (Depends-on): Likewise.
18638         * modules/yesno-tests (Depends-on): Likewise.
18639
18640 2009-07-19  Bruno Haible  <bruno@clisp.org>
18641
18642         Unify conditionals.
18643         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
18644         macros, not at the compiler macros.
18645         * lib/pipe.c: Likewise.
18646         * lib/execute.c: Likewise.
18647         * lib/spawni.c: Likewise.
18648
18649 2009-07-19  Bruno Haible  <bruno@clisp.org>
18650
18651         Fix handling of closed stdin/stdout/stderr on mingw.
18652         * lib/w32spawn.h: Include unistd.h.
18653         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
18654         file descriptor with O_NOINHERIT flag.
18655         (fd_safer_noinherit): New function, based on fd-safer.c.
18656         (dup_safer_noinherit): New function, based on dup-safer.c.
18657         (undup_safer_noinherit): New function.
18658         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
18659         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
18660         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
18661         instead of fd_safer.
18662         * tests/test-pipe.c: Include <windows.h>.
18663         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
18664
18665         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
18666         from main.
18667         (test_pipe): Pass an extra argument for disambiguation.
18668         (main): Invoke parent_main or child_main.
18669
18670         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
18671         consistently.
18672
18673 2009-07-18  Eric Blake  <ebb9@byu.net>
18674
18675         test-pipe: fix mingw build
18676         * tests/test-pipe.c (main): Avoid fcntl on mingw.
18677
18678 2009-07-18  Bruno Haible  <bruno@clisp.org>
18679
18680         * modules/pipe-tests (Makefile.am): Fix typo.
18681
18682 2009-07-18  Eric Blake  <ebb9@byu.net>
18683
18684         error: fix mingw build
18685         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
18686         Reported by Bruno Haible.
18687
18688         error: avoid undefined use of stdout
18689         * lib/error.c (error, error_at_line): Check that fd 1 is open
18690         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
18691         is handling faults and the close_stdout module wants to report the
18692         detection of closed stdout as an error.
18693
18694 2009-07-17  Eric Blake  <ebb9@byu.net>
18695
18696         pipe: be robust in face of closed fds
18697         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
18698         should cause child to misbehave.
18699         * modules/pipe-tests: New module.
18700         * tests/test-pipe.c: New file.
18701         * tests/test-pipe.sh: New file.
18702         Reported by Akim Demaille.
18703
18704 2009-07-14  Bruno Haible  <bruno@clisp.org>
18705
18706         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
18707         Reported by anonymous kc.
18708
18709 2009-07-07  Jim Meyering  <meyering@redhat.com>
18710
18711         maint.mk: don't look for translatable strings in *.m4 or *.mk
18712         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
18713         when searching for translatable strings.
18714
18715 2009-07-05  Jim Meyering  <meyering@redhat.com>
18716
18717         remove superfluous parentheses in STREQ definition
18718         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
18719         * lib/getugroups.c (STREQ): Likewise.
18720         * lib/fnmatch.c (STREQ): Likewise.
18721         Spotted by Bruno Haible.
18722
18723 2009-07-04  Jim Meyering  <meyering@redhat.com>
18724
18725         argv-iter: new module
18726         * MODULES.html.sh: Add argv-iter.
18727         * lib/argv-iter.c, lib/argv-iter.h: New files.
18728         * modules/argv-iter: New file.
18729         * modules/argv-iter-tests: New file.
18730         * tests/test-argv-iter.c: Test it.
18731
18732 2009-07-04  Bruno Haible  <bruno@clisp.org>
18733
18734         Fix assertion.
18735         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
18736         contains more exact copies of a given entry than file2, leave the extra
18737         copies unpaired rather than aborting.
18738         Reported by Eric Blake.
18739
18740 2009-07-02  Bruno Haible  <bruno@clisp.org>
18741
18742         Speedup git-merge-changelog for git cherry-pick.
18743         * lib/git-merge-changelog.c (struct entries_mapping): New type.
18744         (entries_mapping_get): New function, extracted from compute_mapping.
18745         (entries_mapping_reverse_get): New function.
18746         (compute_mapping): Add a 'full' argument. Return the result in a
18747         'struct entries_mapping'.
18748         (main): Update. Access the mappings through entries_mapping_get.
18749         Reported by Eric Blake.
18750
18751 2009-07-02  Bruno Haible  <bruno@clisp.org>
18752
18753         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
18754         best_i.
18755
18756 2009-07-02  Bruno Haible  <bruno@clisp.org>
18757
18758         Speed up approximate search for matching ChangeLog entries.
18759         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
18760         argument. Call fstrcmp_bounded instead of fstrcmp.
18761         (compute_mapping, try_split_merged_entry, main): Update callers.
18762
18763 2009-07-02  Bruno Haible  <bruno@clisp.org>
18764
18765         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
18766
18767 2009-06-30  Bruno Haible  <bruno@clisp.org>
18768
18769         Reduce the number of uc_is_cased calls.
18770         * lib/unicase.h (casing_suffix_context_t): Add
18771         'first_char_except_ignorable' field.
18772         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
18773         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
18774         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
18775         Update initializer.
18776         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
18777         case-ignorable characters.
18778         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
18779         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
18780         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
18781         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
18782         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
18783
18784 2009-06-30  Bruno Haible  <bruno@clisp.org>
18785
18786         Tests for module 'unicase/ignorable'.
18787         * modules/unicase/ignorable-tests: New file.
18788         * tests/unicase/test-ignorable.c: New file, generated by
18789         gen-uni-tables.
18790
18791         Tests for module 'unicase/cased'.
18792         * modules/unicase/cased-tests: New file.
18793         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
18794         * tests/unicase/test-predicate-part1.h: New file, derived from
18795         tests/unictype/test-predicate-part1.h.
18796         * tests/unicase/test-predicate-part2.h: New file, same as
18797         tests/unictype/test-predicate-part2.h.
18798
18799         Fix evaluation of "Before C" condition of FINAL_SIGMA.
18800         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
18801         (output_casing_properties): New function.
18802         (main): Call it.
18803         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
18804         * lib/unicase/cased.c: Include unictype/bitmap.h.
18805         (uc_is_cased): Define through a bitmap lookup.
18806         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
18807         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
18808         (uc_is_case_ignorable): Define through a bitmap lookup.
18809         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
18810         lib/unictype/bitmap.h.
18811         (Depends-on): Add inline. Clean up.
18812         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
18813         lib/unictype/bitmap.h.
18814         (Depends-on): Add inline. Clean up.
18815         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
18816         recognition.
18817         * tests/unicase/test-u16-tolower.c (main): Likewise.
18818         * tests/unicase/test-u32-tolower.c (main): Likewise.
18819
18820 2009-06-30  Bruno Haible  <bruno@clisp.org>
18821
18822         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
18823         * lib/unicase/u16-casemap.c: Likewise.
18824         * lib/unicase/u32-casemap.c: Likewise.
18825
18826 2009-06-29  Bruno Haible  <bruno@clisp.org>
18827
18828         Define u32_casefold as a wrapper around u32_ct_casefold.
18829         * lib/unicase/u32-casefold.c: Update.
18830         * modules/unicase/u32-casefold (Depends-on): Add
18831         unicase/u32-ct-casefold, unicase/empty-prefix-context,
18832         unicase/empty-suffix-context. Clean up.
18833
18834         Define u16_casefold as a wrapper around u16_ct_casefold.
18835         * lib/unicase/u16-casefold.c: Update.
18836         * modules/unicase/u16-casefold (Depends-on): Add
18837         unicase/u16-ct-casefold, unicase/empty-prefix-context,
18838         unicase/empty-suffix-context. Clean up.
18839
18840         Define u8_casefold as a wrapper around u8_ct_casefold.
18841         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
18842         * lib/unicase/u8-casefold.c: Update.
18843         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
18844         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18845
18846         Define u32_totitle as a wrapper around u32_ct_totitle.
18847         * lib/unicase/u32-totitle.c: Update.
18848         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
18849         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18850
18851         Define u16_totitle as a wrapper around u16_ct_totitle.
18852         * lib/unicase/u16-totitle.c: Update.
18853         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
18854         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18855
18856         Define u8_totitle as a wrapper around u8_ct_totitle.
18857         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
18858         functions.
18859         (FUNC): Delegate to U_CT_TOTITLE.
18860         * lib/unicase/u8-totitle.c: Update.
18861         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
18862         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18863
18864         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
18865         invocation.
18866         * modules/unicase/u32-tolower (Depends-on): Add
18867         unicase/empty-prefix-context, unicase/empty-suffix-context.
18868
18869         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
18870         invocation.
18871         * modules/unicase/u16-tolower (Depends-on): Add
18872         unicase/empty-prefix-context, unicase/empty-suffix-context.
18873
18874         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
18875         * modules/unicase/u8-tolower (Depends-on): Add
18876         unicase/empty-prefix-context, unicase/empty-suffix-context.
18877
18878         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
18879         invocation.
18880         * modules/unicase/u32-toupper (Depends-on): Add
18881         unicase/empty-prefix-context, unicase/empty-suffix-context.
18882
18883         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
18884         invocation.
18885         * modules/unicase/u16-toupper (Depends-on): Add
18886         unicase/empty-prefix-context, unicase/empty-suffix-context.
18887
18888         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
18889         * modules/unicase/u8-toupper (Depends-on): Add
18890         unicase/empty-prefix-context, unicase/empty-suffix-context.
18891
18892         New module 'unicase/u32-ct-casefold'.
18893         * lib/unicase/u32-ct-casefold.c: New file.
18894         * modules/unicase/u32-ct-casefold: New file.
18895
18896         New module 'unicase/u16-ct-casefold'.
18897         * lib/unicase/u16-ct-casefold.c: New file.
18898         * modules/unicase/u16-ct-casefold: New file.
18899
18900         New module 'unicase/u8-ct-casefold'.
18901         * lib/unicase/u8-ct-casefold.c: New file.
18902         * lib/unicase/u-ct-casefold.h: New file, derived from
18903         lib/unicase/u-casefold.h.
18904         * modules/unicase/u8-ct-casefold: New file.
18905
18906         New module 'unicase/u32-ct-totitle'.
18907         * lib/unicase/u32-ct-totitle.c: New file.
18908         * modules/unicase/u32-ct-totitle: New file.
18909
18910         New module 'unicase/u16-ct-totitle'.
18911         * lib/unicase/u16-ct-totitle.c: New file.
18912         * modules/unicase/u16-ct-totitle: New file.
18913
18914         New module 'unicase/u8-ct-totitle'.
18915         * lib/unicase/u8-ct-totitle.c: New file.
18916         * lib/unicase/u-ct-totitle.h: New file, derived from
18917         lib/unicase/u-totitle.h.
18918         * modules/unicase/u8-ct-totitle: New file.
18919
18920         New module 'unicase/u32-ct-tolower'.
18921         * lib/unicase/u32-ct-tolower.c: New file.
18922         * modules/unicase/u32-ct-tolower: New file.
18923
18924         New module 'unicase/u16-ct-tolower'.
18925         * lib/unicase/u16-ct-tolower.c: New file.
18926         * modules/unicase/u16-ct-tolower: New file.
18927
18928         New module 'unicase/u8-ct-tolower'.
18929         * lib/unicase/u8-ct-tolower.c: New file.
18930         * modules/unicase/u8-ct-tolower: New file.
18931
18932         New module 'unicase/u32-ct-toupper'.
18933         * lib/unicase/u32-ct-toupper.c: New file.
18934         * modules/unicase/u32-ct-toupper: New file.
18935
18936         New module 'unicase/u16-ct-toupper'.
18937         * lib/unicase/u16-ct-toupper.c: New file.
18938         * modules/unicase/u16-ct-toupper: New file.
18939
18940         New module 'unicase/u8-ct-toupper'.
18941         * lib/unicase/u8-ct-toupper.c: New file.
18942         * modules/unicase/u8-ct-toupper: New file.
18943
18944         Add context arguments to u*_casemap functions.
18945         * lib/unicase/unicasemap.h: Include unicase.h.
18946         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
18947         suffix_context arguments.
18948         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
18949         functions.
18950         (FUNC): Add prefix_context and suffix_context arguments. Use
18951         uc_is_cased and uc_is_case_ignorable.
18952         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
18953         * lib/unicase/u16-casemap.c: Likewise.
18954         * lib/unicase/u32-casemap.c: Likewise.
18955         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
18956         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
18957         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
18958         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
18959         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
18960         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
18961
18962         New module 'unicase/u32-suffix-context'.
18963         * lib/unicase/u32-suffix-context.c: New file.
18964         * modules/unicase/u32-suffix-context: New file.
18965
18966         New module 'unicase/u16-suffix-context'.
18967         * lib/unicase/u16-suffix-context.c: New file.
18968         * modules/unicase/u16-suffix-context: New file.
18969
18970         New module 'unicase/u8-suffix-context'.
18971         * lib/unicase/u8-suffix-context.c: New file.
18972         * lib/unicase/u-suffix-context.h: New file.
18973         * modules/unicase/u8-suffix-context: New file.
18974
18975         New module 'unicase/empty-suffix-context'.
18976         * lib/unicase/empty-suffix-context.c: New file.
18977         * modules/unicase/empty-suffix-context: New file.
18978
18979         New module 'unicase/u32-prefix-context'.
18980         * lib/unicase/u32-prefix-context.c: New file.
18981         * modules/unicase/u32-prefix-context: New file.
18982
18983         New module 'unicase/u16-prefix-context'.
18984         * lib/unicase/u16-prefix-context.c: New file.
18985         * modules/unicase/u16-prefix-context: New file.
18986
18987         New module 'unicase/u8-prefix-context'.
18988         * lib/unicase/u8-prefix-context.c: New file.
18989         * lib/unicase/u-prefix-context.h: New file.
18990         * lib/unicase/context.h: New file.
18991         * modules/unicase/u8-prefix-context: New file.
18992
18993         New module 'unicase/empty-prefix-context'.
18994         * lib/unicase/empty-prefix-context.c: New file.
18995         * modules/unicase/empty-prefix-context: New file.
18996
18997         New module 'unicase/ignorable'.
18998         * lib/unicase/ignorable.c: New file.
18999         * modules/unicase/ignorable: New file.
19000
19001         New module 'unicase/cased'.
19002         * lib/unicase/caseprop.h: New file.
19003         * lib/unicase/cased.c: New file.
19004         * modules/unicase/cased: New file.
19005
19006         New functions for case mapping of substrings.
19007         * lib/unicase.h (casing_prefix_context_t): New type.
19008         (unicase_empty_prefix_context): New variable.
19009         (u8_casing_prefix_context, u16_casing_prefix_context,
19010         u32_casing_prefix_context, u8_casing_prefixes_context,
19011         u16_casing_prefixes_context, u32_casing_prefixes_context): New
19012         declarations.
19013         (casing_suffix_context_t): New type.
19014         (unicase_empty_suffix_context): New variable.
19015         (u8_casing_suffix_context, u16_casing_suffix_context,
19016         u32_casing_suffix_context, u8_casing_suffixes_context,
19017         u16_casing_suffixes_context, u32_casing_suffixes_context,
19018         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
19019         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
19020         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
19021         declarations.
19022
19023 2009-06-28  Jim Meyering  <meyering@redhat.com>
19024
19025         boostrap: indent only with spaces
19026         * build-aux/bootstrap: Indent only with spaces, never TABs.
19027
19028         bootstrap: split long lines
19029         * build-aux/bootstrap: Keep line length < 80.
19030
19031         bootstrap: sync from coreutils
19032         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
19033         just as autoreconf does.  Verify a list of prerequisite
19034         package-name,version-number pairs if defined in bootstrap.conf.
19035         Refer to README-prereq, if prerequisites are not satisfied.
19036
19037 2009-06-27  Eric Blake  <ebb9@byu.net>
19038
19039         tests: add test for bogus NULL definition
19040         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
19041         * tests/test-stdlib.c: Likewise.
19042         * tests/test-string.c: Likewise.
19043         * tests/test-locale.c: Likewise.
19044         * tests/test-unistd.c: Likewise.
19045         * modules/stdio-tests (Depends-on): Add verify.
19046         * modules/stdlib-tests (Depends-on): Likewise.
19047         * modules/string-tests (Depends-on): Likewise.
19048         * modules/locale-tests (Depends-on): Likewise.
19049         * modules/unistd-tests (Depends-on): Likewise.
19050
19051 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
19052
19053         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
19054         self-explaining comment.
19055         * m4/selinux-selinux-h: Update serial.
19056         (gl_LIBSELINUX): New macro, adding a warning for missing development
19057         packages to code extracted from...
19058         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
19059         Add warning for missing development packages here, too.
19060
19061 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
19062
19063         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
19064
19065 2009-06-25  Eric Blake  <ebb9@byu.net>
19066
19067         version-etc: fix regression
19068         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
19069         gcc.
19070         (version_etc): Use it, to catch bugs with trailing NULL.
19071         * lib/version-etc.c (version_etc_arn): Delete unused argument.
19072         (version_etc_va): Fix logic bug.
19073         * modules/version-etc-tests: Add test.
19074         * tests/test-version-etc.c: New file.
19075         * tests/test-version-etc.sh: Likewise.
19076
19077 2009-06-25  Sam Steingold  <sds@gnu.org>
19078
19079         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
19080         mbtowc declaration.
19081
19082 2009-06-25  Eric Blake  <ebb9@byu.net>
19083
19084         fpurge: migrate into <stdio.h>
19085         * lib/fpurge.h: Delete...
19086         * lib/stdio.in.h (fpurge): ...and declare here, instead.
19087         * lib/fpurge.c (fpurge): Change declaring header.
19088         * modules/fpurge (Files): Drop deleted file.
19089         (Depends-on): Add stdio.
19090         (configure.ac): Set witness.
19091         * modules/stdio (Makefile.am): Support fpurge macros.
19092         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
19093         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
19094         * lib/fflush.c: Update client.
19095         * tests/test-fpurge.c: Likewise.
19096         * NEWS: Mention the change.
19097
19098 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19099
19100         * lib/argp-version-etc.c (program_authors): Add const
19101         qualifier.
19102         * lib/version-etc.c: Fix typos in the comments.
19103         * modules/argp-version-etc: Depends on version-etc.
19104
19105 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19106
19107         argp-version-etc: new module.
19108
19109         * lib/argp-version-etc.c: New file.
19110         * lib/argp-version-etc.h: New file.
19111         * modules/argp-version-etc: New file.
19112         * modules/argp-version-etc-tests: New file.
19113         * tests/test-argp-version-etc.c: New test.
19114         * tests/test-argp-version-etc-1.sh: New test.
19115
19116 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19117
19118         Provide additional interfaces and documentation for version-etc
19119         module.
19120
19121         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
19122         interfaces.
19123         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
19124         prototypes.
19125
19126 2009-06-24  Bruno Haible  <bruno@clisp.org>
19127
19128         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
19129         HAVE_LIB${NAME} macro.
19130         Reported by Sam Steingold <sds@gnu.org>.
19131
19132 2009-06-23  Simon Josefsson  <simon@josefsson.org>
19133
19134         * modules/hash-tests (test_hash_LDADD): Link to libintl when
19135         needed.
19136
19137 2009-06-21  Bruno Haible  <bruno@clisp.org>
19138
19139         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
19140         work.
19141         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
19142         together with LIB${NAME}, LTLIB${NAME}.
19143         Reported by Sam Steingold <sds@gnu.org>.
19144
19145 2009-06-20  Jim Meyering  <meyering@redhat.com>
19146
19147         tests: make sc_require_test_exit_idiom more generic
19148         * top/maint.mk (Exit_witness_file): New overridable variable.
19149         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
19150         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
19151
19152 2009-06-19  Jim Meyering  <meyering@redhat.com>
19153
19154         hash: reverse order of src/dst parameters in an internal interface
19155         * lib/hash.c (transfer_entries): Reverse order of parameters to
19156         put DST before SRC.  Adjust callers.
19157
19158         tests: test-hash: avoid wholesale duplication
19159         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
19160         Instead, use a loop and add a single conditional.
19161
19162         tests: test-hash: allow seed selection via a command line argument
19163         * tests/test-hash.c (get_seed): New function.
19164         (main): Use it.
19165
19166 2009-06-19  Eric Blake  <ebb9@byu.net>
19167
19168         hash: avoid memory leak on allocation failure
19169         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
19170         failure.  Factor repeated algorithm...
19171         (transfer_entries): ...into new helper routine.
19172         (hash_delete): React to hash_rehash return value.
19173
19174         hash: reduce memory pressure in hash_rehash no-op case
19175         * lib/hash.c (next_prime): Avoid overflow.
19176         (hash_initialize): Factor bucket size computation...
19177         (compute_bucket_size): ...into new helper function.
19178         (hash_rehash): Use new function and open coding to reduce memory
19179         pressure, and avoid a memory leak in USE_OBSTACK code.
19180         Reported by Jim Meyering.
19181
19182 2009-06-18  Eric Blake  <ebb9@byu.net>
19183
19184         hash: make rotation more obvious
19185         * modules/hash (Depends-on): Add bitrotate and stdint.
19186         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
19187         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
19188         (SIZE_MAX): Rely on headers for definition.
19189         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
19190         (raw_hasher): Use rotr_sz.
19191         Suggested by Jim Meyering.
19192
19193         hash: fix memory leak in last patch
19194         * lib/hash.c (hash_rehash): Avoid memory leak.
19195
19196         hash: avoid no-op rehashing
19197         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
19198
19199         hash: provide default callback functions
19200         * lib/hash.c (raw_hasher, raw_comparator): New functions.
19201         (hash_initialize): Use them as defaults.
19202         * tests/test-hash.c (main): Test this.
19203
19204         hash: minor optimization
19205         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
19206         when possible.
19207         (hash_initialize): Document this promise.
19208         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
19209         * tests/test-hash.c (hash_compare_strings): Test this.
19210
19211 2009-06-18  Bruno Haible  <bruno@clisp.org>
19212
19213         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
19214         going to be replaced anyway.
19215
19216 2009-06-18  Bruno Haible  <bruno@clisp.org>
19217
19218         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
19219         in one place.
19220         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
19221         be replaced anyway.
19222
19223 2009-06-18  Eric Blake  <ebb9@byu.net>
19224
19225         hash: check for resize before insertion
19226         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
19227         threshold before insertion, so that a pathological hash_rehash
19228         that fills every bucket can still trigger another rehash.
19229
19230 2009-06-18  Jim Meyering  <meyering@redhat.com>
19231
19232         hash-tests: add a loop around the small tests
19233         * tests/test-hash.c (main): Repeat small tests with selected
19234         small initial table sizes.
19235
19236 2009-06-17  Eric Blake  <ebb9@byu.net>
19237
19238         hash: minor cleanups
19239         * lib/hash.h (hash_entry): Make opaque, by moving...
19240         * lib/hash.c (hash_entry): ...here.
19241         (hash_insert): Clarify restrictions on what can be inserted.
19242         (hash_get_next): Clarify when it is safe to remove an element
19243         during traversal.
19244         (check_tuning): Skip verification when tuning is known safe.
19245         (hash_initialize): Clarify restrictions on tuning.
19246
19247 2009-06-17  Jim Meyering  <jim@meyering.net>
19248         and Eric Blake  <ebb9@byu.net>
19249
19250         hash-tests: new module
19251         * modules/hash-tests: New file.
19252         * tests/test-hash.c: New file.
19253
19254 2009-06-17  Eric Blake  <ebb9@byu.net>
19255
19256         strstr-simple: document new module
19257         * MODULES.html.sh: Document new module.
19258
19259         strstr, strcasestr: replace on platforms with broken memchr
19260         * modules/strstr: Split into...
19261         * modules/strstr-simple: ...new module that does not care about
19262         performance, but does care about glibc bug.
19263         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
19264         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
19265         if platform memchr is broken, per Debian bug 521737.
19266         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
19267         memchr.
19268         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
19269         * doc/posix-functions/strstr.texi (strstr): Document the fix.
19270         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19271         * modules/mountlist (Depends-on): Add strstr-simple.
19272         * modules/gen-uni-tables (Depends-on): Likewise.
19273         * modules/argz (Depends-on): Add strstr.
19274
19275 2009-06-17  Bruno Haible  <bruno@clisp.org>
19276
19277         * modules/posix_spawn-internal (Depends-on): Add errno.
19278
19279 2009-06-17  Bruno Haible  <bruno@clisp.org>
19280
19281         Define missing ESTALE on Interix 3.5.
19282         * lib/errno.in.h (ESTALE): Assign a value if missing.
19283         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
19284         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
19285         missing.
19286         * doc/posix-headers/errno.texi: Mention the Interix bug.
19287         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
19288
19289 2009-06-15  Eric Blake  <ebb9@byu.net>
19290
19291         memchr, memchr2: add valgrind exception
19292         * lib/memchr.valgrind: New file.
19293         * lib/memchr2.valgrind: New file.
19294         * modules/memchr (Files): Distribute valgrind file.
19295         * modules/memchr2 (Files): Likewise.
19296
19297         docs: memchr is no longer obsolete
19298         * MODULES.html.sh: Move memchr from obsolete to string.h section.
19299         * lib/string.in.h (memchr): Simplify logic.
19300
19301 2009-06-14  Jim Meyering  <meyering@redhat.com>
19302
19303         link-follow: fix the "checking..." message to not mention trailing slash
19304         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
19305         never considered trailing slashes.
19306
19307 2009-06-14  Bruno Haible  <bruno@clisp.org>
19308
19309         * m4/memchr.m4: Mention also the bug on IA-64.
19310         * doc/posix-functions/memchr.texi: Likewise.
19311
19312 2009-06-12  Eric Blake  <ebb9@byu.net>
19313
19314         memchr: detect broken x86_64 and alpha implementations
19315         * modules/memchr-tests (Depends-on): Move mmap detection...
19316         * modules/memchr (Depends-on): ...here.
19317         (configure.ac): Set indicator.
19318         * lib/string.in.h (memchr): Declare replacement.
19319         * modules/string (Makefile.am): Trigger replacement.
19320         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
19321         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
19322         bugs.
19323         * doc/posix-functions/memchr.texi (memchr): Document the bug.
19324         * modules/getpagesize (License): Relax license.
19325
19326 2009-06-11  Bruno Haible  <bruno@clisp.org>
19327
19328         * lib/idpriv.h: Add more references.
19329
19330 2009-06-08  Bruno Haible  <bruno@clisp.org>
19331
19332         Tests for module 'idpriv-droptemp'.
19333         * modules/idpriv-droptemp-tests: New file.
19334         * tests/test-idpriv-droptemp.sh: New file.
19335         * tests/test-idpriv-droptemp.su.sh: New file.
19336         * tests/test-idpriv-droptemp.c: New file.
19337
19338         New module 'idpriv-droptemp'.
19339         * lib/idpriv-droptemp.c: New file.
19340         * modules/idpriv-droptemp: New file.
19341
19342 2009-06-08  Bruno Haible  <bruno@clisp.org>
19343
19344         Tests for module 'idpriv-drop'.
19345         * modules/idpriv-drop-tests: New file.
19346         * tests/test-idpriv-drop.sh: New file.
19347         * tests/test-idpriv-drop.su.sh: New file.
19348         * tests/test-idpriv-drop.c: New file.
19349
19350         New module 'idpriv-drop'.
19351         * lib/idpriv.h: New file.
19352         * lib-idpriv-drop.c: New file.
19353         * m4/idpriv.m4: New file.
19354         * modules/idpriv-drop: New file.
19355
19356 2009-06-08  Bruno Haible  <bruno@clisp.org>
19357
19358         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
19359         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19360         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19361         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19362         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19363         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19364         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19365
19366 2009-06-08  Eric Blake  <ebb9@byu.net>
19367
19368         test-strstr: use memory fence, when possible
19369         * tests/test-strstr.c (main): Use memory fence, in order to be
19370         more likely to trigger Debian bug 521737.
19371         * modules/strstr-tests (Files): Pull in additional files.
19372
19373         memchr: no longer obsolete, for wider field testing
19374         * modules/memchr (Status, Notice): Delete, this module is no
19375         longer obsolete.
19376         * modules/vasnprintf (Depends-on): Add memchr.
19377
19378 2009-06-07  Jim Meyering  <meyering@redhat.com>
19379
19380         hash: declare some functions with the warn_unused_result attribute
19381         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
19382
19383 2009-06-07  Bruno Haible  <bruno@clisp.org>
19384
19385         * tests/test-alignof.c: Don't test int64_t if it does not exist.
19386         Reported by Eric Blake.
19387
19388 2009-06-06  Eric Blake  <ebb9@byu.net>
19389
19390         test-alignof: fix typo with long double
19391         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
19392         compiler error.
19393
19394 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
19395
19396         Escape non-texinfo { and }s.
19397         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
19398         markup error.
19399
19400 2009-06-04  Jim Meyering  <meyering@redhat.com>
19401
19402         gitlog-to-changelog: don't infloop on an empty commit log
19403         * build-aux/gitlog-to-changelog: Warn about an empty log message.
19404         Reported by Boris Petersen <transacid@centerim.org>.
19405
19406 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
19407
19408         version-etc: extend for packagers
19409         Add three new configure options, intended for packagers:
19410           --with-packager="packager name"
19411           --with-packager-version="packager-specific version"
19412           --with-packager-bug-reports="packager bug reporting"
19413         An example with coreutils:
19414           $ ./configure \
19415             --with-packager=Gentoo \
19416             --with-packager-bug-report=http://bugs.gentoo.org/ \
19417             --with-packager-version="patchset 1.6"
19418           $ ./src/ls --version | head -n2
19419           ls (GNU coreutils) 7.1-dirty
19420           Packaged by Gentoo (patchset 1.6)
19421         Note that the bug reporting info via --help doesn't show up because
19422         coreutils uses its own custom emit_bug_reporting_address() implementation
19423         in src/system.h.  If it didn't, it'd look like:
19424           $ ./src/ls --help | tail -n4
19425           Report bugs to <bug-coreutils@gnu.org>.
19426           Report Gentoo bugs to <http://bugs.gentoo.org/>.
19427           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
19428           General help using GNU software: <http://www.gnu.org/gethelp/>.
19429         * lib/version-etc.c: Print new information, if provided.
19430         * m4/version-etc.m4: New file.
19431         * modules/version-etc (Files): Add m4/version-etc.m4.
19432         (configure.ac): Add gl_VERSION_ETC.
19433
19434 2009-05-31  Bruno Haible  <bruno@clisp.org>
19435
19436         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
19437         and 'int64_t'.
19438         * modules/alignof-tests (Dependencies): Add stdint.
19439         Reported by Eric Blake.
19440
19441 2009-05-31  Bruno Haible  <bruno@clisp.org>
19442
19443         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
19444         restriction due to compiler bugs.
19445         Reported by Eric Blake.
19446
19447 2009-05-31  Simon Josefsson  <simon@josefsson.org>
19448             Bruno Haible  <bruno@clisp.org>
19449
19450         Fix test-alignof failure.
19451         * lib/alignof.h (alignof_slot): New macro.
19452         (alignof_type): New macro, with the same semantics as the previous
19453         'alignof'.
19454         (alignof): Alias to alignof_slot.
19455         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
19456         check that the results are usable as constant expressions.
19457
19458 2009-05-31  Bruno Haible  <bruno@clisp.org>
19459
19460         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
19461         * tests/test-memchr.c (main): Check that memchr does not read past the
19462         first occurrence of the byte.
19463         * tests/test-strstr.c (main): Update comment.
19464         Suggested by Eric Blake.
19465
19466 2009-05-30  Bruno Haible  <bruno@clisp.org>
19467
19468         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
19469         detail how to use dumpbin.
19470         Reported by David Byron <dbyron@dbyron.com>.
19471
19472 2009-06-02  Simon Josefsson  <simon@josefsson.org>
19473
19474         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
19475
19476 2009-06-02  Simon Josefsson  <simon@josefsson.org>
19477
19478         * m4/manywarnings.m4: Add GCC 4.4 warnings.
19479
19480 2009-05-28  Bruno Haible  <bruno@clisp.org>
19481
19482         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
19483         build-aux/ files.
19484
19485 2009-05-28  Simon Josefsson  <simon@josefsson.org>
19486
19487         * gnulib-tool (func_import): Transform license on build-aux/ files too.
19488
19489 2009-05-27  Simon Josefsson  <simon@josefsson.org>
19490
19491         * gnulib-tool (sed_transform_main_lib_file)
19492         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
19493         regexps.
19494
19495 2009-05-26  Simon Josefsson  <simon@josefsson.org>
19496
19497         * tests/test-strstr.c: Add another self-test.
19498         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
19499         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
19500
19501 2009-05-23  Bruno Haible  <bruno@clisp.org>
19502
19503         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
19504         change.
19505
19506 2009-05-21  Bruno Haible  <bruno@clisp.org>
19507
19508         Simplify use of mode_t varargs.
19509         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
19510         uses 'mode_t' or 'int'.
19511         * lib/openat.c (openat): Likewise.
19512         * lib/open-safer.c (open_safer): Likewise.
19513         * m4/mode_t.m4: New file.
19514         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
19515         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
19516         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
19517         * modules/open (Files): Add m4/mode_t.m4.
19518         * modules/openat (Files): Likewise.
19519         * modules/fcntl-safer (Files): Likewise.
19520         Suggested by Eric Blake.
19521
19522 2009-05-21  Pádraig Brady  <P@draigbrady.com>
19523
19524         * doc/glibc-functions/fallocate.texi: New file.
19525         * doc/gnulib.texi: Include it.
19526
19527 2009-05-21  Eric Blake  <ebb9@byu.net>
19528             Bruno Haible  <bruno@clisp.org>
19529
19530         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
19531         invocations.
19532         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
19533
19534 2009-05-21  Eric Blake  <ebb9@byu.net>
19535             Bruno Haible  <bruno@clisp.org>
19536
19537         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
19538         include_next. Fix of 2008-11-20 commit.
19539         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
19540         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
19541         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
19542         NEXT_MATH_H.
19543         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
19544         instead of NEXT_MATH_H.
19545
19546 2009-05-21  Bruno Haible  <bruno@clisp.org>
19547
19548         Avoid redefinition warnings for SIZE_MAX.
19549         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
19550         Reported by Simon Josefsson.
19551
19552 2009-05-21  Bruno Haible  <bruno@clisp.org>
19553
19554         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
19555         AC_CACHE_VAL.
19556
19557 2009-05-20  Bruno Haible  <bruno@clisp.org>
19558
19559         Make zeroptr.h work on mingw.
19560         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
19561         mprotect.
19562         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
19563         * modules/memchr2-tests (configure.ac): Likewise.
19564         * modules/memcmp-tests (configure.ac): Likewise.
19565         * modules/memmem-tests (configure.ac): Likewise.
19566         * modules/memrchr-tests (configure.ac): Likewise.
19567         Reported by Simon Josefsson.
19568
19569 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19570
19571         * tests/test-glob.c: Include string.h for strcmp prototype.
19572
19573 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19574
19575         * modules/getdelim (Depends-on): Add explicit stdint, although it
19576         was implicitly already pulled in via realloc-posix.
19577         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
19578
19579 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19580
19581         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
19582         G. Christensen" <tgc@jupiterrise.com>.
19583         * m4/sys_socket_h.m4: Check for sa_family_t.
19584         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
19585         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
19586         * tests/test-sys_socket.c: Check that sa_family_t works.
19587
19588 2009-05-18  Eric Blake  <ebb9@byu.net>
19589
19590         maint.mk: allow gnulib_dir in VPATH build
19591         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
19592
19593 2009-05-15  Jim Meyering  <meyering@redhat.com>
19594
19595         maint.mk: Give gnulib_dir a default definition.
19596         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
19597         Thus, most packages no longer need to specify this variable in cfg.mk
19598
19599 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
19600
19601         rename.m4: fix typos that would make non-mingw cross-configure fail
19602         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
19603
19604 2009-05-13  Eric Blake  <ebb9@byu.net>
19605
19606         mmap-anon: avoid out-of-order autoconf expansion
19607         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
19608         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
19609         * modules/memchr-tests (Depends-on): Add extensions.
19610         * modules/memchr2-tests (Depends-on): Add extensions.
19611         * modules/memcmp-tests (Depends-on): Add extensions.
19612         * modules/memmem-tests (Depends-on): Add extensions.
19613         * modules/memrchr-tests (Depends-on): Add extensions.
19614
19615 2009-05-13  Bruno Haible  <bruno@clisp.org>
19616
19617         Make some tests ISO C 99 compliant.
19618         * tests/zerosize-ptr.h: New file.
19619         * tests/test-memchr.c: Include zerosize-ptr.h.
19620         (main): Use a zero-size object pointer instead of NULL.
19621         * tests/test-memchr2.c: Include zerosize-ptr.h.
19622         (main): Use a zero-size object pointer instead of NULL.
19623         * tests/test-memcmp.c: Include zerosize-ptr.h.
19624         (main): Use a zero-size object pointer instead of NULL.
19625         * tests/test-memmem.c: Include zerosize-ptr.h.
19626         (main): Use a zero-size object pointer instead of NULL.
19627         * tests/test-memrchr.c: Include zerosize-ptr.h.
19628         (main): Use a zero-size object pointer instead of NULL.
19629         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
19630         m4/mmap-anon.m4.
19631         (Depends-on): Add getpagesize.
19632         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19633         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
19634         m4/mmap-anon.m4.
19635         (Depends-on): Add getpagesize.
19636         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19637         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
19638         m4/mmap-anon.m4.
19639         (Depends-on): Add getpagesize.
19640         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19641         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
19642         m4/mmap-anon.m4.
19643         (Depends-on): Add getpagesize.
19644         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19645         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
19646         m4/mmap-anon.m4.
19647         (Depends-on): Add getpagesize.
19648         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19649
19650 2009-05-12  Bruno Haible  <bruno@clisp.org>
19651
19652         Tests for module 'alignof'.
19653         * modules/alignof-tests: New file.
19654         * tests/test-alignof.c: New file.
19655
19656 2009-05-12  Bruno Haible  <bruno@clisp.org>
19657
19658         Fix alignof macro.
19659         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
19660         vendor compilers that are always correct.
19661
19662 2009-05-12  Bruno Haible  <bruno@clisp.org>
19663
19664         Make the MAP_ANONYMOUS detection work on HP-UX 11.
19665         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
19666         not whether its fully works.
19667
19668 2009-05-12  Bruno Haible  <bruno@clisp.org>
19669
19670         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
19671
19672 2009-05-12  Jim Meyering  <meyering@redhat.com>
19673
19674         * top/maint.mk: Adjust backslash alignment.
19675
19676 2009-05-11  Simon Josefsson  <simon@josefsson.org>
19677
19678         * top/maint.mk: Make $(srcdir)/build-aux configurable.
19679
19680 2009-05-11  Eric Blake  <ebb9@byu.net>
19681
19682         argp: avoid undefined behavior
19683         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
19684         macros.
19685
19686 2009-05-08  Simon Josefsson  <simon@josefsson.org>
19687
19688         * tests/test-vc-list-files-git.sh: Do git config of user.email and
19689         user.name to prevent git commit from complaining.
19690
19691 2009-05-10  Bruno Haible  <bruno@clisp.org>
19692
19693         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
19694         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
19695         it rewrites every file name only once.
19696         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
19697
19698 2009-05-08  Bruno Haible  <bruno@clisp.org>
19699
19700         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
19701         instead of 'max'.
19702
19703 2009-05-08  Simon Josefsson  <simon@josefsson.org>
19704
19705         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
19706         sockaddr_storage test.
19707
19708 2009-05-07  Simon Josefsson  <simon@josefsson.org>
19709
19710         * modules/sys_socket (Makefile.am): Substitute
19711         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
19712         * m4/sys_socket_h.m4: Check for sockaddr_storage.
19713         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
19714         * tests/test-sys_socket.c: Check sockaddr_storage.
19715
19716 2009-05-08  Bruno Haible  <bruno@clisp.org>
19717
19718         New module 'alignof'.
19719         * lib/alignof.h: New file.
19720         * modules/alignof: New file.
19721
19722 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19723             Bruno Haible  <bruno@clisp.org>
19724
19725         Fix test-file-has-acl on FreeBSD.
19726         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
19727         mask is implicitly added.
19728         * tests/test-file-has-acl.c: Include <signal.h>.
19729         (main): Terminate the test after 5 seconds.
19730         * modules/acl-tests (configure.ac): Check for alarm function.
19731
19732 2009-05-04  Bruno Haible  <bruno@clisp.org>
19733
19734         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
19735         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
19736         * modules/errno (configure.ac): Drop AC_REQUIRE.
19737         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
19738         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
19739
19740 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19741
19742         * modules/glob-tests: New module.
19743         * tests/test-glob.c: Add.
19744
19745 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19746
19747         * modules/fnmatch-tests: New module.
19748         * tests/test-fnmatch.c: Add.
19749
19750 2009-05-04  Eric Blake  <ebb9@byu.net>
19751
19752         maint: make the new no-submodule-changes rule VPATH-safe
19753         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
19754
19755 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19756             Bruno Haible  <bruno@clisp.org>
19757
19758         acl: Fix infinite loop on FreeBSD.
19759         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
19760         of return value from acl_get_entry.
19761         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
19762         Likewise.
19763
19764 2009-05-03  Bruno Haible  <bruno@clisp.org>
19765
19766         * lib/acl-internal.h (acl_entries): Clarify return value.
19767         * lib/acl_entries.c (acl_entries): Likewise.
19768
19769 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19770
19771         Bug fix in acl module.
19772         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
19773
19774 2009-05-03  Bruno Haible  <bruno@clisp.org>
19775
19776         Create gperf-generated file in the source dir, not in the build dir.
19777         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
19778         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
19779         * modules/unicase/locale-language (unicase/locale-languages.h):
19780         Likewise.
19781         * modules/unicase/special-casing (unicase/special-casing-table.h):
19782         Likewise.
19783         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
19784         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
19785         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
19786         Reported by Ralf Wildenhues.
19787
19788 2009-05-03  Bruno Haible  <bruno@clisp.org>
19789
19790         * modules/fnmatch (Description, configure.ac): Taken from
19791         fnmatch-posix.
19792         * modules/fnmatch-posix: Turn into a symbolic reference to the
19793         'fnmatch' module, and deprecate.
19794         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
19795
19796 2009-05-03  Bruno Haible  <bruno@clisp.org>
19797
19798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
19799         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
19800         Reported by Ralf Wildenhues.
19801
19802 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19803
19804         * m4/fnmatch.m4: Fix fnmatch re-define.
19805
19806 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19807
19808         priv-set: new module and tests; adapt write-any-file
19809         * lib/priv-set.c: New file.
19810         * lib/priv-set.h: New file.
19811         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
19812         * lib/write-any-file.c: Simplify by using priv-set module.
19813         * m4/priv-set.m4: New file.
19814         * modules/priv-set: New file.
19815         * modules/unlinkdir: Add dependency on priv-set module.
19816         * modules/write-any-file: Likewise.
19817
19818         Tests for module 'priv-set'.
19819         * modules/priv-set-tests: New file.
19820         * tests/test-priv-set.c: New file.
19821
19822 2009-05-03  Jim Meyering  <meyering@redhat.com>
19823             Bruno Haible  <bruno@clisp.org>
19824
19825         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
19826         use the converted UTF-8 variant of the name instead.
19827
19828 2009-05-03  Jim Meyering  <meyering@redhat.com>
19829
19830         tests: tighten some getdate tests
19831         * tests/test-getdate.c (main): Tighten tests: require equality,
19832         not just greater than.  Set TZ envvar to UTC0.
19833
19834 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
19835
19836         getdate: correctly interpret "next monday" when run on a Monday
19837         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
19838         that e.g., "next tues" (when run on a tuesday) results in a date
19839         that is one week in the future, and not today's date.
19840         I.e., add a week when the wday is the same as the current one.
19841         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
19842         and earlier by Martin Bernreuther and Jan Minář.
19843         * tests/test-getdate.c (main): Check that "next DAY" is always in
19844         the future and that "last DAY" is always in the past.
19845
19846 2009-05-02  Jim Meyering  <meyering@redhat.com>
19847
19848         build: ensure that a release build fails when a submodule is unclean
19849         * top/maint.mk (no-submodule-changes): New rule.
19850         (alpha beta major): Depend on it.
19851
19852 2009-05-02  Bruno Haible  <bruno@clisp.org>
19853
19854         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
19855         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
19856         shell variable gl_fnmatch_required to detect which variant is
19857         requested.
19858         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
19859         gl_FUNC_FNMATCH_POSIX.
19860         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
19861         exclude fnmatch-posix.
19862
19863 2009-05-02  Bruno Haible  <bruno@clisp.org>
19864
19865         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
19866         * modules/mbsrtowcs (License): Change to LGPLv2+.
19867         * modules/strnlen1 (License): Likewise.
19868         Reported by Simon Josefsson.
19869
19870 2009-05-02  Bruno Haible  <bruno@clisp.org>
19871
19872         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
19873         "cross".
19874         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
19875         gnulib-tool was called with option --source-base=lib.
19876
19877 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19878
19879         Use automake *-local hooks without commands, for extensibility.
19880         * modules/localcharset (Makefile.am): Rename install-exec-local
19881         rule to install-exec-localcharset, and make it a prerequisite of
19882         install-exec-local.  Likewise, rename the uninstall-local rule to
19883         uninstall-localcharset, and make it a prerequisite of the former.
19884
19885 2009-05-01  Bruno Haible  <bruno@clisp.org>
19886
19887         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
19888         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
19889         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
19890         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
19891         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
19892         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
19893         m4/locale-zh.m4, m4/codeset.m4.
19894
19895         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
19896         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
19897         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
19898         m4/locale-zh.m4.
19899
19900         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
19901         REPLACE_WCRTOMB if mbstate_t must be replaced.
19902         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
19903         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
19904
19905 2009-05-01  Bruno Haible  <bruno@clisp.org>
19906
19907         Avoid compiler warnings when redefining macros defined by <libintl.h>.
19908         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
19909         dngettext, dcngettext, textdomain, bindtextdomain,
19910         bind_textdomain_codeset): Undefine before redefining.
19911
19912 2009-04-30  Bruno Haible  <bruno@clisp.org>
19913
19914         Fix bug introduced on 2009-04-25.
19915         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
19916         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
19917         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
19918         is defined.
19919         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
19920         is defined.
19921         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
19922         is defined.
19923         Reported by Elbert_Pol <elbert.pol@gmail.com>.
19924
19925 2009-04-28  Bruno Haible  <bruno@clisp.org>
19926
19927         Comment tweaks.
19928         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
19929         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
19930         * lib/unicase.h (u*_casexfrm): Likewise.
19931         Reported by Paolo Bonzini.
19932
19933 2009-04-28  Bruno Haible  <bruno@clisp.org>
19934
19935         Fix a compilation error.
19936         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
19937         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
19938         Reported by Jim Meyering.
19939
19940 2009-04-27  Bruno Haible  <bruno@clisp.org>
19941
19942         New module 'libunistring'.
19943         * modules/libunistring: New file.
19944         * m4/libunistring.m4: New file.
19945         * MODULES.html.sh (Unicode string functions): Add it.
19946
19947 2009-04-27  Eric Blake  <ebb9@byu.net>
19948
19949         maint.mk: allow package-specific header to provide <config.h>
19950         * top/maint.mk (sc_require_config_h): New variable.
19951         (sc_require_config_h, sc_require_config_h_first): Use it.
19952
19953 2009-04-27  Simon Josefsson  <simon@josefsson.org>
19954
19955         * top/maint.mk (sc_avoid_if_before_free): Except
19956         useless-if-before-free script.
19957
19958 2009-04-27  Eric Blake  <ebb9@byu.net>
19959
19960         maintainer-makefile: depend on all required helper scripts
19961         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
19962         useless-if-before-free.
19963         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
19964         version, rather than assuming gnulib checkout is available.
19965         Reported by Simen Josefsson.
19966
19967 2009-04-26  Bruno Haible  <bruno@clisp.org>
19968
19969         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
19970         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
19971         "../" or "..".
19972
19973 2009-04-26  Bruno Haible  <bruno@clisp.org>
19974
19975         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
19976         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
19977         AC_LIB_HAVE_LINKFLAGS.
19978
19979 2009-04-26  Bruno Haible  <bruno@clisp.org>
19980
19981         Simplify calling convention of u*_conv_from_encoding.
19982         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
19983         u32_conv_from_encoding): Expect a resultbuf argument and return the
19984         result directly as a pointer.
19985         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
19986         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
19987         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
19988         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
19989         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
19990         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
19991         Update.
19992         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
19993         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
19994         * lib/vasnprintf.c (VASNPRINTF): Update.
19995         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
19996         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
19997         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
19998         * NEWS: Mention the change.
19999
20000 2009-04-26  Bruno Haible  <bruno@clisp.org>
20001
20002         Simplify calling convention of u*_conv_to_encoding.
20003         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
20004         u32_conv_to_encoding): Expect a resultbuf argument and return the
20005         result directly as a pointer.
20006         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20007         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
20008         freeing scaled_offsets if mem_iconveha failed.
20009         * lib/unicase/u-casexfrm.h (FUNC): Update.
20010         * lib/uninorm/u-normxfrm.h (FUNC): Update.
20011         * lib/vasnprintf.c (VASNPRINTF): Update.
20012         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
20013         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
20014         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
20015         * NEWS: Mention the change.
20016
20017 2009-04-26  Bruno Haible  <bruno@clisp.org>
20018
20019         Avoid test failures on AIX and OSF/1.
20020         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
20021         malloc(0).
20022         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20023         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
20024         Likewise.
20025         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
20026         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
20027         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
20028         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
20029         * doc/posix-functions/malloc.texi: Document the portability problem
20030         related to malloc(0).
20031
20032 2009-04-26  Bruno Haible  <bruno@clisp.org>
20033
20034         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
20035         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
20036         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
20037
20038 2009-04-25  Bruno Haible  <bruno@clisp.org>
20039
20040         Avoid link error when creating a namespace clean library.
20041         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
20042         as macro with arguments if already defined as an alias.
20043         * lib/signbitf.c (gl_signbitf): Don't undefine.
20044         * lib/signbitd.c (gl_signbitd): Don't undefine.
20045         * lib/signbitl.c (gl_signbitl): Don't undefine.
20046
20047 2009-04-25  Jim Meyering  <meyering@redhat.com>
20048
20049         vc-list-files: fix another quoting bug
20050         * build-aux/vc-list-files: Avoid sed backslash expansion
20051         of pathological directory names.
20052
20053 2009-04-25  Eric Blake  <ebb9@byu.net>
20054
20055         vc-list-files: fix shell quoting error
20056         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
20057         timestamp.
20058
20059 2009-04-25  Jim Meyering  <meyering@redhat.com>
20060
20061         vc-list-files: restore lost functionality with subdir argument
20062         * build-aux/vc-list-files: When given a non-"." sub-directory
20063         argument, substitute the $dir/ prefix back onto each resulting name.
20064         Otherwise, coreutils' root_tests check would fail.
20065
20066 2009-04-24  Eric Blake  <ebb9@byu.net>
20067
20068         vc-list-files: ignore git symlinks
20069         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
20070         than ls-files, to ignore git symlinks.
20071
20072         maint.mk: import improvements from m4
20073         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
20074         (move_if_change): Delete unused macro.
20075         (news-date-check, vc-diff-check): Support VPATH builds.
20076         (announcement): Likewise.  Split --bootstrap-tools list...
20077         (boostrap-tools): ...into separate list, which can be overridden
20078         in cfg.mk.
20079         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
20080         requiring dependency on useless-if-before-free module.
20081         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
20082         Support VPATH builds.
20083
20084 2009-04-24  Jim Meyering  <meyering@redhat.com>
20085
20086         maint.mk: remove coreutils-specific rules and variables
20087         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
20088         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
20089         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
20090
20091         maint.mk: remove obsolete rule
20092         * top/maint.mk (rel-check): Remove rule.
20093         (WGET, WGETFLAGS): Remove now-unused variables.
20094
20095 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20096
20097         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
20098         consistency.
20099
20100         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
20101         '$(PATH_SEPARATOR)' instead of ':'.
20102
20103 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20104
20105         * lib/getopt1.c (main): Use 'const' for static array.
20106
20107 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20108
20109         * top/maint.mk: Sync with coreutils.
20110         * NEWS: Explain incompatibilities.
20111
20112 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20113             Bruno Haible  <bruno@clisp.org>
20114
20115         Fix cross-compilation results.
20116         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
20117         statement, as third argument of AC_TRY_RUN.
20118         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20119         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20120         Likewise.
20121         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20122         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
20123         Likewise.
20124         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20125         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
20126         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
20127
20128 2009-04-20  Bruno Haible  <bruno@clisp.org>
20129
20130         Avoid test failure on mingw.
20131         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
20132
20133 2009-04-20  Bruno Haible  <bruno@clisp.org>
20134
20135         Avoid compilation error on mingw.
20136         * modules/localename-tests (Depends-on): Add locale.
20137
20138 2009-04-19  Bruno Haible  <bruno@clisp.org>
20139
20140         Support for building a shared library on Windows platforms.
20141         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
20142         (main): Test the presence of UNINORM_NFC here.
20143         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
20144         (main): Test the presence of UNINORM_NFD here.
20145         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
20146         (main): Test the presence of UNINORM_NFKC here.
20147         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
20148         (main): Test the presence of UNINORM_NFKD here.
20149
20150 2009-04-19  Bruno Haible  <bruno@clisp.org>
20151
20152         Avoid a compiler warning.
20153         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
20154         Change type of variable 'sequence'.
20155
20156 2009-04-19  Bruno Haible  <bruno@clisp.org>
20157
20158         * modules/configmake (Makefile.am): When the contents of configmake.h
20159         does not change, arrange to preserve its modification time.
20160
20161 2009-04-17  Simon Josefsson  <simon@josefsson.org>
20162
20163         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
20164         gettext domain.
20165
20166 2009-04-16  Jim Meyering  <meyering@redhat.com>
20167
20168         useless-if-before-free: improve conversion code
20169         * build-aux/useless-if-before-free: Adjust code-in-comment to match
20170         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
20171
20172 2009-04-14  Bruno Haible  <bruno@clisp.org>
20173
20174         * modules/fcntl (Depends-on): Add extensions.
20175         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
20176
20177 2009-04-12  Ben Pfaff  <blp@gnu.org>
20178
20179         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
20180         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
20181
20182 2009-03-20  Ben Pfaff  <blp@gnu.org>
20183
20184         Make rename replace existing destinations on Windows.
20185         * m4/rename.m4: Add test for Mingw.
20186         * lib/rename.c: Add rename replacement that uses MoveFileEx with
20187         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
20188         * doc/posix-functions/rename.texi: Document.
20189
20190 2009-04-10  Bruno Haible  <bruno@clisp.org>
20191
20192         New include file "iconveh.h".
20193         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
20194         * lib/striconveh.h: Include it.
20195         (enum iconv_ilseq_handler): Remove definition.
20196         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
20197         striconveh.h.
20198         * lib/striconveha.c: Include striconveh.h.
20199         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
20200         * modules/striconveh (Files): Add lib/iconveh.h.
20201         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
20202         lib/striconveh.h.
20203
20204 2009-04-10  Bruno Haible  <bruno@clisp.org>
20205
20206         * lib/uniconv.h: Update comment.
20207
20208 2009-04-10  Bruno Haible  <bruno@clisp.org>
20209
20210         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
20211         always.
20212         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
20213         * lib/unistr/u16-mbtouc-aux.c: Likewise.
20214         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
20215         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
20216         "unistring-notinline.h", so that the function gets defined always.
20217         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
20218         * lib/unistr/u8-uctomb.c: Likewise.
20219         * lib/unistr/u16-mbtouc.c: Likewise.
20220         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
20221         * lib/unistr/u16-uctomb.c: Likewise.
20222         * lib/unistr/u32-mbtouc.c: Likewise.
20223         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
20224         * lib/unistr/u32-uctomb.c: Likewise.
20225
20226 2009-04-10  Bruno Haible  <bruno@clisp.org>
20227
20228         Mark 'utime' obsolete.
20229         * modules/utime (Status, Notice): New sections.
20230         Suggested by Jim Meyering.
20231
20232         Fix cross-compile guess for utime test.
20233         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
20234         autoconf.
20235         * doc/posix-functions/utime.texi: Give more precisions.
20236         Reported by Jan <ipif@ymail.com>.
20237
20238 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
20239
20240         filevercmp: correct today's change
20241         * lib/filevercmp.c: Also handle coreutils' test inputs.
20242         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
20243
20244         Fix regression in 'filevercmp' module. Thanks Sven Joachim
20245         for reporting it.
20246         * lib/filevercmp.c: Special handle for "", "." and "..".
20247         * tests/test-filevercmp.c: Enlarge the set suite.
20248
20249 2009-04-07  Jim Meyering  <meyering@redhat.com>
20250
20251         useless-if-before-free: show how to remove braced useless free, too
20252         * build-aux/useless-if-before-free: still only in a comment, though.
20253
20254 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
20255
20256         maint.mk: import changes to syntax-check macros from coreutils
20257         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
20258         Use them in the relevant macros.
20259
20260 2009-04-06  Bruno Haible  <bruno@clisp.org>
20261
20262         Fix unportable use of bit-fields.
20263         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
20264         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
20265         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
20266
20267 2009-04-06  Bruno Haible  <bruno@clisp.org>
20268
20269         Avoid test failures on AIX and OSF/1.
20270         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
20271         that malloc(0) = NULL.
20272         * tests/unicase/test-u8-tolower.c (check): Likewise.
20273         * tests/unicase/test-u8-totitle.c (check): Likewise.
20274         * tests/unicase/test-u8-toupper.c (check): Likewise.
20275         * tests/unicase/test-u16-casefold.c (check): Likewise.
20276         * tests/unicase/test-u16-tolower.c (check): Likewise.
20277         * tests/unicase/test-u16-totitle.c (check): Likewise.
20278         * tests/unicase/test-u16-toupper.c (check): Likewise.
20279         * tests/unicase/test-u32-casefold.c (check): Likewise.
20280         * tests/unicase/test-u32-tolower.c (check): Likewise.
20281         * tests/unicase/test-u32-totitle.c (check): Likewise.
20282         * tests/unicase/test-u32-toupper.c (check): Likewise.
20283         * tests/uninorm/test-u8-nfc.c (check): Likewise.
20284         * tests/uninorm/test-u8-nfd.c (check): Likewise.
20285         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
20286         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
20287         * tests/uninorm/test-u16-nfc.c (check): Likewise.
20288         * tests/uninorm/test-u16-nfd.c (check): Likewise.
20289         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
20290         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
20291         * tests/uninorm/test-u32-nfc.c (check): Likewise.
20292         * tests/uninorm/test-u32-nfd.c (check): Likewise.
20293         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
20294         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
20295
20296 2009-04-05  Bruno Haible  <bruno@clisp.org>
20297
20298         Work around an autoconf limitation.
20299         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
20300         comment line if it would be longer than 3 KB.
20301
20302 2009-04-05  Bruno Haible  <bruno@clisp.org>
20303
20304         Avoid test failure with libiconv-1.13.
20305         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
20306         of the expected test results.
20307
20308 2009-04-05  Bruno Haible  <bruno@clisp.org>
20309
20310         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
20311         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
20312         that it should be installed.
20313
20314 2009-04-05  Bruno Haible  <bruno@clisp.org>
20315
20316         * gnulib-tool: New option --copy-file.
20317         (func_usage): Document it.
20318         (func_dest_tmpfilename): Moved out of func_import.
20319         (func_add_file, func_update_file): New functions, extracted from
20320         func_import.
20321         (func_import): Update.
20322
20323 2009-04-05  Karl Berry  <karl@gnu.org>
20324
20325         * README: prominently mention gnulib-tool.
20326         Rearrange sections so getting the code is near the top.
20327
20328 2009-04-05  Bruno Haible  <bruno@clisp.org>
20329
20330         * lib/unicase.h: Mention u*_cmp2.
20331         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
20332         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
20333         * lib/unicase/ulc-casecmp.c: Likewise.
20334         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
20335         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
20336         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
20337         unistr/u8-cmp.
20338         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
20339         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
20340         unistr/u16-cmp.
20341         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
20342         unistr/u32-cmp.
20343
20344         * lib/uninorm.h: Mention u*_cmp2.
20345         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
20346         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
20347         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
20348         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
20349         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
20350         unistr/u8-cmp.
20351         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
20352         unistr/u16-cmp.
20353         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
20354         unistr/u32-cmp.
20355
20356         New module 'unistr/u32-cmp2'.
20357         * lib/unistr/u32-cmp2.c: New file.
20358         * modules/unistr/u32-cmp2: New file.
20359
20360         New module 'unistr/u16-cmp2'.
20361         * lib/unistr/u16-cmp2.c: New file.
20362         * modules/unistr/u16-cmp2: New file.
20363
20364         New module 'unistr/u8-cmp2'.
20365         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
20366         * lib/unistr/u8-cmp2.c: New file.
20367         * lib/unistr/u-cmp2.h: New file.
20368         * modules/unistr/u8-cmp2: New file.
20369
20370 2009-04-05  Bruno Haible  <bruno@clisp.org>
20371
20372         * lib/unictype.h (uc_property_is_valid): New macro.
20373         * tests/unictype/test-pr_byname.c (main): Use it.
20374
20375         * lib/unistr.h: Doc fixes.
20376         * lib/uniconv.h: Doc fixes.
20377         * lib/unictype.h: Doc fixes.
20378
20379 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
20380
20381         Port coreutils 7.2 to Solaris 8.
20382
20383         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
20384         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
20385         for Solaris 8.  This is a bit of a hack, as it means it's the
20386         caller's responsibility to add -lnsl if needed, but most likely it
20387         won't be needed since only getaddrinfo uses this and getaddrinfo
20388         isn't needed on Solaris 8.
20389
20390         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
20391         problem to Solaris 8 encountered with coreutils 7.2, which
20392         resulted in a message "fnmatch.c:292: warning: passing argument 4
20393         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
20394         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
20395
20396 2009-04-03  Simon Josefsson  <simon@josefsson.org>
20397
20398         * m4/ld-version-script.m4: Add FIXME comment.
20399
20400 2009-04-02  Simon Josefsson  <simon@josefsson.org>
20401
20402         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
20403         SOVERSION variable.
20404
20405 2009-04-02  Bruno Haible  <bruno@clisp.org>
20406
20407         * Makefile (info, html, dvi, pdf): Combine the rules.
20408         Suggested by Jim Meyering.
20409
20410 2009-04-01  Bruno Haible  <bruno@clisp.org>
20411
20412         * Makefile (info, html, dvi, pdf): New targets.
20413         Reported by Reuben Thomas <rrt@sc3d.org>.
20414
20415 2009-04-01  Bruno Haible  <bruno@clisp.org>
20416
20417         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
20418         can be put into PATH.
20419         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
20420
20421 2009-04-01  Bruno Haible  <bruno@clisp.org>
20422
20423         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
20424
20425 2009-04-01  Bruno Haible  <bruno@clisp.org>
20426
20427         Rename module 'visibility'.
20428         * modules/lib-symbol-visibility: Renamed from modules/visibility.
20429         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
20430         * doc/gnulib.texi: Update.
20431         * MODULES.html.sh (Misc): Update.
20432         * NEWS: Mention the change.
20433
20434 2009-04-01  Simon Josefsson  <simon@josefsson.org>
20435
20436         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
20437         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
20438         Eric Blake <ebb9@byu.net> for review.
20439         * MODULES.html.sh: Add lib-msvc-compat.
20440         * doc/gnulib.texi: Link to new section.
20441         * m4/ld-output-def.m4: New file.
20442         * doc/ld-output-def.texi: New file.
20443
20444 2009-04-01  Simon Josefsson  <simon@josefsson.org>
20445
20446         Rename ld-version-script to lib-symbol-versions.  Suggested by
20447         Bruno Haible <bruno@clisp.org>.
20448         * modules/ld-version-script: Renamed to lib-symbol-versions.
20449         * doc/ld-version-script.texi: Fix module name.
20450         * MODULES.html.sh: Add lib-symbol-versions.
20451
20452 2009-03-31  Simon Josefsson  <simon@josefsson.org>
20453
20454         * modules/u64-tests: New file.
20455         * tests/test-u64.c: New file.
20456
20457 2009-03-04  Simon Josefsson  <simon@josefsson.org>
20458
20459         * MODULES.html.sh: Mention u64.
20460         * modules/u64: New module.
20461         * modules/crypto/sha512: Depend on u64 module instead of providing
20462         u64.h.
20463
20464 2009-03-27  Eric Blake  <ebb9@byu.net>
20465
20466         test-strerror: make debugging EAI_SYSTEM easier
20467         * modules/getaddrinfo-tests (Depends-on): Add strerror.
20468         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
20469         failure was EAI_SYSTEM.
20470
20471 2009-03-25  Bruno Haible  <bruno@clisp.org>
20472
20473         Fix a problem with --enable-relocatable on Solaris 7.
20474         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
20475         since 2008-02-24.
20476
20477 2009-03-25  Eric Blake  <ebb9@byu.net>
20478
20479         test-sockets: avoid gcc warning
20480         * tests/test-sockets.c (main): Silence compiler warning.
20481
20482 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
20483
20484         New modules nproc, pthread, contributed by Glen Lenker.
20485
20486         * MODULES.html.sh: Add pthread, nproc.
20487         * lib/nproc.c: New file.
20488         * lib/nproc.h: New file.
20489         * lib/pthread.in.h: New file.
20490         * m4/pthread.m4: New file.
20491         * modules/nproc: New file.
20492         * modules/pthread: New file.
20493
20494 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20495
20496         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
20497         New variable.
20498
20499 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
20500
20501         filevercmp: handle simple~ and numbered.~3~ backup suffixes
20502         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
20503         * tests/test-filevercmp.c: Add tests for backup suffixes.
20504
20505 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20506
20507         * modules/stdlib (Depends-on): Add stdint, needed when defining
20508         struct random_data on, for example, HP-UX 10.20.  Reported by
20509         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20510
20511 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20512
20513         * lib/readline.c (readline): Call fflush on stdout after printing
20514         prompt.
20515
20516 2009-03-20  Bruno Haible  <bruno@clisp.org>
20517
20518         Remove dependency from 'close' module to -lws2_32 on native Windows.
20519         * lib/close-hook.h: New file.
20520         * lib/close-hook.c: New file.
20521         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
20522         w32sock.h.
20523         (_gl_close_fd_maybe_socket): Remove function.
20524         (rpl_close): Invoke execute_all_close_hooks instead of
20525         _gl_close_fd_maybe_socket.
20526         * lib/sockets.c: Include close-hook.h, w32sock.h.
20527         (close_fd_maybe_socket): New function, essentially from lib/close.c.
20528         (close_sockets_hook): New variable.
20529         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
20530         (gl_sockets_cleanup): Unregister it.
20531         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
20532         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
20533         * modules/close-hook: New file.
20534         * modules/close (Files): Remove lib/w32sock.h.
20535         (Depends-on): Add close-hook.
20536         (Link): Remove section.
20537         * modules/sockets (Files): Add lib/w32sock.h.
20538         (Depends-on): Add close-hook.
20539         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
20540         invocation.
20541         * NEWS: Mention that LIB_CLOSE is gone.
20542
20543 2009-03-23  Eric Blake  <ebb9@byu.net>
20544
20545         signal-tests: test previous patch
20546         * tests/test-signal.c: New file.
20547         * modules/signal-tests: Likewise.
20548
20549         signal.h: always support 'volatile sig_atomic_t'
20550         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
20551         (gl_SIGNAL_H_DEFAULTS): Add a default.
20552         * modules/signal (Makefile.am): Substitute if needed.
20553         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
20554         users can blindly add volatile.
20555         * doc/posix-headers/signal.texi (signal.h): Document it.
20556         Reported by Matthew Woehlke.
20557
20558 2009-03-23  Jim Meyering  <meyering@redhat.com>
20559
20560         pathmax: PATH_MAX: use pathconf only when available
20561         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
20562         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
20563         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
20564         This avoids a link failure in a PSP cross-compilation environment
20565         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
20566
20567         * lib/vasnprintf.c (divide): Fix typo in comment.
20568
20569 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20570
20571         * gnulib-tool (func_filter_filelist): Fix comment.
20572
20573 2009-03-20  Bruno Haible  <bruno@clisp.org>
20574
20575         Make sockets.h self-contained.
20576         * lib/sockets.c: Include sockets.h first.
20577         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
20578
20579 2009-03-19  Eric Blake  <ebb9@byu.net>
20580
20581         doc: mention more functions added in cygwin 1.7.0
20582         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
20583         addition.
20584         * doc/posix-functions/log2f.texi: Likewise.
20585
20586 2009-03-19  Jim Meyering  <meyering@redhat.com>
20587
20588         fsusage: avoid syntax error due to statement-before-declaration
20589         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
20590         after all declarations.  Reported by Matthew Woehlke in
20591         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
20592
20593 2009-03-18  Eric Blake  <ebb9@byu.net>
20594
20595         build-aux/compile: sync from automake
20596         * build-aux/compile: New file, from automake.
20597         * config/srclist.txt: Mention build-aux/compile.
20598
20599 2009-03-17  Bruno Haible  <bruno@clisp.org>
20600
20601         * lib/git-merge-changelog.c: Fix typo in comment.
20602         Reported by Reuben Thomas <rrt@sc3d.org>.
20603
20604 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
20605
20606         * m4/regex.m4: update and improve help for
20607         --without-included-regex.
20608
20609 2009-03-17  Simon Josefsson  <simon@josefsson.org>
20610
20611         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
20612         failure on missing include files.
20613
20614 2009-03-17  Eric Blake  <ebb9@byu.net>
20615
20616         doc: mention more functions added in cygwin 1.7.0
20617         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
20618         addition.
20619         * doc/posix-functions/fwscanf.texi: Likewise.
20620         * doc/posix-functions/swprintf.texi: Likewise.
20621         * doc/posix-functions/swscanf.texi: Likewise.
20622         * doc/posix-functions/vfwprintf.texi: Likewise.
20623         * doc/posix-functions/vfwscanf.texi: Likewise.
20624         * doc/posix-functions/vswprintf.texi: Likewise.
20625         * doc/posix-functions/vswscanf.texi: Likewise.
20626         * doc/posix-functions/vwprintf.texi: Likewise.
20627         * doc/posix-functions/vwscanf.texi: Likewise.
20628         * doc/posix-functions/wcscasecmp.texi: Likewise.
20629         * doc/posix-functions/wcsdup.texi: Likewise.
20630         * doc/posix-functions/wcsftime.texi: Likewise.
20631         * doc/posix-functions/wcsncasecmp.texi: Likewise.
20632         * doc/posix-functions/wprintf.texi: Likewise.
20633         * doc/posix-functions/wscanf.texi: Likewise.
20634         * doc/glibc-functions/gethostbyname2.texi: Likewise.
20635
20636 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20637
20638         maint.mk: really add $(AM_MAKEFLAGS)
20639         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
20640         was inadvertently omitted in the last commit.
20641         Spotted by Bruno Haible.
20642
20643         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
20644         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
20645         $(AM_MAKEFLAGS)' rather than plain `make'.
20646
20647         gnulib-tool: execute $MAKE not make
20648         * gnulib-tool: Default $MAKE to 'make'.
20649         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
20650         than make.  Initialize $MAKE in the do-autobuild script.
20651
20652         gnulib-tool: use $MAKE not make in generated files
20653         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
20654         make, in generated files.  Initialize $MAKE in the do-autobuild
20655         script.
20656
20657         * top/GNUmakefile (_have-git-version-gen): Fix typo.
20658
20659         GNUmakefile: disable parallelism only for multiple, recursive targets
20660         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
20661         additions in the Makefile.
20662         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
20663         by Automake.
20664         (.NOTPARALLEL): Only disable parallel builds if multiple targets
20665         are listed on the command line and at least one of them is
20666         listed in $(ALL_RECURSIVE_TARGETS).
20667
20668 2009-03-14  Bruno Haible  <bruno@clisp.org>
20669
20670         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
20671         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
20672         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
20673         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
20674         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
20675         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
20676         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
20677         unistr/u8-uctomb.
20678         * modules/unistr/u8-strchr (Depends-on): Likewise.
20679         * modules/unistr/u8-strrchr (Depends-on): Likewise.
20680         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
20681         unistr/u16-uctomb.
20682         * modules/unistr/u16-strchr (Depends-on): Likewise.
20683         * modules/unistr/u16-strrchr (Depends-on): Likewise.
20684
20685 2009-03-12  Bruno Haible  <bruno@clisp.org>
20686
20687         Work around select() bug on Interix 3.5.
20688         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
20689         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
20690         * m4/select.m4: New file.
20691         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
20692         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
20693         * modules/select (Files): Add m4/select.m4.
20694         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
20695         * modules/nanosleep (Depends-on): Add select.
20696         * modules/poll (Depends-on): Likewise.
20697         * doc/posix-functions/select.texi: Mention the Interix bug.
20698         Reported by Markus Duft <mduft@gentoo.org>.
20699
20700         * lib/select.c: Renamed from lib/winsock-select.c.
20701         * modules/select (Files): Add lib/select.c, remove
20702         lib/winsock-select.c.
20703         (configure.ac): Update.
20704
20705 2009-03-12  Jim Meyering  <meyering@redhat.com>
20706
20707         avoid gcc warnings about unused macro definitions
20708         * lib/readtokens.c (STREQ): Remove unused definition.
20709         * lib/xmalloc.c (SIZE_MAX): Likewise.
20710         * lib/openat-die.c (N_): Likewise.
20711         * lib/mountlist.c (SIZE_MAX): Remove definition.
20712         Instead, include <stdint.h>.
20713         * lib/readutmp.c: Likewise.
20714         * modules/readutmp (Depends-on): Add stdint.
20715         * modules/mountlist (Depends-on): Add stdint.
20716         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
20717
20718 2009-03-10  Bruno Haible  <bruno@clisp.org>
20719
20720         Tests for module 'mbmemcasecoll'.
20721         * modules/mbmemcasecoll-tests: New file.
20722         * tests/test-mbmemcasecoll1.sh: New file.
20723         * tests/test-mbmemcasecoll2.sh: New file.
20724         * tests/test-mbmemcasecoll3.sh: New file.
20725         * tests/test-mbmemcasecoll.c: New file.
20726
20727         New module 'mbmemcasecoll'.
20728         * lib/mbmemcasecoll.h: New file.
20729         * lib/mbmemcasecoll.c: New file.
20730         * modules/mbmemcasecoll: New file.
20731
20732         * tests/test-mbmemcasecmp.h: New file, extracted from
20733         tests/test-mbmemcasecmp.c.
20734         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
20735         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
20736         (main): Update.
20737         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
20738
20739 2009-03-09  Bruno Haible  <bruno@clisp.org>
20740
20741         Tests for module 'mbmemcasecmp'.
20742         * modules/mbmemcasecmp-tests: New file.
20743         * tests/test-mbmemcasecmp1.sh: New file.
20744         * tests/test-mbmemcasecmp2.sh: New file.
20745         * tests/test-mbmemcasecmp3.sh: New file.
20746         * tests/test-mbmemcasecmp.c: New file.
20747
20748         New module 'mbmemcasecmp'.
20749         * lib/mbmemcasecmp.h: New file.
20750         * lib/mbmemcasecmp.c: New file.
20751         * modules/mbmemcasecmp: New file.
20752
20753 2009-03-09  Bruno Haible  <bruno@clisp.org>
20754
20755         Tests for module 'unicase/ulc-casecoll'.
20756         * modules/unicase/ulc-casecoll-tests: New file.
20757         * tests/unicase/test-ulc-casecoll1.sh: New file.
20758         * tests/unicase/test-ulc-casecoll2.sh: New file.
20759         * tests/unicase/test-ulc-casecoll.c: New file.
20760
20761         New module 'unicase/ulc-casecoll'.
20762         * lib/unicase.h (ulc_casecoll): New declaration.
20763         * lib/unicase/ulc-casecoll.c: New file.
20764         * modules/unicase/ulc-casecoll: New file.
20765
20766         New module 'unicase/ulc-casexfrm'.
20767         * lib/unicase.h (ulc_casexfrm): New declaration.
20768         * lib/unicase/ulc-casexfrm.c: New file.
20769         * modules/unicase/ulc-casexfrm: New file.
20770
20771 2009-03-09  Bruno Haible  <bruno@clisp.org>
20772
20773         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
20774         invocations.
20775
20776         * m4/mbscasecmp.m4: Remove file.
20777         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
20778         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
20779
20780         * m4/mbscasestr.m4: Remove file.
20781         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
20782         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
20783
20784         * m4/mbschr.m4: Remove file.
20785         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
20786         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
20787
20788         * m4/mbscspn.m4: Remove file.
20789         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
20790         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
20791
20792         * m4/mbslen.m4: Remove file.
20793         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
20794         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
20795
20796         * m4/mbsncasecmp.m4: Remove file.
20797         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
20798         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
20799
20800         * m4/mbsnlen.m4: Remove file.
20801         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
20802         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
20803
20804         * m4/mbspbrk.m4: Remove file.
20805         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
20806         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
20807
20808         * m4/mbspcasecmp.m4: Remove file.
20809         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
20810         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
20811
20812         * m4/mbsrchr.m4: Remove file.
20813         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
20814         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
20815
20816         * m4/mbssep.m4: Remove file.
20817         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
20818         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
20819
20820         * m4/mbsspn.m4: Remove file.
20821         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
20822         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
20823
20824         * m4/mbsstr.m4: Remove file.
20825         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
20826         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
20827
20828         * m4/mbstok_r.m4: Remove file.
20829         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
20830         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
20831
20832         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
20833
20834         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
20835         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
20836
20837         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
20838
20839 2009-03-08  Bruno Haible  <bruno@clisp.org>
20840
20841         Tests for module 'unicase/ulc-casecmp'.
20842         * modules/unicase/ulc-casecmp-tests: New file.
20843         * tests/unicase/test-ulc-casecmp1.sh: New file.
20844         * tests/unicase/test-ulc-casecmp2.sh: New file.
20845         * tests/unicase/test-ulc-casecmp.c: New file.
20846
20847         New module 'unicase/ulc-casecmp'.
20848         * lib/unicase.h (ulc_casecmp): New declaration.
20849         * lib/unicase/ulc-casecmp.c: New file.
20850         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
20851         'const SRC_UNIT *'.
20852         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
20853         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
20854         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
20855         * modules/unicase/ulc-casecmp: New file.
20856
20857         Tests for module 'unicase/u32-is-cased'.
20858         * modules/unicase/u32-is-cased-tests: New file.
20859         * tests/unicase/test-u32-is-cased.c: New file.
20860
20861         Tests for module 'unicase/u16-is-cased'.
20862         * modules/unicase/u16-is-cased-tests: New file.
20863         * tests/unicase/test-u16-is-cased.c: New file.
20864
20865         Tests for module 'unicase/u8-is-cased'.
20866         * modules/unicase/u8-is-cased-tests: New file.
20867         * tests/unicase/test-u8-is-cased.c: New file.
20868         * tests/unicase/test-is-cased.h: New file.
20869
20870         New module 'unicase/u32-is-cased'.
20871         * lib/unicase/u32-is-cased.c: New file.
20872         * modules/unicase/u32-is-cased: New file.
20873
20874         New module 'unicase/u16-is-cased'.
20875         * lib/unicase/u16-is-cased.c: New file.
20876         * modules/unicase/u16-is-cased: New file.
20877
20878         New module 'unicase/u8-is-cased'.
20879         * lib/unicase/u8-is-cased.c: New file.
20880         * lib/unicase/u-is-cased.h: New file.
20881         * modules/unicase/u8-is-cased: New file.
20882
20883         Tests for module 'unicase/u32-is-casefolded'.
20884         * modules/unicase/u32-is-casefolded-tests: New file.
20885         * tests/unicase/test-u32-is-casefolded.c: New file.
20886
20887         Tests for module 'unicase/u16-is-casefolded'.
20888         * modules/unicase/u16-is-casefolded-tests: New file.
20889         * tests/unicase/test-u16-is-casefolded.c: New file.
20890
20891         Tests for module 'unicase/u8-is-casefolded'.
20892         * modules/unicase/u8-is-casefolded-tests: New file.
20893         * tests/unicase/test-u8-is-casefolded.c: New file.
20894         * tests/unicase/test-is-casefolded.h: New file.
20895
20896         New module 'unicase/u32-is-casefolded'.
20897         * lib/unicase/u32-is-casefolded.c: New file.
20898         * modules/unicase/u32-is-casefolded: New file.
20899
20900         New module 'unicase/u16-is-casefolded'.
20901         * lib/unicase/u16-is-casefolded.c: New file.
20902         * modules/unicase/u16-is-casefolded: New file.
20903
20904         New module 'unicase/u8-is-casefolded'.
20905         * lib/unicase/u8-is-casefolded.c: New file.
20906         * modules/unicase/u8-is-casefolded: New file.
20907
20908         Tests for module 'unicase/u32-is-titlecase'.
20909         * modules/unicase/u32-is-titlecase-tests: New file.
20910         * tests/unicase/test-u32-is-titlecase.c: New file.
20911
20912         Tests for module 'unicase/u16-is-titlecase'.
20913         * modules/unicase/u16-is-titlecase-tests: New file.
20914         * tests/unicase/test-u16-is-titlecase.c: New file.
20915
20916         Tests for module 'unicase/u8-is-titlecase'.
20917         * modules/unicase/u8-is-titlecase-tests: New file.
20918         * tests/unicase/test-u8-is-titlecase.c: New file.
20919         * tests/unicase/test-is-titlecase.h: New file.
20920
20921         New module 'unicase/u32-is-titlecase'.
20922         * lib/unicase/u32-is-titlecase.c: New file.
20923         * modules/unicase/u32-is-titlecase: New file.
20924
20925         New module 'unicase/u16-is-titlecase'.
20926         * lib/unicase/u16-is-titlecase.c: New file.
20927         * modules/unicase/u16-is-titlecase: New file.
20928
20929         New module 'unicase/u8-is-titlecase'.
20930         * lib/unicase/u8-is-titlecase.c: New file.
20931         * modules/unicase/u8-is-titlecase: New file.
20932
20933         Tests for module 'unicase/u32-is-lowercase'.
20934         * modules/unicase/u32-is-lowercase-tests: New file.
20935         * tests/unicase/test-u32-is-lowercase.c: New file.
20936
20937         Tests for module 'unicase/u16-is-lowercase'.
20938         * modules/unicase/u16-is-lowercase-tests: New file.
20939         * tests/unicase/test-u16-is-lowercase.c: New file.
20940
20941         Tests for module 'unicase/u8-is-lowercase'.
20942         * modules/unicase/u8-is-lowercase-tests: New file.
20943         * tests/unicase/test-u8-is-lowercase.c: New file.
20944         * tests/unicase/test-is-lowercase.h: New file.
20945
20946         New module 'unicase/u32-is-lowercase'.
20947         * lib/unicase/u32-is-lowercase.c: New file.
20948         * modules/unicase/u32-is-lowercase: New file.
20949
20950         New module 'unicase/u16-is-lowercase'.
20951         * lib/unicase/u16-is-lowercase.c: New file.
20952         * modules/unicase/u16-is-lowercase: New file.
20953
20954         New module 'unicase/u8-is-lowercase'.
20955         * lib/unicase/u8-is-lowercase.c: New file.
20956         * modules/unicase/u8-is-lowercase: New file.
20957
20958         Tests for module 'unicase/u32-is-uppercase'.
20959         * modules/unicase/u32-is-uppercase-tests: New file.
20960         * tests/unicase/test-u32-is-uppercase.c: New file.
20961
20962         Tests for module 'unicase/u16-is-uppercase'.
20963         * modules/unicase/u16-is-uppercase-tests: New file.
20964         * tests/unicase/test-u16-is-uppercase.c: New file.
20965
20966         Tests for module 'unicase/u8-is-uppercase'.
20967         * modules/unicase/u8-is-uppercase-tests: New file.
20968         * tests/unicase/test-u8-is-uppercase.c: New file.
20969         * tests/unicase/test-is-uppercase.h: New file.
20970
20971         New module 'unicase/u32-is-uppercase'.
20972         * lib/unicase/u32-is-uppercase.c: New file.
20973         * modules/unicase/u32-is-uppercase: New file.
20974
20975         New module 'unicase/u16-is-uppercase'.
20976         * lib/unicase/u16-is-uppercase.c: New file.
20977         * modules/unicase/u16-is-uppercase: New file.
20978
20979         New module 'unicase/u8-is-uppercase'.
20980         * lib/unicase/u8-is-uppercase.c: New file.
20981         * modules/unicase/u8-is-uppercase: New file.
20982
20983         New module 'unicase/u32-is-invariant'.
20984         * lib/unicase/u32-is-invariant.c: New file.
20985         * modules/unicase/u32-is-invariant: New file.
20986
20987         New module 'unicase/u16-is-invariant'.
20988         * lib/unicase/u16-is-invariant.c: New file.
20989         * modules/unicase/u16-is-invariant: New file.
20990
20991         New module 'unicase/u8-is-invariant'.
20992         * lib/unicase/u8-is-invariant.c: New file.
20993         * lib/unicase/invariant.h: New file.
20994         * lib/unicase/u-is-invariant.h: New file.
20995         * modules/unicase/u8-is-invariant: New file.
20996
20997         Tests for module 'unicase/u32-casecoll'.
20998         * modules/unicase/u32-casecoll-tests: New file.
20999         * tests/unicase/test-u32-casecoll.c: New file.
21000
21001         Tests for module 'unicase/u16-casecoll'.
21002         * modules/unicase/u16-casecoll-tests: New file.
21003         * tests/unicase/test-u16-casecoll.c: New file.
21004
21005         Tests for module 'unicase/u8-casecoll'.
21006         * modules/unicase/u8-casecoll-tests: New file.
21007         * tests/unicase/test-u8-casecoll.c: New file.
21008
21009         New module 'unicase/u32-casecoll'.
21010         * lib/unicase/u32-casecoll.c: New file.
21011         * modules/unicase/u32-casecoll: New file.
21012
21013         New module 'unicase/u16-casecoll'.
21014         * lib/unicase/u16-casecoll.c: New file.
21015         * modules/unicase/u16-casecoll: New file.
21016
21017         New module 'unicase/u8-casecoll'.
21018         * lib/unicase/u8-casecoll.c: New file.
21019         * lib/unicase/u-casecoll.h: New file.
21020         * modules/unicase/u8-casecoll: New file.
21021
21022         New module 'unicase/u32-casexfrm'.
21023         * lib/unicase/u32-casexfrm.c: New file.
21024         * modules/unicase/u32-casexfrm: New file.
21025
21026         New module 'unicase/u16-casexfrm'.
21027         * lib/unicase/u16-casexfrm.c: New file.
21028         * modules/unicase/u16-casexfrm: New file.
21029
21030         New module 'unicase/u8-casexfrm'.
21031         * lib/unicase/u8-casexfrm.c: New file.
21032         * lib/unicase/u-casexfrm.h: New file.
21033         * modules/unicase/u8-casexfrm: New file.
21034
21035         Tests for module 'unicase/u32-casecmp'.
21036         * modules/unicase/u32-casecmp-tests: New file.
21037         * tests/unicase/test-u32-casecmp.c: New file.
21038
21039         Tests for module 'unicase/u16-casecmp'.
21040         * modules/unicase/u16-casecmp-tests: New file.
21041         * tests/unicase/test-u16-casecmp.c: New file.
21042
21043         Tests for module 'unicase/u8-casecmp'.
21044         * modules/unicase/u8-casecmp-tests: New file.
21045         * tests/unicase/test-u8-casecmp.c: New file.
21046         * tests/unicase/test-casecmp.h: New file.
21047
21048         New module 'unicase/u32-casecmp'.
21049         * lib/unicase/u32-casecmp.c: New file.
21050         * modules/unicase/u32-casecmp: New file.
21051
21052         New module 'unicase/u16-casecmp'.
21053         * lib/unicase/u16-casecmp.c: New file.
21054         * modules/unicase/u16-casecmp: New file.
21055
21056         New module 'unicase/u8-casecmp'.
21057         * lib/unicase/u8-casecmp.c: New file.
21058         * lib/unicase/u-casecmp.h: New file.
21059         * modules/unicase/u8-casecmp: New file.
21060
21061         Tests for module 'unicase/u32-casefold'.
21062         * modules/unicase/u32-casefold-tests: New file.
21063         * tests/unicase/test-u32-casefold.c: New file.
21064
21065         Tests for module 'unicase/u16-casefold'.
21066         * modules/unicase/u16-casefold-tests: New file.
21067         * tests/unicase/test-u16-casefold.c: New file.
21068
21069         Tests for module 'unicase/u8-casefold'.
21070         * modules/unicase/u8-casefold-tests: New file.
21071         * tests/unicase/test-u8-casefold.c: New file.
21072
21073         New module 'unicase/u32-casefold'.
21074         * lib/unicase/u32-casefold.c: New file.
21075         * modules/unicase/u32-casefold: New file.
21076
21077         New module 'unicase/u16-casefold'.
21078         * lib/unicase/u16-casefold.c: New file.
21079         * modules/unicase/u16-casefold: New file.
21080
21081         New module 'unicase/u8-casefold'.
21082         * lib/unicase/u8-casefold.c: New file.
21083         * lib/unicase/u-casefold.h: New file.
21084         * modules/unicase/u8-casefold: New file.
21085
21086         New module 'unicase/tocasefold'.
21087         * lib/unicase/casefold.h: New file.
21088         * lib/unicase/tocasefold.c: New file.
21089         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
21090         * modules/unicase/tocasefold: New file.
21091
21092         Tests for module 'unicase/u32-totitle'.
21093         * modules/unicase/u32-totitle-tests: New file.
21094         * tests/unicase/test-u32-totitle.c: New file.
21095
21096         Tests for module 'unicase/u16-totitle'.
21097         * modules/unicase/u16-totitle-tests: New file.
21098         * tests/unicase/test-u16-totitle.c: New file.
21099
21100         Tests for module 'unicase/u8-totitle'.
21101         * modules/unicase/u8-totitle-tests: New file.
21102         * tests/unicase/test-u8-totitle.c: New file.
21103
21104         New module 'unicase/u32-totitle'.
21105         * lib/unicase/u32-totitle.c: New file.
21106         * modules/unicase/u32-totitle: New file.
21107
21108         New module 'unicase/u16-totitle'.
21109         * lib/unicase/u16-totitle.c: New file.
21110         * modules/unicase/u16-totitle: New file.
21111
21112         New module 'unicase/u8-totitle'.
21113         * lib/unicase/u8-totitle.c: New file.
21114         * lib/unicase/u-totitle.h: New file.
21115         * modules/unicase/u8-totitle: New file.
21116
21117         Tests for module 'unicase/u32-tolower'.
21118         * modules/unicase/u32-tolower-tests: New file.
21119         * tests/unicase/test-u32-tolower.c: New file.
21120
21121         Tests for module 'unicase/u16-tolower'.
21122         * modules/unicase/u16-tolower-tests: New file.
21123         * tests/unicase/test-u16-tolower.c: New file.
21124
21125         Tests for module 'unicase/u8-tolower'.
21126         * modules/unicase/u8-tolower-tests: New file.
21127         * tests/unicase/test-u8-tolower.c: New file.
21128
21129         New module 'unicase/u32-tolower'.
21130         * lib/unicase/u32-tolower.c: New file.
21131         * modules/unicase/u32-tolower: New file.
21132
21133         New module 'unicase/u16-tolower'.
21134         * lib/unicase/u16-tolower.c: New file.
21135         * modules/unicase/u16-tolower: New file.
21136
21137         New module 'unicase/u8-tolower'.
21138         * lib/unicase/u8-tolower.c: New file.
21139         * modules/unicase/u8-tolower: New file.
21140
21141         Tests for module 'unicase/u32-toupper'.
21142         * modules/unicase/u32-toupper-tests: New file.
21143         * tests/unicase/test-u32-toupper.c: New file.
21144
21145         Tests for module 'unicase/u16-toupper'.
21146         * modules/unicase/u16-toupper-tests: New file.
21147         * tests/unicase/test-u16-toupper.c: New file.
21148
21149         Tests for module 'unicase/u8-toupper'.
21150         * modules/unicase/u8-toupper-tests: New file.
21151         * tests/unicase/test-u8-toupper.c: New file.
21152
21153         New module 'unicase/u32-toupper'.
21154         * lib/unicase/u32-toupper.c: New file.
21155         * modules/unicase/u32-toupper: New file.
21156
21157         New module 'unicase/u16-toupper'.
21158         * lib/unicase/u16-toupper.c: New file.
21159         * modules/unicase/u16-toupper: New file.
21160
21161         New module 'unicase/u8-toupper'.
21162         * lib/unicase/u8-toupper.c: New file.
21163         * modules/unicase/u8-toupper: New file.
21164
21165         New module 'unicase/u32-casemap'.
21166         * lib/unicase/u32-casemap.c: New file.
21167         * modules/unicase/u32-casemap: New file.
21168
21169         New module 'unicase/u16-casemap'.
21170         * lib/unicase/u16-casemap.c: New file.
21171         * modules/unicase/u16-casemap: New file.
21172
21173         New module 'unicase/u8-casemap'.
21174         * lib/unicase/unicasemap.h: New file.
21175         * lib/unicase/u8-casemap.c: New file.
21176         * lib/unicase/u-casemap.h: New file.
21177         * modules/unicase/u8-casemap: New file.
21178
21179         New module 'unicase/special-casing'.
21180         * lib/unicase/special-casing.h: New file.
21181         * lib/unicase/special-casing.c: New file.
21182         * lib/unicase/special-casing-table.gperf: New file, generated by
21183         gen-uni-tables.c.
21184         * modules/unicase/special-casing: New file.
21185
21186         Tests for module 'unicase/locale-language'.
21187         * modules/unicase/locale-language-tests: New file.
21188         * tests/unicase/test-locale-language.sh: New file.
21189         * tests/unicase/test-locale-language.c: New file.
21190
21191         New module 'unicase/locale-language'.
21192         * lib/unicase/locale-language.c: New file.
21193         * lib/unicase/locale-languages.gperf: New file.
21194         * modules/unicase/locale-language: New file.
21195
21196         Generate more tables for case conversion and case folding.
21197         * lib/gen-uni-tables.c (SCC_*): New enum items.
21198         (struct special_casing_rule): New type.
21199         (casing_rules, num_casing_rules, allocated_casing_rules): New
21200         variables.
21201         (add_casing_rule, fill_casing_rules): New functions.
21202         (struct casefold_rule): New type.
21203         (casefolding_rules, num_casefolding_rules,
21204         allocated_casefolding_rules): New variables.
21205         (fill_casefolding_rules): New function.
21206         (unicode_casefold): New variable.
21207         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
21208         sort_casing_rules, output_casing_rules): New functions.
21209         (main): Accept to more arguments: SpecialCasing.txt and
21210         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
21211         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
21212         Output mapping for casefolding.
21213
21214         * lib/unicase.h: Include stdbool.h, uninorm.h.
21215         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
21216         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
21217         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
21218         arguments.
21219         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
21220         resultp arguments.
21221         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
21222         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
21223         resultp arguments.
21224         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
21225         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
21226         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
21227         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
21228         declarations.
21229         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
21230
21231 2009-03-08  Bruno Haible  <bruno@clisp.org>
21232
21233         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
21234         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
21235         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
21236         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
21237
21238 2009-03-07  Bruno Haible  <bruno@clisp.org>
21239
21240         Adjust u*_normcmp, u*_normcoll API.
21241         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
21242         u16_normcoll, u32_normcoll): Change failure conventions.
21243         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
21244         errno and return -1.
21245         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
21246
21247 2009-03-07  Bruno Haible  <bruno@clisp.org>
21248
21249         Tests for module 'uninorm/u32-normcoll'.
21250         * modules/uninorm/u32-normcoll-tests: New file.
21251         * tests/uninorm/test-u32-normcoll.c: New file.
21252
21253         Tests for module 'uninorm/u16-normcoll'.
21254         * modules/uninorm/u16-normcoll-tests: New file.
21255         * tests/uninorm/test-u16-normcoll.c: New file.
21256
21257         Tests for module 'uninorm/u8-normcoll'.
21258         * modules/uninorm/u8-normcoll-tests: New file.
21259         * tests/uninorm/test-u8-normcoll.c: New file.
21260
21261 2009-03-07  Bruno Haible  <bruno@clisp.org>
21262
21263         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
21264         tests/uninorm/test-u32-normcmp.c.
21265         * tests/uninorm/test-u32-normcmp.c: Include it.
21266         (test_nonascii): New function, extracted from main. Add some more
21267         tests.
21268         (main): Invoke test_ascii and test_nonascii.
21269         * modules/uninorm/u32-normcmp-tests (Files): Add
21270         tests/uninorm/test-u32-normcmp.h.
21271         (Depends-on): Remove uninorm/u32-normcmp.
21272
21273         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
21274         tests/uninorm/test-u16-normcmp.c.
21275         * tests/uninorm/test-u16-normcmp.c: Include it.
21276         (test_nonascii): New function, extracted from main. Add some more
21277         tests.
21278         (main): Invoke test_ascii and test_nonascii.
21279         * modules/uninorm/u16-normcmp-tests (Files): Add
21280         tests/uninorm/test-u16-normcmp.h.
21281         (Depends-on): Remove uninorm/u16-normcmp.
21282
21283         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
21284         tests/uninorm/test-u8-normcmp.c.
21285         * tests/uninorm/test-u8-normcmp.c: Include it.
21286         (test_nonascii): New function, extracted from main. Add some more
21287         tests.
21288         (main): Invoke test_ascii and test_nonascii.
21289         * modules/uninorm/u8-normcmp-tests (Files): Add
21290         tests/uninorm/test-u8-normcmp.h.
21291         (Depends-on): Remove uninorm/u8-normcmp.
21292
21293 2009-03-07  Bruno Haible  <bruno@clisp.org>
21294
21295         New module 'uninorm/u32-normcoll'.
21296         * lib/uninorm/u32-normcoll.c: New file.
21297         * modules/uninorm/u32-normcoll: New file.
21298
21299         New module 'uninorm/u16-normcoll'.
21300         * lib/uninorm/u16-normcoll.c: New file.
21301         * modules/uninorm/u16-normcoll: New file.
21302
21303         New module 'uninorm/u8-normcoll'.
21304         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
21305         declarations.
21306         * lib/uninorm/u8-normcoll.c: New file.
21307         * lib/uninorm/u-normcoll.h: New file.
21308         * modules/uninorm/u8-normcoll: New file.
21309
21310         New module 'uninorm/u32-normxfrm'.
21311         * lib/uninorm/u32-normxfrm.c: New file.
21312         * modules/uninorm/u32-normxfrm: New file.
21313
21314         New module 'uninorm/u16-normxfrm'.
21315         * lib/uninorm/u16-normxfrm.c: New file.
21316         * modules/uninorm/u16-normxfrm: New file.
21317
21318         New module 'uninorm/u8-normxfrm'.
21319         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
21320         declarations.
21321         * lib/uninorm/u8-normxfrm.c: New file.
21322         * lib/uninorm/u-normxfrm.h: New file.
21323         * modules/uninorm/u8-normxfrm: New file.
21324
21325 2009-03-07  Bruno Haible  <bruno@clisp.org>
21326
21327         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
21328         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
21329         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
21330
21331 2009-03-07  Bruno Haible  <bruno@clisp.org>
21332
21333         New module 'memxfrm'.
21334         * lib/memxfrm.h: New file.
21335         * lib/memxfrm.c: New file.
21336         * modules/memxfrm: New file.
21337
21338 2009-03-07  Bruno Haible  <bruno@clisp.org>
21339
21340         New module 'memcmp2'.
21341         * lib/memcmp2.h: New file.
21342         * lib/memcmp2.c: New file.
21343         * modules/memcmp2: New file.
21344
21345 2009-03-07  Bruno Haible  <bruno@clisp.org>
21346
21347         Tests for module 'uninorm/decomposing-form'.
21348         * modules/uninorm/decomposing-form-tests: New file.
21349         * tests/uninorm/test-decomposing-form.c: New file.
21350
21351         New module 'uninorm/decomposing-form'.
21352         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
21353         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
21354         Add 'decomposing_variant' field.
21355         * lib/uninorm/decomposing-form.c: New file.
21356         * lib/uninorm/nfc.c (uninorm_nfc): Update.
21357         * lib/uninorm/nfd.c (uninorm_nfd): Update.
21358         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
21359         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
21360         * modules/uninorm/decomposing-form: New file.
21361         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
21362         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
21363
21364 2009-03-07  Bruno Haible  <bruno@clisp.org>
21365
21366         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
21367         strings.
21368
21369 2009-03-06  Bruno Haible  <bruno@clisp.org>
21370
21371         Tests for module 'uninorm/u32-normcmp'.
21372         * tests/uninorm/test-u32-normcmp.c: New file.
21373         * modules/uninorm/u32-normcmp-tests: New file.
21374
21375         Tests for module 'uninorm/u16-normcmp'.
21376         * tests/uninorm/test-u16-normcmp.c: New file.
21377         * modules/uninorm/u16-normcmp-tests: New file.
21378
21379         Tests for module 'uninorm/u8-normcmp'.
21380         * tests/uninorm/test-u8-normcmp.c: New file.
21381         * modules/uninorm/u8-normcmp-tests: New file.
21382
21383         New module 'uninorm/u32-normcmp'.
21384         * lib/uninorm/u32-normcmp.c: New file.
21385         * modules/uninorm/u32-normcmp: New file.
21386
21387         New module 'uninorm/u16-normcmp'.
21388         * lib/uninorm/u16-normcmp.c: New file.
21389         * modules/uninorm/u16-normcmp: New file.
21390
21391         New module 'uninorm/u8-normcmp'.
21392         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
21393         declarations.
21394         * lib/uninorm/u8-normcmp.c: New file.
21395         * lib/uninorm/u-normcmp.h: New file.
21396         * modules/uninorm/u8-normcmp: New file.
21397
21398 2009-03-06  Bruno Haible  <bruno@clisp.org>
21399
21400         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
21401         Reported by Eric Blake.
21402
21403 2009-03-06  Eric Blake  <ebb9@byu.net>
21404             Bruno Haible  <bruno@clisp.org>
21405
21406         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
21407         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
21408         condition.
21409         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
21410         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
21411         condition.
21412         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
21413
21414 2009-03-06  Eric Blake  <ebb9@byu.net>
21415
21416         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
21417         to avoid compiler warnings.
21418         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
21419
21420 2009-03-05  Bruno Haible  <bruno@clisp.org>
21421
21422         * tests/test-ftell.c (main): Disable test beyond end of file on
21423         FreeMiNT.
21424         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
21425
21426 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
21427
21428         * lib/filevercmp.c: Move hidden files up in ordering.
21429         * tests/test-filevercmp.c: Add tests for hidden files.
21430
21431 2009-03-04  Bruno Haible  <bruno@clisp.org>
21432
21433         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
21434         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
21435         AM_CFLAGS.
21436         Reported by Simon Josefsson.
21437
21438 2009-03-03  Bruno Haible  <bruno@clisp.org>
21439
21440         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
21441         Reported by Simon Josefsson.
21442
21443         * doc/ld-version-script.texi: Update node reference.
21444
21445 2009-03-03  Bruno Haible  <bruno@clisp.org>
21446
21447         * modules/visibility (License): Change to 'unlimited'.
21448         Suggested by Simon Josefsson.
21449
21450 2009-03-03  Jim Meyering  <meyering@redhat.com>
21451
21452         unlinkdir: cannot_unlink_dir may modify process state
21453         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
21454         it's neither thread-safe nor appropriate for use in a library.
21455
21456 2009-03-03  Eric Blake  <ebb9@byu.net>
21457
21458         test-closein: silence test under Darwin
21459         * tests/test-closein.sh: Ignore stderr from cat, since we don't
21460         care if it dies from EPIPE or EBADF.
21461
21462 2009-03-03  Bruno Haible  <bruno@clisp.org>
21463
21464         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
21465         earlier.
21466         * doc/visibility.texi: Fix @node and @section.
21467
21468 2009-03-03  Simon Josefsson  <simon@josefsson.org>
21469
21470         * doc/gnulib.texi: Link to sections for ld version script and
21471         visibility.
21472         * doc/visibility.texi: Add @node and @section.
21473         * modules/ld-version-script: New module.
21474         * m4/ld-version-script.m4: New file.
21475         * doc/ld-version-script.texi: New file.
21476
21477 2009-03-02  David Lutterkort  <lutter@redhat.com>
21478
21479         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
21480         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21481
21482 2009-03-02  Bruno Haible  <bruno@clisp.org>
21483
21484         * doc/visibility.texi: Mention libtool's -export-symbols option.
21485
21486 2009-03-02  Jim Meyering  <meyering@redhat.com>
21487
21488         announce-gen: new option: --no-print-checksums
21489         * build-aux/announce-gen (usage): Describe it.
21490         (print_checksums): Print a newline here, not in the [*] footnote.
21491         (main): Honor it.
21492
21493 2009-03-01  Bruno Haible  <bruno@clisp.org>
21494
21495         Use socklen_t in the native Windows replacements prototypes.
21496         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
21497         instead of 'int'.
21498         * lib/getsockopt.c (rpl_getsockopt): Likewise.
21499         * lib/setsockopt.c (rpl_setsockopt): Likewise.
21500         * modules/getsockopt (Depends-on): Add socklen.
21501         * modules/setsockopt (Depends-on): Add socklen.
21502
21503 2009-03-01  Bruno Haible  <bruno@clisp.org>
21504
21505         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
21506         least 4.2.
21507
21508 2009-03-01  Eric Blake  <ebb9@byu.net>
21509             Bruno Haible  <bruno@clisp.org>
21510
21511         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
21512         error messages.
21513         * lib/wait-process.c (wait_subprocess): Omit error message about
21514         deadly signal sent to the child of termsigp != NULL.
21515
21516 2009-03-01  Eric Blake  <ebb9@byu.net>
21517
21518         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
21519
21520 2009-03-01  Bruno Haible  <bruno@clisp.org>
21521
21522         Avoid a gcc warning.
21523         * tests/test-sched.c (b): Make global.
21524         Reported by Eric Blake.
21525
21526 2009-01-19  Martin Lambers  <marlam@marlam.de>
21527
21528         Provide POSIX semantics for socket timeout options on W32.
21529         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
21530         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
21531         * modules/setsockopt: Depend on sys_time module for struct timeval.
21532         * modules/getsockopt: Depend on sys_time module for struct timeval.
21533
21534 2009-03-01  Simon Josefsson  <simon@josefsson.org>
21535
21536         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
21537         __USE_GNU, for consistency with netdb.in.h.
21538         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21539
21540 2009-03-01  Bruno Haible  <bruno@clisp.org>
21541
21542         More support for FreeMiNT.
21543         * lib/fseeko.c (rpl_fseeko): Complete last commit.
21544         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21545
21546 2009-03-01  Bruno Haible  <bruno@clisp.org>
21547
21548         More support for FreeMiNT.
21549         * lib/fpurge.c (fpurge): Correct last commit.
21550         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21551
21552 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21553
21554         Fix unportable awk script in vc-list-files.
21555         * build-aux/vc-list-files: In the replacement awk script, use
21556         substr with a second argument of 1, not zero.
21557         Report by Simon Josefsson.
21558
21559 2009-02-28  Bruno Haible  <bruno@clisp.org>
21560
21561         More support for FreeMiNT.
21562         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
21563         to FreeMiNT today.
21564         * lib/fwriting.c (fwriting): Likewise.
21565         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
21566
21567 2009-02-28  Bruno Haible  <bruno@clisp.org>
21568
21569         * tests/test-freadseek.c (main): Disable test beyond end of file on
21570         FreeMiNT.
21571         * tests/test-ftello.c (main): Likewise.
21572         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
21573
21574 2009-02-28  Bruno Haible  <bruno@clisp.org>
21575
21576         Add tentative support for FreeMiNT.
21577         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
21578         * lib/fpurge.c (fpurge): Likewise.
21579         * lib/freadable.c (freadable): Likewise.
21580         * lib/freading.c (freading): Likewise.
21581         * lib/freadptr.c (freadptr): Likewise.
21582         * lib/freadseek.c (freadptrinc): Likewise.
21583         * lib/fseeko.c (rpl_fseeko): Likewise.
21584         * lib/fseterr.c (fseterr): Likewise.
21585         * lib/fwritable.c (fwritable): Likewise.
21586         * lib/fwriting.c (fwriting): Likewise.
21587         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
21588         Hourihane.
21589         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21590
21591 2009-02-28  Bruno Haible  <bruno@clisp.org>
21592
21593         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
21594         SIGCHLD.
21595         Reported by Jim Meyering.
21596
21597 2009-02-28  Bruno Haible  <bruno@clisp.org>
21598
21599         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
21600         Mention the results of these tests on various platforms.
21601         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
21602         order.
21603         * doc/posix-functions/printf.texi: Likewise.
21604         * doc/posix-functions/snprintf.texi: Likewise.
21605         * doc/posix-functions/sprintf.texi: Likewise.
21606         * doc/posix-functions/vfprintf.texi: Likewise.
21607         * doc/posix-functions/vprintf.texi: Likewise.
21608         * doc/posix-functions/vsnprintf.texi: Likewise.
21609         * doc/posix-functions/vsprintf.texi: Likewise.
21610         * doc/glibc-functions/obstack_printf.texi: Likewise.
21611         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
21612
21613 2009-02-28  Bruno Haible  <bruno@clisp.org>
21614
21615         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
21616         Reported by Loïc Minier <lool@dooz.org>.
21617
21618 2009-02-27  Bruno Haible  <bruno@clisp.org>
21619
21620         * gnulib-tool (func_import): Make the sed expression used to create the
21621         sed script for updating the .gitignore file POSIX compliant.
21622         Reported by Eric Blake.
21623
21624 2009-02-27  Bruno Haible  <bruno@clisp.org>
21625
21626         * gnulib-tool (sed): Don't alias as "sed --posix".
21627         Reported by Eric Blake.
21628
21629 2009-02-27  Bruno Haible  <bruno@clisp.org>
21630
21631         Avoid test link errors.
21632         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
21633         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
21634         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
21635         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
21636         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21637
21638 2009-02-27  Bruno Haible  <bruno@clisp.org>
21639
21640         Avoid spurious "(cached)" in configure output.
21641         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
21642         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
21643         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
21644         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
21645         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
21646         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
21647         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
21648         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
21649         Reported by Eric Blake.
21650
21651 2009-02-27  Eric Blake  <ebb9@byu.net>
21652
21653         printf: fix regression in previous patch
21654         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
21655
21656 2009-02-27  Bruno Haible  <bruno@clisp.org>
21657
21658         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
21659         value.
21660         * lib/stdint.in.h: Likewise.
21661         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
21662
21663 2009-02-27  Eric Blake  <ebb9@byu.net>
21664
21665         doc: mention more functions added in cygwin 1.7.0
21666         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
21667         addition.
21668         * doc/posix-functions/open_wmemstream.texi: Likewise.
21669         * doc/posix-functions/wcsnlen.texi: Likewise.
21670         * doc/posix-functions/wcsnrtombs.texi: Likewise.
21671         * doc/posix-functions/wcstod.texi: Likewise.
21672         * doc/posix-functions/wcstof.texi: Likewise.
21673         * doc/posix-functions/wcstoimax.texi: Likewise.
21674         * doc/posix-functions/wcstok.texi: Likewise.
21675         * doc/posix-functions/wcstoumax.texi: Likewise.
21676
21677         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
21678         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
21679         * doc/posix-functions/fprintf.texi: Update.
21680         * doc/posix-functions/printf.texi: Update.
21681         * doc/posix-functions/snprintf.texi: Update.
21682         * doc/posix-functions/sprintf.texi: Update.
21683         * doc/posix-functions/vfprintf.texi: Update.
21684         * doc/posix-functions/vprintf.texi: Update.
21685         * doc/posix-functions/vsnprintf.texi: Update.
21686         * doc/posix-functions/vsprintf.texi: Update.
21687         * doc/glibc-functions/obstack_printf.texi: Update.
21688         * doc/glibc-functions/obstack_vprintf.texi: Update.
21689
21690 2009-02-26  Eric Blake  <ebb9@byu.net>
21691
21692         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
21693         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
21694         compilation bug by using runtime conversion.
21695         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
21696         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
21697         * modules/ceill-tests (Files): Use nan.h.
21698         * modules/floorl-tests (Files): Likewise.
21699         * modules/frexpl-tests (Files): Likewise.
21700         * modules/isnanl-tests (Files): Likewise.
21701         * modules/ldexpl-tests (Files): Likewise.
21702         * modules/roundl-tests (Files): Likewise.
21703         * modules/truncl-tests (Files): Likewise.
21704         * tests/test-ceill.c (main): Use a working NaN.
21705         * tests/test-floorl.c (main): Likewise.
21706         * tests/test-frexpl.c (main): Likewise.
21707         * tests/test-isnan.c (test_long_double): Likewise.
21708         * tests/test-isnanl.h (main): Likewise.
21709         * tests/test-ldexpl.h (main): Likewise.
21710         * tests/test-roundl.h (main): Likewise.
21711         * tests/test-truncl.h (main): Likewise.
21712         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
21713
21714 2009-02-26  Eric Blake  <ebb9@byu.net>
21715             Bruno Haible  <bruno@clisp.org>
21716
21717         Work around a *printf bug with %ls on Solaris.
21718         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
21719         precision is specified, sprintf stops converting the wide string
21720         argument when the number of bytes that have been produced by this
21721         conversion equals or exceeds the precision.
21722         * doc/posix-functions/fprintf.texi: Update.
21723         * doc/posix-functions/printf.texi: Update.
21724         * doc/posix-functions/snprintf.texi: Update.
21725         * doc/posix-functions/sprintf.texi: Update.
21726         * doc/posix-functions/vfprintf.texi: Update.
21727         * doc/posix-functions/vprintf.texi: Update.
21728         * doc/posix-functions/vsnprintf.texi: Update.
21729         * doc/posix-functions/vsprintf.texi: Update.
21730         * doc/glibc-functions/obstack_printf.texi: Update.
21731         * doc/glibc-functions/obstack_vprintf.texi: Update.
21732
21733 2009-02-26  Eric Blake  <ebb9@byu.net>
21734
21735         stdlib: favor compiler check of random.h
21736         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
21737         to avoid an ObjC random.h installed by Swarm.
21738
21739 2009-02-26  Bruno Haible  <bruno@clisp.org>
21740
21741         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
21742         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
21743         Reported by Gary V. Vaughan <gary@gnu.org>.
21744
21745 2009-02-26  Bruno Haible  <bruno@clisp.org>
21746
21747         Fix *printf behaviour regarding the %ls directive.
21748         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
21749         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
21750         NEED_PRINTF_DIRECTIVE_LS.
21751         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
21752         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21753         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21754         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
21755         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
21756         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
21757         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
21758         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21759         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21760         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21761         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21762         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
21763         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21764         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21765         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21766         * doc/posix-functions/fprintf.texi: Update.
21767         * doc/posix-functions/printf.texi: Update.
21768         * doc/posix-functions/snprintf.texi: Update.
21769         * doc/posix-functions/sprintf.texi: Update.
21770         * doc/posix-functions/vfprintf.texi: Update.
21771         * doc/posix-functions/vprintf.texi: Update.
21772         * doc/posix-functions/vsnprintf.texi: Update.
21773         * doc/posix-functions/vsprintf.texi: Update.
21774         * doc/glibc-functions/obstack_printf.texi: Update.
21775         * doc/glibc-functions/obstack_vprintf.texi: Update.
21776         Reported by Eric Blake.
21777
21778 2009-02-25  Bruno Haible  <bruno@clisp.org>
21779
21780         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
21781         with known value.
21782         Reported by Gary V. Vaughan <gary@gnu.org>.
21783
21784 2009-02-25  Bruno Haible  <bruno@clisp.org>
21785
21786         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
21787         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
21788         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
21789         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
21790         Reported by Gary V. Vaughan <gary@gnu.org>.
21791
21792 2009-02-25  Bruno Haible  <bruno@clisp.org>
21793
21794         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
21795         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
21796         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
21797         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
21798         Reported by Gary V. Vaughan <gary@gnu.org>.
21799
21800 2009-02-25  Eric Blake  <ebb9@byu.net>
21801
21802         tests: skip fseek/ftell tests if ungetc is broken
21803         * m4/ungetc.m4: New file.
21804         * modules/fseek-tests: Split test, so ungetc dependency is
21805         separate from rest of test.
21806         * modules/fseeko-tests: Likewise.
21807         * modules/ftell-tests: Likewise.
21808         * modules/ftello-tests: Likewise.
21809         * tests/test-fseek.c (main): Isolate ungetc dependency.
21810         * tests/test-fseeko.c (main): Likewise.
21811         * tests/test-ftell.c (main): Likewise.
21812         * tests/test-ftello.c (main): Likewise.
21813         * tests/test-fseek2.sh: New file.
21814         * tests/test-fseeko2.sh: Likewise.
21815         * tests/test-ftell2.sh: Likewise.
21816         * tests/test-ftello2.sh: Likewise.
21817
21818 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
21819
21820         test-getaddrinfo: fix usage of skip return code 77
21821         * tests/test-gettaddrinfo.c: Return skip code 77 only
21822         for first occurance of skip (4x77 is not 77)
21823
21824 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
21825
21826         strtod: avoid C99 decl-after-statement
21827         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
21828
21829 2009-02-24  Eric Blake  <ebb9@byu.net>
21830
21831         strtod: detect HP-UX 11.31 bug
21832         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
21833         Reported by Gary V. Vaughan.
21834
21835 2009-02-23  Bruno Haible  <bruno@clisp.org>
21836
21837         Fix invalid read past end of memory block.
21838         * lib/vasnprintf.c (DCHAR_SET): Define.
21839         (local_wcslen): Define only when needed.
21840         (local_strnlen, local_wcsnlen): New functions.
21841         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
21842         directives that involve a conversion ourselves.
21843         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
21844         wcsnlen, mbrtowc, wcrtomb.
21845         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
21846         * tests/test-vasprintf-posix.c (test_function): Likewise.
21847         * tests/test-snprintf-posix.h (test_function): Likewise.
21848         * tests/test-sprintf-posix.h (test_function): Likewise.
21849         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21850
21851 2009-02-22  Bruno Haible  <bruno@clisp.org>
21852
21853         Implement new clarified decomposition of Hangul syllables.
21854         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
21855         of type LTV, return only a pairwise decomposition.
21856         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
21857         Likewise.
21858         * tests/uninorm/test-decomposition.c (main): Updated expected result.
21859         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
21860         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
21861
21862 2009-02-22  Bruno Haible  <bruno@clisp.org>
21863
21864         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
21865         zero-length results and shrink excess allocated memory.
21866         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
21867         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
21868         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
21869         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
21870         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
21871         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
21872         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
21873         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
21874         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
21875         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
21876         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
21877         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
21878
21879 2009-02-21  Bruno Haible  <bruno@clisp.org>
21880
21881         * doc/gnulib.texi: Include safe-alloc.texi earlier.
21882         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
21883         spaces after a period. Put a space between a macro name and its
21884         argument list. Trivial rewordings.
21885         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
21886         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
21887         (main): Return 0 explicitly.
21888
21889 2009-02-21  Bruno Haible  <bruno@clisp.org>
21890
21891         Tests for module 'uninorm/filter'.
21892         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
21893         * modules/uninorm/filter-tests: New file.
21894
21895         New module 'uninorm/filter'.
21896         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
21897         uninorm_filter_flush, uninorm_filter_free): New declarations.
21898         * lib/uninorm/uninorm-filter.c: New file.
21899         * modules/uninorm/filter: New file.
21900
21901 2009-02-21  Bruno Haible  <bruno@clisp.org>
21902
21903         Tests for module 'uninorm/nfkc'.
21904         * tests/uninorm/test-nfkc.c: New file.
21905         * tests/uninorm/test-u8-nfkc.c: New file.
21906         * tests/uninorm/test-u16-nfkc.c: New file.
21907         * tests/uninorm/test-u32-nfkc.c: New file.
21908         * tests/uninorm/test-u32-nfkc-big.sh: New file.
21909         * tests/uninorm/test-u32-nfkc-big.c: New file.
21910         * modules/uninorm/nfkc-tests: New file.
21911
21912         New module 'uninorm/nfkc'.
21913         * lib/uninorm/nfkc.c: New file.
21914         * modules/uninorm/nfkc: New file.
21915
21916         Tests for module 'uninorm/nfkd'.
21917         * tests/uninorm/test-nfkd.c: New file.
21918         * tests/uninorm/test-u8-nfkd.c: New file.
21919         * tests/uninorm/test-u16-nfkd.c: New file.
21920         * tests/uninorm/test-u32-nfkd.c: New file.
21921         * tests/uninorm/test-u32-nfkd-big.sh: New file.
21922         * tests/uninorm/test-u32-nfkd-big.c: New file.
21923         * modules/uninorm/nfkd-tests: New file.
21924
21925         New module 'uninorm/nfkd'.
21926         * lib/uninorm/nfkd.c: New file.
21927         * modules/uninorm/nfkd: New file.
21928
21929         Tests for module 'uninorm/nfc'.
21930         * tests/uninorm/test-nfc.c: New file.
21931         * tests/uninorm/test-u8-nfc.c: New file.
21932         * tests/uninorm/test-u16-nfc.c: New file.
21933         * tests/uninorm/test-u32-nfc.c: New file.
21934         * tests/uninorm/test-u32-nfc-big.sh: New file.
21935         * tests/uninorm/test-u32-nfc-big.c: New file.
21936         * modules/uninorm/nfc-tests: New file.
21937
21938         New module 'uninorm/nfc'.
21939         * lib/uninorm/nfc.c: New file.
21940         * modules/uninorm/nfc: New file.
21941
21942         Tests for module 'uninorm/nfd'.
21943         * tests/uninorm/test-nfd.c: New file.
21944         * tests/uninorm/test-u8-nfd.c: New file.
21945         * tests/uninorm/test-u16-nfd.c: New file.
21946         * tests/uninorm/test-u32-nfd.c: New file.
21947         * tests/uninorm/test-u32-nfd-big.sh: New file.
21948         * tests/uninorm/test-u32-nfd-big.c: New file.
21949         * tests/uninorm/test-u32-normalize-big.h: New file.
21950         * tests/uninorm/test-u32-normalize-big.c: New file.
21951         * tests/uninorm/NormalizationTest.txt: New file, created from
21952         Unicode 5.1.0 NormalizationTest.txt.
21953         * modules/uninorm/nfd-tests: New file.
21954
21955         New module 'uninorm/nfd'.
21956         * lib/uninorm/nfd.c: New file.
21957         * modules/uninorm/nfd: New file.
21958
21959         New module 'uninorm/u32-normalize'.
21960         * lib/uninorm/u32-normalize.c: New file.
21961         * modules/uninorm/u32-normalize: New file.
21962
21963         New module 'uninorm/u16-normalize'.
21964         * lib/uninorm/u16-normalize.c: New file.
21965         * modules/uninorm/u16-normalize: New file.
21966
21967         New module 'uninorm/u8-normalize'.
21968         * lib/uninorm/u8-normalize.c: New file.
21969         * lib/uninorm/normalize-internal.h: New file.
21970         * lib/uninorm/u-normalize-internal.h: New file.
21971         * modules/uninorm/u8-normalize: New file.
21972
21973         New module 'uninorm/decompose-internal'.
21974         * lib/uninorm/decompose-internal.c: New file.
21975         * modules/uninorm/decompose-internal: New file.
21976
21977         Tests for module 'uninorm/composition'.
21978         * tests/uninorm/test-composition.c: New file.
21979         * modules/uninorm/composition-tests: New file.
21980
21981         New module 'uninorm/composition'.
21982         * lib/uninorm/composition.c: New file.
21983         * lib/uninorm/composition-table.gperf: New file, generated by
21984         gen-uni-tables.
21985         * modules/uninorm/composition: New file.
21986
21987         Tests for module 'uninorm/compat-decomposition'.
21988         * tests/uninorm/test-compat-decomposition.c: New file.
21989         * modules/uninorm/compat-decomposition-tests: New file.
21990
21991         New module 'uninorm/compat-decomposition'.
21992         * lib/uninorm/decompose-internal.h: New file.
21993         * lib/uninorm/compat-decomposition.c: New file.
21994         * modules/uninorm/compat-decomposition: New file.
21995
21996         Tests for module 'uninorm/canonical-decomposition'.
21997         * tests/uninorm/test-canonical-decomposition.c: New file.
21998         * modules/uninorm/canonical-decomposition-tests: New file.
21999
22000         New module 'uninorm/canonical-decomposition'.
22001         * lib/uninorm/canonical-decomposition.c: New file.
22002         * modules/uninorm/canonical-decomposition: New file.
22003
22004         Tests for module 'uninorm/decomposition'.
22005         * tests/uninorm/test-decomposition.c: New file.
22006         * modules/uninorm/decomposition-tests: New file.
22007
22008         New module 'uninorm/decomposition'.
22009         * lib/uninorm/decomposition.c: New file.
22010         * modules/uninorm/decomposition: New file.
22011
22012         New module 'uninorm/decomposition-table'.
22013         * lib/uninorm/decomposition-table.h: New file.
22014         * lib/uninorm/decomposition-table.c: New file.
22015         * lib/uninorm/decomposition-table1.h: New file, generated by
22016         gen-uni-tables.
22017         * lib/uninorm/decomposition-table2.h: New file, generated by
22018         gen-uni-tables.
22019         * modules/uninorm/decomposition-table: New file.
22020
22021         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
22022         (UC_DECOMP_*): New enumeration items.
22023         (get_decomposition): New function.
22024         (struct decomp_table): New type.
22025         (output_decomposition, output_decomposition_tables): New functions.
22026         (unicode_composition_exclusions): New variable.
22027         (fill_composition_exclusions, debug_output_composition_tables): New
22028         functions.
22029         (main): Accept one more argument. Invoke fill_composition_exclusions.
22030         Output decomposition and composition tables.
22031
22032         New module 'uninorm/base'.
22033         * lib/uninorm.h: New file.
22034         * lib/unictype.h: Update comment.
22035         * modules/uninorm/base: New file.
22036
22037 2009-02-21  David Lutterkort  <lutter@redhat.com>
22038
22039         Tests for module 'safe-alloc'.
22040         * tests/test-safe-alloc.c: New file.
22041         * modules/safe-alloc-tests: New file.
22042
22043         New module 'safe-alloc'.
22044         * lib/safe-alloc.h: New file.
22045         * lib/safe-alloc.c: New file.
22046         * m4/safe-alloc.m4: New file.
22047         * modules/safe-alloc: New file.
22048         * doc/safe-alloc.texi: New file.
22049         * doc/gnulib.texi: Include it.
22050         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
22051         safe-alloc.
22052
22053 2009-02-18  Bruno Haible  <bruno@clisp.org>
22054
22055         Fix link error on non-glibc systems.
22056         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
22057         variable.
22058         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22059
22060 2009-02-18  Jim Meyering  <meyering@redhat.com>
22061
22062         fts: avoid used-uninitialized error due to recent change
22063         * lib/fts.c (fts_read): Guard uses of the new member,
22064         parent->fts_n_dirs_remaining, since it's not relevant for
22065         the parent of a directory specified on the command-line.
22066
22067 2009-02-17  James Youngman  <jay@gnu.org>
22068             Bruno Haible  <bruno@clisp.org>
22069
22070         * m4/include_next.m4: Reformulate comment.
22071
22072 2009-02-16  Jim Meyering  <meyering@redhat.com>
22073
22074         fts: add #if guards so that the fts_lgpl module still builds
22075         * lib/fts.c: Guard just-added hash-table-using parts with
22076         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
22077         Reported by Simon Josefsson.
22078
22079 2009-02-15  Bruno Haible  <bruno@clisp.org>
22080
22081         * modules/array-mergesort-tests: New file.
22082         * tests/test-array-mergesort.c: New file.
22083
22084         New module 'array-mergesort'.
22085         * modules/array-mergesort: New file.
22086         * lib/array-mergesort.h: New file.
22087
22088 2009-02-15  Bruno Haible  <bruno@clisp.org>
22089
22090         Fix 2009-02-07 commit.
22091         * lib/gen-uni-tables.c (output_predicate, output_category,
22092         output_combclass, output_bidi_category, output_decimal_digit,
22093         output_digit, output_numeric, output_mirror, output_scripts,
22094         output_ident_category, output_simple_mapping): Fix format directives.
22095         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
22096
22097 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
22098
22099         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
22100         fixes are available from IBM.
22101
22102 2009-02-13  Jim Meyering  <meyering@redhat.com>
22103
22104         fts: arrange not to stat non-directories in more cases
22105         This makes GNU find (when it doesn't need to stat each file)
22106         *much* more efficient at traversing reiserfs file systems.
22107         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
22108         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
22109         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
22110         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
22111         (leaf_optimization_applies): New function.
22112         (LCO_hash, LCO_compare): New helper functions.
22113         (link_count_optimize_ok): New function.
22114         (fts_stat): Initialize new member (if dir).
22115         (fts_read): Decrement parent's fts_n_dirs_remaining count if
22116         we've just stat'ed a directory.  Skip the stat call when possible.
22117         ---
22118         Note this AFS-related exchange:
22119         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
22120         and note find's pioctl call in find/fstype.c.
22121         But that is necessary only if you want to enable the
22122         optimization for AFS, and for now, I don't.
22123
22124         fts: move a function definition "up" (no semantic change)
22125         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
22126         "up" to precede upcoming use of a related function.
22127
22128 2009-02-11  Jim Meyering  <meyering@redhat.com>
22129
22130         fts: correct internal computation of nlinks (optimization-related)
22131         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
22132         whether the current entry is a directory, so don't test it.
22133
22134 2009-02-10  Bruno Haible  <bruno@clisp.org>
22135
22136         Tests for module 'uniwbrk/ulc-wordbreaks'.
22137         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
22138         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
22139         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
22140
22141         Tests for module 'uniwbrk/u32-wordbreaks'.
22142         * modules/uniwbrk/u32-wordbreaks-tests: New file.
22143         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
22144
22145         Tests for module 'uniwbrk/u16-wordbreaks'.
22146         * modules/uniwbrk/u16-wordbreaks-tests: New file.
22147         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
22148
22149         Tests for module 'uniwbrk/u8-wordbreaks'.
22150         * modules/uniwbrk/u8-wordbreaks-tests: New file.
22151         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
22152
22153 2009-02-10  Bruno Haible  <bruno@clisp.org>
22154
22155         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
22156         property.
22157         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
22158         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
22159         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
22160
22161 2009-02-10  Simon Josefsson  <simon@josefsson.org>
22162
22163         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
22164         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
22165
22166 2009-02-10  Bruno Haible  <bruno@clisp.org>
22167
22168         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
22169         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
22170         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
22171         * lib/unilbrk/u8-possible-linebreaks.c: Update.
22172         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
22173         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
22174
22175 2009-02-09  Simon Josefsson  <simon@josefsson.org>
22176
22177         * lib/sockets.h (gl_fd_to_handle): New function.
22178
22179         * tests/test-sockets.c: Call gl_fd_to_handle.
22180
22181 2009-02-09  Bruno Haible  <bruno@clisp.org>
22182
22183         * doc/havelib.texi: Document the conventions on bi-arch systems.
22184
22185 2009-02-08  Bruno Haible  <bruno@clisp.org>
22186
22187         Document the AC_LIB_LINKFLAGS macro.
22188         * doc/havelib.texi: New file, mostly written on 2005-05-24.
22189         * doc/gnulib.texi: Include it.
22190
22191 2009-02-08  Bruno Haible  <bruno@clisp.org>
22192
22193         Fix wrong order of sections, compared to TOC.
22194         * doc/gnulib.texi: Include relocatable-maint.texi after the
22195         "Regular expressions" node, not before.
22196
22197 2009-02-08  Bruno Haible  <bruno@clisp.org>
22198
22199         Tests for module 'unicase/totitle'.
22200         * modules/unicase/totitle-tests: New file.
22201
22202         Tests for module 'unicase/tolower'.
22203         * modules/unicase/tolower-tests: New file.
22204
22205         Tests for module 'unicase/toupper'.
22206         * modules/unicase/toupper-tests: New file.
22207         * tests/unicase/test-mapping-part1.h: New file.
22208         * tests/unicase/test-mapping-part2.h: New file.
22209
22210         New module 'unicase/totitle'.
22211         * modules/unicase/totitle: New file.
22212         * lib/unicase/totitle.c: New file.
22213
22214         New module 'unicase/tolower'.
22215         * modules/unicase/tolower: New file.
22216         * lib/unicase/tolower.c: New file.
22217
22218         New module 'unicase/toupper'.
22219         * modules/unicase/toupper: New file.
22220         * lib/unicase/toupper.c: New file.
22221         * lib/unicase/simple-mapping.h: New file.
22222
22223         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
22224         (mapping_table): New structure.
22225         (output_simple_mapping): New function.
22226         (main): Invoke output_simple_mapping_test and output_simple_mapping.
22227         * modules/gen-uni-tables (Description): Update.
22228         * lib/unicase/toupper.h: New file, automatically generated by
22229         gen-uni-tables.
22230         * lib/unicase/tolower.h: New file, automatically generated by
22231         gen-uni-tables.
22232         * lib/unicase/totitle.h: New file, automatically generated by
22233         gen-uni-tables.
22234         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
22235         gen-uni-tables.
22236         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
22237         gen-uni-tables.
22238         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
22239         gen-uni-tables.
22240
22241         New module 'unicase/base'.
22242         * modules/unicase/base: New file.
22243         * lib/unicase.h: New file.
22244
22245 2009-02-08  Bruno Haible  <bruno@clisp.org>
22246
22247         New module 'uniwbrk/ulc-wordbreaks'.
22248         * modules/uniwbrk/ulc-wordbreaks: New file.
22249         * lib/uniwbrk/ulc-wordbreaks.c: New file.
22250
22251         New module 'uniwbrk/u32-wordbreaks'.
22252         * modules/uniwbrk/u32-wordbreaks: New file.
22253         * lib/uniwbrk/u32-wordbreaks.c: New file.
22254
22255         New module 'uniwbrk/u16-wordbreaks'.
22256         * modules/uniwbrk/u16-wordbreaks: New file.
22257         * lib/uniwbrk/u16-wordbreaks.c: New file.
22258
22259         New module 'uniwbrk/u8-wordbreaks'.
22260         * modules/uniwbrk/u8-wordbreaks: New file.
22261         * lib/uniwbrk/u8-wordbreaks.c: New file.
22262         * lib/uniwbrk/u-wordbreaks.h: New file.
22263
22264         New module 'uniwbrk/table'.
22265         * modules/uniwbrk/table: New file.
22266         * lib/uniwbrk/wbrktable.h: New file.
22267         * lib/uniwbrk/wbrktable.c: New file.
22268
22269         New module 'uniwbrk/wordbreak-property'.
22270         * modules/uniwbrk/wordbreak-property: New file.
22271         * lib/uniwbrk/wordbreak-property.c: New file.
22272
22273         * lib/gen-uni-tables.c (WBP_*): New enum items.
22274         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
22275         (unicode_org_wbp): New variable.
22276         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
22277         New functions.
22278         (wbp_table): New structure.
22279         (output_wbp, output_wbrk_tables): New functions.
22280         (main): Accept additional argument. Invoke fill_org_wbp,
22281         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
22282         output_wbrk_tables.
22283         * modules/gen-uni-tables (Description): Update.
22284         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
22285         gen-uni-tables.
22286
22287         New module 'uniwbrk/base'.
22288         * modules/uniwbrk/base: New file.
22289         * lib/uniwbrk.h: New file.
22290
22291 2009-02-08  Bruno Haible  <bruno@clisp.org>
22292
22293         Update to Unicode 5.1.0.
22294         * lib/gen-uni-tables.c (is_property_alphabetic): Include
22295         U+2185..U+2188.
22296         (is_property_default_ignorable_code_point): Don't include characters
22297         of category Cc or Cs and not-a-characters.
22298         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
22299         U+0D79, U+109E, U+109F, U+A60C.
22300         * lib/unictype/bidi_of.h: Regenerated.
22301         * lib/unictype/blocks.h: Regenerated.
22302         * lib/unictype/categ_C.h: Regenerated.
22303         * lib/unictype/categ_Cf.h: Regenerated.
22304         * lib/unictype/categ_Cn.h: Regenerated.
22305         * lib/unictype/categ_L.h: Regenerated.
22306         * lib/unictype/categ_Ll.h: Regenerated.
22307         * lib/unictype/categ_Lm.h: Regenerated.
22308         * lib/unictype/categ_Lo.h: Regenerated.
22309         * lib/unictype/categ_Lu.h: Regenerated.
22310         * lib/unictype/categ_M.h: Regenerated.
22311         * lib/unictype/categ_Mc.h: Regenerated.
22312         * lib/unictype/categ_Me.h: Regenerated.
22313         * lib/unictype/categ_Mn.h: Regenerated.
22314         * lib/unictype/categ_N.h: Regenerated.
22315         * lib/unictype/categ_Nd.h: Regenerated.
22316         * lib/unictype/categ_Nl.h: Regenerated.
22317         * lib/unictype/categ_No.h: Regenerated.
22318         * lib/unictype/categ_P.h: Regenerated.
22319         * lib/unictype/categ_Pd.h: Regenerated.
22320         * lib/unictype/categ_Pe.h: Regenerated.
22321         * lib/unictype/categ_Pf.h: Regenerated.
22322         * lib/unictype/categ_Pi.h: Regenerated.
22323         * lib/unictype/categ_Po.h: Regenerated.
22324         * lib/unictype/categ_Ps.h: Regenerated.
22325         * lib/unictype/categ_S.h: Regenerated.
22326         * lib/unictype/categ_Sk.h: Regenerated.
22327         * lib/unictype/categ_Sm.h: Regenerated.
22328         * lib/unictype/categ_So.h: Regenerated.
22329         * lib/unictype/categ_of.h: Regenerated.
22330         * lib/unictype/combining.h: Regenerated.
22331         * lib/unictype/ctype_alnum.h: Regenerated.
22332         * lib/unictype/ctype_alpha.h: Regenerated.
22333         * lib/unictype/ctype_graph.h: Regenerated.
22334         * lib/unictype/ctype_lower.h: Regenerated.
22335         * lib/unictype/ctype_print.h: Regenerated.
22336         * lib/unictype/ctype_punct.h: Regenerated.
22337         * lib/unictype/ctype_upper.h: Regenerated.
22338         * lib/unictype/decdigit.h: Regenerated.
22339         * lib/unictype/digit.h: Regenerated.
22340         * lib/unictype/mirror.h: Regenerated.
22341         * lib/unictype/numeric.h: Regenerated.
22342         * lib/unictype/pr_alphabetic.h: Regenerated.
22343         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
22344         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
22345         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
22346         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
22347         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
22348         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
22349         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
22350         * lib/unictype/pr_combining.h: Regenerated.
22351         * lib/unictype/pr_dash.h: Regenerated.
22352         * lib/unictype/pr_decimal_digit.h: Regenerated.
22353         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
22354         * lib/unictype/pr_deprecated.h: Regenerated.
22355         * lib/unictype/pr_diacritic.h: Regenerated.
22356         * lib/unictype/pr_extender.h: Regenerated.
22357         * lib/unictype/pr_format_control.h: Regenerated.
22358         * lib/unictype/pr_grapheme_base.h: Regenerated.
22359         * lib/unictype/pr_grapheme_extend.h: Regenerated.
22360         * lib/unictype/pr_grapheme_link.h: Regenerated.
22361         * lib/unictype/pr_id_continue.h: Regenerated.
22362         * lib/unictype/pr_id_start.h: Regenerated.
22363         * lib/unictype/pr_ideographic.h: Regenerated.
22364         * lib/unictype/pr_ignorable_control.h: Regenerated.
22365         * lib/unictype/pr_lowercase.h: Regenerated.
22366         * lib/unictype/pr_math.h: Regenerated.
22367         * lib/unictype/pr_numeric.h: Regenerated.
22368         * lib/unictype/pr_other_alphabetic.h: Regenerated.
22369         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
22370         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
22371         * lib/unictype/pr_other_id_continue.h: Regenerated.
22372         * lib/unictype/pr_other_lowercase.h: Regenerated.
22373         * lib/unictype/pr_other_math.h: Regenerated.
22374         * lib/unictype/pr_punctuation.h: Regenerated.
22375         * lib/unictype/pr_sentence_terminal.h: Regenerated.
22376         * lib/unictype/pr_soft_dotted.h: Regenerated.
22377         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
22378         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
22379         * lib/unictype/pr_unified_ideograph.h: Regenerated.
22380         * lib/unictype/pr_uppercase.h: Regenerated.
22381         * lib/unictype/pr_xid_continue.h: Regenerated.
22382         * lib/unictype/pr_xid_start.h: Regenerated.
22383         * lib/unictype/pr_zero_width.h: Regenerated.
22384         * lib/unictype/scripts.h: Regenerated.
22385         * lib/unictype/scripts_byname.gperf: Regenerated.
22386         * lib/unictype/sy_java_ident.h: Regenerated.
22387         * lib/unilbrk/lbrkprop1.h: Regenerated.
22388         * lib/unilbrk/lbrkprop2.h: Regenerated.
22389         * tests/unictype/test-categ_C.c: Regenerated.
22390         * tests/unictype/test-categ_Cf.c: Regenerated.
22391         * tests/unictype/test-categ_Cn.c: Regenerated.
22392         * tests/unictype/test-categ_L.c: Regenerated.
22393         * tests/unictype/test-categ_Ll.c: Regenerated.
22394         * tests/unictype/test-categ_Lm.c: Regenerated.
22395         * tests/unictype/test-categ_Lo.c: Regenerated.
22396         * tests/unictype/test-categ_Lu.c: Regenerated.
22397         * tests/unictype/test-categ_M.c: Regenerated.
22398         * tests/unictype/test-categ_Mc.c: Regenerated.
22399         * tests/unictype/test-categ_Me.c: Regenerated.
22400         * tests/unictype/test-categ_Mn.c: Regenerated.
22401         * tests/unictype/test-categ_N.c: Regenerated.
22402         * tests/unictype/test-categ_Nd.c: Regenerated.
22403         * tests/unictype/test-categ_Nl.c: Regenerated.
22404         * tests/unictype/test-categ_No.c: Regenerated.
22405         * tests/unictype/test-categ_P.c: Regenerated.
22406         * tests/unictype/test-categ_Pd.c: Regenerated.
22407         * tests/unictype/test-categ_Pe.c: Regenerated.
22408         * tests/unictype/test-categ_Pf.c: Regenerated.
22409         * tests/unictype/test-categ_Pi.c: Regenerated.
22410         * tests/unictype/test-categ_Po.c: Regenerated.
22411         * tests/unictype/test-categ_Ps.c: Regenerated.
22412         * tests/unictype/test-categ_S.c: Regenerated.
22413         * tests/unictype/test-categ_Sk.c: Regenerated.
22414         * tests/unictype/test-categ_Sm.c: Regenerated.
22415         * tests/unictype/test-categ_So.c: Regenerated.
22416         * tests/unictype/test-ctype_alnum.c: Regenerated.
22417         * tests/unictype/test-ctype_alpha.c: Regenerated.
22418         * tests/unictype/test-ctype_graph.c: Regenerated.
22419         * tests/unictype/test-ctype_lower.c: Regenerated.
22420         * tests/unictype/test-ctype_print.c: Regenerated.
22421         * tests/unictype/test-ctype_punct.c: Regenerated.
22422         * tests/unictype/test-ctype_upper.c: Regenerated.
22423         * tests/unictype/test-decdigit.h: Regenerated.
22424         * tests/unictype/test-digit.h: Regenerated.
22425         * tests/unictype/test-numeric.h: Regenerated.
22426         * tests/unictype/test-pr_alphabetic.c: Regenerated.
22427         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
22428         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
22429         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
22430         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
22431         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
22432         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
22433         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
22434         * tests/unictype/test-pr_combining.c: Regenerated.
22435         * tests/unictype/test-pr_dash.c: Regenerated.
22436         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
22437         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
22438         * tests/unictype/test-pr_deprecated.c: Regenerated.
22439         * tests/unictype/test-pr_diacritic.c: Regenerated.
22440         * tests/unictype/test-pr_extender.c: Regenerated.
22441         * tests/unictype/test-pr_format_control.c: Regenerated.
22442         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
22443         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
22444         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
22445         * tests/unictype/test-pr_id_continue.c: Regenerated.
22446         * tests/unictype/test-pr_id_start.c: Regenerated.
22447         * tests/unictype/test-pr_ideographic.c: Regenerated.
22448         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
22449         * tests/unictype/test-pr_lowercase.c: Regenerated.
22450         * tests/unictype/test-pr_math.c: Regenerated.
22451         * tests/unictype/test-pr_numeric.c: Regenerated.
22452         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
22453         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
22454         Regenerated.
22455         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
22456         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
22457         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
22458         * tests/unictype/test-pr_other_math.c: Regenerated.
22459         * tests/unictype/test-pr_punctuation.c: Regenerated.
22460         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
22461         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
22462         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
22463         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
22464         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
22465         * tests/unictype/test-pr_uppercase.c: Regenerated.
22466         * tests/unictype/test-pr_xid_continue.c: Regenerated.
22467         * tests/unictype/test-pr_xid_start.c: Regenerated.
22468         * tests/unictype/test-pr_zero_width.c: Regenerated.
22469
22470         Update to Unicode 5.1.0.
22471         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
22472         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
22473         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
22474         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
22475         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
22476         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
22477         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
22478         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
22479         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
22480         (nonspacing_table_ind): Update.
22481         * tests/uniwidth/test-uc_width2.sh: Update expected result.
22482
22483         Update to Unicode 5.1.0.
22484         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
22485         code transform.
22486         * lib/uniname/uniname.c (unicode_character_name,
22487         unicode_name_character): Add the range 0x1Fxxx to the code transform.
22488         * lib/uniname/uninames.h: Regenerated.
22489         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
22490
22491 2009-02-07  Bruno Haible  <bruno@clisp.org>
22492
22493         Merge gen-ctype and gen-lbrk into a single program.
22494         * lib/gen-uni-tables.c: New file, incorporating
22495         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
22496         Add directory prefixes to the names of the generated files.
22497         * lib/unictype/gen-ctype.c: Remove file.
22498         * lib/unilbrk/gen-lbrk.c: Remove file.
22499         * modules/gen-uni-tables: New file.
22500         * modules/unictype/gen-ctype: Remove file.
22501         * modules/unilbrk/gen-lbrk: Remove file.
22502
22503 2009-02-07  Bruno Haible  <bruno@clisp.org>
22504
22505         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
22506
22507         New module 'unistr/u32-strcoll'.
22508         * modules/unistr/u32-strcoll: New file.
22509         * lib/unistr/u32-strcoll.c: New file.
22510
22511         New module 'unistr/u16-strcoll'.
22512         * modules/unistr/u16-strcoll: New file.
22513         * lib/unistr/u16-strcoll.c: New file.
22514
22515         New module 'unistr/u8-strcoll'.
22516         * modules/unistr/u8-strcoll: New file.
22517         * lib/unistr/u8-strcoll.c: New file.
22518         * lib/unistr/u-strcoll.h: New file.
22519
22520 2009-02-07  Bruno Haible  <bruno@clisp.org>
22521
22522         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
22523         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
22524         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
22525         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
22526         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
22527         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
22528
22529 2009-02-07  Bruno Haible  <bruno@clisp.org>
22530
22531         Make 64-bit clean.
22532         * lib/unictype/gen-ctype.c (output_predicate, output_category,
22533         output_combclass, output_bidi_category, output_decimal_digit,
22534         output_digit, output_numeric, output_mirror, output_scripts,
22535         output_ident_category): Use proper width specifier in format strings.
22536
22537 2009-02-07  Bruno Haible  <bruno@clisp.org>
22538
22539         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
22540         failure behaviour.
22541
22542 2009-02-07  Jim Meyering  <meyering@redhat.com>
22543
22544         regex: avoid compilation failure with upcoming gcc-4.4
22545         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
22546         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
22547         "... error: integer overflow in preprocessor expression".
22548
22549 2009-02-05  Ben Pfaff  <blp@gnu.org>
22550
22551         Fix link errors on Windows when close module is used.
22552         * modules/close: Add $(LIB_CLOSE) to Link section.
22553         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
22554         $(LIB_CLOSE) on Windows.
22555
22556 2009-02-05  Jim Meyering  <meyering@redhat.com>
22557
22558         still avoid unused-parameter warnings, but do it cleanly
22559         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
22560         (get_fs_usage): Cast to void instead.
22561         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
22562         (dev_from_mount_options, read_file_system_list): Cast to void.
22563         Prompted by Bruno Haible.
22564
22565 2009-02-04  Jim Meyering  <meyering@redhat.com>
22566
22567         fsusage.c: correct copyright year
22568         * lib/fsusage.c: Reflect year in which the change is pushed into
22569
22570         avoid misc. warnings
22571         * lib/fsusage.c (UNUSED_PARAM): Define.
22572         (get_fs_usage): Mark parameter "disk" as unused.
22573         * lib/getugroups.c (getgrent): Use "void" in prototype.
22574         * lib/mountlist.c: Mark unused parameters.
22575         (read_file_system_list): Declare a local with "const".
22576         * lib/nanosleep.c (getnow): Declare static.
22577         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
22578
22579         dirfd: set errno upon failure
22580         * lib/dirfd.c: Include <errno.h>.
22581         Set errno to ENOTSUP when returning -1.
22582         * modules/dirfd (Depends-on): Add errno.
22583         Suggested by John Kodis <kodis@comcast.net>.
22584
22585 2009-02-01  Bruno Haible  <bruno@clisp.org>
22586
22587         Don't assume sizeof (long) >= sizeof (void *).
22588         * lib/memcmp.c: Include stdint.h.
22589         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
22590         srcp2 to 'const byte *'.
22591         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
22592         types to uintptr_t.
22593         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
22594         * modules/memcmp (Depends-on): Add stdint.
22595         Reported by Ozkan Sezer <sezeroz@gmail.com>.
22596
22597 2009-01-30  Eric Blake  <ebb9@byu.net>
22598
22599         fix more require-before-expand issues
22600         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
22601         expand, AC_PROG_AWK.
22602         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
22603
22604 2009-01-28  Eric Blake  <ebb9@byu.net>
22605
22606         version-etc: use consistent URL formatting
22607         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
22608         Improve formatting.  Use fputs for string without %.
22609
22610 2009-01-28  Jim Meyering  <meyering@redhat.com>
22611
22612         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
22613         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
22614         "underquoted definition of NAME" from autoconf-2.59.
22615
22616 2009-01-28  Bruno Haible  <bruno@clisp.org>
22617
22618         * doc/gnulib.texi: Add "Obsolete modules" to index.
22619
22620 2009-01-28  Jim Meyering  <meyering@redhat.com>
22621
22622         useless-if-before-free: recognize more variants
22623         * build-aux/useless-if-before-free: Also recognize e.g.,
22624         if (NULL != p) free (p);
22625
22626 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
22627
22628         test-getaddrinfo: skip (don't fail) this test when there's no network
22629         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
22630         on the presumption that it means you lack network access.
22631
22632 2009-01-26  Jim Meyering  <meyering@redhat.com>
22633
22634         fflush: avoid warnings on modern systems
22635         * lib/fflush.c (rpl_fflush): Move declarations of locals,
22636         pos and result, into scopes where they're used.
22637
22638 2009-01-26  Eric Blake  <ebb9@byu.net>
22639
22640         Silence warning reintroduced by recent extensions patch.
22641         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
22642         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
22643         autoconf.
22644
22645         Backport improved autoconf semantics of AC_DEFUN_ONCE.
22646         * m4/00gnulib.m4: New file.
22647         * gnulib-tool (func_get_filelist): Always use it.
22648         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
22649         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
22650
22651 2009-01-25  Bruno Haible  <bruno@clisp.org>
22652
22653         Make test-quotearg work on MacOS X and AIX.
22654         * tests/test-quotearg.sh: New file.
22655         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
22656         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
22657         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
22658         include <libintl.h>.
22659         (fake_locale): Remove variable.
22660         (gettext, dgettext, dcgettext): Remove functions.
22661         (main): Instead of setting a fake locale, set a real locale. Call
22662         textdomain and bindtextdomain.
22663         * modules/quotearg-tests (Files): Add the new files.
22664         (Depends-on): Add gettext, setenv, unsetenv.
22665         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
22666         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
22667         Augment TESTS_ENVIRONMENT.
22668
22669 2009-01-25  Bruno Haible  <bruno@clisp.org>
22670
22671         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
22672         fr_FR.ISO8859-1 locale on MacOS X.
22673         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
22674         ja_JP.eucJP locale on MacOS X.
22675         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
22676         zh_CN.GB18030 locale on MacOS X.
22677
22678 2009-01-25  Bruno Haible  <bruno@clisp.org>
22679
22680         Avoid link errors on MacOS X 10.3.
22681         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
22682         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
22683
22684 2009-01-25  Bruno Haible  <bruno@clisp.org>
22685
22686         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
22687         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
22688         * modules/pipe (Files): Remove m4/posix_spawn.m4.
22689         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
22690         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
22691         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
22692         posix_spawnattr_init, posix_spawnattr_setsigmask,
22693         posix_spawnattr_setflags, posix_spawnattr_destroy.
22694
22695         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
22696         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
22697         * modules/execute (Files): Remove m4/posix_spawn.m4.
22698         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
22699         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
22700         posix_spawnattr_init, posix_spawnattr_setsigmask,
22701         posix_spawnattr_setflags, posix_spawnattr_destroy.
22702
22703 2009-01-25  Bruno Haible  <bruno@clisp.org>
22704
22705         * lib/glthread/threadlib.c: Include <stdlib.h>.
22706
22707 2009-01-25  Bruno Haible  <bruno@clisp.org>
22708
22709         * lib/glthread/threadlib.c (dummy): New declaration.
22710
22711 2009-01-25  Bruno Haible  <bruno@clisp.org>
22712
22713         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
22714         multibyte characters also for the GB18030 encoding. Don't crash when
22715         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
22716
22717 2009-01-25  Bruno Haible  <bruno@clisp.org>
22718
22719         Avoid redefining 'struct random_data' on OSF/1 5.1.
22720         * lib/stdlib.in.h: Include <random.h> if it exists.
22721         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
22722         HAVE_RANDOM_H. Include <random.h> when testing whether
22723         'struct random_data' exists.
22724         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
22725
22726 2009-01-25  Bruno Haible  <bruno@clisp.org>
22727
22728         Don't install charset.alias on MacOS X >= 10.3.
22729         * lib/localcharset.c (DARWIN7): New macro.
22730         (get_charset_aliases): Hardcode the result for Darwin7.
22731         * modules/localcharset (install-exec-local): Don't install
22732         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
22733
22734 2009-01-25  Bruno Haible  <bruno@clisp.org>
22735
22736         Don't install charset.alias on mingw and Cygwin.
22737         * modules/localcharset (install-exec-local): Don't install
22738         charset.alias on mingw and Cygwin, if the file does not yet exist.
22739         The result for these platforms is hardcoded in localcharset.c.
22740
22741 2009-01-25  Bruno Haible  <bruno@clisp.org>
22742
22743         Make it possible again to use AC_GNU_SOURCE together with gnulib.
22744         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
22745         before requiring AC_USE_SYSTEM_EXTENSIONS.
22746
22747 2009-01-25  Jim Meyering  <meyering@redhat.com>
22748
22749         c-strtod: avoid warnings
22750         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
22751         "assignment discards qualifiers from pointer target type" warnings.
22752
22753 2009-01-24  Bruno Haible  <bruno@clisp.org>
22754
22755         Add support for non-UTF-8 locales on MacOS X.
22756         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
22757         canonical encodings. For Darwin 7 and newer, don't map traditional
22758         encodings to UTF-8.
22759         Reported by Vincent Lefevre <vincent@vinc17.org>
22760         at <http://savannah.gnu.org/bugs/?25235>.
22761
22762 2009-01-24  Bruno Haible  <bruno@clisp.org>
22763
22764         * doc/gnulib.texi (Obsolete modules): New section.
22765         Reported by Mike Frysinger <vapier@gentoo.org>.
22766
22767 2009-01-24  Bruno Haible  <bruno@clisp.org>
22768
22769         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
22770         (%.dvi): New rule.
22771
22772 2009-01-24  Bruno Haible  <bruno@clisp.org>
22773
22774         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
22775         Reported by Eric Blake.
22776
22777 2009-01-24  Bruno Haible  <bruno@clisp.org>
22778
22779         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
22780         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
22781         Reported by Gary V. Vaughan <gary@gnu.org>.
22782
22783 2009-01-24  Bruno Haible  <bruno@clisp.org>
22784
22785         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
22786
22787 2009-01-23  Bruno Haible  <bruno@clisp.org>
22788
22789         Make c-strtod, c-strtold usable in libraries.
22790         * lib/c-strtod.c: Include string.h instead of xalloc.h.
22791         (C_STRTOD): Call strdup instead of xstrdup.
22792         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
22793         * modules/c-strtold (Depends-on): Likewise.
22794         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
22795         * NEWS: Mention the change.
22796         Reported by Michael Gold <mgold@ncf.ca>.
22797
22798 2009-01-23  Jim Meyering  <meyering@redhat.com>
22799
22800         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
22801         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
22802         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
22803
22804 2009-01-23  Simon Josefsson  <simon@josefsson.org>
22805
22806         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
22807         GNU CoreUtils.
22808         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
22809         * modules/version-etc (Description): Update.
22810
22811 2009-01-22  Bruno Haible  <bruno@clisp.org>
22812
22813         Cache the C locale object.
22814         * lib/c-strtod.c (c_locale_cache): New variable.
22815         (c_locale): New function.
22816         (C_STRTOD): Use it, and don't call freelocale.
22817         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
22818         Suggested by Paolo Bonzini.
22819
22820 2009-01-21  Bruno Haible  <bruno@clisp.org>
22821
22822         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
22823         conditions other than overflow.
22824
22825 2009-01-21  Bruno Haible  <bruno@clisp.org>
22826
22827         * lib/c-strtod.c: Include errno.h.
22828         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
22829         value from STRTOD_L and STRTOD.
22830
22831 2009-01-21  Bruno Haible  <bruno@clisp.org>
22832         and Jim Meyering  <meyering@redhat.com>
22833
22834         nanosleep: skip configure test (fail it) for apple universal builds
22835         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
22836         universal builds, assume that nanosleep does not work.
22837         * modules/nanosleep (Depends-on): Add multiarch.
22838
22839         mktime: skip configure test (fail it) for apple universal builds
22840         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
22841         universal builds, assume that mktime does not work.
22842         * modules/mktime (Depends-on): Add multiarch.
22843
22844 2009-01-21  Eric Blake  <ebb9@byu.net>
22845
22846         multiarch: avoid expand-before-require warning
22847         * modules/multiarch (configure.ac): Require, rather than expand,
22848         gl_MULTIARCH.
22849         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
22850         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
22851         enforce that all clients require it.  Partial reversion of
22852         2008-12-29 patch.
22853
22854         error: avoid expand-before-require warning
22855         * modules/errno (configure.ac): Require, rather than expand,
22856         gl_HEADER_ERRNO_H.
22857         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
22858         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
22859         enforce that all clients require it.
22860
22861         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
22862         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
22863         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
22864         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
22865
22866 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
22867
22868         Revert:
22869         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
22870
22871         regex: do not depend on obsolete modules.
22872         * modules/regex: Remove memcmp and memmove.
22873
22874 2009-01-20  Bruno Haible  <bruno@clisp.org>
22875
22876         Make the 'link' module link on Windows NT 4.
22877         * lib/link.c (_WIN32_WINNT): Don't define.
22878         (CreateHardLinkFuncType): New type.
22879         (CreateHardLinkFunc, initialized): New variables.
22880         (initialize): New function.
22881         (link): Invoke CreateHardLink indirectly through the function pointer.
22882
22883 2009-01-20  Bruno Haible  <bruno@clisp.org>
22884
22885         Fix compilation failure on mingw.
22886         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
22887
22888 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
22889
22890         * doc/c-strtod.texi: Mention a couple of restrictions.
22891
22892 2009-01-20  Jim Meyering  <meyering@redhat.com>
22893
22894         gettimeofday: move more declarations out of functions
22895         * lib/gettimeofday.c: Move extern declarations of tzset and
22896         gmtime out of containing functions.  Prompted by Bruno Haible.
22897
22898 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
22899
22900         regex: do not depend on obsolete modules.
22901         * modules/regex: Remove memcmp and memmove.
22902
22903 2009-01-19  Bruno Haible  <bruno@clisp.org>
22904
22905         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
22906         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
22907         gl_BIGENDIAN, not AC_C_BIGENDIAN.
22908         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
22909         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
22910
22911 2009-01-19  Bruno Haible  <bruno@clisp.org>
22912
22913         * tests/test-link.c: Include <errno.h>.
22914         (main): Exit with code 77 when a hard link cannot be created due to
22915         the file system.
22916         * tests/test-link.sh: Skip test when a hard link cannot be created due
22917         to the file system.
22918         Suggested by Eric Blake.
22919
22920 2009-01-19  Martin Lambers  <marlam@marlam.de>
22921
22922         * modules/link-tests: New file.
22923         * tests/test-link.sh: New file.
22924         * tests/test-link.c: New file.
22925
22926 2009-01-19  Eric Blake  <ebb9@byu.net>
22927
22928         doc: mention another function added in cygwin 1.7.0
22929         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
22930         Another new function in cygwin 1.7.
22931
22932 2009-01-19  Bruno Haible  <bruno@clisp.org>
22933
22934         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
22935         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
22936         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
22937         gl_BIGENDIAN, not AC_C_BIGENDIAN.
22938         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22939         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22940         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22941         * m4/md4.m4 (gl_MD4): Likewise.
22942         * m4/md5.m4 (gl_MD5): Likewise.
22943         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
22944         * m4/sha1.m4 (gl_SHA1): Likewise.
22945         * m4/sha256.m4 (gl_SHA256): Likewise.
22946         * m4/sha512.m4 (gl_SHA512): Likewise.
22947
22948 2009-01-19  Bruno Haible  <bruno@clisp.org>
22949
22950         * modules/uniname/uniname-tests (Depends-on): Add progname.
22951         * tests/uniname/test-uninames.c: Include progname.h.
22952         (main): Call set_program_name.
22953
22954         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
22955         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
22956         (main): Call set_program_name.
22957
22958         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
22959         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
22960         (main): Call set_program_name.
22961
22962         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
22963         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
22964         (main): Call set_program_name.
22965
22966         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
22967         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
22968         (main): Call set_program_name.
22969
22970         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
22971         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
22972         (main): Call set_program_name.
22973
22974         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
22975         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
22976         (main): Call set_program_name.
22977
22978         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
22979         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
22980         (main): Call set_program_name.
22981
22982         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
22983         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
22984         (main): Call set_program_name.
22985
22986 2009-01-19  Eric Blake  <ebb9@byu.net>
22987
22988         test-unistd: test previous patch
22989         * tests/test-unistd.c: Test *_FILENO macros.
22990
22991         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
22992         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
22993         Guarantee a definition.
22994         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
22995         * modules/unistd-safer (Depends-on): Add dependency on unistd.
22996         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
22997         * lib/dup-safer.c (STDERR_FILENO): Likewise.
22998         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
22999         Likewise.
23000         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
23001         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
23002         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23003         Likewise.
23004         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
23005         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
23006         (STDERR_FILENO): Likewise.
23007         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
23008         (STDERR_FILENO): Likewise.
23009         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
23010         (STDERR_FILENO): Likewise.
23011         Reported by Elbert Pol.
23012
23013 2009-01-19  Eric Blake  <ebb9@byu.net>
23014
23015         doc: mention more functions added in cygwin 1.7.0
23016         * doc/posix-functions/abort.texi (abort): Update wording related
23017         to cygwin.
23018         * doc/posix-functions/daylight.texi (daylight): Likewise.
23019         * doc/posix-functions/optarg.texi (optarg): Likewise.
23020         * doc/posix-functions/optarg.texi (opterr): Likewise.
23021         * doc/posix-functions/optarg.texi (optind): Likewise.
23022         * doc/posix-functions/optarg.texi (optopt): Likewise.
23023         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
23024         worked in 1.5.x, and was withdrawn in 1.7.
23025         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
23026         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
23027         cygwin versions.
23028         * doc/posix-functions/perror.texi (perror): Likewise.
23029         * doc/posix-functions/printf.texi (printf): Likewise.
23030         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
23031         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
23032         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
23033         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
23034         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23035         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
23036         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
23037         Likewise.
23038         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
23039         Likewise.
23040         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
23041         this function.
23042         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
23043         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
23044         Likewise.
23045         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
23046         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
23047         * doc/posix-functions/confstr.texi (confstr): Likewise.
23048         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
23049         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
23050         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
23051         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
23052         * doc/posix-functions/fputws.texi (fputws): Likewise.
23053         * doc/posix-functions/fwide.texi (fwide): Likewise.
23054         * doc/posix-functions/getwc.texi (getwc): Likewise.
23055         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
23056         * doc/posix-functions/putwc.texi (putwc): Likewise.
23057         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
23058         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
23059         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
23060         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
23061         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
23062         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
23063         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
23064         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
23065         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
23066         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
23067         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
23068
23069 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
23070
23071         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
23072         * lib/ioctl.c: Include <sys/ioctl.h>.
23073
23074 2009-01-19  Simon Josefsson  <simon@josefsson.org>
23075
23076         * modules/getdate-tests (Depends-on): Add progname.
23077         * tests/test-getdate.c: Use progname module, to avoid link errors
23078         on non-glibc systems.
23079
23080 2009-01-18  Simon Josefsson  <simon@josefsson.org>
23081
23082         * modules/filenamecat-tests (Depends-on): Add progname.
23083         * modules/fstrcmp-tests (Depends-on): Likewise.
23084
23085         * tests/test-filenamecat.c: Use progname module, to avoid link
23086         errors on non-glibc systems.
23087         * tests/test-fstrcmp.c: Likewise.
23088
23089 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
23090
23091         gettimeofday: avoid warning: nested extern declaration of 'localtime'
23092         * lib/gettimeofday.c: Move extern declaration out of function.
23093
23094 2009-01-18  Bruno Haible  <bruno@clisp.org>
23095
23096         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
23097         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
23098         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
23099
23100 2009-01-18  Bruno Haible  <bruno@clisp.org>
23101
23102         * lib/strftime.c (MEMPCPY): Remove unused macro.
23103         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
23104
23105 2009-01-18  Martin Lambers  <marlam@marlam.de>
23106
23107         New module 'link'.
23108         * lib/unistd.in.h (link): New declaration.
23109         * lib/link.c: New file.
23110         * m4/link.m4: New file.
23111         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
23112         HAVE_LINK.
23113         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
23114         * modules/link: New file.
23115         * doc/posix-functions/link.texi: Mention the new module.
23116
23117 2009-01-18  Bruno Haible  <bruno@clisp.org>
23118
23119         * tests/test-avltree_list.c (main): Call set_program_name.
23120         * tests/test-avltree_oset.c (main): Likewise.
23121         * tests/test-obstack-printf.c: Include progname.h.
23122         (main): Call set_program_name.
23123         * tests/test-quotearg.c: Include progname.h.
23124         (main): Call set_program_name.
23125         * tests/test-xmemdup0.c: Include progname.h.
23126         (main): Call set_program_name.
23127
23128 2009-01-18  Bruno Haible  <bruno@clisp.org>
23129
23130         New module 'alphasort'.
23131         * lib/dirent.in.h (alphasort): New declaration.
23132         * lib/alphasort.c: New file, from glibc with modifications.
23133         * m4/alphasort.m4: New file.
23134         * modules/alphasort: New file.
23135         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
23136         HAVE_ALPHASORT.
23137         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
23138         HAVE_ALPHASORT.
23139         * doc/posix-functions/alphasort.texi: Mention the new module and the
23140         portability problems.
23141
23142 2009-01-18  Bruno Haible  <bruno@clisp.org>
23143
23144         New module 'scandir'.
23145         * lib/dirent.in.h (scandir): New declaration.
23146         * lib/scandir.c: New file, from glibc with modifications.
23147         * m4/scandir.m4: New file.
23148         * modules/scandir: New file.
23149         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
23150         HAVE_SCANDIR.
23151         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
23152         HAVE_SCANDIR.
23153         * doc/posix-functions/scandir.texi: Mention the new module and the
23154         portability problems.
23155
23156 2009-01-17  Bruno Haible  <bruno@clisp.org>
23157
23158         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
23159         Update documentation.
23160         (func_remove_suffix): Escape all dots in the suffix. Update
23161         documentation.
23162         (func_filter_filelist): Update documentation.
23163         Reported by Ralf Wildenhues.
23164
23165 2009-01-17  Bruno Haible  <bruno@clisp.org>
23166
23167         * modules/dprintf-posix-tests: New file.
23168         * tests/test-dprintf-posix.sh: New file.
23169         * tests/test-dprintf-posix.c: New file.
23170
23171         New modules 'dprintf', 'dprintf-posix'.
23172         * lib/stdio.in.h (dprintf): New declaration.
23173         * lib/dprintf.c: New file.
23174         * m4/dprintf.m4: New file.
23175         * m4/dprintf-posix.m4: New file.
23176         * modules/dprintf: New file.
23177         * modules/dprintf-posix: New file.
23178         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
23179         HAVE_DPRINTF, REPLACE_DPRINTF.
23180         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
23181         HAVE_DPRINTF, REPLACE_DPRINTF.
23182         * doc/posix-functions/dprintf.texi: Mention the new modules.
23183
23184 2009-01-17  Bruno Haible  <bruno@clisp.org>
23185
23186         * modules/vdprintf-posix-tests: New file.
23187         * tests/test-vdprintf-posix.sh: New file.
23188         * tests/test-vdprintf-posix.c: New file.
23189
23190         New modules 'vdprintf', 'vdprintf-posix'.
23191         * lib/stdio.in.h (vdprintf): New declaration.
23192         * lib/vdprintf.c: New file.
23193         * m4/vdprintf.m4: New file.
23194         * m4/vdprintf-posix.m4: New file.
23195         * modules/vdprintf: New file.
23196         * modules/vdprintf-posix: New file.
23197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
23198         HAVE_VDPRINTF, REPLACE_VDPRINTF.
23199         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
23200         HAVE_VDPRINTF, REPLACE_VDPRINTF.
23201         * doc/posix-functions/vdprintf.texi: Mention the new modules.
23202
23203 2009-01-17  Bruno Haible  <bruno@clisp.org>
23204
23205         Fix replacement of fopen on mingw.
23206         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
23207         mingw.
23208
23209 2009-01-17  Bruno Haible  <bruno@clisp.org>
23210
23211         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
23212         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
23213
23214 2009-01-17  Bruno Haible  <bruno@clisp.org>
23215
23216         Avoid test-fflush2.sh failure on mingw.
23217         * tests/test-fflush2.c: Include binary-io.h.
23218         (main): Put standard input into binary mode.
23219         * modules/fflush-tests (Depends-on): Add binary-io.
23220
23221 2009-01-17  Bruno Haible  <bruno@clisp.org>
23222
23223         * lib/wchar.in.h: In another particular situation, include only the
23224         system's <wchar.h> file.
23225         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
23226         Reported by Albert Chin-A-Young <china@thewrittenword.com>
23227         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
23228
23229 2009-01-17  Bruno Haible  <bruno@clisp.org>
23230
23231         Support for stripping executables in --enable-relocatable.
23232         * build-aux/install-reloc: Expect one more argument, or an environment
23233         variable RELOC_STRIP_PROG. If set, strip the destination program and
23234         its wrapper.
23235         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
23236         RELOC_STRIP_PROG.
23237         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
23238         to set RELOCATABLE_STRIP.
23239         * NEWS: Mention the new Makefile requirement.
23240
23241 2009-01-17  Bruno Haible  <bruno@clisp.org>
23242
23243         * build-aux/install-reloc: Remove debugging information left over by
23244         C compiler on MacOS X.
23245
23246 2009-01-17  Bruno Haible  <bruno@clisp.org>
23247
23248         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
23249         * lib/progreloc.c (find_executable): Fix type of pointer passed to
23250         _NSGetExecutablePath.
23251
23252 2009-01-16  Jim Meyering  <meyering@redhat.com>
23253
23254         strerror: avoid warnings about discarding "const"
23255         * lib/strerror.c (rpl_strerror): Instead of returning a const
23256         string from each and every "case", use a variable, and add a single
23257         cast after the switch.
23258
23259 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
23260
23261         * lib/arpa_inet.in.h: Add extern "C" block for C++.
23262
23263 2009-01-16  Bruno Haible  <bruno@clisp.org>
23264
23265         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
23266         array initializer syntax that also works in C++ mode.
23267         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23268
23269 2009-01-16  Jim Meyering  <meyering@redhat.com>
23270
23271         poll: suppress a warning
23272         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
23273         to ignore "...unsigned expression < 0 is always false" warnings.
23274
23275 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
23276
23277         poll: remove declarations of unused variables
23278         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
23279         sockbuf and optlen.
23280
23281 2009-01-15  Bruno Haible  <bruno@clisp.org>
23282
23283         Make fflush-after-ungetc POSIX compliant on BSD systems.
23284         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
23285         (clear_ungetc_buffer): Implement also for other systems.
23286         (rpl_fflush): On glibc systems, invoke
23287         clear_ungetc_buffer_preserving_position. Otherwise, invoke
23288         clear_ungetc_buffer after fetching the stream's position, not before.
23289
23290 2009-01-15  Bruno Haible  <bruno@clisp.org>
23291
23292         Make fflush-after-ungetc POSIX compliant on glibc systems.
23293         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
23294         after ungetc.
23295         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
23296         (rpl_fflush): On glibc systems, simply call the system's fflush
23297         function after clearing the ungetc buffer.
23298         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
23299         Instead, lseek only to the end of file, then use the system's fseeko
23300         for the rest. On glibc systems, reset the EOF indicator bit.
23301
23302 2009-01-15  Jim Meyering  <meyering@redhat.com>
23303
23304         openmp.m4: revert quote-adding change, for portability to older autoconf
23305         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
23306         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
23307         Simon Josefsson noticed the problem when using autoconf-2.61.
23308
23309 2009-01-15  Bruno Haible  <bruno@clisp.org>
23310
23311         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
23312         * tests/test-fflush2.c (ASSERT): Always fail.
23313         (main): Add two tests for fflush() after ungetc(), taking into account
23314         the Austin Group's clarification.
23315         Suggested by Eric Blake.
23316
23317 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
23318
23319         mktime.m4: remove K&R-style function prototypes
23320         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
23321         for the Sun C++ compiler.
23322
23323 2009-01-14  Bruno Haible  <bruno@clisp.org>
23324
23325         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
23326         while including <wchar.h>.
23327         * lib/wchar.in.h: In two particular situations on HP-UX, include only
23328         the system's <wchar.h> file.
23329         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23330
23331 2009-01-14  Bruno Haible  <bruno@clisp.org>
23332
23333         * m4/csharp.m4: Don't mention gettext on the serial number line.
23334         * m4/csharpexec.m4: Likewise.
23335         * m4/eaccess.m4: Likewise.
23336         * m4/javaexec.m4: Likewise.
23337         * m4/sig_atomic_t.m4: Likewise.
23338         * m4/tmpdir.m4: Likewise.
23339         * m4/intldir.m4: Bump gettext version.
23340         * m4/lib-ld.m4: Likewise.
23341
23342 2009-01-14  Bruno Haible  <bruno@clisp.org>
23343
23344         * lib/progname.c (set_program_name): Add more comments.
23345         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
23346
23347 2009-01-14  Simon Josefsson  <simon@josefsson.org>
23348
23349         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
23350         were sys/stat.h does not define it.
23351
23352 2009-01-14  Jim Meyering  <meyering@redhat.com>
23353
23354         many *.m4 files: improve m4 quoting
23355         99% of this change was performed by running the following commands:
23356         git ls-files | grep '\.m4$' | xargs perl -pi \
23357           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
23358           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
23359           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
23360           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
23361         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
23362         The remainder were to add Copyright dates, increment serial numbers,
23363         undo some changes in comments, exclude m4/intl.m4, and add quotes
23364         around the "1" in ",1" where the unusual spacing prohibited the
23365         above regexps from doing the job.  For more details, see
23366         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
23367         * m4/acl.m4: Modified.
23368         * m4/afs.m4: Likewise.
23369         * m4/alloca.m4: Likewise.
23370         * m4/argp.m4: Likewise.
23371         * m4/argz.m4: Likewise.
23372         * m4/atexit.m4: Likewise.
23373         * m4/bison-i18n.m4: Likewise.
23374         * m4/bison.m4: Likewise.
23375         * m4/byteswap.m4: Likewise.
23376         * m4/c-stack.m4: Likewise.
23377         * m4/c-strtod.m4: Likewise.
23378         * m4/calloc.m4: Likewise.
23379         * m4/canonicalize-lgpl.m4: Likewise.
23380         * m4/chown.m4: Likewise.
23381         * m4/clock_time.m4: Likewise.
23382         * m4/codeset.m4: Likewise.
23383         * m4/copy-file.m4: Likewise.
23384         * m4/csharp.m4: Likewise.
23385         * m4/csharpcomp.m4: Likewise.
23386         * m4/csharpexec.m4: Likewise.
23387         * m4/d-ino.m4: Likewise.
23388         * m4/d-type.m4: Likewise.
23389         * m4/dirfd.m4: Likewise.
23390         * m4/double-slash-root.m4: Likewise.
23391         * m4/eaccess.m4: Likewise.
23392         * m4/eealloc.m4: Likewise.
23393         * m4/environ.m4: Likewise.
23394         * m4/errno_h.m4: Likewise.
23395         * m4/euidaccess.m4: Likewise.
23396         * m4/execute.m4: Likewise.
23397         * m4/fatal-signal.m4: Likewise.
23398         * m4/fchdir.m4: Likewise.
23399         * m4/fcntl_h.m4: Likewise.
23400         * m4/fileblocks.m4: Likewise.
23401         * m4/filenamecat.m4: Likewise.
23402         * m4/findprog.m4: Likewise.
23403         * m4/flexmember.m4: Likewise.
23404         * m4/fnmatch.m4: Likewise.
23405         * m4/fopen.m4: Likewise.
23406         * m4/fpending.m4: Likewise.
23407         * m4/fprintf-posix.m4: Likewise.
23408         * m4/free.m4: Likewise.
23409         * m4/frexp.m4: Likewise.
23410         * m4/frexpl.m4: Likewise.
23411         * m4/fsusage.m4: Likewise.
23412         * m4/ftruncate.m4: Likewise.
23413         * m4/gc-camellia.m4: Likewise.
23414         * m4/gc-random.m4: Likewise.
23415         * m4/gc.m4: Likewise.
23416         * m4/getaddrinfo.m4: Likewise.
23417         * m4/getcwd-abort-bug.m4: Likewise.
23418         * m4/getcwd-path-max.m4: Likewise.
23419         * m4/getdate.m4: Likewise.
23420         * m4/getdomainname.m4: Likewise.
23421         * m4/getgroups.m4: Likewise.
23422         * m4/gethostname.m4: Likewise.
23423         * m4/gethrxtime.m4: Likewise.
23424         * m4/getline.m4: Likewise.
23425         * m4/getloadavg.m4: Likewise.
23426         * m4/getndelim2.m4: Likewise.
23427         * m4/getpass.m4: Likewise.
23428         * m4/gettext.m4: Likewise.
23429         * m4/gettime.m4: Likewise.
23430         * m4/gettimeofday.m4: Likewise.
23431         * m4/gnulib-common.m4: Likewise.
23432         * m4/group-member.m4: Likewise.
23433         * m4/host-os.m4: Likewise.
23434         * m4/iconv.m4: Likewise.
23435         * m4/iconv_open.m4: Likewise.
23436         * m4/inet_ntop.m4: Likewise.
23437         * m4/inet_pton.m4: Likewise.
23438         * m4/inline.m4: Likewise.
23439         * m4/intldir.m4: Likewise.
23440         * m4/intlmacosx.m4: Likewise.
23441         * m4/intmax.m4: Likewise.
23442         * m4/intmax_t.m4: Likewise.
23443         * m4/inttypes.m4: Likewise.
23444         * m4/inttypes_h.m4: Likewise.
23445         * m4/inttypes-pri.m4: Likewise.
23446         * m4/isapipe.m4: Likewise.
23447         * m4/isnand.m4: Likewise.
23448         * m4/isnanf.m4: Likewise.
23449         * m4/isnanl.m4: Likewise.
23450         * m4/javacomp.m4: Likewise.
23451         * m4/javaexec.m4: Likewise.
23452         * m4/jm-winsz1.m4: Likewise.
23453         * m4/jm-winsz2.m4: Likewise.
23454         * m4/lchown.m4: Likewise.
23455         * m4/lcmessage.m4: Likewise.
23456         * m4/ldexpl.m4: Likewise.
23457         * m4/lib-ld.m4: Likewise.
23458         * m4/lib-link.m4: Likewise.
23459         * m4/libsigsegv.m4: Likewise.
23460         * m4/link-follow.m4: Likewise.
23461         * m4/localcharset.m4: Likewise.
23462         * m4/locale-fr.m4: Likewise.
23463         * m4/locale-ja.m4: Likewise.
23464         * m4/locale-tr.m4: Likewise.
23465         * m4/locale-zh.m4: Likewise.
23466         * m4/lock.m4: Likewise.
23467         * m4/longlong.m4: Likewise.
23468         * m4/ls-mntd-fs.m4: Likewise.
23469         * m4/lstat.m4: Likewise.
23470         * m4/malloc.m4: Likewise.
23471         * m4/mathl.m4: Likewise.
23472         * m4/mbrtowc.m4: Likewise.
23473         * m4/mbstate_t.m4: Likewise.
23474         * m4/mbswidth.m4: Likewise.
23475         * m4/memchr.m4: Likewise.
23476         * m4/memcmp.m4: Likewise.
23477         * m4/memcpy.m4: Likewise.
23478         * m4/memmem.m4: Likewise.
23479         * m4/memmove.m4: Likewise.
23480         * m4/mempcpy.m4: Likewise.
23481         * m4/memrchr.m4: Likewise.
23482         * m4/memset.m4: Likewise.
23483         * m4/minmax.m4: Likewise.
23484         * m4/mkdir-slash.m4: Likewise.
23485         * m4/mkdtemp.m4: Likewise.
23486         * m4/mktime.m4: Likewise.
23487         * m4/mmap-anon.m4: Likewise.
23488         * m4/mountlist.m4: Likewise.
23489         * m4/nanosleep.m4: Likewise.
23490         * m4/nls.m4: Likewise.
23491         * m4/nocrash.m4: Likewise.
23492         * m4/open.m4: Likewise.
23493         * m4/openat.m4: Likewise.
23494         * m4/openmp.m4: Likewise.
23495         * m4/pathmax.m4: Likewise.
23496         * m4/perl.m4: Likewise.
23497         * m4/physmem.m4: Likewise.
23498         * m4/pipe.m4: Likewise.
23499         * m4/po.m4: Likewise.
23500         * m4/poll.m4: Likewise.
23501         * m4/posixtm.m4: Likewise.
23502         * m4/posixver.m4: Likewise.
23503         * m4/printf-frexp.m4: Likewise.
23504         * m4/printf-frexpl.m4: Likewise.
23505         * m4/printf-posix.m4: Likewise.
23506         * m4/printf-posix-rpl.m4: Likewise.
23507         * m4/printf.m4: Likewise.
23508         * m4/progtest.m4: Likewise.
23509         * m4/putenv.m4: Likewise.
23510         * m4/readline.m4: Likewise.
23511         * m4/readlink.m4: Likewise.
23512         * m4/readutmp.m4: Likewise.
23513         * m4/realloc.m4: Likewise.
23514         * m4/regex.m4: Likewise.
23515         * m4/relocatable.m4: Likewise.
23516         * m4/relocatable-lib.m4: Likewise.
23517         * m4/rename-dest-slash.m4: Likewise.
23518         * m4/rename.m4: Likewise.
23519         * m4/rmdir-errno.m4: Likewise.
23520         * m4/rmdir.m4: Likewise.
23521         * m4/roundf.m4: Likewise.
23522         * m4/roundl.m4: Likewise.
23523         * m4/rpmatch.m4: Likewise.
23524         * m4/save-cwd.m4: Likewise.
23525         * m4/selinux-selinux-h.m4: Likewise.
23526         * m4/setenv.m4: Likewise.
23527         * m4/settime.m4: Likewise.
23528         * m4/sig2str.m4: Likewise.
23529         * m4/sig_atomic_t.m4: Likewise.
23530         * m4/signalblocking.m4: Likewise.
23531         * m4/signbit.m4: Likewise.
23532         * m4/sigpipe.m4: Likewise.
23533         * m4/sockets.m4: Likewise.
23534         * m4/sockpfaf.m4: Likewise.
23535         * m4/st_dm_mode.m4: Likewise.
23536         * m4/stat-time.m4: Likewise.
23537         * m4/stdbool.m4: Likewise.
23538         * m4/stdint.m4: Likewise.
23539         * m4/stdint_h.m4: Likewise.
23540         * m4/stpcpy.m4: Likewise.
23541         * m4/stpncpy.m4: Likewise.
23542         * m4/strcase.m4: Likewise.
23543         * m4/strchrnul.m4: Likewise.
23544         * m4/strcspn.m4: Likewise.
23545         * m4/strdup.m4: Likewise.
23546         * m4/strftime.m4: Likewise.
23547         * m4/strndup.m4: Likewise.
23548         * m4/strnlen.m4: Likewise.
23549         * m4/strpbrk.m4: Likewise.
23550         * m4/strptime.m4: Likewise.
23551         * m4/strsep.m4: Likewise.
23552         * m4/strtod.m4: Likewise.
23553         * m4/strtoimax.m4: Likewise.
23554         * m4/strtok_r.m4: Likewise.
23555         * m4/strtol.m4: Likewise.
23556         * m4/strtoll.m4: Likewise.
23557         * m4/strtoul.m4: Likewise.
23558         * m4/strtoull.m4: Likewise.
23559         * m4/strtoumax.m4: Likewise.
23560         * m4/strverscmp.m4: Likewise.
23561         * m4/threadlib.m4: Likewise.
23562         * m4/timegm.m4: Likewise.
23563         * m4/tm_gmtoff.m4: Likewise.
23564         * m4/tmpdir.m4: Likewise.
23565         * m4/tmpfile.m4: Likewise.
23566         * m4/tzset.m4: Likewise.
23567         * m4/uintmax_t.m4: Likewise.
23568         * m4/unlinkdir.m4: Likewise.
23569         * m4/unlocked-io.m4: Likewise.
23570         * m4/uptime.m4: Likewise.
23571         * m4/userspec.m4: Likewise.
23572         * m4/utimbuf.m4: Likewise.
23573         * m4/utime.m4: Likewise.
23574         * m4/utimes-null.m4: Likewise.
23575         * m4/utimes.m4: Likewise.
23576         * m4/vararrays.m4: Likewise.
23577         * m4/vasnprintf.m4: Likewise.
23578         * m4/vfprintf-posix.m4: Likewise.
23579         * m4/vprintf-posix.m4: Likewise.
23580         * m4/wait-process.m4: Likewise.
23581         * m4/wchar_t.m4: Likewise.
23582         * m4/wint_t.m4: Likewise.
23583         * m4/write-any-file.m4: Likewise.
23584         * m4/yield.m4: Likewise.
23585
23586 2009-01-13  Bruno Haible  <bruno@clisp.org>
23587
23588         Avoid test-copy-file.sh failures when ACL support insufficient.
23589         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
23590         TESTS_ENVIRONMENT.
23591         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
23592         Reported by Jim Meyering.
23593
23594 2009-01-13  Bruno Haible  <bruno@clisp.org>
23595
23596         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
23597         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
23598         * modules/unistdio/u8-printf-parse (Files): Likewise.
23599         * modules/unistdio/u32-printf-parse (Files): Likewise.
23600         * modules/unistdio/ulc-printf-parse (Files): Likewise.
23601
23602 2009-01-13  Simon Josefsson  <simon@josefsson.org>
23603
23604         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
23605         and m4/inttypes_h.m4 too.
23606
23607 2009-01-12  Eric Blake  <ebb9@byu.net>
23608
23609         tests: IRIX 6.2 cc can't compile -0.0 into .data
23610         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
23611         rather than at compile-time.
23612         * tests/test-floorl.c (minus_zero): Likewise.
23613         * tests/test-frexpl.c (minus_zero): Likewise.
23614         * tests/test-isnan.c (minus_zerol): Likewise.
23615         * tests/test-isnanl.h (minus_zero): Likewise.
23616         * tests/test-ldexpl.c (minus_zero): Likewise.
23617         * tests/test-roundl.c (minus_zero): Likewise.
23618         * tests/test-signbit.c (minus_zerol): Likewise.
23619         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
23620         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
23621         * tests/test-truncl.c (minus_zero): Likewise.
23622         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
23623         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
23624         Reported by Tom G. Christensen and Nelson H. F. Beebe.
23625
23626 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23627
23628         regex: fix glibc bug 9697
23629         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
23630         handling.
23631
23632 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23633
23634         regex: fix glibc bug 697
23635         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
23636         being NULL also if there are no backreferences.
23637
23638 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23639
23640         regex: merge glibc changes
23641         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
23642         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
23643         re_string_skip_chars, re_string_reconstruct): Likewise.
23644         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
23645
23646 2009-01-07  Jim Meyering  <meyering@redhat.com>
23647
23648         poll: filter through cppi
23649         * lib/poll.c: Indent cpp directives to reflect nesting.
23650
23651 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
23652
23653         poll: don't return uninitialized
23654         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
23655
23656 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
23657
23658         avoid compile failure on AIX 6.1
23659         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
23660         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
23661
23662 2009-01-04  Jim Meyering  <meyering@redhat.com>
23663
23664         remove duplicate inclusion of <stdio.h>
23665         * tests/test-fprintf-posix.c: Likewise.
23666         * tests/test-printf-posix.c: Likewise.
23667         * tests/test-snprintf-posix.c: Likewise.
23668         * tests/test-sprintf-posix.c: Likewise.
23669         * tests/test-vasprintf-posix.c: Likewise.
23670         * tests/test-vfprintf-posix.c: Likewise.
23671         * tests/test-vprintf-posix.c: Likewise.
23672         * tests/test-vsnprintf-posix.c: Likewise.
23673         * tests/test-vsprintf-posix.c: Likewise.
23674
23675 2009-01-03  Jim Meyering  <meyering@redhat.com>
23676
23677         gnulib-tool: fix sed-based filtering
23678         * gnulib-tool (func_filter_filelist): Remove extra backslash
23679         in sed_fff_filter definition.
23680
23681 2009-01-02  Jim Meyering  <meyering@redhat.com>
23682
23683         strftime: avoid compilation failure on Solaris 2.6
23684         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
23685         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
23686         Don't #define mbrlen or mbsinit, since now they're guaranteed to
23687         be available.  Reported by Tom G. Christensen.  Details in
23688         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
23689
23690 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23691             Bruno Haible  <bruno@clisp.org>
23692
23693         Speed up gnulib-tool by doing more string processing through shell
23694         built-ins.
23695         * gnulib-tool (fast_func_append): New variable.
23696         (func_remove_prefix, func_remove_suffix): New functions.
23697         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
23698         (func_filter_filelist): New function.
23699         (func_get_dependencies): Use func_remove_suffix instead of sed.
23700         (func_get_automake_snippet): Use func_filter_filelist instead of a
23701         subshell and sed invocation.
23702
23703 2009-01-01  Bruno Haible  <bruno@clisp.org>
23704
23705         Fix a security bug.
23706         * gnulib-tool (func_import, import, update): Don't allow the characters
23707         '"', '$', '`', '\' in macro arguments that become part of commands that
23708         are evaluated.
23709
23710 2009-01-01  Bruno Haible  <bruno@clisp.org>
23711
23712         * gnulib-tool (func_reset_sigpipe): Add more comments.
23713
23714 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23715
23716         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
23717         func_emit_tests_Makefile_am, func_import): Abort loops early if we
23718         already know the answer.
23719
23720 2009-01-01  Jim Meyering  <meyering@redhat.com>
23721
23722         * lib/version-etc.c (version_etc_va): Update copyright year.
23723
23724 2008-12-30  Bruno Haible  <bruno@clisp.org>
23725
23726         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
23727         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
23728         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
23729
23730 2008-12-29  Eric Blake  <ebb9@byu.net>
23731
23732         multiarch: avoid autoconf AC_REQUIRE bug
23733         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
23734         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
23735         2.63 and older.
23736         Reported by Bruno Haible, and analyzed in
23737         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
23738
23739 2008-12-29  Bruno Haible  <bruno@clisp.org>
23740
23741         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
23742         files in subdirectories correctly.
23743         Reported by Ralf Wildenhues.
23744
23745 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23746
23747         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
23748         rather than 'join FILE -', for Solaris join.
23749
23750 2008-12-29  Bruno Haible  <bruno@clisp.org>
23751
23752         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
23753         quoting.
23754         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23755         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
23756         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
23757         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
23758         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23759         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23760         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23761         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23762         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23763         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23764         * m4/nls.m4 (AM_NLS): Likewise.
23765         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
23766         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23767         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23768         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23769         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23770         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23771         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
23772         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23773         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23774         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23775         * m4/xsize.m4 (gl_XSIZE): Likewise.
23776         Suggested by Jim Meyering.
23777
23778 2008-11-17  Bruce Korb  <bkorb@gnu.org>
23779
23780         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
23781         * lib/parse-duration.c: use a switch instead of cascading if's.
23782
23783 2008-12-29  Eric Blake  <ebb9@byu.net>
23784
23785         wchar.h: supply WEOF on Irix 5.3
23786         * lib/wchar.in.h (wint_t): Also supply WEOF.
23787         * lib/wctype.in.h (wint_t): Likewise.
23788         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
23789         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
23790         Reported by Tom G. Christensen.
23791
23792 2008-12-26  Bruno Haible  <bruno@clisp.org>
23793
23794         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
23795         i486, i586, i686.
23796
23797 2008-12-26  Bruno Haible  <bruno@clisp.org>
23798
23799         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
23800
23801 2008-12-26  Bruno Haible  <bruno@clisp.org>
23802
23803         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
23804         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
23805         not __STDC_CONSTANT_MACROS.
23806         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
23807
23808 2008-12-25  Bruno Haible  <bruno@clisp.org>
23809
23810         Add support for universal builds to vasnprintf.
23811         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
23812         universal builds, guess no.
23813         * modules/vasnprintf-posix (Depends-on): Add multiarch.
23814         * modules/vasprintf-posix (Depends-on): Likewise.
23815         * modules/fprintf-posix (Depends-on): Likewise.
23816         * modules/vfprintf-posix (Depends-on): Likewise.
23817         * modules/snprintf-posix (Depends-on): Likewise.
23818         * modules/vsnprintf-posix (Depends-on): Likewise.
23819         * modules/sprintf-posix (Depends-on): Likewise.
23820         * modules/vsprintf-posix (Depends-on): Likewise.
23821         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23822         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23823         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23824         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23825         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23826         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23827         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23828
23829         Add support for universal builds to <inttypes.h>.
23830         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
23831         _SCNu64_PREFIX): In Apple
23832         universal builds, define directly, using _LP64.
23833         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
23834         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
23835         * modules/inttypes (Depends-on): Add multiarch.
23836         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
23837
23838         Add support for universal builds to <stdint.h>.
23839         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
23840         universal builds, define directly, using _LP64.
23841         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
23842         Apple universal builds, don't test for the size and suffix of ptrdiff_t
23843         and size_t.
23844         * modules/stdint (Depends-on): Add multiarch.
23845         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
23846
23847         New module 'multiarch'.
23848         * modules/multiarch: New file.
23849         * m4/multiarch.m4: New file.
23850
23851 2008-12-25  Bruno Haible  <bruno@clisp.org>
23852
23853         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
23854
23855 2008-12-25  Bruno Haible  <bruno@clisp.org>
23856
23857         * modules/btowc (License): Relicense under LGPLv2+.
23858         * modules/mbsinit (License): Likewise.
23859         * modules/mbrtowc (License): Likewise.
23860         * modules/wcrtomb (License): Likewise.
23861         * modules/streq (License): Likewise.
23862         Reported by David Lutterkort <lutter@redhat.com>.
23863
23864 2008-12-23  Bruno Haible  <bruno@clisp.org>
23865
23866         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
23867
23868 2008-12-23  Bruno Haible  <bruno@clisp.org>
23869
23870         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
23871         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
23872         GETADDRINFO_LIB, not in LIBS.
23873         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
23874         * modules/canon-host (Link): Likewise.
23875         * NEWS: Mention the change.
23876         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
23877         GETADDRINFO_LIB.
23878
23879 2008-12-22  Bruno Haible  <bruno@clisp.org>
23880
23881         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
23882         * doc/posix-functions/iswalpha_l.texi: Likewise.
23883         * doc/posix-functions/iswblank_l.texi: Likewise.
23884         * doc/posix-functions/iswcntrl_l.texi: Likewise.
23885         * doc/posix-functions/iswctype_l.texi: Likewise.
23886         * doc/posix-functions/iswdigit_l.texi: Likewise.
23887         * doc/posix-functions/iswgraph_l.texi: Likewise.
23888         * doc/posix-functions/iswlower_l.texi: Likewise.
23889         * doc/posix-functions/iswprint_l.texi: Likewise.
23890         * doc/posix-functions/iswpunct_l.texi: Likewise.
23891         * doc/posix-functions/iswspace_l.texi: Likewise.
23892         * doc/posix-functions/iswupper_l.texi: Likewise.
23893         * doc/posix-functions/iswxdigit_l.texi: Likewise.
23894         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
23895         * doc/posix-functions/open_wmemstream.texi: Likewise.
23896         * doc/posix-functions/swscanf.texi: Likewise.
23897         * doc/posix-functions/towctrans_l.texi: Likewise.
23898         * doc/posix-functions/towlower.texi: Likewise.
23899         * doc/posix-functions/towlower_l.texi: Likewise.
23900         * doc/posix-functions/towupper.texi: Likewise.
23901         * doc/posix-functions/towupper_l.texi: Likewise.
23902         * doc/posix-functions/vfwprintf.texi: Likewise.
23903         * doc/posix-functions/vfwscanf.texi: Likewise.
23904         * doc/posix-functions/vswscanf.texi: Likewise.
23905         * doc/posix-functions/vwprintf.texi: Likewise.
23906         * doc/posix-functions/vwscanf.texi: Likewise.
23907         * doc/posix-functions/wcpcpy.texi: Likewise.
23908         * doc/posix-functions/wcpncpy.texi: Likewise.
23909         * doc/posix-functions/wcscasecmp.texi: Likewise.
23910         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
23911         * doc/posix-functions/wcscoll_l.texi: Likewise.
23912         * doc/posix-functions/wcsdup.texi: Likewise.
23913         * doc/posix-functions/wcsncasecmp.texi: Likewise.
23914         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
23915         * doc/posix-functions/wcsnlen.texi: Likewise.
23916         * doc/posix-functions/wcsnrtombs.texi: Likewise.
23917         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
23918         * doc/posix-functions/wctrans_l.texi: Likewise.
23919         * doc/posix-functions/wctype_l.texi: Likewise.
23920         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
23921         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
23922         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
23923         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
23924         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
23925         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
23926         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
23927         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
23928         * doc/glibc-functions/wcschrnul.texi: Likewise.
23929         * doc/glibc-functions/wcsftime_l.texi: Likewise.
23930         * doc/glibc-functions/wcstod_l.texi: Likewise.
23931         * doc/glibc-functions/wcstof_l.texi: Likewise.
23932         * doc/glibc-functions/wcstol_l.texi: Likewise.
23933         * doc/glibc-functions/wcstold_l.texi: Likewise.
23934         * doc/glibc-functions/wcstoll_l.texi: Likewise.
23935         * doc/glibc-functions/wcstoq.texi: Likewise.
23936         * doc/glibc-functions/wcstoul_l.texi: Likewise.
23937         * doc/glibc-functions/wcstoull_l.texi: Likewise.
23938         * doc/glibc-functions/wcstouq.texi: Likewise.
23939         * doc/glibc-functions/wmempcpy.texi: Likewise.
23940
23941 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
23942             Eric Blake  <ebb9@byu.net>
23943             Paolo Bonzini  <bonzini@gnu.org>
23944             Bruno Haible  <bruno@clisp.org>
23945
23946         Make c-stack work on Haiku.
23947         * lib/c-stack.c (SA_ONSTACK): Define fallback.
23948         (c_stack_action): Use SA_ONSTACK flag.
23949
23950 2008-12-22  Bruno Haible  <bruno@clisp.org>
23951
23952         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
23953
23954 2008-12-22  Bruno Haible  <bruno@clisp.org>
23955
23956         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
23957         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
23958         being overridden.
23959         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
23960         New macros.
23961         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
23962         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
23963         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
23964         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
23965
23966 2008-12-22  Bruno Haible  <bruno@clisp.org>
23967
23968         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
23969         from test code.
23970
23971 2008-12-22  Eric Blake  <ebb9@byu.net>
23972
23973         Avoid gcc warnings on cygwin.
23974         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
23975         Avoid unused variable.
23976         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
23977         Likewise.
23978
23979 2008-12-22  Bruno Haible  <bruno@clisp.org>
23980
23981         Remove HAVE_MBRTOWC conditionals.
23982         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
23983         (mbscasecmp): Assume mbrtowc function.
23984         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
23985         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
23986         * lib/mbschr.c: Include mbuiter.h unconditionally.
23987         (mbschr): Assume mbrtowc function.
23988         * lib/mbscspn.c: Include mbuiter.h unconditionally.
23989         (mbscspn): Assume mbrtowc function.
23990         * lib/mbslen.c: Include mbuiter.h unconditionally.
23991         (mbslen): Assume mbrtowc function.
23992         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
23993         (mbsncasecmp): Assume mbrtowc function.
23994         * lib/mbsnlen.c: Include mbiter.h unconditionally.
23995         (mbsnlen): Assume mbrtowc function.
23996         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
23997         (mbspbrk): Assume mbrtowc function.
23998         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
23999         (mbspcasecmp): Assume mbrtowc function.
24000         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
24001         (mbsrchr): Assume mbrtowc function.
24002         * lib/mbssep.c: Include mbuiter.h unconditionally.
24003         (mbssep): Assume mbrtowc function.
24004         * lib/mbsspn.c: Include mbuiter.h unconditionally.
24005         (mbsspn): Assume mbrtowc function.
24006         * lib/mbsstr.c: Include mbuiter.h unconditionally.
24007         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
24008         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
24009         (mbstok_r): Assume mbrtowc function.
24010         * lib/propername.c: Include mbuiter.h unconditionally.
24011         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
24012         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
24013         (trim2): Assume mbrtowc function.
24014         * lib/mbswidth.c (mbsinit): Remove fallback definition.
24015         (mbsnwidth): Assume mbrtowc function.
24016         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
24017         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
24018         fallback definitions.
24019         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
24020
24021 2008-12-22  Bruno Haible  <bruno@clisp.org>
24022
24023         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
24024
24025 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
24026
24027         * modules/regex: Request emulations for the mb*/wc* functions we need.
24028         * m4/regex.m4: Don't look for those functions here.
24029         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
24030
24031 2008-12-22  Bruno Haible  <bruno@clisp.org>
24032
24033         * modules/fnmatch (Depends-on): Remove duplicated dependency.
24034
24035 2008-12-21  Bruno Haible  <bruno@clisp.org>
24036
24037         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
24038         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
24039         (Include): Remove conditionalization.
24040         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
24041         (Include): Remove conditionalization.
24042         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
24043         (Include): Remove conditionalization.
24044         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
24045         * m4/mbfile.m4 (gl_MBFILE): Likewise.
24046         * NEWS: Mention the change.
24047         Reported by Alan Hourihane <alanh@fairlite.co.uk>
24048         via Sergey Poznyakoff <gray@gnu.org.ua>.
24049
24050 2008-12-21  Bruno Haible  <bruno@clisp.org>
24051
24052         * MODULES.html.sh (Extended multibyte and wide character utilities
24053         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
24054         wcrtomb, wcsrtombs.
24055         (Support for systems lacking POSIX:2008): Add accept, bind, close,
24056         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
24057         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
24058         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
24059
24060 2008-12-21  Bruno Haible  <bruno@clisp.org>
24061
24062         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
24063
24064 2008-12-21  Bruno Haible  <bruno@clisp.org>
24065
24066         * modules/wcsnrtombs-tests: New file.
24067         * tests/test-wcsnrtombs1.sh: New file.
24068         * tests/test-wcsnrtombs2.sh: New file.
24069         * tests/test-wcsnrtombs3.sh: New file.
24070         * tests/test-wcsnrtombs4.sh: New file.
24071         * tests/test-wcsnrtombs.c: New file.
24072
24073         New module 'wcsnrtombs'.
24074         * lib/wchar.in.h (wcsnrtombs): New declaration.
24075         * lib/wcsnrtombs.c: New file.
24076         * lib/wcsrtombs-state.c: New file.
24077         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
24078         (internal_state): Remove variable.
24079         * m4/wcsnrtombs.m4: New file.
24080         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
24081         compilation units.
24082         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
24083         HAVE_WCSNRTOMBS.
24084         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
24085         HAVE_WCSNRTOMBS.
24086         * modules/wcsnrtombs: New file.
24087         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
24088         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
24089
24090 2008-12-21  Bruno Haible  <bruno@clisp.org>
24091
24092         * modules/wcsrtombs-tests: New file.
24093         * tests/test-wcsrtombs1.sh: New file.
24094         * tests/test-wcsrtombs2.sh: New file.
24095         * tests/test-wcsrtombs3.sh: New file.
24096         * tests/test-wcsrtombs4.sh: New file.
24097         * tests/test-wcsrtombs.c: New file.
24098
24099         New module 'wcsrtombs'.
24100         * lib/wchar.in.h (wcsrtombs): New declaration.
24101         * lib/wcsrtombs.c: New file.
24102         * m4/wcsrtombs.m4: New file.
24103         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
24104         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
24105         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
24106         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
24107         * modules/wcsrtombs: New file.
24108         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
24109         bugs.
24110
24111 2008-12-21  Bruno Haible  <bruno@clisp.org>
24112
24113         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
24114         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
24115         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
24116         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
24117         if not correct.
24118         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
24119         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
24120         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24121         m4/locale-zh.m4, m4/codeset.m4.
24122         * doc/posix-functions/wcrtomb.texi: Document the bug.
24123
24124 2008-12-21  Bruno Haible  <bruno@clisp.org>
24125
24126         Work around a btowc() bug on IRIX 6.5.
24127         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
24128         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
24129         REPLACE_WTOBC if not.
24130         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
24131         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
24132         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
24133
24134 2008-12-21  Bruno Haible  <bruno@clisp.org>
24135
24136         * modules/wcrtomb-tests: New file.
24137         * tests/test-wcrtomb.sh: New file.
24138         * tests/test-wcrtomb.c: New file.
24139
24140         New module 'wcrtomb'.
24141         * lib/wchar.in.h (wcrtomb): New declaration.
24142         * lib/wcrtomb.c: New file.
24143         * m4/wcrtomb.m4: New file.
24144         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
24145         HAVE_WCRTOMB.
24146         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
24147         HAVE_WCRTOMB.
24148         * modules/wcrtomb: New file.
24149         * doc/posix-functions/wcrtomb.texi: Mention the new module.
24150
24151 2008-12-21  Bruno Haible  <bruno@clisp.org>
24152
24153         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
24154         * modules/mbsrtowcs (Files): Likewise.
24155         * modules/wctob (Files): Likewise.
24156         * modules/c-strcase-tests (Files): Likewise.
24157         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
24158         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
24159         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
24160         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
24161         * modules/vasnprintf-posix-tests (Files): Likewise.
24162
24163 2008-12-21  William Pursell  <bill.pursell@gmail.com>
24164
24165         gitlog-to-changelog: pass all command-line arguments to git-log
24166         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
24167         it is sometimes convenient to filter the commits in various ways.
24168         gitlog-to-changelog only allows --since to specify a start date,
24169         but git-log itself supports many other filtering mechanisms.
24170         At the moment, I want to filter by branch name.  Rather than
24171         adding a --branch option to gitlog-to-changelog, it seems more
24172         flexible to simply pass all options directly to git-log and let
24173         git do the work.  Notice that this effectively makes --since a
24174         redundant option for gitlog-to-changelog, but removing it would
24175         require current usage to change since calls would then require
24176         an additional '--'.
24177
24178 2008-12-21  Bruno Haible  <bruno@clisp.org>
24179
24180         * modules/mbsnrtowcs-tests: New file.
24181         * tests/test-mbsnrtowcs1.sh: New file.
24182         * tests/test-mbsnrtowcs2.sh: New file.
24183         * tests/test-mbsnrtowcs3.sh: New file.
24184         * tests/test-mbsnrtowcs4.sh: New file.
24185         * tests/test-mbsnrtowcs.c: New file.
24186
24187         New module 'mbsnrtowcs'.
24188         * lib/wchar.in.h (mbsnrtowcs): New declaration.
24189         * lib/mbsnrtowcs.c: New file.
24190         * lib/mbsrtowcs-state.c: New file.
24191         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
24192         (internal_state): Remove variable.
24193         * m4/mbsnrtowcs.m4: New file.
24194         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
24195         compilation units.
24196         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
24197         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
24198         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
24199         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
24200         * modules/mbsnrtowcs: New file.
24201         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
24202         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
24203         portability problem.
24204
24205 2008-12-21  Bruno Haible  <bruno@clisp.org>
24206
24207         Work around mbsrtowcs bug.
24208         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
24209         (gl_FUNC_MBSRTOWCS): Invoke it.
24210         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24211         m4/locale-zh.m4.
24212         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
24213
24214 2008-12-21  Bruno Haible  <bruno@clisp.org>
24215
24216         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
24217
24218 2008-12-21  Bruno Haible  <bruno@clisp.org>
24219
24220         Update doc for AIX.
24221         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
24222         16-bit wchar_t type.
24223         * doc/posix-functions/btowc.texi: Likewise.
24224         * doc/posix-functions/fgetwc.texi: Likewise.
24225         * doc/posix-functions/fgetws.texi: Likewise.
24226         * doc/posix-functions/fputwc.texi: Likewise.
24227         * doc/posix-functions/fputws.texi: Likewise.
24228         * doc/posix-functions/fwide.texi: Likewise.
24229         * doc/posix-functions/fwprintf.texi: Likewise.
24230         * doc/posix-functions/fwscanf.texi: Likewise.
24231         * doc/posix-functions/getwchar.texi: Likewise.
24232         * doc/posix-functions/getwc.texi: Likewise.
24233         * doc/posix-functions/iswalnum.texi: Likewise.
24234         * doc/posix-functions/iswalpha.texi: Likewise.
24235         * doc/posix-functions/iswblank.texi: Likewise.
24236         * doc/posix-functions/iswcntrl.texi: Likewise.
24237         * doc/posix-functions/iswctype.texi: Likewise.
24238         * doc/posix-functions/iswdigit.texi: Likewise.
24239         * doc/posix-functions/iswgraph.texi: Likewise.
24240         * doc/posix-functions/iswlower.texi: Likewise.
24241         * doc/posix-functions/iswprint.texi: Likewise.
24242         * doc/posix-functions/iswpunct.texi: Likewise.
24243         * doc/posix-functions/iswspace.texi: Likewise.
24244         * doc/posix-functions/iswupper.texi: Likewise.
24245         * doc/posix-functions/iswxdigit.texi: Likewise.
24246         * doc/posix-functions/mbrtowc.texi: Likewise.
24247         * doc/posix-functions/mbsrtowcs.texi: Likewise.
24248         * doc/posix-functions/mbstowcs.texi: Likewise.
24249         * doc/posix-functions/mbtowc.texi: Likewise.
24250         * doc/posix-functions/putwchar.texi: Likewise.
24251         * doc/posix-functions/putwc.texi: Likewise.
24252         * doc/posix-functions/swprintf.texi: Likewise.
24253         * doc/posix-functions/tolower.texi: Likewise.
24254         * doc/posix-functions/toupper.texi: Likewise.
24255         * doc/posix-functions/towctrans.texi: Likewise.
24256         * doc/posix-functions/ungetwc.texi: Likewise.
24257         * doc/posix-functions/vswprintf.texi: Likewise.
24258         * doc/posix-functions/wcrtomb.texi: Likewise.
24259         * doc/posix-functions/wcscat.texi: Likewise.
24260         * doc/posix-functions/wcschr.texi: Likewise.
24261         * doc/posix-functions/wcscmp.texi: Likewise.
24262         * doc/posix-functions/wcscoll.texi: Likewise.
24263         * doc/posix-functions/wcscpy.texi: Likewise.
24264         * doc/posix-functions/wcscspn.texi: Likewise.
24265         * doc/posix-functions/wcsftime.texi: Likewise.
24266         * doc/posix-functions/wcslen.texi: Likewise.
24267         * doc/posix-functions/wcsncat.texi: Likewise.
24268         * doc/posix-functions/wcsncmp.texi: Likewise.
24269         * doc/posix-functions/wcsncpy.texi: Likewise.
24270         * doc/posix-functions/wcspbrk.texi: Likewise.
24271         * doc/posix-functions/wcsrchr.texi: Likewise.
24272         * doc/posix-functions/wcsrtombs.texi: Likewise.
24273         * doc/posix-functions/wcsspn.texi: Likewise.
24274         * doc/posix-functions/wcsstr.texi: Likewise.
24275         * doc/posix-functions/wcstod.texi: Likewise.
24276         * doc/posix-functions/wcstof.texi: Likewise.
24277         * doc/posix-functions/wcstoimax.texi: Likewise.
24278         * doc/posix-functions/wcstok.texi: Likewise.
24279         * doc/posix-functions/wcstold.texi: Likewise.
24280         * doc/posix-functions/wcstoll.texi: Likewise.
24281         * doc/posix-functions/wcstol.texi: Likewise.
24282         * doc/posix-functions/wcstombs.texi: Likewise.
24283         * doc/posix-functions/wcstoull.texi: Likewise.
24284         * doc/posix-functions/wcstoul.texi: Likewise.
24285         * doc/posix-functions/wcstoumax.texi: Likewise.
24286         * doc/posix-functions/wcswidth.texi: Likewise.
24287         * doc/posix-functions/wcsxfrm.texi: Likewise.
24288         * doc/posix-functions/wctob.texi: Likewise.
24289         * doc/posix-functions/wctomb.texi: Likewise.
24290         * doc/posix-functions/wctrans.texi: Likewise.
24291         * doc/posix-functions/wctype.texi: Likewise.
24292         * doc/posix-functions/wcwidth.texi: Likewise.
24293         * doc/posix-functions/wmemchr.texi: Likewise.
24294         * doc/posix-functions/wmemcmp.texi: Likewise.
24295         * doc/posix-functions/wmemcpy.texi: Likewise.
24296         * doc/posix-functions/wmemmove.texi: Likewise.
24297         * doc/posix-functions/wmemset.texi: Likewise.
24298         * doc/posix-functions/wprintf.texi: Likewise.
24299         * doc/posix-functions/wscanf.texi: Likewise.
24300
24301 2008-12-21  Bruno Haible  <bruno@clisp.org>
24302
24303         Update doc for HP-UX 11.11.
24304         * doc/posix-functions/btowc.texi: Clarify that the function is missing
24305         in HP-UX version 11.00, not in all versions of HP-UX 11.
24306         * doc/posix-functions/fwide.texi: Likewise.
24307         * doc/posix-functions/fwprintf.texi: Likewise.
24308         * doc/posix-functions/fwscanf.texi: Likewise.
24309         * doc/posix-functions/inet_ntop.texi: Likewise.
24310         * doc/posix-functions/inet_pton.texi: Likewise.
24311         * doc/posix-functions/mbrlen.texi: Likewise.
24312         * doc/posix-functions/mbrtowc.texi: Likewise.
24313         * doc/posix-functions/mbsinit.texi: Likewise.
24314         * doc/posix-functions/mbsrtowcs.texi: Likewise.
24315         * doc/posix-functions/swprintf.texi: Likewise.
24316         * doc/posix-functions/swscanf.texi: Likewise.
24317         * doc/posix-functions/towctrans.texi: Likewise.
24318         * doc/posix-functions/vfwprintf.texi: Likewise.
24319         * doc/posix-functions/vswprintf.texi: Likewise.
24320         * doc/posix-functions/vwprintf.texi: Likewise.
24321         * doc/posix-functions/wcrtomb.texi: Likewise.
24322         * doc/posix-functions/wcsrtombs.texi: Likewise.
24323         * doc/posix-functions/wcsstr.texi: Likewise.
24324         * doc/posix-functions/wctob.texi: Likewise.
24325         * doc/posix-functions/wctrans.texi: Likewise.
24326         * doc/posix-functions/wmemchr.texi: Likewise.
24327         * doc/posix-functions/wmemcmp.texi: Likewise.
24328         * doc/posix-functions/wmemcpy.texi: Likewise.
24329         * doc/posix-functions/wmemmove.texi: Likewise.
24330         * doc/posix-functions/wmemset.texi: Likewise.
24331         * doc/posix-functions/wprintf.texi: Likewise.
24332         * doc/posix-functions/wscanf.texi: Likewise.
24333
24334 2008-12-21  Bruno Haible  <bruno@clisp.org>
24335
24336         Work around a portability problem.
24337         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
24338         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
24339
24340 2008-12-20  Bruno Haible  <bruno@clisp.org>
24341
24342         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
24343         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
24344         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
24345         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
24346         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
24347
24348         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
24349         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
24350         set.
24351         (GNULIB_defined_mbstate_t): New macro.
24352         (mbsinit): Redefine if REPLACE_MBSINIT is set.
24353         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
24354         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
24355         reuses the system's mbrtowc function but works around the bugs.
24356         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
24357         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
24358         macros.
24359         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
24360         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
24361         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
24362         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
24363         REPLACE_MBSINIT if mbsinit needs to be overridden.
24364         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
24365         REPLACE_MBSINIT, REPLACE_MBRTOWC.
24366         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
24367         REPLACE_MBSINIT, REPLACE_MBRTOWC.
24368         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24369         m4/locale-zh.m4.
24370         (Depends): Add mbsinit.
24371         * modules/mbsinit (Depends): Add mbrtowc.
24372         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
24373
24374 2008-12-20  Bruno Haible  <bruno@clisp.org>
24375
24376         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
24377         so that there are no conversion errors on AIX.
24378         * tests/test-mbsrtowcs.c (main): LIkewise.
24379
24380 2008-12-20  Bruno Haible  <bruno@clisp.org>
24381
24382         Work around wctob bug on Solaris <= 9.
24383         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
24384         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
24385         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
24386         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
24387         * modules/wctob (Files): Add m4/locale-fr.m4.
24388         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
24389
24390 2008-12-20  Bruno Haible  <bruno@clisp.org>
24391
24392         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
24393         /dev/null.
24394         * tests/test-select-in.sh: Likewise.
24395         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24396
24397 2008-12-20  Bruno Haible  <bruno@clisp.org>
24398
24399         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
24400         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
24401         Cygwin 1.5.x.
24402
24403 2008-12-20  Bruno Haible  <bruno@clisp.org>
24404
24405         Ensure mbstate_t is defined on HP-UX 11.11.
24406         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
24407         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
24408         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
24409         AC_USE_SYSTEM_EXTENSIONS.
24410         * modules/fnmatch (Depends-on): Add extensions.
24411         * modules/mbrlen (Depends-on): Likewise.
24412         * modules/mbrtowc (Depends-on): Likewise.
24413         * modules/mbsinit (Depends-on): Likewise.
24414         * modules/mbsrtowcs (Depends-on): Likewise.
24415         * modules/mbswidth (Depends-on): Likewise.
24416         * modules/quotearg (Depends-on): Likewise.
24417         * modules/strftime (Depends-on): Likewise.
24418
24419 2008-12-20  Bruno Haible  <bruno@clisp.org>
24420
24421         Ensure wctob is declared on IRIX 6.5.
24422         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
24423         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
24424         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
24425         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
24426         of HAVE_WCTOB.
24427         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
24428         HAVE_WCTOB.
24429         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
24430
24431 2008-12-19  Bruno Haible  <bruno@clisp.org>
24432
24433         * modules/mbsrtowcs-tests: New file.
24434         * tests/test-mbsrtowcs1.sh: New file.
24435         * tests/test-mbsrtowcs2.sh: New file.
24436         * tests/test-mbsrtowcs3.sh: New file.
24437         * tests/test-mbsrtowcs4.sh: New file.
24438         * tests/test-mbsrtowcs.c: New file.
24439
24440         New module 'mbsrtowcs'.
24441         * lib/wchar.in.h (mbsrtowcs): New declaration.
24442         * lib/mbsrtowcs.c: New file.
24443         * m4/mbsrtowcs.m4: New file.
24444         * modules/mbsrtowcs: New file.
24445         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
24446         HAVE_MBSRTOWCS.
24447         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
24448         HAVE_MBSRTOWCS.
24449         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
24450
24451 2008-12-19  Bruno Haible  <bruno@clisp.org>
24452
24453         New module 'mbrlen'.
24454         * lib/wchar.in.h (mbrlen): New declaration.
24455         * lib/mbrlen.c: New file.
24456         * m4/mbrlen.m4: New file.
24457         * modules/mbrlen: New file.
24458         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
24459         HAVE_MBRLEN.
24460         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
24461         HAVE_MBRLEN.
24462         * doc/posix-functions/mbrlen.texi: Document the new module.
24463
24464 2008-12-19  Bruno Haible  <bruno@clisp.org>
24465
24466         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
24467         * modules/mbrtowc (Depends-on): Add verify.
24468         Suggested by Paul Eggert.
24469
24470 2008-12-18  Bruno Haible  <bruno@clisp.org>
24471
24472         * modules/mbsinit-tests: New file.
24473         * tests/test-mbsinit.sh: New file.
24474         * tests/test-mbsinit.c: New file.
24475
24476 2008-12-18  Bruno Haible  <bruno@clisp.org>
24477
24478         * modules/mbrtowc-tests: New file.
24479         * tests/test-mbrtowc1.sh: New file.
24480         * tests/test-mbrtowc2.sh: New file.
24481         * tests/test-mbrtowc3.sh: New file.
24482         * tests/test-mbrtowc4.sh: New file.
24483         * tests/test-mbrtowc.c: New file.
24484
24485         New module 'mbrtowc'.
24486         * lib/wchar.in.h (mbstate_t): Override when the system does not have
24487         mbsinit and mbrtowc.
24488         (mbrtowc): New declaration.
24489         * lib/mbrtowc.c: New file.
24490         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
24491         * modules/mbrtowc: New file.
24492         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
24493         HAVE_MBRTOWC.
24494         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
24495         HAVE_MBRTOWC.
24496         * doc/posix-functions/mbrtowc.texi: Document the new module.
24497
24498 2008-12-18  Bruno Haible  <bruno@clisp.org>
24499
24500         New module 'wctob'.
24501         * lib/wchar.in.h (wctob): New declaration.
24502         * lib/wctob.c: New file.
24503         * m4/wctob.m4: New file.
24504         * modules/wctob: New file.
24505         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
24506         HAVE_WCTOB.
24507         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
24508         * doc/posix-functions/wctob.texi: Document the new module.
24509
24510 2008-12-18  Bruno Haible  <bruno@clisp.org>
24511
24512         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
24513         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
24514
24515 2008-12-18  Simon Josefsson  <simon@josefsson.org>
24516
24517         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
24518         G. Christensen" <tgc@jupiterrise.com>.
24519
24520         * lib/flock.c: Need to include errno.h.  Reported by "Tom
24521         G. Christensen" <tgc@jupiterrise.com>.
24522
24523         * lib/flock.c: Need to include string.h.  Reported by "Tom
24524         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
24525         <ebb9@byu.net>.
24526
24527 2008-12-18  Bruno Haible  <bruno@clisp.org>
24528
24529         * m4/locale-ja.m4: New file, from GNU gettext.
24530
24531 2008-12-17  Bruno Haible  <bruno@clisp.org>
24532
24533         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
24534         Suggested by Eric Blake.
24535
24536 2008-12-17  Bruno Haible  <bruno@clisp.org>
24537
24538         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
24539
24540 2008-12-17  Bruno Haible  <bruno@clisp.org>
24541
24542         * lib/mbsinit.c: Include verify.h. Verify an assumption.
24543         * modules/mbsinit (Depends-on): Add verify.
24544         Suggested by Paul Eggert.
24545
24546 2008-12-17  Bruno Haible  <bruno@clisp.org>
24547
24548         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
24549         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
24550         gl_FUNC_MBRTOWC.
24551         * m4/mbiter.m4 (gl_MBITER): LIkewise.
24552         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
24553         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
24554         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
24555         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
24556         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
24557         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
24558         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
24559         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
24560         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
24561         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
24562         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
24563         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
24564         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
24565         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
24566         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24567         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
24568         * modules/trim (configure.ac): Likewise.
24569
24570 2008-12-17  Bruno Haible  <bruno@clisp.org>
24571
24572         * modules/btowc-tests: New file.
24573         * tests/test-btowc1.sh: New file.
24574         * tests/test-btowc2.sh: New file.
24575         * tests/test-btowc.c: New file.
24576
24577         New module 'btowc'.
24578         * lib/wchar.in.h (btowc): New declaration.
24579         * lib/btowc.c: New file.
24580         * m4/btowc.m4: New file.
24581         * modules/btowc: New file.
24582         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
24583         HAVE_BTOWC.
24584         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
24585         * doc/posix-functions/btowc.texi: Document the new module.
24586
24587 2008-12-17  Bruno Haible  <bruno@clisp.org>
24588
24589         New module 'mbsinit'.
24590         * lib/wchar.in.h (mbsinit): New declaration.
24591         * lib/mbsinit.c: New file.
24592         * m4/mbsinit.m4: New file.
24593         * modules/mbsinit: New file.
24594         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
24595         HAVE_MBSINIT.
24596         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
24597         HAVE_MBSINIT.
24598         * doc/posix-functions/mbsinit.texi: Document the new module.
24599
24600 2008-12-16  Bruno Haible  <bruno@clisp.org>
24601
24602         * lib/unistd.in.h: Add comment.
24603         * tests/test-environ.c: Don't include <stdlib.h>.
24604
24605 2008-12-16  Bruno Haible  <bruno@clisp.org>
24606
24607         * lib/parse-duration.h (parse_duration): Document return value
24608         convention.
24609         * lib/parse-duration.c: Include specification header first. Add
24610         comments.
24611         (_): Remove macro.
24612         (parse_year_month_day, parse_hour_minute_second): Move side effects
24613         outside of strchr call.
24614         (parse_non_iso8601): Move side effects outside of isspace call.
24615         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
24616         call.
24617
24618 2008-12-16  Bruno Haible  <bruno@clisp.org>
24619
24620         * tests/test-parse-duration.sh: Produce no output when the test
24621         succeeds.
24622
24623 2008-12-16  Bruno Haible  <bruno@clisp.org>
24624
24625         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
24626         expressions.
24627
24628 2008-12-15  Bruno Haible  <bruno@clisp.org>
24629
24630         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
24631         * doc/glibc-functions/flistxattr.texi: Likewise.
24632         * doc/glibc-functions/fopencookie.texi: Likewise.
24633         * doc/glibc-functions/fremovexattr.texi: Likewise.
24634         * doc/glibc-functions/fsetxattr.texi: Likewise.
24635         * doc/glibc-functions/getxattr.texi: Likewise.
24636         * doc/glibc-functions/lgetxattr.texi: Likewise.
24637         * doc/glibc-functions/listxattr.texi: Likewise.
24638         * doc/glibc-functions/llistxattr.texi: Likewise.
24639         * doc/glibc-functions/lremovexattr.texi: Likewise.
24640         * doc/glibc-functions/lsetxattr.texi: Likewise.
24641         * doc/glibc-functions/removexattr.texi: Likewise.
24642         * doc/glibc-functions/setxattr.texi: Likewise.
24643         * doc/posix-functions/open_memstream.texi: Likewise.
24644
24645 2008-12-15  Eric Blake  <ebb9@byu.net>
24646
24647         Update doc for cygwin 1.7.
24648         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
24649         functions.
24650         * doc/posix-functions/fchmodat.texi: Likewise.
24651         * doc/posix-functions/fchownat.texi: Likewise.
24652         * doc/posix-functions/fdopendir.texi: Likewise.
24653         * doc/posix-functions/fmemopen.texi: Likewise.
24654         * doc/posix-functions/freeaddrinfo.texi: Likewise.
24655         * doc/posix-functions/fstatat.texi: Likewise.
24656         * doc/posix-functions/futimens.texi: Likewise.
24657         * doc/posix-functions/gai_strerror.texi: Likewise.
24658         * doc/posix-functions/getaddrinfo.texi: Likewise.
24659         * doc/posix-functions/getnameinfo.texi: Likewise.
24660         * doc/posix-functions/if_freenameindex.texi: Likewise.
24661         * doc/posix-functions/if_indextoname.texi: Likewise.
24662         * doc/posix-functions/if_nameindex.texi: Likewise.
24663         * doc/posix-functions/if_nametoindex.texi: Likewise.
24664         * doc/posix-functions/insque.texi: Likewise.
24665         * doc/posix-functions/linkat.texi: Likewise.
24666         * doc/posix-functions/llrint.texi: Likewise.
24667         * doc/posix-functions/llrintf.texi: Likewise.
24668         * doc/posix-functions/llrintl.texi: Likewise.
24669         * doc/posix-functions/lockf.texi: Likewise.
24670         * doc/posix-functions/lrintl.texi: Likewise.
24671         * doc/posix-functions/mkdirat.texi: Likewise.
24672         * doc/posix-functions/mkfifoat.texi: Likewise.
24673         * doc/posix-functions/mknodat.texi: Likewise.
24674         * doc/posix-functions/mq_close.texi: Likewise.
24675         * doc/posix-functions/mq_getattr.texi: Likewise.
24676         * doc/posix-functions/mq_notify.texi: Likewise.
24677         * doc/posix-functions/mq_open.texi: Likewise.
24678         * doc/posix-functions/mq_receive.texi: Likewise.
24679         * doc/posix-functions/mq_send.texi: Likewise.
24680         * doc/posix-functions/mq_setattr.texi: Likewise.
24681         * doc/posix-functions/mq_timedreceive.texi: Likewise.
24682         * doc/posix-functions/mq_timedsend.texi: Likewise.
24683         * doc/posix-functions/mq_unlink.texi: Likewise.
24684         * doc/posix-functions/open_memstream.texi: Likewise.
24685         * doc/posix-functions/openat.texi: Likewise.
24686         * doc/posix-functions/posix_fadvise.texi: Likewise.
24687         * doc/posix-functions/posix_fallocate.texi: Likewise.
24688         * doc/posix-functions/posix_madvise.texi: Likewise.
24689         * doc/posix-functions/posix_memalign.texi: Likewise.
24690         * doc/posix-functions/posix_openpt.texi: Likewise.
24691         * doc/posix-functions/readlinkat.texi: Likewise.
24692         * doc/posix-functions/remque.texi: Likewise.
24693         * doc/posix-functions/renameat.texi: Likewise.
24694         * doc/posix-functions/rintl.texi: Likewise.
24695         * doc/posix-functions/sem_unlink.texi: Likewise.
24696         * doc/posix-functions/shm_open.texi: Likewise.
24697         * doc/posix-functions/shm_unlink.texi: Likewise.
24698         * doc/posix-functions/signgam.texi: Likewise.
24699         * doc/posix-functions/sigset.texi: Likewise.
24700         * doc/posix-functions/stpcpy.texi: Likewise.
24701         * doc/posix-functions/stpncpy.texi: Likewise.
24702         * doc/posix-functions/strerror.texi: Likewise.
24703         * doc/posix-functions/strtod.texi: Likewise.
24704         * doc/posix-functions/symlinkat.texi: Likewise.
24705         * doc/posix-functions/unlinkat.texi: Likewise.
24706         * doc/posix-functions/utimensat.texi: Likewise.
24707         * doc/glibc-functions/bindresvport.texi: Likewise.
24708         * doc/glibc-functions/dn_expand.texi: Likewise.
24709         * doc/glibc-functions/exp10.texi: Likewise.
24710         * doc/glibc-functions/exp10f.texi: Likewise.
24711         * doc/glibc-functions/fgetxattr.texi: Likewise.
24712         * doc/glibc-functions/flistxattr.texi: Likewise.
24713         * doc/glibc-functions/fopencookie.texi: Likewise.
24714         * doc/glibc-functions/freeifaddrs.texi: Likewise.
24715         * doc/glibc-functions/fremovexattr.texi: Likewise.
24716         * doc/glibc-functions/fsetxattr.texi: Likewise.
24717         * doc/glibc-functions/getifaddrs.texi: Likewise.
24718         * doc/glibc-functions/getxattr.texi: Likewise.
24719         * doc/glibc-functions/lgetxattr.texi: Likewise.
24720         * doc/glibc-functions/listxattr.texi: Likewise.
24721         * doc/glibc-functions/llistxattr.texi: Likewise.
24722         * doc/glibc-functions/lremovexattr.texi: Likewise.
24723         * doc/glibc-functions/lsetxattr.texi: Likewise.
24724         * doc/glibc-functions/pow10.texi: Likewise.
24725         * doc/glibc-functions/pow10f.texi: Likewise.
24726         * doc/glibc-functions/rcmd_af.texi: Likewise.
24727         * doc/glibc-functions/removexattr.texi: Likewise.
24728         * doc/glibc-functions/res_init.texi: Likewise.
24729         * doc/glibc-functions/res_mkquery.texi: Likewise.
24730         * doc/glibc-functions/res_query.texi: Likewise.
24731         * doc/glibc-functions/res_querydomain.texi: Likewise.
24732         * doc/glibc-functions/res_send.texi: Likewise.
24733         * doc/glibc-functions/rresvport_af.texi: Likewise.
24734         * doc/glibc-functions/setxattr.texi: Likewise.
24735         * doc/glibc-functions/strcasestr.texi: Likewise.
24736
24737 2008-12-15  Bruno Haible  <bruno@clisp.org>
24738
24739         Fix compilation error on OSF/1 4.0.
24740         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
24741         <sys/time.h>, simply delegate to the system header.
24742         Reported by Daniel Richard G. <oss@teragram.com>.
24743
24744 2008-12-15  Bruno Haible  <bruno@clisp.org>
24745
24746         * doc/posix-functions/openat.texi: Mention the 'openat' module.
24747         * doc/posix-functions/fchmodat.texi: Likewise.
24748         * doc/posix-functions/fchownat.texi: Likewise.
24749         * doc/posix-functions/fdopendir.texi: Likewise.
24750         * doc/posix-functions/fstatat.texi: Likewise.
24751         * doc/posix-functions/mkdirat.texi: Likewise.
24752         * doc/posix-functions/unlinkat.texi: Likewise.
24753
24754 2008-12-14  Bruno Haible  <bruno@clisp.org>
24755
24756         Update doc for POSIX:2008.
24757         * doc/posix-functions/faccessat.texi: New file.
24758         * doc/posix-functions/fchmodat.texi: New file.
24759         * doc/posix-functions/fchownat.texi: New file.
24760         * doc/posix-functions/fdopendir.texi: New file.
24761         * doc/posix-functions/fstatat.texi: New file.
24762         * doc/posix-functions/futimens.texi: New file.
24763         * doc/posix-functions/linkat.texi: New file.
24764         * doc/posix-functions/mkdirat.texi: New file.
24765         * doc/posix-functions/mkfifoat.texi: New file.
24766         * doc/posix-functions/mknodat.texi: New file.
24767         * doc/posix-functions/open_wmemstream.texi: New file.
24768         * doc/posix-functions/openat.texi: New file.
24769         * doc/posix-functions/psiginfo.texi: New file.
24770         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
24771         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
24772         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
24773         * doc/posix-functions/readlinkat.texi: New file.
24774         * doc/posix-functions/renameat.texi: New file.
24775         * doc/posix-functions/strerror_l.texi: New file.
24776         * doc/posix-functions/symlinkat.texi: New file.
24777         * doc/posix-functions/unlinkat.texi: New file.
24778         * doc/posix-functions/utimensat.texi: New file.
24779         * doc/gnulib.texi (Function Substitutes): Add these subsections.
24780
24781 2008-12-14  Bruno Haible  <bruno@clisp.org>
24782
24783         Update doc for POSIX:2008.
24784         * doc/posix-functions/alphasort.texi: Renamed from
24785         doc/glibc-functions/alphasort.texi.
24786         * doc/posix-functions/dirfd.texi: Renamed from
24787         doc/glibc-functions/dirfd.texi.
24788         * doc/posix-functions/dprintf.texi: Renamed from
24789         doc/glibc-functions/dprintf.texi.
24790         * doc/posix-functions/duplocale.texi: Renamed from
24791         doc/glibc-functions/duplocale.texi.
24792         * doc/posix-functions/fexecve.texi: Renamed from
24793         doc/glibc-functions/fexecve.texi.
24794         * doc/posix-functions/fmemopen.texi: Renamed from
24795         doc/glibc-functions/fmemopen.texi.
24796         * doc/posix-functions/freelocale.texi: Renamed from
24797         doc/glibc-functions/freelocale.texi.
24798         * doc/posix-functions/getdate_err.texi: Renamed from
24799         doc/glibc-functions/getdate_err.texi.
24800         * doc/posix-functions/isalnum_l.texi: Renamed from
24801         doc/glibc-functions/isalnum_l.texi.
24802         * doc/posix-functions/isalpha_l.texi: Renamed from
24803         doc/glibc-functions/isalpha_l.texi.
24804         * doc/posix-functions/isblank_l.texi: Renamed from
24805         doc/glibc-functions/isblank_l.texi.
24806         * doc/posix-functions/iscntrl_l.texi: Renamed from
24807         doc/glibc-functions/iscntrl_l.texi.
24808         * doc/posix-functions/isdigit_l.texi: Renamed from
24809         doc/glibc-functions/isdigit_l.texi.
24810         * doc/posix-functions/isgraph_l.texi: Renamed from
24811         doc/glibc-functions/isgraph_l.texi.
24812         * doc/posix-functions/islower_l.texi: Renamed from
24813         doc/glibc-functions/islower_l.texi.
24814         * doc/posix-functions/isprint_l.texi: Renamed from
24815         doc/glibc-functions/isprint_l.texi.
24816         * doc/posix-functions/ispunct_l.texi: Renamed from
24817         doc/glibc-functions/ispunct_l.texi.
24818         * doc/posix-functions/isspace_l.texi: Renamed from
24819         doc/glibc-functions/isspace_l.texi.
24820         * doc/posix-functions/isupper_l.texi: Renamed from
24821         doc/glibc-functions/isupper_l.texi.
24822         * doc/posix-functions/iswalnum_l.texi: Renamed from
24823         doc/glibc-functions/iswalnum_l.texi.
24824         * doc/posix-functions/iswalpha_l.texi: Renamed from
24825         doc/glibc-functions/iswalpha_l.texi.
24826         * doc/posix-functions/iswblank_l.texi: Renamed from
24827         doc/glibc-functions/iswblank_l.texi.
24828         * doc/posix-functions/iswcntrl_l.texi: Renamed from
24829         doc/glibc-functions/iswcntrl_l.texi.
24830         * doc/posix-functions/iswctype_l.texi: Renamed from
24831         doc/glibc-functions/iswctype_l.texi.
24832         * doc/posix-functions/iswdigit_l.texi: Renamed from
24833         doc/glibc-functions/iswdigit_l.texi.
24834         * doc/posix-functions/iswgraph_l.texi: Renamed from
24835         doc/glibc-functions/iswgraph_l.texi.
24836         * doc/posix-functions/iswlower_l.texi: Renamed from
24837         doc/glibc-functions/iswlower_l.texi.
24838         * doc/posix-functions/iswprint_l.texi: Renamed from
24839         doc/glibc-functions/iswprint_l.texi.
24840         * doc/posix-functions/iswpunct_l.texi: Renamed from
24841         doc/glibc-functions/iswpunct_l.texi.
24842         * doc/posix-functions/iswspace_l.texi: Renamed from
24843         doc/glibc-functions/iswspace_l.texi.
24844         * doc/posix-functions/iswupper_l.texi: Renamed from
24845         doc/glibc-functions/iswupper_l.texi.
24846         * doc/posix-functions/iswxdigit_l.texi: Renamed from
24847         doc/glibc-functions/iswxdigit_l.texi.
24848         * doc/posix-functions/isxdigit_l.texi: Renamed from
24849         doc/glibc-functions/isxdigit_l.texi.
24850         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
24851         doc/glibc-functions/mbsnrtowcs.texi.
24852         * doc/posix-functions/mkdtemp.texi: Renamed from
24853         doc/glibc-functions/mkdtemp.texi.
24854         * doc/posix-functions/newlocale.texi: Renamed from
24855         doc/glibc-functions/newlocale.texi.
24856         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
24857         doc/glibc-functions/nl_langinfo_l.texi.
24858         * doc/posix-functions/open_memstream.texi: Renamed from
24859         doc/glibc-functions/open_memstream.texi.
24860         * doc/posix-functions/opterr.texi: Renamed from
24861         doc/glibc-functions/opterr.texi.
24862         * doc/posix-functions/optind.texi: Renamed from
24863         doc/glibc-functions/optind.texi.
24864         * doc/posix-functions/optopt.texi: Renamed from
24865         doc/glibc-functions/optopt.texi.
24866         * doc/posix-functions/psignal.texi: Renamed from
24867         doc/glibc-functions/psignal.texi.
24868         * doc/posix-functions/scandir.texi: Renamed from
24869         doc/glibc-functions/scandir.texi.
24870         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
24871         doc/glibc-functions/sched_get_priority_min.texi.
24872         * doc/posix-functions/signgam.texi: Renamed from
24873         doc/glibc-functions/signgam.texi.
24874         * doc/posix-functions/stpcpy.texi: Renamed from
24875         doc/glibc-functions/stpcpy.texi.
24876         * doc/posix-functions/stpncpy.texi: Renamed from
24877         doc/glibc-functions/stpncpy.texi.
24878         * doc/posix-functions/strcasecmp_l.texi: Renamed from
24879         doc/glibc-functions/strcasecmp_l.texi.
24880         * doc/posix-functions/strcoll_l.texi: Renamed from
24881         doc/glibc-functions/strcoll_l.texi.
24882         * doc/posix-functions/strfmon_l.texi: Renamed from
24883         doc/glibc-functions/strfmon_l.texi.
24884         * doc/posix-functions/strftime_l.texi: Renamed from
24885         doc/glibc-functions/strftime_l.texi.
24886         * doc/posix-functions/strncasecmp_l.texi: Renamed from
24887         doc/glibc-functions/strncasecmp_l.texi.
24888         * doc/posix-functions/strndup.texi: Renamed from
24889         doc/glibc-functions/strndup.texi.
24890         * doc/posix-functions/strnlen.texi: Renamed from
24891         doc/glibc-functions/strnlen.texi.
24892         * doc/posix-functions/strsignal.texi: Renamed from
24893         doc/glibc-functions/strsignal.texi.
24894         * doc/posix-functions/strxfrm_l.texi: Renamed from
24895         doc/glibc-functions/strxfrm_l.texi.
24896         * doc/posix-functions/timer_gettime.texi: Renamed from
24897         doc/glibc-functions/timer_gettime.texi.
24898         * doc/posix-functions/tolower_l.texi: Renamed from
24899         doc/glibc-functions/tolower_l.texi.
24900         * doc/posix-functions/toupper_l.texi: Renamed from
24901         doc/glibc-functions/toupper_l.texi.
24902         * doc/posix-functions/towctrans_l.texi: Renamed from
24903         doc/glibc-functions/towctrans_l.texi.
24904         * doc/posix-functions/towlower_l.texi: Renamed from
24905         doc/glibc-functions/towlower_l.texi.
24906         * doc/posix-functions/towupper_l.texi: Renamed from
24907         doc/glibc-functions/towupper_l.texi.
24908         * doc/posix-functions/uselocale.texi: Renamed from
24909         doc/glibc-functions/uselocale.texi.
24910         * doc/posix-functions/vdprintf.texi: Renamed from
24911         doc/glibc-functions/vdprintf.texi.
24912         * doc/posix-functions/wcpcpy.texi:
24913         Renamed from doc/glibc-functions/wcpcpy.texi.
24914         * doc/posix-functions/wcpncpy.texi: Renamed from
24915         doc/glibc-functions/wcpncpy.texi.
24916         * doc/posix-functions/wcscasecmp.texi: Renamed from
24917         doc/glibc-functions/wcscasecmp.texi.
24918         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
24919         doc/glibc-functions/wcscasecmp_l.texi.
24920         * doc/posix-functions/wcscoll_l.texi: Renamed from
24921         doc/glibc-functions/wcscoll_l.texi.
24922         * doc/posix-functions/wcsdup.texi: Renamed from
24923         doc/glibc-functions/wcsdup.texi.
24924         * doc/posix-functions/wcsncasecmp.texi: Renamed from
24925         doc/glibc-functions/wcsncasecmp.texi.
24926         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
24927         doc/glibc-functions/wcsncasecmp_l.texi.
24928         * doc/posix-functions/wcsnlen.texi: Renamed from
24929         doc/glibc-functions/wcsnlen.texi.
24930         * doc/posix-functions/wcsnrtombs.texi: Renamed from
24931         doc/glibc-functions/wcsnrtombs.texi.
24932         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
24933         doc/glibc-functions/wcsxfrm_l.texi.
24934         * doc/posix-functions/wctrans_l.texi: Renamed from
24935         doc/glibc-functions/wctrans_l.texi.
24936         * doc/posix-functions/wctype_l.texi: Renamed from
24937         doc/glibc-functions/wctype_l.texi.
24938         * doc/gnulib.texi (Function Substitutes): Add these subsections.
24939         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
24940         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
24941         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
24942         these subsections.
24943         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
24944         Remove sections.
24945
24946 2008-12-14  Bruno Haible  <bruno@clisp.org>
24947
24948         Update doc for POSIX:2008.
24949         * doc/posix-functions/*.texi: Update URL of POSIX specification.
24950
24951 2008-12-14  Bruno Haible  <bruno@clisp.org>
24952
24953         Update doc for POSIX:2008.
24954         * doc/pastposix-functions/bcmp.texi: Renamed from
24955         doc/posix-functions/bcmp.texi.
24956         * doc/pastposix-functions/bcopy.texi: Renamed from
24957         doc/posix-functions/bcopy.texi.
24958         * doc/pastposix-functions/bsd_signal.texi: Renamed from
24959         doc/posix-functions/bsd_signal.texi.
24960         * doc/pastposix-functions/bzero.texi: Renamed from
24961         doc/posix-functions/bzero.texi.
24962         * doc/pastposix-functions/ecvt.texi: Renamed from
24963         doc/posix-functions/ecvt.texi.
24964         * doc/pastposix-functions/fcvt.texi: Renamed from
24965         doc/posix-functions/fcvt.texi.
24966         * doc/pastposix-functions/ftime.texi: Renamed from
24967         doc/posix-functions/ftime.texi.
24968         * doc/pastposix-functions/gcvt.texi: Renamed from
24969         doc/posix-functions/gcvt.texi.
24970         * doc/pastposix-functions/getcontext.texi: Renamed from
24971         doc/posix-functions/getcontext.texi.
24972         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
24973         doc/posix-functions/gethostbyaddr.texi.
24974         * doc/pastposix-functions/gethostbyname.texi: Renamed from
24975         doc/posix-functions/gethostbyname.texi.
24976         * doc/pastposix-functions/getwd.texi: Renamed from
24977         doc/posix-functions/getwd.texi.
24978         * doc/pastposix-functions/h_errno.texi: Renamed from
24979         doc/posix-functions/h_errno.texi.
24980         * doc/pastposix-functions/index.texi: Renamed from
24981         doc/posix-functions/index.texi.
24982         * doc/pastposix-functions/makecontext.texi: Renamed from
24983         doc/posix-functions/makecontext.texi.
24984         * doc/pastposix-functions/mktemp.texi: Renamed from
24985         doc/posix-functions/mktemp.texi.
24986         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
24987         doc/posix-functions/pthread_attr_getstackaddr.texi.
24988         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
24989         doc/posix-functions/pthread_attr_setstackaddr.texi.
24990         * doc/pastposix-functions/rindex.texi: Renamed from
24991         doc/posix-functions/rindex.texi.
24992         * doc/pastposix-functions/scalb.texi: Renamed from
24993         doc/posix-functions/scalb.texi.
24994         * doc/pastposix-functions/setcontext.texi: Renamed from
24995         doc/posix-functions/setcontext.texi.
24996         * doc/pastposix-functions/swapcontext.texi: Renamed from
24997         doc/posix-functions/swapcontext.texi.
24998         * doc/pastposix-functions/ualarm.texi: Renamed from
24999         doc/posix-functions/ualarm.texi.
25000         * doc/pastposix-functions/usleep.texi: Renamed from
25001         doc/posix-functions/usleep.texi.
25002         * doc/pastposix-functions/vfork.texi: Renamed from
25003         doc/posix-functions/vfork.texi.
25004         * doc/pastposix-functions/wcswcs.texi: Renamed from
25005         doc/posix-functions/wcswcs.texi.
25006         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
25007         (Function Substitutes): Update.
25008
25009 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25010
25011         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
25012         m4/strerror.m4.
25013
25014 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25015             Bruno Haible  <bruno@clisp.org>
25016
25017         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
25018
25019 2008-12-13  Bruno Haible  <bruno@clisp.org>
25020
25021         * modules/strtoull (Depends-on): Remove unistd.
25022
25023 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25024
25025         * modules/strtoull (Depends-on): Add stdlib.
25026
25027 2008-12-11  Simon Josefsson  <simon@josefsson.org>
25028
25029         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
25030
25031 2008-12-10  Jim Meyering  <meyering@redhat.com>
25032
25033         gl_ASSERT: don't say assertions are disabled when they're not
25034         * m4/assert.m4 (gl_ASSERT): Do not make configure report
25035         "checking whether to enable assertions... no", when they are in
25036         fact enabled.  This is solely a bug in the output of configure.
25037         In spite of saying "no", NDEBUG was not defined in that case.
25038         Also, as noted by Eric Blake, leave assertions enabled upon
25039         --enable-assert=INVALID.
25040
25041 2008-12-10  Bruno Haible  <bruno@clisp.org>
25042
25043         Change MODULES.html to refer to POSIX:2008 where possible.
25044         * MODULES.html.sh (POSIX2008_URL): New variable.
25045         (posix_headers): Remove sys/timeb, ucontext.
25046         (posix2001_headers): New variable.
25047         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
25048         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
25049         index, makecontext, mktemp, pthread_attr_getstackaddr,
25050         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
25051         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
25052         (posix2001_functions): New variable.
25053         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
25054         otherwise.
25055
25056 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25057
25058         add missing include to parse-duration.c
25059         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
25060         * modules/parse-duration (Depends-on): Add xalloc.
25061
25062         fix sed script reading maint.mk
25063         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
25064         (syntax-check-rules): Use it.
25065
25066 2008-12-09  Bruno Haible  <bruno@clisp.org>
25067
25068         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
25069         MacOS X 10.4/PowerPC.
25070         Reported by Simon Josefsson.
25071
25072 2008-12-08  Jim Meyering  <meyering@redhat.com>
25073
25074         work around mingw's lack of some S_IF definitions
25075         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
25076         Reported by Simon Josefsson.
25077
25078 2008-12-08  Bruno Haible  <bruno@clisp.org>
25079
25080         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
25081         applied to variables. Needed on MacOS X 10.4/PowerPC.
25082         Reported by Simon Josefsson.
25083
25084 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
25085         and Eric Blake  <ebb9@byu.net>
25086
25087         assert: honor --enable-assert
25088         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
25089         order to honor --enable-assert, rather than treating it as a
25090         synonym for --disable-assert.
25091
25092 2008-12-08  Jim Meyering  <meyering@redhat.com>
25093
25094         * lib/posixtm.c: Remove now-useless declaration of mktime.
25095
25096         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
25097
25098 2008-12-07  Bruno Haible  <bruno@clisp.org>
25099
25100         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
25101         test_once): Mark functions as static.
25102         * tests/test-tls.c (test_tls): Likewise.
25103
25104 2008-12-07  Bruno Haible  <bruno@clisp.org>
25105
25106         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
25107         iconv_register_autodetect.
25108
25109 2008-12-07  Jim Meyering  <meyering@redhat.com>
25110
25111         posixtm.c: avoid a warning
25112         * lib/posixtm.c (posixtime): Don't initialize tm0.
25113         It's no longer needed to placate gcc4's -Wuninitialized,
25114         and the attempt to placate would elicit a new warning.
25115
25116         unicodeio.c: mark unused parameters
25117         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
25118         (fallback_failure_callback): Likewise.
25119
25120 2008-12-07  Bruno Haible  <bruno@clisp.org>
25121
25122         * gnulib-tool (func_create_testdir): When building the tests
25123         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
25124         Reported by Simon Josefsson.
25125
25126 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25127
25128         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
25129
25130 2008-12-06  Bruno Haible  <bruno@clisp.org>
25131
25132         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
25133         Suggested by Eric Blake.
25134
25135 2008-12-06  Bruno Haible  <bruno@clisp.org>
25136
25137         Fix a c-stack test failure on MacOS X.
25138         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
25139         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
25140         handler for SIGBUS as well.
25141         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
25142         install a signal handler for SIGBUS as well.
25143         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
25144
25145 2008-12-06  Bruno Haible  <bruno@clisp.org>
25146
25147         Advocacy documentation.
25148         * doc/gnulib-intro.texi (Benefits): New section.
25149         * doc/gnulib.texi: Update.
25150
25151 2008-12-06  Bruno Haible  <bruno@clisp.org>
25152
25153         Document the 'manywarnings' module.
25154         * doc/manywarnings.texi: New file.
25155         * doc/gnulib.texi: Include it.
25156
25157 2008-12-05  Eric Blake  <ebb9@byu.net>
25158
25159         tests: silence some gcc warnings
25160         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
25161         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
25162         type mismatches.
25163
25164 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25165             Bruno Haible  <bruno@clisp.org>
25166
25167         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
25168
25169 2008-11-29  Jim Meyering  <meyering@redhat.com>
25170
25171         unicodeio.c: mark unused parameters
25172         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
25173         (fallback_failure_callback): Likewise.
25174
25175         fts: fix a thinko
25176         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
25177         (set_stat_type): Return S_IF*-valued "type" directly.
25178         Prompted by James Youngman's spotting a related bug.
25179         Confirmed by further testing through find.
25180
25181         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
25182         * lib/fts.c (D_TYPE): Define.
25183         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
25184         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
25185         (s_ifmt_shift_bits): New function.
25186         (set_stat_type): New function.
25187         (fts_build): When not calling fts_stat, call set_stat_type
25188         to propagate dirent.d_type info to fts_read caller.
25189         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
25190         fts_statp->st_mode type information may be valid.
25191
25192 2008-11-28  Simon Josefsson  <simon@josefsson.org>
25193
25194         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
25195         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
25196         <sds@gnu.org>.
25197
25198 2008-11-20  Bruno Haible  <bruno@clisp.org>
25199
25200         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
25201         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
25202         INCLUDE_NEXT.
25203         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
25204         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
25205         * modules/math (Makefile.am): Substitute
25206         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
25207         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25208
25209 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
25210             Bruno Haible  <bruno@clisp.org>
25211
25212         * lib/stdint.in.h: Define all type macros so that their expansion is
25213         a single typedef'ed token. Fixes a compilation failure in Boost which
25214         does "using ::int8_t;".
25215
25216 2008-11-18  Simon Josefsson  <simon@josefsson.org>
25217
25218         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
25219         gl_MANYWARN_ALL_GCC.
25220         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
25221         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
25222         * modules/manywarnings: New file.
25223         * MODULES.html.sh: Mention manywarnings module.
25224
25225 2008-11-18  Bruno Haible  <bruno@clisp.org>
25226
25227         * doc/gnulib-tool.texi (Unit tests): New section.
25228
25229 2008-11-18  Simon Josefsson  <simon@josefsson.org>
25230
25231         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
25232         paths like 'lib/po/foo.po'.
25233
25234 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25235
25236         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
25237         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
25238
25239 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25240
25241         * m4/warnings.m4: Use CPPFLAGS to really check whether the
25242         parameter works.
25243
25244 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25245
25246         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
25247
25248 2008-11-17  Bruce Korb  <bkorb@gnu.org>
25249
25250         * modules/parse-duration-tests: New file.
25251         * tests/test-parse-duration.sh: New file.
25252         * tests/test-parse-duration.c: New file.
25253
25254         New module 'parse-duration'.
25255         * lib/parse-duration.h: New file.
25256         * lib/parse-duration.c: New file.
25257         * modules/parse-duration: New file.
25258
25259 2008-11-17  Bruno Haible  <bruno@clisp.org>
25260
25261         * tests/test-select-out.sh: Comment out the first pipe test.
25262         Reported by Simon Josefsson.
25263
25264 2008-11-17  Bruno Haible  <bruno@clisp.org>
25265
25266         * modules/getaddrinfo (Depends-on): Add servent, hostent.
25267         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
25268         gl_HOSTENT.
25269
25270 2008-11-17  Bruno Haible  <bruno@clisp.org>
25271
25272         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
25273         -lnetwork and -lnet. Needed for Haiku and BeOS.
25274
25275 2008-11-16  Bruno Haible  <bruno@clisp.org>
25276
25277         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
25278
25279 2008-11-16  Bruno Haible  <bruno@clisp.org>
25280
25281         Avoid test failure on Haiku.
25282         * tests/test-fsync.c: Include <errno.h>.
25283         (main): Don't require that fsync (0) fails.
25284
25285 2008-11-15  Bruno Haible  <bruno@clisp.org>
25286
25287         New module 'hostent'.
25288         * modules/hostent: New file.
25289         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
25290
25291 2008-11-15  Bruno Haible  <bruno@clisp.org>
25292
25293         New module 'servent'.
25294         * modules/servent: New file.
25295         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
25296
25297 2008-11-15  Bruno Haible  <bruno@clisp.org>
25298
25299         Avoid generating same test program with two different rules.
25300         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
25301         test-frexp to test-frexp-nolibm.
25302         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
25303         test-frexpl to test-frexpl-nolibm.
25304
25305 2008-11-15  Bruno Haible  <bruno@clisp.org>
25306
25307         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
25308         $(FREXPL_LIBM).
25309
25310 2008-11-15  Bruno Haible  <bruno@clisp.org>
25311
25312         * lib/netdb.in.h: Activate the definitions also when the system's
25313         <netdb.h> has 'struct addrinfo'.
25314         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
25315         EAI_OVERFLOW or AI_NUMERICSERV.
25316         * doc/posix-headers/netdb.texi: Document the problem.
25317
25318 2008-11-15  Bruno Haible  <bruno@clisp.org>
25319
25320         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
25321
25322         Make the 'sched' module work on platforms where <sched.h> exists but
25323         is incomplete (such as Haiku).
25324         * lib/sched.in.h; Include the system's <sched.h> if it exists.
25325         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
25326         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
25327         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
25328         HAVE_STRUCT_SCHED_PARAM.
25329         * modules/sched (Depends-on): Add include_next.
25330         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
25331         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
25332         * doc/posix-headers/sched.texi: Document the issue.
25333
25334 2008-11-13  Jim Meyering  <meyering@redhat.com>
25335
25336         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
25337         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
25338         test would fail due to the difference in the Report bugs to ...
25339         line.  The expected address is empty, "<>", while the actual
25340         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
25341
25342 2008-11-12  Bruno Haible  <bruno@clisp.org>
25343
25344         lstat: don't compile lstat.c on systems lacking lstat
25345         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
25346         which don't have lstat; this is handled by lib/sys_stat.in.h already.
25347         Reported by Daniel P. Berrange via Jim Meyering.
25348
25349 2008-11-12  Jim Meyering  <meyering@redhat.com>
25350
25351         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
25352
25353 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25354
25355         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
25356         instead.
25357
25358 2008-11-12  Bruno Haible  <bruno@clisp.org>
25359
25360         * lib/unicodeio.c: Include unistr.h.
25361         (utf8_wctomb): Remove function.
25362         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
25363
25364 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25365
25366         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
25367         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
25368         <bruno@clisp.org>.
25369         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
25370
25371 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25372
25373         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
25374         * doc/gnulib.texi: Add section for warnings.
25375
25376 2008-11-11  Bruno Haible  <bruno@clisp.org>
25377
25378         * lib/sockets.h: Add a comment.
25379
25380 2008-11-11  Karl Berry  <karl@gnu.org>
25381
25382         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
25383
25384 2008-11-11  Eric Blake  <ebb9@byu.net>
25385
25386         fdl.texi: avoid git symlinks
25387         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
25388
25389 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25390
25391         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
25392
25393 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25394
25395         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
25396         (gl_WARN_ADD): Substitute $2 if literal.
25397
25398 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25399
25400         * m4/warning.m4: Remove.
25401
25402 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25403
25404         * m4/warnings.m4: Almost complete rewrite. :-)
25405
25406 2008-11-10  Simon Josefsson  <simon@josefsson.org>
25407
25408         * modules/warnings: New module.
25409         * m4/warnings.m4: New file.
25410         * MODULES.html.sh: Mention warnings module.
25411         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
25412         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25413
25414 2008-11-10  Eric Blake  <ebb9@byu.net>
25415
25416         fdl.texi: make a symlink to the latest version
25417         * doc/standards.texi: Revert today's earlier change.
25418         * doc/fdl-1.2.texi: Rename from old fdl.texi...
25419         * doc/fdl.texi: ...and replace this with a symlink to the newer
25420         fdl-1.3.texi.
25421
25422 2008-11-10  Bruno Haible  <bruno@clisp.org>
25423
25424         * tests/test-select-fd.c (main): Accept the result file name as fourth
25425         argument.
25426         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
25427         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
25428
25429 2008-11-10  Bruno Haible  <bruno@clisp.org>
25430
25431         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
25432         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
25433         as autoconf-substituted macros.
25434         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
25435         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
25436         gl_NETDB_H_DEFAULTS. Set these variables.
25437         * modules/netdb (Makefile.am): Substitute these variables.
25438
25439 2008-11-10  Eric Blake  <ebb9@byu.net>
25440
25441         standards.texi: include correct file for FDL 1.3
25442         * doc/standards.texi (GNU Free Documentation License): Change
25443         include file to pull in FDL 1.3, not 1.2.
25444
25445         fdl.texi: revert accidental change to license
25446         * doc/fdl.texi: This is FDL 1.2, not 1.3.
25447
25448 2008-11-10  Bruno Haible  <bruno@clisp.org>
25449
25450         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
25451         cross-compiling guesses also when the native compile gives no result.
25452
25453 2008-11-10  Bruno Haible  <bruno@clisp.org>
25454
25455         * lib/spawni.c (__spawni): Force variable into the stack.
25456
25457 2008-11-10  Bruno Haible  <bruno@clisp.org>
25458
25459         Add support for Haiku.
25460         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
25461         glibc and BeOS, but also on Haiku.
25462         * lib/fpurge.c (fpurge): Likewise.
25463         * lib/freadable.c (freadable): Likewise.
25464         * lib/freadahead.c (freadahead): Likewise.
25465         * lib/freading.c (freading): Likewise.
25466         * lib/freadptr.c (freadptr): Likewise.
25467         * lib/freadseek.c (freadptrinc): Likewise.
25468         * lib/fseeko.c (rpl_fseeko): Likewise.
25469         * lib/fseterr.c (fseterr): Likewise.
25470         * lib/fwritable.c (fwritable): Likewise.
25471         * lib/fwriting.c (fwriting): Likewise.
25472         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
25473
25474 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
25475
25476         * lib/config.charset: Treat Haiku like BeOS.
25477
25478 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
25479
25480         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
25481         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
25482
25483 2008-11-08  Bruno Haible  <bruno@clisp.org>
25484
25485         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
25486         AC_CACHE_CHECK.
25487
25488 2008-11-08  Bruno Haible  <bruno@clisp.org>
25489
25490         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
25491
25492 2008-11-08  Bruno Haible  <bruno@clisp.org>
25493
25494         * tests/test-select-fd.c: New file.
25495         * tests/test-select-in.sh: New file.
25496         * tests/test-select-out.sh: New file.
25497         * tests/test-select-stdin.c: New file.
25498         * modules/select-tests (Files): Add the new files.
25499         (Depends-on): Add gettimeofday.
25500         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
25501         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
25502         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
25503
25504 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
25505             Bruno Haible  <bruno@clisp.org>
25506
25507         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
25508
25509 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
25510
25511         * build-aux/pmccabe2html: Added support for C++ source files.
25512
25513 2008-11-05  Ben Pfaff  <blp@gnu.org>
25514
25515         Fix lib/close.c build on Windows.
25516         * modules/close (Files): Add lib/w32sock.h.
25517
25518 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
25519
25520         Accept Bison's NEWS format.
25521         * build-aux/announce-gen (print_news_deltas): Tweak
25522         $re_prefix.
25523
25524 2008-11-04  Bruno Haible  <bruno@clisp.org>
25525
25526         * modules/random_r (Maintainer): Add glibc.
25527
25528 2008-11-04  Simon Josefsson  <simon@josefsson.org>
25529
25530         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
25531         by karl@freefriends.org (Karl Berry).
25532         * doc/alloca.texi: Likewise.
25533         * doc/c-ctype.texi: Likewise.
25534         * doc/c-strcase.texi: Likewise.
25535         * doc/c-strcaseeq.texi: Likewise.
25536         * doc/c-strcasestr.texi: Likewise.
25537         * doc/c-strstr.texi: Likewise.
25538         * doc/c-strtod.texi: Likewise.
25539         * doc/c-strtold.texi: Likewise.
25540         * doc/ctime.texi: Likewise.
25541         * doc/error.texi: Likewise.
25542         * doc/fdl.texi: Likewise.
25543         * doc/gcd.texi: Likewise.
25544         * doc/getdate.texi: Likewise.
25545         * doc/gnulib-intro.texi: Likewise.
25546         * doc/gnulib-tool.texi: Likewise.
25547         * doc/gnulib.texi: Likewise.
25548         * doc/inet_ntoa.texi: Likewise.
25549         * doc/maintain.texi: Likewise.
25550         * doc/make-stds.texi: Likewise.
25551         * doc/quote.texi: Likewise.
25552         * doc/regexprops-generic.texi: Likewise.
25553         * doc/standards.texi: Likewise.
25554         * doc/verify.texi: Likewise.
25555         * doc/visibility.texi: Likewise.
25556         * doc/gnulib.texi (GNU Free Documentation License): Include
25557         fdl-1.3.texi instead of fdl.texi.
25558
25559 2008-11-04  Simon Josefsson  <simon@josefsson.org>
25560
25561         * doc/fdl-1.3.texi: New file, from
25562         <http://www.gnu.org/licenses/fdl-1.3.texi>.
25563         * modules/fdl-1.3: Add.
25564         * MODULES.html.sh: Add fdl-1.3.
25565
25566 2008-11-03  Bruno Haible  <bruno@clisp.org>
25567
25568         Make determination of absolute name of header file work with AIX xlc.
25569         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
25570         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
25571         preprocessing.
25572         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
25573         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
25574
25575 2008-11-03  Simon Josefsson  <simon@josefsson.org>
25576
25577         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
25578         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
25579         <ludo@gnu.org>.
25580
25581 2008-11-02  Bruno Haible  <bruno@clisp.org>
25582
25583         Mark 'strpbrk' obsolete.
25584         * modules/strpbrk (Status, Notice): New sections.
25585         * modules/strtok_r (Depends-on): Add strpbrk.
25586
25587 2008-11-02  Bruno Haible  <bruno@clisp.org>
25588
25589         Mark 'strdup' obsolete.
25590         * modules/strdup (Status, Notice): New sections.
25591         * modules/findprog (Depends-on): Add strdup.
25592         * modules/getaddrinfo (Depends-on): Likewise.
25593         * modules/localename (Depends-on): Likewise.
25594         * modules/relocatable-lib (Depends-on): Likewise.
25595         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
25596         * modules/relocatable-prog (Depends-on): Likewise.
25597         * modules/trim (Depends-on): Likewise.
25598         * modules/unictype/gen-ctype (Depends-on): Likewise.
25599         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
25600
25601 2008-11-02  Bruno Haible  <bruno@clisp.org>
25602
25603         Mark 'strcspn' obsolete.
25604         * modules/strcspn (Status, Notice): New sections.
25605
25606 2008-11-02  Bruno Haible  <bruno@clisp.org>
25607
25608         Mark 'rmdir' obsolete.
25609         * modules/rmdir (Status, Notice): New sections.
25610         * modules/clean-temp (Depends-on): Add rmdir.
25611         * modules/openat (Depends-on): Likewise.
25612
25613 2008-11-02  Bruno Haible  <bruno@clisp.org>
25614
25615         Mark 'raise' obsolete.
25616         * modules/raise (Status, Notice): New sections.
25617         (Include): Specify <signal.h>.
25618         * modules/stdio (Depends-on): Add raise.
25619         * modules/write (Depends-on): Likewise.
25620
25621 2008-11-02  Bruno Haible  <bruno@clisp.org>
25622
25623         Mark 'memset' obsolete.
25624         * modules/memset (Status, Notice): New sections.
25625
25626 2008-11-02  Bruno Haible  <bruno@clisp.org>
25627
25628         Mark 'memmove' obsolete.
25629         * modules/memmove (Status, Notice): New sections.
25630         * modules/argp (Depends-on): Add memmove.
25631         * modules/argz (Depends-on): Likewise.
25632         * modules/canonicalize (Depends-on): Likewise.
25633         * modules/canonicalize-lgpl (Depends-on): Likewise.
25634         * modules/fts (Depends-on): Likewise.
25635         * modules/getcwd (Depends-on): Likewise.
25636         * modules/human (Depends-on): Likewise.
25637         * modules/regex (Depends-on): Likewise.
25638         * modules/striconveh (Depends-on): Likewise.
25639         * modules/trim (Depends-on): Likewise.
25640         * modules/unistr/u8-move (Depends-on): Likewise.
25641         * modules/unistr/u16-move (Depends-on): Likewise.
25642         * modules/unistr/u32-move (Depends-on): Likewise.
25643
25644 2008-11-02  Bruno Haible  <bruno@clisp.org>
25645
25646         Mark 'memcpy' obsolete.
25647         * modules/memcpy (Status, Notice): New sections.
25648
25649 2008-11-02  Bruno Haible  <bruno@clisp.org>
25650
25651         Mark 'memcmp' obsolete.
25652         * modules/memcmp (Status, Notice): New sections.
25653         * modules/argmatch (Depends-on): Add memchr.
25654         * modules/backupfile (Depends-on): Likewise.
25655         * modules/c-strcasestr (Depends-on): Likewise.
25656         * modules/crypto/des (Depends-on): Likewise.
25657         * modules/csharpcomp (Depends-on): Likewise.
25658         * modules/fnmatch (Depends-on): Likewise.
25659         * modules/git-merge-changelog (Depends-on): Likewise.
25660         * modules/isnand (Depends-on): Likewise.
25661         * modules/isnand-nolibm (Depends-on): Likewise.
25662         * modules/isnanf (Depends-on): Likewise.
25663         * modules/isnanf-nolibm (Depends-on): Likewise.
25664         * modules/isnanl (Depends-on): Likewise.
25665         * modules/isnanl-nolibm (Depends-on): Likewise.
25666         * modules/mbchar (Depends-on): Likewise.
25667         * modules/memcoll (Depends-on): Likewise.
25668         * modules/quotearg (Depends-on): Likewise.
25669         * modules/regex (Depends-on): Likewise.
25670         * modules/relocatable-prog (Depends-on): Likewise.
25671         * modules/same (Depends-on): Likewise.
25672         * modules/signbit (Depends-on): Likewise.
25673         * modules/strcasestr-simple (Depends-on): Likewise.
25674         * modules/unictype/gen-ctype (Depends-on): Likewise.
25675         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
25676         * modules/uniname/uniname (Depends-on): Likewise.
25677         * modules/unistr/u8-cmp (Depends-on): Likewise.
25678
25679 2008-11-02  Bruno Haible  <bruno@clisp.org>
25680
25681         Mark 'memchr' obsolete.
25682         * modules/memchr (Status, Notice): New sections.
25683         * modules/argp (Depends-on): Add memchr.
25684         * modules/base64 (Depends-on): Likewise.
25685         * modules/c-strcasestr (Depends-on): Likewise.
25686         * modules/chdir-long (Depends-on): Likewise.
25687         * modules/fnmatch (Depends-on): Likewise.
25688         * modules/getsubopt (Depends-on): Likewise.
25689         * modules/git-merge-changelog (Depends-on): Likewise.
25690         * modules/glob (Depends-on): Likewise.
25691         * modules/strcasestr-simple (Depends-on): Likewise.
25692         * modules/strnlen (Depends-on): Likewise.
25693
25694 2008-11-02  Bruno Haible  <bruno@clisp.org>
25695
25696         Mark 'atexit' obsolete.
25697         * modules/atexit (Status, Notice): New sections.
25698         * modules/chdir-long (Depends-on): Add atexit.
25699         * modules/wait-process (Depends-on): Likewise.
25700
25701 2008-11-02  Bruno Haible  <bruno@clisp.org>
25702
25703         * gnulib-tool: New option --with-obsolete.
25704         (func_usage): Document it.
25705         (func_modules_transitive_closure): Drop obsolete dependencies if
25706         incobsolete is not true.
25707         (func_import): Read and save the incobsolete variable to the cache.
25708
25709 2008-11-02  Bruno Haible  <bruno@clisp.org>
25710
25711         * modules/TEMPLATE-EXTENDED: New field 'Status'.
25712         * gnulib-tool: New option --extract-status.
25713         (func_usage): Document it.
25714         (sed_extract_prog): Recognize it.
25715         (func_get_status): New function.
25716
25717 2008-10-30  Simon Josefsson  <simon@josefsson.org>
25718
25719         * modules/sockets (License): Change from LGPL to LGPLv2+.
25720
25721 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25722
25723         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
25724
25725 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25726
25727         * MODULES.html.sh (Support for systems lacking POSIX:2001):
25728         Mention times and sys_times.
25729         * modules/sys_times, modules/sys_times-tests: New modules.
25730         * modules/times, modules/times-tests: Likewise
25731         * m4/sys_times_h.m4: New file.
25732         * lib/sys_times.in.h: Likewise
25733         * lib/times.c: Likewise.
25734         * tests/test-sys_times.c: Likewise.
25735         * tests/test-times.c: Likewise.
25736         * doc/posix-headers/sys_times.texi: Update.
25737         * doc/posix-functions/times.texi: Update.
25738
25739 2008-10-28  Jim Meyering  <meyering@redhat.com>
25740
25741         * modules/tempname (Depends-on): Add lstat.
25742
25743         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
25744
25745 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25746
25747         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
25748         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
25749         using idiom used elsewhere in gnulib.
25750
25751 2008-10-27  Jim Meyering  <meyering@redhat.com>
25752
25753         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
25754
25755 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25756
25757         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
25758         TESTS_ENVIRONMENT, for shell scripts that needs to call built
25759         programs.
25760         * tests/test-argp-2.sh: Use $EXEEXT when needed.
25761
25762 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25763
25764         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
25765
25766 2008-10-27  Bruno Haible  <bruno@clisp.org>
25767
25768         * tests/test-lstat.c: Include <stdio.h>.
25769
25770 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25771
25772         * modules/lstat-tests: New module.
25773         * tests/test-lstat.c: New file.
25774
25775 2008-10-26  Jim Meyering  <meyering@redhat.com>
25776
25777         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
25778
25779 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25780             Bruno Haible  <bruno@clisp.org>
25781
25782         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
25783         * modules/configmake (Include): Add a note that the include must come
25784         after all system headers.
25785         * lib/javaversion.c: Include configmake.h after all other includes.
25786
25787 2008-10-26  Bruno Haible  <bruno@clisp.org>
25788
25789         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
25790         HAVE_STRUCT_RANDOM_DATA to 1.
25791         (gl_STDLIB_H): Simplify.
25792
25793 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25794
25795         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
25796         substitute HAVE_STRUCT_RANDOM_DATA.
25797         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
25798         random_data.
25799         * modules/stdlib (Makefile.am): Substitute
25800         HAVE_STRUCT_RANDOM_DATA.
25801
25802 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25803
25804         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
25805         * doc/gnulib-intro.texi (Copyright): Likewise.
25806
25807 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25808
25809         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
25810         findings.
25811
25812 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
25813             Bruno Haible  <bruno@clisp.org>
25814
25815         * lib/unistd.in.h: Include <winsock2.h>.
25816         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
25817         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
25818         Provide dummy declarations.
25819         (gethostname): Override.
25820         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
25821         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
25822         gl_PREREQ_SYS_H_WINSOCK2.
25823         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
25824         * doc/posix-functions/gethostname.texi: More details.
25825
25826 2008-10-25  Bruno Haible  <bruno@clisp.org>
25827
25828         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
25829         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
25830         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
25831
25832         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
25833         here ...
25834         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
25835         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
25836         gl_UNISTD_H_DEFAULTS.
25837
25838 2008-10-25  Eric Blake  <ebb9@byu.net>
25839
25840         signbit: avoid spurious compiler failure
25841         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
25842         declarations inside function.
25843
25844 2008-10-24  Simon Josefsson  <simon@josefsson.org>
25845             Bruno Haible  <bruno@clisp.org>
25846
25847         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
25848         * modules/random_r (Depends-on): Add stdint.
25849
25850 2008-10-24  Bruno Haible  <bruno@clisp.org>
25851
25852         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
25853         Eggert.
25854         * modules/strerror (License): Likewise.
25855
25856 2008-10-24  Jim Meyering  <meyering@redhat.com>
25857
25858         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
25859         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
25860
25861 2008-10-24  Eric Blake  <ebb9@byu.net>
25862
25863         getgroups: fix compilation when getgroups is available
25864         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
25865         but with <config.h> override of getgroups disabled.
25866
25867 2008-10-24  Simon Josefsson  <simon@josefsson.org>
25868
25869         * doc/gnulib.texi (Header files): Add note about C++ problems.
25870         Explained by Bruno Haible <bruno@clisp.org>.
25871
25872 2008-10-23  Bruno Haible  <bruno@clisp.org>
25873
25874         Define a dummy SA_NODEFER macro on Interix.
25875         * lib/signal.in.h (SA_NODEFER): Define fallback.
25876         Reported by Aleksey Cheusov <cheusov@tut.by> via
25877         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
25878
25879 2008-10-23  Bruno Haible  <bruno@clisp.org>
25880
25881         * modules/freadahead (License): Change to LGPLv2+.
25882         Suggested by Simon Josefsson.
25883
25884 2008-10-23  Jim Meyering  <meyering@redhat.com>
25885
25886         random_r: new module
25887         * modules/random_r: New file.
25888         * m4/random_r.m4: New file.
25889         * lib/random_r.c: New file, from glibc.
25890         * modules/random_r-tests: New file.
25891         * tests/test-random_r.c: New file.
25892         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
25893          Declare.
25894         (RAND_MAX): Define.
25895         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
25896         * modules/stdlib: Substitute them, too.
25897         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
25898         * doc/glibc-functions/initstate_r.texi: Mention the new module.
25899         * doc/glibc-functions/random_r.texi: Likewise.
25900         * doc/glibc-functions/setstate_r.texi: Likewise.
25901         * doc/glibc-functions/srandom_r.texi: Likewise.
25902         * config/srclist.txt: Mention it.
25903
25904 2008-10-23  David Lutterkort  <lutter@redhat.com>
25905
25906         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
25907         link requirement
25908
25909 2008-10-23  Jim Meyering  <meyering@redhat.com>
25910
25911         selinux-h: mark parameters of stub functions as intentionally unused
25912         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
25913         * lib/se-context.in.h: Likewise.
25914
25915 2008-10-22  Simon Josefsson  <simon@josefsson.org>
25916
25917         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
25918
25919 2008-10-22  Simon Josefsson  <simon@josefsson.org>
25920
25921         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
25922
25923 2008-10-22  Eric Blake  <ebb9@byu.net>
25924
25925         glthread/thread: avoid compiler warning
25926         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
25927         Add unreachable abort to silence compiler.
25928
25929 2008-10-22  Eric Blake  <ebb9@byu.net>
25930
25931         netdb: also supply struct addrinfo for cygwin 1.5.x
25932         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
25933         older cygwin.
25934         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
25935         cygwin.
25936         * doc/posix-headers/netdb.texi (netdb.h): Document this.
25937
25938 2008-10-22  Bruno Haible  <bruno@clisp.org>
25939
25940         * users.txt: Update entry about pspp.
25941
25942 2008-10-21  Bruno Haible  <bruno@clisp.org>
25943
25944         Simplification.
25945         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
25946         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
25947
25948         Simplification.
25949         * lib/ioctl.c (ioctl): Don't undefine.
25950         * lib/socket.c (socket): Don't undefine.
25951
25952         Remove unused module indicator macros.
25953         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
25954         GNULIB_$1 as a C macro.
25955
25956         * doc/posix-functions/close.texi: Undo last change.
25957         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
25958         Windows platforms.
25959
25960 2008-10-21  Bruno Haible  <bruno@clisp.org>
25961
25962         Add gethostname() declaration to <unistd.h>.
25963         * lib/unistd.in.h (gethostname): New declaration.
25964         * lib/gethostname.c: Include <unistd.h>.
25965         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
25966         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
25967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
25968         and HAVE_GETHOSTNAME.
25969         * modules/gethostname (Depends-on): Add unistd.
25970         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
25971         (Include): Specify <unistd.h>.
25972         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
25973         HAVE_GETHOSTNAME.
25974         * tests/test-gethostname.c: Include <unistd.h> first.
25975
25976 2008-10-21  Bruno Haible  <bruno@clisp.org>
25977
25978         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
25979         * modules/select-tests (Depends-on): Likewise.
25980         Reported by Simon Josefsson.
25981
25982 2008-10-21  Simon Josefsson  <simon@josefsson.org>
25983
25984         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
25985         * lib/accept.c: New file, based on winsock.c.
25986         * lib/bind.c: New file, based on winsock.c.
25987         * lib/connect.c: New file, based on winsock.c.
25988         * lib/getpeername.c: New file, based on winsock.c.
25989         * lib/getsockname.c: New file, based on winsock.c.
25990         * lib/getsockopt.c: New file, based on winsock.c.
25991         * lib/ioctl.c: New file, based on winsock.c.
25992         * lib/listen.c: New file, based on winsock.c.
25993         * lib/recv.c: New file, based on winsock.c.
25994         * lib/recvfrom.c: New file, based on winsock.c.
25995         * lib/send.c: New file, based on winsock.c.
25996         * lib/sendto.c: New file, based on winsock.c.
25997         * lib/setsockopt.c: New file, based on winsock.c.
25998         * lib/shutdown.c: New file, based on winsock.c.
25999         * lib/socket.c: New file, based on winsock.c.
26000         * lib/w32sock.h: New file, based on winsock.c.
26001         * lib/winsock.c: Remove file.
26002         * modules/accept: Likewise.
26003         * modules/bind: Likewise.
26004         * modules/connect: Likewise.
26005         * modules/getpeername: Likewise.
26006         * modules/getsockname: Likewise.
26007         * modules/getsockopt: Likewise.
26008         * modules/ioctl: Likewise.
26009         * modules/listen: Likewise.
26010         * modules/recv: Likewise.
26011         * modules/recvfrom: Likewise.
26012         * modules/send: Likewise.
26013         * modules/sendto: Likewise.
26014         * modules/setsockopt: Likewise.
26015         * modules/shutdown: Likewise.
26016         * modules/socket: Use socket.c instead of winsock.c.
26017         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
26018         * doc/posix-functions/accept.texi: Doc fix.
26019         * doc/posix-functions/bind.texi: Doc fix.
26020         * doc/posix-functions/close.texi: Doc fix.
26021         * doc/posix-functions/connect.texi: Doc fix.
26022         * doc/posix-functions/getpeername.texi: Doc fix.
26023         * doc/posix-functions/getsockname.texi: Doc fix.
26024         * doc/posix-functions/getsockopt.texi: Doc fix.
26025         * doc/posix-functions/ioctl.texi: Doc fix.
26026         * doc/posix-functions/listen.texi: Doc fix.
26027         * doc/posix-functions/recv.texi: Doc fix.
26028         * doc/posix-functions/recvfrom.texi: Doc fix.
26029         * doc/posix-functions/send.texi: Doc fix.
26030         * doc/posix-functions/sendto.texi: Doc fix.
26031         * doc/posix-functions/setsockopt.texi: Doc fix.
26032         * doc/posix-functions/shutdown.texi: Doc fix.
26033         * doc/posix-functions/socket.texi: Doc fix.
26034
26035 2008-10-20  Bruno Haible  <bruno@clisp.org>
26036
26037         Take into account the role of SIGABRT_COMPAT on Windows 2008.
26038         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
26039         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
26040         as an alias for SIGABRT.
26041         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
26042         (sigaction): Map it to SIGABRT.
26043         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
26044
26045 2008-10-20  Bruno Haible  <bruno@clisp.org>
26046
26047         * lib/fts.c: Don't include lstat.h.
26048         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
26049
26050         Move the lstat() declaration to <sys/stat.h>.
26051         * lib/lstat.h: Remove file.
26052         * lib/sys_stat.in.h: Add special invocation convention.
26053         (lstat): New declaration.
26054         * lib/lstat.c (orig_lstat): New function.
26055         (rpl_lstat): Use orig_lstat instead of lstat.
26056         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
26057         AC_C_INLINE. Set REPLACE_LSTAT.
26058         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
26059         and REPLACE_LSTAT.
26060         * modules/lstat (Files): Remove lib/lstat.h.
26061         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
26062         (Include): Specify <sys/stat.h> instead of lstat.h.
26063         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
26064         REPLACE_LSTAT.
26065         * NEWS: Mention the change.
26066
26067 2008-10-20  Bruno Haible  <bruno@clisp.org>
26068
26069         * modules/posix_spawn-tests: New file.
26070         * tests/test-posix_spawn3.c: New file.
26071
26072 2008-10-20  Bruno Haible  <bruno@clisp.org>
26073
26074         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
26075         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
26076         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
26077         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
26078         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
26079
26080 2008-10-20  Bruno Haible  <bruno@clisp.org>
26081
26082         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
26083         of posix_spawn on AIX 5.3.
26084
26085 2008-10-20  Bruno Haible  <bruno@clisp.org>
26086
26087         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
26088
26089 2008-10-20  Bruno Haible  <bruno@clisp.org>
26090
26091         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
26092         of AC_LANG_PROGRAM.
26093
26094 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26095
26096         * lib/netdb.in.h: Don't define GNU specific constants until they
26097         are supported or needed.  Reported by Bruno Haible
26098         <bruno@clisp.org>.
26099
26100 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26101
26102         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
26103
26104 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26105
26106         * lib/getaddrinfo.h: Remove file.
26107         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
26108         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
26109         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
26110         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
26111         * modules/netdb: Substitute GNULIB_GETADDRINFO.
26112         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
26113         * tests/test-getaddrinfo.c: Likewise.
26114         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
26115         * NEWS: Mention change.
26116
26117 2008-10-19  Bruno Haible  <bruno@clisp.org>
26118
26119         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
26120
26121 2008-10-19  Bruno Haible  <bruno@clisp.org>
26122
26123         * lib/wait-process.c: Include simply <sys/wait.h>.
26124         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
26125         WIFSTOPPED): Remove fallback definitions.
26126         * modules/wait-process (Depends-on): Add sys_wait.
26127
26128         New module 'sys_wait'.
26129         * modules/sys_wait: New file.
26130         * lib/sys_wait.in.h: New file, partially copied from
26131         lib/wait-process.c.
26132         * m4/sys_wait_h.m4: New file.
26133         * doc/posix-headers/sys_wait.texi: Mention the new module.
26134
26135 2008-10-19  Bruno Haible  <bruno@clisp.org>
26136
26137         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
26138
26139 2008-10-19  Bruno Haible  <bruno@clisp.org>
26140
26141         Assume that waitpid() fills an 'int' status, not a 'union wait'.
26142         * lib/wait-process.c (WAIT_T): Remove type.
26143         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
26144         (wait_subprocess): Update.
26145
26146 2008-10-19  Bruno Haible  <bruno@clisp.org>
26147
26148         New module 'atoll'.
26149         * modules/atoll: New file.
26150         * lib/stdlib.in.h (atoll): New declaration.
26151         * lib/atoll.c: New file, from glibc with modifications.
26152         * m4/atoll.m4: New file.
26153         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
26154         HAVE_ATOLL.
26155         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
26156         * doc/posix-functions/atoll.texi: Mention the new module.
26157
26158 2008-10-19  Bruno Haible  <bruno@clisp.org>
26159
26160         Add strtoull() declaration to <stdlib.h>.
26161         * lib/stdlib.in.h (strtoull): New declaration.
26162         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
26163         Set HAVE_STRTOULL.
26164         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
26165         HAVE_STRTOULL.
26166         * modules/strtoull (Depends-on): Add stdlib.
26167         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26168         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
26169         HAVE_STRTOULL.
26170
26171 2008-10-19  Bruno Haible  <bruno@clisp.org>
26172
26173         Add strtoll() declaration to <stdlib.h>.
26174         * lib/stdlib.in.h (strtoll): New declaration.
26175         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
26176         Set HAVE_STRTOLL.
26177         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
26178         HAVE_STRTOLL.
26179         * modules/strtoll (Depends-on): Add stdlib.
26180         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26181         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
26182
26183 2008-10-19  Bruno Haible  <bruno@clisp.org>
26184
26185         * modules/bcopy (Depends-on): Add strings.
26186         (Include): Specify <strings.h>.
26187
26188 2008-10-19  Bruno Haible  <bruno@clisp.org>
26189
26190         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
26191
26192 2008-10-19  Bruno Haible  <bruno@clisp.org>
26193
26194         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
26195         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
26196         mingw.
26197
26198 2008-10-19  Bruno Haible  <bruno@clisp.org>
26199
26200         * lib/atanl.c: Don't include isnanl.h.
26201         * lib/cosl.c: Likewise.
26202         * lib/ldexpl.c: Likewise.
26203         * lib/logl.c: Likewise.
26204         * lib/sinl.c: Likewise.
26205         * lib/sqrtl.c: Likewise.
26206         * lib/tanl.c: Likewise.
26207
26208         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
26209         * lib/isnanf.h: Remove file.
26210         * lib/isnand.h: Remove file.
26211         * lib/isnanl.h: Remove file.
26212         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
26213         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
26214         macros.
26215         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
26216         HAVE_ISNANF, don't define it as a C macro.
26217         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
26218         HAVE_ISNAND, don't define it as a C macro.
26219         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
26220         HAVE_ISNANL, don't define it as a C macro.
26221         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
26222         HAVE_ISNAN[FDL].
26223         * modules/isnanf (Files): Remove lib/isnanf.h.
26224         (Depends-on): Add math.
26225         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26226         (Include): Specify <math.h> instead of isnanf.h.
26227         * modules/isnand (Files): Remove lib/isnand.h.
26228         (Depends-on): Add math.
26229         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26230         (Include): Specify <math.h> instead of isnand.h.
26231         * modules/isnanl (Files): Remove lib/isnanl.h.
26232         (Depends-on): Add math.
26233         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26234         (Include): Specify <math.h> instead of isnanl.h.
26235         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
26236         HAVE_ISNAN[FDL].
26237         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
26238         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
26239         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
26240         * NEWS: Mention the change.
26241
26242 2008-10-18  Bruno Haible  <bruno@clisp.org>
26243
26244         Add getusershell(), setusershell(), endusershell() declarations to
26245         <unistd.h>.
26246         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
26247         declarations.
26248         * lib/getusershell.c: Include unistd.h.
26249         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
26250         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
26251         HAVE_GETUSERSHELL.
26252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
26253         and HAVE_GETUSERSHELL.
26254         * modules/getusershell (Depends-on): Add unistd, extensions.
26255         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26256         (Include): Specify <unistd.h>.
26257         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
26258         HAVE_GETUSERSHELL.
26259
26260 2008-10-18  Bruno Haible  <bruno@clisp.org>
26261
26262         Add a getloadavg() declaration to <stdlib.h>.
26263         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
26264         getloadavg declaration.
26265         (getloadavg): New declaration.
26266         * lib/getloadavg.c: Include <stdlib.h> first.
26267         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
26268         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
26269         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
26270         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
26271         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
26272         * modules/getloadavg (Depends-on): Add stdlib, extensions.
26273         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26274         (Include): Specify <stdlib.h>.
26275         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
26276         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
26277
26278 2008-10-18  Bruno Haible  <bruno@clisp.org>
26279
26280         * lib/dirchownmod.c: Don't include lchmod.h.
26281
26282         Move the lchmod() declaration to <sys/stat.h>.
26283         * lib/lchmod.h: Remove file.
26284         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
26285         (lchmod): New declaration, moved here from lib/lchown.h.
26286         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
26287         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
26288         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
26289         and HAVE_LCHMOD.
26290         * modules/lchmod (Files): Remove lib/lchmod.h.
26291         (Depends-on): Add sys_stat, extensions.
26292         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
26293         (Include): Specify <sys/stat.h> instead of lchmod.h.
26294         * modules/sys_stat (Depends-on): Add link-warning.
26295         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
26296         definition of GL_LINK_WARNING.
26297         * NEWS: Mention the change.
26298
26299 2008-10-18  Bruno Haible  <bruno@clisp.org>
26300
26301         * lib/fchdir.c: Don't include dirfd.h.
26302         * lib/fts.c: Likewise.
26303         * lib/getcwd.c: Likewise.
26304         * lib/glob.c: Likewise.
26305
26306         Move the dirfd() declaration to <dirent.h>.
26307         * lib/dirfd.h: Remove file.
26308         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
26309         (dirfd): New declaration.
26310         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
26311         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
26312         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
26313         HAVE_DECL_DIRFD.
26314         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
26315         HAVE_DECL_DIRFD.
26316         * modules/dirfd (Files): Remove lib/dirfd.h.
26317         (Depends-on): Add dirent, extensions.
26318         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
26319         (Include): Specify <dirent.h> instead of dirfd.h.
26320         * modules/dirent (Depends-on): Add link-warning.
26321         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
26322         definition of GL_LINK_WARNING.
26323         * NEWS: Mention the change.
26324
26325 2008-10-18  Bruno Haible  <bruno@clisp.org>
26326
26327         Move the euidaccess() declaration to <unistd.h>.
26328         * lib/euidaccess.h: Remove file.
26329         * lib/unistd.in.h (euidaccess): New declaration.
26330         * lib/euidaccess.c: Don't include euidaccess.h.
26331         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
26332         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
26333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
26334         and HAVE_EUIDACCESS.
26335         * modules/euidaccess (Files): Remove lib/euidaccess.h.
26336         (Depends-on): Add unistd.
26337         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26338         (Include): Specify <unistd.h> instead of euidaccess.h.
26339         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
26340         HAVE_EUIDACCESS.
26341         * NEWS: Mention the change.
26342
26343 2008-10-18  Bruno Haible  <bruno@clisp.org>
26344
26345         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
26346
26347         Move the getdomainname() declaration to <unistd.h>.
26348         * lib/getdomainname.h: Remove file.
26349         * lib/unistd.in.h (getdomainname): New declaration.
26350         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
26351         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
26352         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
26353         HAVE_GETDOMAINNAME.
26354         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26355         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
26356         * modules/getdomainname (Files): Remove lib/getdomainname.h.
26357         (Depends-on): Add unistd, extensions.
26358         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26359         (Includes): Specify <unistd.h> instead of getdomainname.h.
26360         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
26361         HAVE_GETDOMAINNAME.
26362         * NEWS: Mention the change.
26363
26364 2008-10-18  Bruno Haible  <bruno@clisp.org>
26365
26366         * modules/dirent: New file.
26367         * m4/dirent_h.m4: New file.
26368         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
26369         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
26370         * modules/fchdir (Files): Remove lib/dirent.in.h.
26371         (Depends-on): Add dirent.
26372         (Makefile.am): Move rules to modules/dirent.
26373         * doc/posix-headers/dirent.texi: Mention the new module.
26374
26375 2008-10-18  Bruno Haible  <bruno@clisp.org>
26376
26377         Avoid -Wunused-parameter warnings in public gnulib header files.
26378         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
26379         macro.
26380         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
26381
26382 2008-10-18  Bruno Haible  <bruno@clisp.org>
26383
26384         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
26385         * doc/glibc-functions/error.texi: Mention the module 'error'.
26386         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
26387         * doc/glibc-functions/getdomainname.texi: Mention the module
26388         'getdomainname'.
26389         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
26390         * doc/glibc-functions/getpagesize.texi: Mention the module
26391         'getpagesize'.
26392         * doc/glibc-functions/getusershell.texi: Mention the module
26393         'getusershell'.
26394         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
26395         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
26396         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
26397         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
26398         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
26399         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
26400         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
26401         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
26402         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
26403         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
26404         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
26405         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
26406         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
26407         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
26408
26409 2008-10-17  Bruno Haible  <bruno@clisp.org>
26410
26411         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
26412         HP-UX and IRIX, use -0.0L.
26413         * tests/test-ceill.c (minus_zero): Likewise.
26414         * tests/test-floorl.c (minus_zero): Likewise.
26415         * tests/test-frexpl.c (minus_zero): Likewise.
26416         * tests/test-isnan.c (minus_zerol): Likewise.
26417         * tests/test-isnanl.h (minus_zero): Likewise.
26418         * tests/test-ldexpl.c (minus_zero): Likewise.
26419         * tests/test-roundl.c (minus_zero): Likewise.
26420         * tests/test-signbit.c (minus_zerol): Likewise.
26421         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
26422         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
26423         * tests/test-truncl.c (minus_zero): Likewise.
26424         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
26425         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
26426         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
26427         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
26428
26429 2008-10-17  Bruno Haible  <bruno@clisp.org>
26430
26431         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
26432         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
26433         that it gets activated only for gcc >= 3.0.
26434         * lib/dirent.in.h: Likewise.
26435         * lib/errno.in.h: Likewise.
26436         * lib/fcntl.in.h: Likewise.
26437         * lib/float.in.h: Likewise.
26438         * lib/iconv.in.h: Likewise.
26439         * lib/inttypes.in.h: Likewise.
26440         * lib/locale.in.h: Likewise.
26441         * lib/math.in.h: Likewise.
26442         * lib/netdb.in.h: Likewise.
26443         * lib/netinet_in.in.h: Likewise.
26444         * lib/search.in.h: Likewise.
26445         * lib/signal.in.h: Likewise.
26446         * lib/spawn.in.h: Likewise.
26447         * lib/stdarg.in.h: Likewise.
26448         * lib/stdint.in.h: Likewise.
26449         * lib/stdio.in.h: Likewise.
26450         * lib/stdlib.in.h: Likewise.
26451         * lib/string.in.h: Likewise.
26452         * lib/strings.in.h: Likewise.
26453         * lib/sys_file.in.h: Likewise.
26454         * lib/sys_ioctl.in.h: Likewise.
26455         * lib/sys_select.in.h: Likewise.
26456         * lib/sys_socket.in.h: Likewise.
26457         * lib/sys_stat.in.h: Likewise.
26458         * lib/sys_time.in.h: Likewise.
26459         * lib/sysexits.in.h: Likewise.
26460         * lib/time.in.h: Likewise.
26461         * lib/unistd.in.h: Likewise.
26462         * lib/wchar.in.h: Likewise.
26463         * lib/wctype.in.h: Likewise.
26464         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26465
26466 2008-10-17  Jim Meyering  <meyering@redhat.com>
26467
26468         ignore-value: don't depend on inline module
26469         * modules/ignore-value (Depends-on): Remove 'inline'.
26470         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
26471         Suggestion from Bruno Haible.
26472
26473 2008-10-17  Bruno Haible  <bruno@clisp.org>
26474
26475         New implementation of condition variables for Win32.
26476         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
26477         (gl_linked_waitqueue_t): New type.
26478         (gl_cond_t): Use it.
26479         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
26480         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
26481         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
26482         (glthread_cond_init_func, glthread_cond_wait_func,
26483         glthread_cond_timedwait_func, glthread_cond_signal_func,
26484         glthread_cond_broadcast_func, glthread_cond_destroy_func):
26485         Reimplemented on the basis of gl_linked_waitqueue_t.
26486         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
26487         gl_waitqueue_t.
26488         (gl_rwlock_t): Update.
26489         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
26490
26491 2008-10-17  Simon Josefsson  <simon@josefsson.org>
26492
26493         * modules/recvfrom (Depends-on): Add dependency on getpeername.
26494         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26495
26496 2008-10-17  Jim Meyering  <meyering@redhat.com>
26497
26498         ignore-value: new module
26499         * modules/ignore-value: New file.
26500         * lib/ignore-value.h: New file.
26501         * MODULES.html.sh (Compiler warning management): New section,
26502         just for this module.  More to come.
26503
26504 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
26505
26506         open-safer.c: avoid 'signed and unsigned in conditional...' warning
26507         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
26508         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
26509
26510 2008-10-16  Jim Meyering  <meyering@redhat.com>
26511
26512         openat-die.c: avoid 'no previous prototype' warning
26513         * lib/openat-die.c: Include "openat.h".
26514         Reported by Reuben Thomas <rrt@sc3d.org>.
26515
26516 2008-10-16  Simon Josefsson  <simon@josefsson.org>
26517
26518         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
26519         * lib/netdb.in.h: Fix typo.
26520         Reported by Bruno Haible  <bruno@clisp.org>
26521
26522         * lib/netdb.in.h: Include sys/socket.h for platforms without
26523         netdb.h, to get structures like hostent on MinGW.
26524         * modules/netdb (Depends-on): Add sys_socket.
26525
26526 2008-10-15  Simon Josefsson  <simon@josefsson.org>
26527
26528         * modules/netdb, modules/netdb-tests: New file.
26529         * m4/netdb_h.m4: New file.
26530         * lib/netdb.in.h: Add, currently just an empty file pending
26531         definitions.
26532         * tests/test-netdb.c: New file.
26533         * doc/posix-headers/netdb.texi: Mention that we replace it if
26534         needed.
26535         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26536         netdb.
26537
26538 2008-10-15  Simon Josefsson  <simon@josefsson.org>
26539
26540         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
26541         with code.
26542
26543 2008-10-13  Bruno Haible  <bruno@clisp.org>
26544
26545         * lib/glthread/cond.c (glthread_cond_wait_func,
26546         glthread_cond_timedwait_func): Add a comment.
26547
26548 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26549
26550         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
26551         * tests/test-select.c: Likewise,
26552
26553 2008-10-13  Bruno Haible  <bruno@clisp.org>
26554
26555         * lib/glthread/cond.c (glthread_cond_wait_func,
26556         glthread_cond_timedwait_func): Fix variable name.
26557         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26558
26559 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
26560
26561         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
26562         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
26563         struct sockaddr.sa_len.
26564         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
26565
26566 2008-10-13  Simon Josefsson  <simon@josefsson.org>
26567
26568         * build-aux/pmccabe2html: Add css and css_url parameters.
26569
26570 2008-10-12  Bruno Haible  <bruno@clisp.org>
26571
26572         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
26573         calling aclx_get.
26574         Reported by Rainer Tammer <tammer@tammer.net>.
26575
26576 2008-10-12  Bruno Haible  <bruno@clisp.org>
26577
26578         Use msvcrt aware primitives for creation/termination of Win32 threads.
26579         * lib/glthread/thread.c: Include <process.h>.
26580         (glthread_create_func): Use _beginthreadex instead of CreateThread.
26581         (wrapper_func): Update signature.
26582         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
26583
26584 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26585             Bruno Haible  <bruno@clisp.org>
26586
26587         Provide a Win32 implementation of the 'cond' module.
26588         * lib/glthread/cond.h [USE_WIN32]: New implementation.
26589         * lib/glthread/cond.c (glthread_cond_init_func,
26590         glthread_cond_wait_func, glthread_cond_timedwait_func,
26591         glthread_cond_signal_func, glthread_cond_broadcast_func,
26592         glthread_cond_destroy_func) [USE_WIN32]: New functions.
26593         * modules/cond (Dependencies): Add gettimeofday.
26594
26595 2008-10-11  Bruno Haible  <bruno@clisp.org>
26596
26597         Make sleep work on older versions of mingw.
26598         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
26599         only whether it exists.
26600         * doc/posix-functions/sleep.texi: Mention the problem with older
26601         versions of mingw.
26602
26603 2008-10-11  Bruno Haible  <bruno@clisp.org>
26604
26605         New module 'shutdown'.
26606         * modules/shutdown: New file.
26607         * lib/sys_socket.in.h (shutdown): New declaration.
26608         * lib/winsock.c (shutdown): New function.
26609         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
26610         GNULIB_SHUTDOWN.
26611         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
26612         * doc/posix-functions/shutdown.texi: Document the new module.
26613
26614 2008-10-11  Jim Meyering  <meyering@redhat.com>
26615
26616         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
26617
26618 2008-10-11  Bruno Haible  <bruno@clisp.org>
26619
26620         New module 'fclose'.
26621         * modules/fclose: New file.
26622         * lib/stdio.in.h (fclose): New declaration.
26623         * lib/fclose.c: New file.
26624         * m4/fclose.m4: New file.
26625         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
26626         REPLACE_FCLOSE.
26627         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
26628         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
26629         REPLACE_FCLOSE.
26630         * modules/close (Depends-on): fclose.
26631         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
26632
26633 2008-10-11  Bruno Haible  <bruno@clisp.org>
26634
26635         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
26636         set errno and don't call _close.
26637
26638 2008-10-10  Bruno Haible  <bruno@clisp.org>
26639
26640         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
26641         ACL, not afterwards. Fixes test failure on Cygwin.
26642
26643 2008-10-09  Ben Pfaff  <blp@gnu.org>
26644
26645         * build-aux/announce-gen: Fix gnulib version related part of usage
26646         message.  Die with a useful error message if no tarballs are
26647         found.
26648
26649 2008-10-10  Jim Meyering  <meyering@redhat.com>
26650
26651         bootstrap: use git's --depth=N option only if it's supported
26652         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
26653         recognize the --depth option.  Reported by Pádraig Brady.
26654
26655 2008-10-09  Bruno Haible  <bruno@clisp.org>
26656
26657         New module 'ioctl'.
26658         * modules/ioctl: New file.
26659         * lib/sys_socket.in.h (ioctl): Remove declaration.
26660         * lib/winsock.c: Include <sys/ioctl.h>.
26661         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
26662         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
26663         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
26664         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
26665         * doc/posix-functions/ioctl.texi: Mention the new module.
26666
26667 2008-10-09  Bruno Haible  <bruno@clisp.org>
26668
26669         New module 'sys_ioctl'.
26670         * lib/sys_ioctl.in.h: New file.
26671         * m4/sys_ioctl_h.m4: New file.
26672         * modules/sys_ioctl: New file.
26673         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
26674
26675 2008-10-09  Bruno Haible  <bruno@clisp.org>
26676
26677         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
26678         * lib/winsock.c: Include <stdarg.h>.
26679         (rpl_ioctl): Change to second argument 'int' and then varargs.
26680
26681 2008-10-09  Bruno Haible  <bruno@clisp.org>
26682
26683         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
26684         when the sys_socket module is present and the system has <winsock2.h>.
26685
26686 2008-10-09  Bruno Haible  <bruno@clisp.org>
26687
26688         * doc/posix-functions/close.texi: Mention module 'close' instead of
26689         module 'sys_socket'.
26690
26691 2008-10-09  Bruno Haible  <bruno@clisp.org>
26692
26693         * doc/glibc-headers/sys_ioctl.texi: New file.
26694         * doc/gnulib.texi: Include it.
26695
26696 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26697             Bruno Haible  <bruno@clisp.org>
26698
26699         Combine the two replacements of 'close'.
26700         * lib/sys_socket.in.h (close): Define to a reminder to include
26701         <unistd.h>.
26702         (_gl_close_fd_maybe_socket): New declaration.
26703         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
26704         * lib/winsock.c (close): Remove undefinition.
26705         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
26706         needed for the gnulib module 'close'.
26707         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
26708         define to an error symbol or to a warning, if suitable.
26709         * lib/close.c: Include <sys/socket.h>.
26710         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
26711         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
26712         UNISTD_H_HAVE_WINSOCK2_H.
26713         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
26714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26715         UNISTD_H_HAVE_WINSOCK2_H.
26716         * modules/sys_socket (Files): Add m4/unistd_h.m4.
26717         (configure.ac): Set a module indicator.
26718         (Makefile.am): Substitute GNULIB_CLOSE.
26719         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
26720         * modules/poll-tests (Depends-on): Add close.
26721         * modules/select-tests (Depends-on): Likewise.
26722
26723 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26724             Bruno Haible  <bruno@clisp.org>
26725
26726         New module 'close'.
26727         * modules/close: New file.
26728         * lib/unistd.in.h (close): Move declaration out of the
26729         FCHDIR_REPLACEMENT scope.
26730         (_gl_unregister_fd): New declaration.
26731         * lib/close.c: New file.
26732         * lib/fchdir.c (rpl_close): Remove function.
26733         * m4/close.m4: New file.
26734         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
26735         close.
26736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
26737         REPLACE_CLOSE.
26738         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
26739         REPLACE_CLOSE.
26740         * modules/fchdir (Depends-on): Add close.
26741
26742 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26743             Bruno Haible  <bruno@clisp.org>
26744
26745         * lib/fcntl.in.h (open): Simplify conditionals.
26746         (_gl_register_fd): New declaration.
26747         * lib/fchdir.c (rpl_open): Remove function.
26748         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
26749         also.
26750         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
26751         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
26752         open.
26753
26754 2008-10-09  Jim Meyering  <meyering@redhat.com>
26755
26756         GNUmakefile: use the more name-space-friendly "_version"
26757         * top/GNUmakefile (_dummy): Update.
26758         (_version): Rename from "version".
26759
26760 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26761             Bruno Haible  <bruno@clisp.org>
26762
26763         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
26764         rpl_close.
26765         (_gl_register_fd): New function, extracted from rpl_open.
26766         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
26767         (rpl_open, rpl_opendir): Use _gl_register_fd.
26768
26769 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26770
26771         Fix organization of 'open' replacement.
26772         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
26773         (gl_FUNC_OPEN): Use it.
26774         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
26775
26776 2008-10-08  Bruno Haible  <bruno@clisp.org>
26777
26778         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
26779
26780 2008-10-08  Simon Josefsson  <simon@josefsson.org>
26781
26782         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
26783         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
26784         listen).
26785
26786 2008-10-08  Eric Blake  <ebb9@byu.net>
26787
26788         GNUmakefile: add 'make version' target
26789         * top/GNUmakefile (_curr-ver): Split version update rules...
26790         (version): ...into a target.
26791
26792 2008-10-07  Bruno Haible  <bruno@clisp.org>
26793
26794         Use a more portable replacement expression for -0.0L.
26795         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
26796         instead of -0.0L. Fix m4 quotation.
26797
26798         * tests/test-signbit.c: Include <float.h>.
26799         (minus_zero): New variable.
26800         (test_signbitl): Use minus_zero instead of -zero.
26801         * modules/signbit-tests (Depends-on): Add float.
26802
26803         * tests/test-ceill.c: Include <float.h>.
26804         (zero): Remove variable.
26805         (minus_zero): New variable.
26806         (main): Use minus_zero instead of -zero.
26807         * modules/ceill-tests (Depends-on): Add float.
26808
26809         * tests/test-floorl.c: Include <float.h>.
26810         (zero): Remove variable.
26811         (minus_zero): New variable.
26812         (main): Use minus_zero instead of -zero.
26813         * modules/floorl-tests (Depends-on): Add float.
26814
26815         * tests/test-roundl.c: Include <float.h>.
26816         (zero): Remove variable.
26817         (minus_zero): New variable.
26818         (main): Use minus_zero instead of -zero.
26819         * modules/roundl-tests (Depends-on): Add float.
26820
26821         * tests/test-truncl.c: Include <float.h>.
26822         (zero): Remove variable.
26823         (minus_zero): New variable.
26824         (main): Use minus_zero instead of -zero.
26825         * modules/truncl-tests (Depends-on): Add float.
26826
26827         * tests/test-frexpl.c (zero): Remove variable.
26828         (minus_zero): New variable.
26829         (main): Use minus_zero instead of -zero.
26830         * modules/frexpl-tests (Depends-on): Add float.
26831
26832         * tests/test-isnan.c (zerol): Remove variable.
26833         (minus_zerol): New variable.
26834         (test_long_double): Use minus_zerol instead of -zerol.
26835         * modules/isnan-tests (Depends-on): Add float.
26836
26837         * tests/test-isnanl.h (zero): Remove variable.
26838         (minus_zero): New variable.
26839         (main): Use minus_zero instead of -zero.
26840         * modules/isnanl-nolibm-tests (Depends-on): Add float.
26841         * modules/isnanl-tests (Depends-on): Add float.
26842
26843         * tests/test-ldexpl.c (zero): Remove variable.
26844         (minus_zero): New variable.
26845         (main): Use minus_zero instead of -zero.
26846         * modules/ldexpl-tests (Depends-on): Add float.
26847
26848         * tests/test-snprintf-posix.h (zerol): Remove variable.
26849         (minus_zerol): New variable.
26850         (test_function): Use minus_zerol instead of -zerol.
26851         * modules/snprintf-posix-tests (Depends-on): Add float.
26852         * modules/vsnprintf-posix-tests (Depends-on): Add float.
26853
26854         * tests/test-sprintf-posix.h (zerol): Remove variable.
26855         (minus_zerol): New variable.
26856         (test_function): Use minus_zerol instead of -zerol.
26857         * modules/sprintf-posix-tests (Depends-on): Add float.
26858         * modules/vsprintf-posix-tests (Depends-on): Add float.
26859
26860         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
26861         (minus_zerol): New variable.
26862         (test_function): Use minus_zerol instead of -zerol.
26863         * modules/vasnprintf-posix-tests (Depends-on): Add float.
26864
26865         * tests/test-vasprintf-posix.c (zerol): Remove variable.
26866         (minus_zerol): New variable.
26867         (test_function): Use minus_zerol instead of -zerol.
26868         * modules/vasprintf-posix-tests (Depends-on): Add float.
26869
26870 2008-10-07  Simon Josefsson  <simon@josefsson.org>
26871
26872         * MODULES.html.sh (Support for building documentation): Mention
26873         pmccabe2html.  Sort entries.
26874
26875         Add pmccabe2html module, from gnupdf.
26876         * build-aux/pmccabe.css: New file.
26877         * build-aux/pmccabe2html: New file.
26878         * m4/pmccabe2html.m4: New file.
26879         * modules/pmccabe2html: New file.
26880
26881 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
26882
26883         flock: new module
26884         * MODULES.html.sh: Add to list of modules.
26885         * lib/flock.c: flock implementation for Windows and Unix systems
26886         which have fcntl.
26887         * doc/glibc-functions/flock.texi: Update documentation.
26888         * lib/sys_file.in.h: <sys/file.h> header file.
26889         * m4/flock.m4: M4 macros.
26890         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
26891         * modules/flock: flock module.
26892         * modules/flock-tests: flock tests module.
26893         * modules/sys_file: sys/file.h module.
26894         * tests/test-flock.c: test suite for flock.
26895
26896 2008-10-06  Jim Meyering  <meyering@redhat.com>
26897
26898         bootstrap: check for LT_INIT more portably still ;-)
26899         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
26900         Spotted by Bruno Haible.
26901
26902 2008-10-06  Eric Blake  <ebb9@byu.net>
26903
26904         test-signbit: avoid tripping Irix cc bug on -0.0L
26905         * tests/test-signbit.c (minus_zerol): Delete, and replace with
26906         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
26907         entire testsuite consistent and avoids an Irix 6.2 bug.
26908
26909 2008-10-05  Bruno Haible  <bruno@clisp.org>
26910             Jim Meyering  <jim@meyering.net>
26911
26912         Add an option for ignoring EPIPE during close_stdout.
26913         * lib/closeout.h: Include <stdbool.h>.
26914         (close_stdout_set_ignore_EPIPE): New declaration.
26915         * lib/closeout.c: Include <stdbool.h>.
26916         (ignore_EPIPE): New variable.
26917         (close_stdout_set_ignore_EPIPE): New function.
26918         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
26919         * lib/close-stream.c (close_stream): Mention the possible EPIPE
26920         failure.
26921         * modules/closeout (Depends-on): Add stdbool.
26922
26923 2008-10-05  Bruno Haible  <bruno@clisp.org>
26924
26925         * modules/accept: New file.
26926         * modules/bind: New file.
26927         * modules/connect: New file.
26928         * modules/getpeername: New file.
26929         * modules/getsockname: New file.
26930         * modules/getsockopt: New file.
26931         * modules/listen: New file.
26932         * modules/recv: New file.
26933         * modules/recvfrom: New file.
26934         * modules/send: New file.
26935         * modules/sendto: New file.
26936         * modules/setsockopt: New file.
26937         * modules/socket: New file.
26938         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
26939         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26940         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
26941         the particular module is requested. Add a link warning when the
26942         particular module is not requested.
26943         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
26944         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
26945         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
26946         the particular module is requested.
26947         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
26948         gl_SYS_SOCKET_H_DEFAULTS): New macros.
26949         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
26950         * modules/sys_socket (Depends-on): Add link-warning.
26951         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
26952         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
26953         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
26954         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
26955         GL_LINK_WARNING.
26956         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
26957         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
26958         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
26959         * doc/posix-functions/getpeername.texi: Mention the new module
26960         'getpeername'.
26961         * doc/posix-functions/getsockname.texi: Mention the new module
26962         'getsockname'.
26963         * doc/posix-functions/getsockopt.texi: Mention the new module
26964         'getsockopt'.
26965         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
26966         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
26967         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
26968         * doc/posix-functions/send.texi: Mention the new module 'send'.
26969         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
26970         * doc/posix-functions/setsockopt.texi: Mention the new module
26971         'setsockopt'.
26972         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
26973         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
26974         listen, connect, accept.
26975         * modules/select-tests (Depends-on): Likewise.
26976
26977 2008-10-05  Bruno Haible  <bruno@clisp.org>
26978
26979         * lib/winsock.c (strerror): Remove unused #undef.
26980         (rpl_close): Remove unused local variable.
26981
26982         * modules/sys_socket (Depends-on); Add errno.
26983
26984 2008-10-05  Bruno Haible  <bruno@clisp.org>
26985
26986         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
26987         (select): Add a link warning when the 'select' module is not used.
26988         * modules/sys_select (Depends-on): Add link-warning.
26989         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
26990         Suggested by Paolo Bonzini.
26991
26992 2008-10-05  Jim Meyering  <meyering@redhat.com>
26993
26994         bootstrap: check for LT_INIT more portably
26995         * build-aux/bootstrap: Avoid using grep -E, since it's not
26996         portable enough.  Suggestion from Bruno Haible.
26997
26998 2008-10-05  Bruno Haible  <bruno@clisp.org>
26999
27000         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
27001         as being fixed by gnulib.
27002
27003 2008-10-05  Bruno Haible  <bruno@clisp.org>
27004
27005         * modules/select-tests: New file, mostly copied from
27006         modules/sys_select-tests.
27007         * tests/test-select.c: New file, mostly copied from
27008         tests/test-sys_select.c.
27009         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
27010         * modules/sys_select-tests (Depends-on): Remove all dependencies.
27011         (Makefile.am): Remove test_sys_select_LDADD.
27012
27013         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
27014         to an undefined symbol, for an error message.
27015         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
27016         (gl_SYS_SELECT_H_DEFAULTS): New macro.
27017         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
27018         winsock-select.c here.
27019         * modules/sys_select (Files): Remove lib/winsock-select.c.
27020         (Depends-on): Remove alloca.
27021         (Makefile.am): Substitute GNULIB_SELECT.
27022         * modules/select: New file.
27023         * doc/posix-functions/select.texi: Update.
27024
27025 2008-10-05  Bruno Haible  <bruno@clisp.org>
27026
27027         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
27028         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
27029         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
27030         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
27031         getdtablesize.
27032         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
27033         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
27034
27035 2008-10-05  Bruno Haible  <bruno@clisp.org>
27036
27037         * modules/getdtablesize-tests: New file.
27038         * tests/test-getdtablesize.c: New file.
27039
27040         New module 'getdtablesize'.
27041         * lib/unistd.in.h (getdtablesize): New declaration.
27042         * lib/getdtablesize.c: New file.
27043         * m4/getdtablesize.m4: New file.
27044         * modules/getdtablesize: New file.
27045         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27046         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
27047         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
27048         HAVE_GETDTABLESIZE.
27049         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
27050
27051 2008-10-05  Bruno Haible  <bruno@clisp.org>
27052
27053         * modules/sched (Makefile.am): Fix typo.
27054         Reported by Simon Josefsson.
27055
27056 2008-10-05  Jim Meyering  <meyering@redhat.com>
27057
27058         bootstrap: check for LT_INIT, too
27059         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
27060         are deprecated.  Suggestion from Ralf Wildenhues.
27061
27062 2008-10-05  Bruno Haible  <bruno@clisp.org>
27063
27064         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
27065         overriding them by ours.
27066         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
27067
27068 2008-10-05  Jim Meyering  <meyering@redhat.com>
27069
27070         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
27071         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
27072         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
27073
27074 2008-10-04  Bruno Haible  <bruno@clisp.org>
27075
27076         * modules/dup2 (License): Change to LGPLv2+.
27077         * modules/sleep (License): Likewise.
27078         * modules/perror (License): Likewise.
27079         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
27080         Blake.
27081         * modules/signal (License): Likewise.
27082         * modules/sigprocmask (License): Likewise.
27083         * modules/raise (License): Change to LGPLv2+, with approval by Jim
27084         Meyering.
27085
27086 2008-10-04  Bruno Haible  <bruno@clisp.org>
27087
27088         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
27089         Reported by Rainer Tammer <tammer@tammer.net>.
27090
27091 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
27092             Bruno Haible  <bruno@clisp.org>
27093
27094         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
27095         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
27096         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
27097
27098 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
27099
27100         filevercmp: new module
27101         * lib/filevercmp.h: New function filevercmp comparing version strings.
27102         * lib/filevercmp.c: Implementation of filevercmp function.
27103         * modules/filevercmp: Module metadata.
27104         * tests/test-filevercmp.c: Unit test for new module.
27105         * modules/filevercmp-tests: Unit test metadata.
27106         * MODULES.html.sh: Add filevercmp module.
27107
27108 2008-10-03  Bruno Haible  <bruno@clisp.org>
27109
27110         * lib/c-ctype.h: Add comment.
27111         Reported by Jim Meyering.
27112
27113 2008-10-02  Bruno Haible  <bruno@clisp.org>
27114
27115         * modules/posix_spawn-internal (Depends-on): Add 'open'.
27116
27117 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27118
27119         * build-aux/bootstrap: Allow renaming bootstrap, and change the
27120         name of bootstrap.conf accordingly.
27121
27122 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27123
27124         * build-aux/bootstrap: Install git-merge-changelog configuration
27125         items into .gitconfig if needed.
27126
27127 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27128
27129         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
27130         git repository, and initialize/update it accordingly.
27131
27132 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
27133
27134         * modules/fsync-tests: New file.
27135         * tests/test-fsync.c: New file.
27136
27137         New module 'fsync'.
27138         * lib/fsync.c: New file.
27139         * m4/fsync.m4: New file.
27140         * modules/fsync: New file.
27141         * lib/unistd.in.h (fsync): New declaration.
27142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
27143         GNULIB_FSYNC and HAVE_FSYNC.
27144         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
27145         * MODULES.html.sh (posix_functions): Add fsync.
27146         * doc/posix-functions/fsync.texi: Mention the new module.
27147
27148 2008-10-02  Jim Meyering  <meyering@redhat.com>
27149
27150         fts.c: sync with similar code from coreutils' remove.c
27151         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
27152         Guard also with "#if defined __linux__", since for now at least,
27153         this code is Linux-kernel-specific.
27154
27155 2008-10-02  Jim Meyering  <meyering@redhat.com>
27156
27157         fts: bug fixes
27158         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
27159         Include <sys/vfs.h>, not <sys/statfs.h>.
27160
27161         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
27162         Include <sys/vfs.h>, not <sys/statfs.h>.
27163
27164 2008-10-01  Bruno Haible  <bruno@clisp.org>
27165
27166         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
27167         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
27168         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
27169         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
27170         * doc/posix-functions/posix_spawnp.texi: Likewise.
27171         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
27172         whether posix_spawn actually works.
27173         * m4/pipe.m4 (gl_PIPE): Likewise.
27174         * modules/execute (Files): Add m4/posix_spawn.m4.
27175         * modules/pipe (Files): Add m4/posix_spawn.m4.
27176         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
27177
27178 2008-10-01  Jim Meyering  <meyering@redhat.com>
27179
27180         remove trailing spaces
27181         * NEWS: Likewise.
27182         * lib/poll.c (poll): Likewise.
27183         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
27184         * lib/winsock.c (rpl_close): Likewise.
27185         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
27186         * modules/yield: Likewise.
27187         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
27188         * tests/test-sys_select.c (connect_to_socket): Likewise.
27189
27190         fts.c: adjust a new interface to be more generally useful
27191         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
27192         (fts_build): Adjust caller.
27193
27194 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27195
27196         * modules/cond-tests: New file.
27197         * tests/test-cond.c: New file.
27198
27199 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27200             Bruno Haible  <bruno@clisp.org>
27201
27202         * modules/cond (Dependencies): Add errno, time.
27203         * lib/glthread/cond.h: Include <time.h>.
27204         (gl_cond_define, gl_cond_define_initialized): Use the same definition
27205         across platforms.
27206
27207 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27208             Bruno Haible  <bruno@clisp.org>
27209
27210         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
27211
27212 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27213             Bruno Haible  <bruno@clisp.org>
27214
27215         * modules/tls-tests (Depends-on): Add thread, yield.
27216         (configure.ac): Remove all checks.
27217         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
27218         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
27219         gl_thread_self): Remove definitions. Include glthread/thread.h and
27220         glthread/yield.h instead.
27221         (test_tls): Pass an additional NULL argument to gl_thread_join.
27222
27223 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27224             Bruno Haible  <bruno@clisp.org>
27225
27226         * modules/lock-tests (Depends-on): Add thread, yield.
27227         (configure.ac): Remove all checks.
27228         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
27229         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
27230         gl_thread_self): Remove definitions. Include glthread/thread.h and
27231         glthread/yield.h instead.
27232         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
27233         additional NULL argument to gl_thread_join.
27234
27235 2008-09-30  Bruno Haible  <bruno@clisp.org>
27236
27237         Fix the Win32 implementation of the 'thread' module.
27238         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
27239         pointer type.
27240         (gl_thread_self): Invoke gl_thread_self_func.
27241         (gl_thread_self_func): New declaration.
27242         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
27243         (do_init_self_key, init_self_key): New functions.
27244         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
27245         Remove some fields.
27246         (running_threads, running_lock): Remove variables.
27247         (get_current_thread_handle): New function.
27248         (gl_thread_self_func, wrapper_func, glthread_create_func,
27249         glthread_join_func, gl_thread_exit_func): Largely rewritten and
27250         simplified.
27251
27252 2008-09-30  Bruno Haible  <bruno@clisp.org>
27253
27254         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
27255         files.
27256
27257 2008-09-30  Jim Meyering  <meyering@redhat.com>
27258
27259         fts.m4: correct the test for statfs.f_type
27260         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
27261         when checking for statfs.f_type.
27262
27263 2008-09-15  Simon Josefsson  <simon@josefsson.org>
27264
27265         tests: avoid some compiler warnings
27266         * tests/test-memchr.c (main): Pass NULL indirectly.
27267         * tests/test-getdate.c (main): Remove unused variable 'ret'.
27268
27269 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
27270
27271         getdate.y: disallow countable dayshifts like "4 yesterday ago"
27272         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
27273         exactly specified dayshifts.
27274         (dayshift): New rule.
27275         (rel): Add dayshift.
27276         (relative_time_table) [tomorrow, yesterday, today, now]:
27277         Use tDAY_SHIFT in place of tDAY_UNIT.
27278         * tests/test-getdate.c: Add tests for now-disallowed countable
27279         dayshifts, e.g., "4 yesterday ago".
27280
27281 2008-09-29  Bruno Haible  <bruno@clisp.org>
27282
27283         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
27284         * tests/test-posix_spawn1.in.sh: Renamed from
27285         tests/test-posix_spawn.in.sh.
27286         * tests/test-posix_spawn2.c: New file.
27287         * tests/test-posix_spawn2.in.sh: New file.
27288         * modules/posix_spawnp-tests (Files): Update.
27289         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
27290
27291 2008-09-29  Bruno Haible  <bruno@clisp.org>
27292
27293         Propagate effects of putenv/setenv/unsetenv to child processes.
27294         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
27295         * lib/pipe.c (create_pipe): Likewise.
27296
27297 2008-09-29  Bruno Haible  <bruno@clisp.org>
27298
27299         Enable use of shell scripts as executables in mingw.
27300         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
27301         run the program as a shell script.
27302         * lib/pipe.c (create_pipe): Likewise.
27303         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
27304         resulting array.
27305
27306 2008-09-29  Eric Blake  <ebb9@byu.net>
27307
27308         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
27309
27310 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
27311
27312         * doc/posix-functions/accept.texi: Update mingw problems.
27313         * doc/posix-functions/bind.texi: Update mingw problems.
27314         * doc/posix-functions/close.texi: Update mingw problems.
27315         * doc/posix-functions/connect.texi: Update mingw problems.
27316         * doc/posix-functions/getpeername.texi: Update mingw problems.
27317         * doc/posix-functions/getsockname.texi: Update mingw problems.
27318         * doc/posix-functions/getsockopt.texi: Update mingw problems.
27319         * doc/posix-functions/ioctl.texi: Update mingw problems.
27320         * doc/posix-functions/listen.texi: Update mingw problems.
27321         * doc/posix-functions/recv.texi: Update mingw problems.
27322         * doc/posix-functions/recvfrom.texi: Update mingw problems.
27323         * doc/posix-functions/select.texi: Update mingw problems.
27324         * doc/posix-functions/send.texi: Update mingw problems.
27325         * doc/posix-functions/sendto.texi: Update mingw problems.
27326         * doc/posix-functions/setsockopt.texi: Update mingw problems.
27327         * doc/posix-functions/socket.texi: Update mingw problems.
27328
27329 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
27330             Bruno Haible  <bruno@clisp.org>
27331
27332         * lib/sys_select.in.h: Include sys/time.h.
27333         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
27334         * modules/sys_select: Depend on sys_time.
27335         * tests/test-sys_select.c: Test that sys/select.h defines struct
27336         timeval fully.
27337
27338 2008-09-29  Bruno Haible  <bruno@clisp.org>
27339
27340         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
27341         * lib/sys_select.in.h: Likewise.
27342
27343 2008-09-29  Bruno Haible  <bruno@clisp.org>
27344
27345         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
27346
27347 2008-09-29  Bruno Haible  <bruno@clisp.org>
27348
27349         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
27350         Set LIBSOCKET instead of augmenting LIBS.
27351         * modules/sockets (Link): New section.
27352         * modules/sockets-tests (test_sockets_LDADD): New variable.
27353         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
27354         * modules/poll-tests (test_poll_LDADD): New variable.
27355         * NEWS: Document the change.
27356
27357 2008-09-29  Bruno Haible  <bruno@clisp.org>
27358
27359         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
27360         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
27361         ARPA_INET_H directly.
27362         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27363
27364 2008-09-28  Bruno Haible  <bruno@clisp.org>
27365
27366         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
27367         from gl_HEADER_SYS_SOCKET.
27368         (gl_HEADER_SYS_SOCKET): Invoke it.
27369         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27370
27371 2008-09-28  Bruno Haible  <bruno@clisp.org>
27372
27373         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
27374         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
27375         Needed on OSF/1 4.0.
27376
27377 2008-09-28  Bruno Haible  <bruno@clisp.org>
27378
27379         Override open more carefully.
27380         * lib/open.c (orig_open): New function.
27381         (rpl_open): Use orig_open instead of open.
27382         * lib/fcntl.in.h: Add special invocation convention.
27383         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
27384         (gl_FUNC_OPEN): Invoke it.
27385
27386         Override freopen more carefully.
27387         * lib/freopen.c (orig_freopen): New function.
27388         (rpl_freopen): Use orig_freopen instead of freopen.
27389         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
27390         (gl_FUNC_FREOPEN): Invoke it.
27391
27392         Override fopen more carefully.
27393         * lib/fopen.c (orig_fopen): New function.
27394         (rpl_fopen): Use orig_fopen instead of fopen.
27395         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
27396         (gl_FUNC_FOPEN): Invoke it.
27397         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
27398
27399 2008-09-28  Bruno Haible  <bruno@clisp.org>
27400
27401         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
27402         SIGPIPE.
27403
27404 2008-09-28  Bruno Haible  <bruno@clisp.org>
27405
27406         * tests/test-sigaction.c (handler, main): Disable the check whether
27407         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
27408         glibc systems with LinuxThreads.
27409
27410 2008-09-28  Bruno Haible  <bruno@clisp.org>
27411
27412         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
27413
27414         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
27415         with AIX xlc.
27416         * lib/fcntl.in.h (open): Likewise.
27417         Reported by Rainer Tammer <tammer@tammer.net>.
27418
27419 2008-09-28  Bruno Haible  <bruno@clisp.org>
27420
27421         * modules/posix_spawnp-tests: New file.
27422         * tests/test-posix_spawn.c: New file.
27423         * tests/test-posix_spawn.in.sh: New file.
27424
27425         New module 'posix_spawnp'.
27426         * modules/posix_spawnp: New file.
27427         * lib/spawnp.c: New file, from GNU libc with modifications.
27428         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
27429
27430         New module 'posix_spawn'.
27431         * modules/posix_spawn: New file.
27432         * lib/spawn.c: New file, from GNU libc with modifications.
27433         * doc/posix-functions/posix_spawn.texi: Mention the new module.
27434
27435         New module 'posix_spawnattr_destroy'.
27436         * modules/posix_spawnattr_destroy: New file.
27437         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
27438         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
27439         module.
27440
27441         New module 'posix_spawnattr_setsigmask'.
27442         * modules/posix_spawnattr_setsigmask: New file.
27443         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
27444         modifications.
27445         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
27446         new module.
27447
27448         New module 'posix_spawnattr_getsigmask'.
27449         * modules/posix_spawnattr_getsigmask: New file.
27450         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
27451         modifications.
27452         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
27453         new module.
27454
27455         New module 'posix_spawnattr_setsigdefault'.
27456         * modules/posix_spawnattr_setsigdefault: New file.
27457         * lib/spawnattr_setdefault.c: New file, from GNU libc with
27458         modifications.
27459         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
27460         new module.
27461
27462         New module 'posix_spawnattr_getsigdefault'.
27463         * modules/posix_spawnattr_getsigdefault: New file.
27464         * lib/spawnattr_getdefault.c: New file, from GNU libc with
27465         modifications.
27466         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
27467         new module.
27468
27469         New module 'posix_spawnattr_setschedpolicy'.
27470         * modules/posix_spawnattr_setschedpolicy: New file.
27471         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
27472         modifications.
27473         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
27474         new module.
27475
27476         New module 'posix_spawnattr_getschedpolicy'.
27477         * modules/posix_spawnattr_getschedpolicy: New file.
27478         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
27479         modifications.
27480         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
27481         new module.
27482
27483         New module 'posix_spawnattr_setschedparam'.
27484         * modules/posix_spawnattr_setschedparam: New file.
27485         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
27486         modifications.
27487         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
27488         new module.
27489
27490         New module 'posix_spawnattr_getschedparam'.
27491         * modules/posix_spawnattr_getschedparam: New file.
27492         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
27493         modifications.
27494         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
27495         new module.
27496
27497         New module 'posix_spawnattr_setpgroup'.
27498         * modules/posix_spawnattr_setpgroup: New file.
27499         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
27500         modifications.
27501         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
27502         module.
27503
27504         New module 'posix_spawnattr_getpgroup'.
27505         * modules/posix_spawnattr_getpgroup: New file.
27506         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
27507         modifications.
27508         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
27509         module.
27510
27511         New module 'posix_spawnattr_setflags'.
27512         * modules/posix_spawnattr_setflags: New file.
27513         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
27514         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
27515         module.
27516
27517         New module 'posix_spawnattr_getflags'.
27518         * modules/posix_spawnattr_getflags: New file.
27519         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
27520         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
27521         module.
27522
27523         New module 'posix_spawnattr_init'.
27524         * modules/posix_spawnattr_init: New file.
27525         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
27526         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
27527         module.
27528
27529         New module 'posix_spawn_file_actions_destroy'.
27530         * modules/posix_spawn_file_actions_destroy: New file.
27531         * lib/spawn_faction_destroy.c: New file, from GNU libc with
27532         modifications.
27533         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
27534         the new module.
27535
27536         New module 'posix_spawn_file_actions_addopen'.
27537         * modules/posix_spawn_file_actions_addopen: New file.
27538         * lib/spawn_faction_addopen.c: New file, from GNU libc with
27539         modifications.
27540         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
27541         the new module.
27542
27543         New module 'posix_spawn_file_actions_adddup2'.
27544         * modules/posix_spawn_file_actions_adddup2: New file.
27545         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
27546         modifications.
27547         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
27548         the new module.
27549
27550         New module 'posix_spawn_file_actions_addclose'.
27551         * modules/posix_spawn_file_actions_addclose: New file.
27552         * lib/spawn_faction_addclose.c: New file, from GNU libc with
27553         modifications.
27554         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
27555         the new module.
27556
27557         New module 'posix_spawn_file_actions_init'.
27558         * modules/posix_spawn_file_actions_init: New file.
27559         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
27560         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
27561         new module.
27562
27563         New module 'posix_spawn-internal'.
27564         * modules/posix_spawn-internal: New file.
27565         * lib/spawn_int.h: New file, from GNU libc with modifications.
27566         * lib/spawni.c: New file, from GNU libc with modifications.
27567         * m4/posix_spawn.m4: New file.
27568
27569         New module 'spawn'.
27570         * modules/spawn: New file.
27571         * lib/spawn.in.h: New file, from GNU libc with modifications.
27572         * m4/spawn_h.m4: New file.
27573         * doc/posix-headers/spawn.texi: Mention the new module.
27574
27575 2008-09-28  Bruno Haible  <bruno@clisp.org>
27576
27577         * modules/sched-tests: New file.
27578         * tests/test-sched.c: New file.
27579
27580         New module 'sched'.
27581         * modules/sched: New file.
27582         * lib/sched.in.h: New file.
27583         * m4/sched_h.m4: New file.
27584         * doc/posix-headers/sched.texi: Mention the new module.
27585
27586 2008-09-27  Eric Blake  <ebb9@byu.net>
27587
27588         Fix previous patch, and tweak references to $0.
27589         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
27590         (func_version, func_gnulib_dir): Don't call this program
27591         gnulib-tool.
27592         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
27593         with using $0 in function.
27594         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
27595         (func_fatal_error): Reuse the name the user invoked us with.
27596
27597 2008-09-27  Bruno Haible  <bruno@clisp.org>
27598
27599         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
27600         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
27601         (gl_ICONV_H): Not here.
27602         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
27603         instead of assigning ICONV_H directly.
27604
27605         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
27606         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
27607         WCHAR_H directly.
27608
27609 2008-09-27  Bruno Haible  <bruno@clisp.org>
27610
27611         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
27612         * modules/arpa_inet (Depends-on): Add link-warning.
27613         (Makefile.am): Insert the definition of GL_LINK-WARNING.
27614         * modules/unistd (Makefile.am): Likewise.
27615
27616 2008-09-26  Bruno Haible  <bruno@clisp.org>
27617
27618         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
27619         variables.
27620         (func_version): Essentially copied from gnulib-tool.
27621         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
27622         func_readlink): Copied from gnulib-tool.
27623
27624 2008-09-26  Bruno Haible  <bruno@clisp.org>
27625
27626         * gnulib-tool (func_version): Change directory to $gnulib_dir before
27627         invoking git-version-gen.
27628
27629 2008-09-26  Bruno Haible  <bruno@clisp.org>
27630
27631         * posix-modules: Update to directory names changed on 2008-01-19.
27632         Remove commas in output before splitting into words. No more need to
27633         avoid 'ftruncate' since 2007-02-19.
27634
27635 2008-09-26  Bruno Haible  <bruno@clisp.org>
27636
27637         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
27638
27639 2008-09-26  Bruno Haible  <bruno@clisp.org>
27640
27641         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
27642         * modules/fwriteerror (Depends-on): Add errno.
27643
27644 2008-09-26  Bruno Haible  <bruno@clisp.org>
27645
27646         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
27647         * tests/test-vc-list-files-cvs.sh: Likewise.
27648
27649 2008-09-26  Bruno Haible  <bruno@clisp.org>
27650
27651         * doc/posix-headers/sys_resource.texi: Reorder items.
27652
27653 2008-09-26  Jim Meyering  <meyering@redhat.com>
27654
27655         fts: tweak inode comparison function
27656         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
27657         inode numbers, as documented.
27658
27659         fts: sort dirent entries on inode number before traversing
27660         This avoids a quadratic, seek-related performance penalty when
27661         operating on a directory containing many entries (measurable at 10k;
27662         3.5 hours at 2 million entries with a cold cache) on certain types
27663         of file systems, including ext3 and ext4, but not tmpfs.
27664         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
27665         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
27666         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
27667         (fs_handles_readdir_ordered_dirents_efficiently): New function.
27668         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
27669         (fts_build): Set the stat.st_ino member from D_INO.
27670         If it is likely to be useful, sort dirent entries on inode number.
27671
27672         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
27673         and the struct statfs.f_type member.
27674         * modules/fts (Depends-on): Add d-ino.
27675
27676 2008-09-26  Bruno Haible  <bruno@clisp.org>
27677
27678         * modules/sigpipe-die (Depends-on): Add sigpipe.
27679
27680         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
27681         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
27682         and GNULIB_STDIO_H_SIGPIPE are set.
27683         * lib/stdio-write.c: New file.
27684         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
27685         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27686         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27687         REPLACE_STDIO_WRITE_FUNCS.
27688         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
27689         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27690         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27691         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
27692         * modules/stdio (Files): Add lib/stdio-write.c.
27693         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
27694         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27695         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27696         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
27697         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
27698         REPLACE_FPRINTF_POSIX.
27699         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
27700         REPLACE_PRINTF_POSIX.
27701         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
27702         REPLACE_VFPRINTF_POSIX.
27703         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
27704         REPLACE_VPRINTF_POSIX.
27705         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
27706         SIGPIPE issue.
27707         * doc/posix-functions/fputc.texi: Likewise.
27708         * doc/posix-functions/fputs.texi: Likewise.
27709         * doc/posix-functions/fwrite.texi: Likewise.
27710         * doc/posix-functions/printf.texi: Likewise.
27711         * doc/posix-functions/putc.texi: Likewise.
27712         * doc/posix-functions/putchar.texi: Likewise.
27713         * doc/posix-functions/puts.texi: Likewise.
27714         * doc/posix-functions/vfprintf.texi: Likewise.
27715         * doc/posix-functions/vprintf.texi: Likewise.
27716
27717         * modules/safe-write (Depends-on): Add write.
27718
27719         * modules/sigpipe-tests: New file.
27720         * tests/test-sigpipe.c: New file.
27721         * tests/test-sigpipe.sh: New file.
27722
27723         * modules/write: New file.
27724         * lib/unistd.in.h: Include <sys/types.h>.
27725         (write): New declaration.
27726         * lib/write.c: New file.
27727         * m4/write.m4: New file.
27728         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27729         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
27730         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
27731         GNULIB_WRITE, REPLACE_WRITE.
27732         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
27733         and the SIGPIPE issue.
27734
27735         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
27736         (raise): New declaration.
27737         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
27738         (ext_signal): New function.
27739         (rpl_raise): New function.
27740         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
27741         GNULIB_SIGNAL_H_SIGPIPE.
27742         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
27743         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
27744
27745         * modules/sigpipe: New file.
27746         * m4/sigpipe.m4: New file.
27747
27748 2008-09-25  Derek Price  <derek@ximbiot.com>
27749             Bruno Haible  <bruno@clisp.org>
27750
27751         * gnulib-tool (func_import): Report all license incompatibilities, not
27752         just the first one.
27753
27754 2008-09-25  Bruno Haible  <bruno@clisp.org>
27755
27756         * gnulib-tool (func_import): When computing the edits, consider not
27757         only the Makefile.ams that exist but also those that will be generated.
27758
27759 2008-09-25  Simon Josefsson  <simon@josefsson.org>
27760
27761         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
27762         fixes gnulib-tool --test warning about duplicate dependency.
27763
27764 2008-09-25  Bruno Haible  <bruno@clisp.org>
27765
27766         * gnulib-tool: Don't ask the user to perform edits in the generated
27767         Makefile.ams.
27768         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
27769         apply to the Makefile.am being generated.
27770         (func_emit_tests_Makefile_am): Execute edits that apply to the
27771         Makefile.am being generated.
27772         (func_import): Setup list of Makefile.am edits before emitting the
27773         Makefile.ams, not at the end.
27774         (func_create_testdir): Update.
27775         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
27776
27777 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27778
27779         * gnulib-tool (func_import): Store the --tests-base option in the
27780         comment in gnulib-cache.m4.
27781
27782 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
27783
27784         * NEWS: Document increased portability that sys_select now provides.
27785
27786         * lib/sys_select.in.h: Install select wrapper.
27787         * lib/sys_socket.in.h: Use more descriptive name when there is no
27788         select wrapper.
27789         * lib/winsock-select.c: New.
27790         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
27791         Require gl_HEADER_SYS_SOCKET.
27792         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
27793         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
27794         * tests/test-sys_select.c: Add functional tests.
27795
27796 2008-09-24  Eric Blake  <ebb9@byu.net>
27797
27798         open, fopen: close fd leak in last patch
27799         * lib/open.c (rpl_open): Close fd before returning error.
27800         * lib/fopen.c (rpl_fopen): Close fd before returning error.
27801         * doc/posix-functions/open.texi (open): Document that Irix also
27802         has the bug.
27803         * doc/posix-functions/fopen.texi (fopen): Likewise.
27804         Reported by Paolo Bonzini.
27805
27806 2008-09-24  Bruno Haible  <bruno@clisp.org>
27807
27808         Ensure that a filename ending in a slash cannot be used to access a
27809         non-directory.
27810         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
27811         to check whether it's really a directory.
27812         * lib/fopen.c: Include fcntl.h, unistd.h.
27813         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
27814         and fdopen().
27815         * modules/fopen (Depends-on): Add unistd.
27816         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
27817         * tests/test-fopen.c (main): Likewise.
27818         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
27819         * doc/posix-functions/fopen.texi: Likewise.
27820         Reported by Eric Blake.
27821
27822 2008-09-23  Eric Blake  <ebb9@byu.net>
27823
27824         c-stack: avoid compiler optimizations when provoking overflow
27825         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
27826         recursion harder to optimize, to ensure a stack overflow occurs.
27827         * tests/test-c-stack.c (recurse): Likewise.
27828         Borrowed from libsigsegv.
27829
27830         c-stack: work around Irix sigaltstack bug
27831         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
27832         whether sigaltstack uses wrong end of stack_t (copied in part from
27833         libsigsegv).
27834         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
27835         Irix bug, without requiring an over-allocation.
27836         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
27837         bug.
27838
27839         fopen: document mingw bug on directories
27840         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
27841         not allowing a stream visiting a directory, even though reading
27842         from such a stream is not portable.
27843
27844 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27845
27846         * lib/poll.c: Rewrite.
27847         * modules/poll: Depend on alloca.
27848
27849 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27850
27851         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
27852         instead define prototypes for a full set of wrappers.  Ensure
27853         that Cygwin does not use the compatibility code, which is only
27854         for MinGW.
27855         * lib/winsock.c: New.
27856         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
27857         * modules/sys_socket: Add lib/winsock.c.
27858
27859         * modules/poll-tests: Add errno and perror.
27860         * tests/test-poll.c: Use ioctl, not ioctlsocket.
27861
27862 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27863
27864         * tests/test-poll.c: Downgrade minimum needed Winsock version.
27865
27866 2008-09-23  Bruno Haible  <bruno@clisp.org>
27867
27868         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
27869         * doc/glibc-functions/*: Likewise.
27870
27871 2008-09-23  Simon Josefsson  <simon@josefsson.org>
27872
27873         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
27874         success.
27875
27876 2008-09-22  Eric Blake  <ebb9@byu.net>
27877             Bruno Haible  <bruno@clisp.org>
27878
27879         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
27880         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
27881         supply %A but mishandle pseudo-NaN.
27882         Reported by Simon Josefsson.
27883
27884 2008-09-21  Bruno Haible  <bruno@clisp.org>
27885
27886         * tests/test-lock.c (main): Tweak skip message.
27887         * tests/test-tls.c (main): Likewise.
27888
27889 2008-09-21  Bruno Haible  <bruno@clisp.org>
27890
27891         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
27892         whether 'struct sigaction' has sa_sigaction here...
27893         (gl_PREREQ_SIG_HANDLER_H): ... not here.
27894         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
27895
27896 2008-09-21  Bruno Haible  <bruno@clisp.org>
27897
27898         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
27899         section.
27900         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
27901         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
27902         the new section.
27903         (Support for obsolete systems lacking POSIX:2001): New section.
27904         (String handling <string.h>): Move strdup to the new section.
27905         Suggested by Simon Josefsson and Paolo Bonzini.
27906
27907 2008-09-21  Bruno Haible  <bruno@clisp.org>
27908
27909         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
27910         exponents in %e and %g results on 'long double'. Needed for mingw's
27911         improved *printf functions.
27912         * tests/test-vasprintf-posix.c (test_function): Likewise.
27913         * tests/test-snprintf-posix.h (test_function): Likewise.
27914         * tests/test-sprintf-posix.h (test_function): Likewise.
27915         Reported by Eric Blake.
27916
27917 2008-09-21  Bruno Haible  <bruno@clisp.org>
27918
27919         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
27920         * tests/test-sprintf-posix.h (test_function): Likewise.
27921
27922 2008-09-21  Bruno Haible  <bruno@clisp.org>
27923
27924         * modules/getpass (Depends-on): Add strdup-posix.
27925
27926         New module 'strdup-posix'.
27927         * modules/strdup-posix: New file.
27928         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
27929         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
27930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27931         REPLACE_STRDUP.
27932         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
27933         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
27934         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27935         strdup-posix.
27936
27937         * modules/strdup (Depends-on): Remove malloc-posix.
27938
27939 2008-09-20  Bruno Haible  <bruno@clisp.org>
27940
27941         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
27942         Wildenhues.
27943
27944 2008-09-20  Bruno Haible  <bruno@clisp.org>
27945
27946         Ensure that wint_t gets defined on IRIX 5.3.
27947         * lib/wchar.in.h (wint_t): Define if not defined by the system.
27948         * lib/wctype.in.h (wint_t): Likewise.
27949         (__wctype_wint_t): Remove type.
27950         (isw*): Use wint_t instead of __wctype_wint_t.
27951         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
27952         * modules/wchar (Files): Add m4/wint_t.m4.
27953         (Makefile.am): Substitute HAVE_WINT_T.
27954         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
27955         * tests/test-wctype.c: Check that wint_t is defined.
27956         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
27957         * doc/posix-headers/wctype.texi: Likewise.
27958         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27959
27960 2008-09-18  Bruno Haible  <bruno@clisp.org>
27961
27962         * gnulib-tool (func_exit): Update comment.
27963
27964 2008-09-18  Simon Josefsson  <simon@josefsson.org>
27965
27966         * modules/getaddrinfo (Depends-on): Remove strdup, this module
27967         assumes strdup exists and does not depend on strdup to return
27968         ENOMEM on out of memory conditions.
27969
27970 2008-09-18  Bruno Haible  <bruno@clisp.org>
27971
27972         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
27973         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
27974         digits for the exponent.
27975
27976 2008-09-18  Jim Meyering  <meyering@redhat.com>
27977             Bruno Haible  <bruno@clisp.org>
27978
27979         * lib/vasnprintf.c (decimal_point_char): Define also if
27980         NEED_PRINTF_INFINITE_LONG_DOUBLE.
27981
27982 2008-09-16  Bruno Haible  <bruno@clisp.org>
27983         and Eric Blake  <ebb9@byu.net>
27984
27985         vasnprintf: support Irix 5.3
27986         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
27987         that mishandle long double infinity.
27988         Reported by Tom G. Christensen.
27989
27990 2008-09-16  Bruno Haible  <bruno@clisp.org>
27991
27992         * doc/glibc-functions/scandir.texi: Mention the function is missing on
27993         Solaris 9.
27994         * doc/glibc-functions/alphasort.texi: Likewise.
27995         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
27996
27997 2008-09-16  Jim Meyering  <meyering@redhat.com>
27998
27999         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
28000         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
28001         a umask modification leak out of a subshell.  Otherwise, the
28002         opensolaris /bin/sh would be accepted and thus cause unwarranted
28003         failures in the coreutils test suite.
28004
28005 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
28006
28007         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
28008         to succeed.
28009
28010 2008-09-16  Jim Meyering  <meyering@redhat.com>
28011
28012         avoid spurious test failure when library is built without ACL support
28013         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
28014         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
28015         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
28016         * tests/test-copy-acl.sh: Likewise.
28017
28018 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28019
28020         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
28021         based on character occurrence counts.
28022
28023 2008-09-15  Eric Blake  <ebb9@byu.net>
28024
28025         tests: avoid some compiler warnings
28026         * tests/test-memchr.c (main): Pass NULL indirectly.
28027         * tests/test-closein.c (main): Avoid unused variable.
28028
28029 2008-09-15  Bruno Haible  <bruno@clisp.org>
28030
28031         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
28032         are missing on OpenBSD 4.0 individually.
28033         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
28034
28035 2008-09-15  Bruno Haible  <bruno@clisp.org>
28036
28037         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
28038         * doc/posix-functions/strerror.texi: Mention also Cygwin.
28039         * doc/posix-functions/perror.texi: Likewise.
28040         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
28041         is missing.
28042         Reported by Eric Blake.
28043
28044         * lib/errno.in.h: Use replacement values >= 2000.
28045         Reported by Eric Blake.
28046
28047 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28048
28049         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
28050         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
28051         limit.
28052         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
28053         compareseq was aborted.
28054
28055 2008-09-14  Bruno Haible  <bruno@clisp.org>
28056
28057         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
28058         yvec_edit_count.
28059         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
28060         (fstrcmp_bounded): Simplify result computation accordingly.
28061
28062 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28063
28064         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
28065         (fstrcmp): Define in terms of fstrcmp_bounded.
28066         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
28067         lower_bound argument.
28068         Return quickly if the result is certainly < lower_bound.
28069         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
28070
28071 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28072
28073         * lib/diffseq.h (EARLY_ABORT): New macro.
28074         (compareseq): Change return type to bool. Return true when EARLY_ABORT
28075         evaluates to true.
28076
28077 2008-09-14  Bruno Haible  <bruno@clisp.org>
28078
28079         * modules/perror-tests: New file.
28080         * tests/test-perror.sh: New file.
28081         * tests/test-perror.c: New file.
28082
28083         New module 'perror'.
28084         * lib/stdio.in.h (perror): New declaration.
28085         * lib/perror.c: New file.
28086         * m4/perror.m4: New file.
28087         * modules/perror: New file.
28088         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
28089         * doc/posix-functions/perror.texi: Mention the perror module.
28090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
28091         REPLACE_PERROR.
28092         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
28093         REPLACE_PERROR.
28094
28095 2008-09-14  Bruno Haible  <bruno@clisp.org>
28096
28097         * modules/stdio (Makefile.am): Reorder to match the order in
28098         lib/stdio.in.h.
28099         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28100
28101 2008-09-13  Bruno Haible  <bruno@clisp.org>
28102
28103         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
28104
28105 2008-09-13  Bruno Haible  <bruno@clisp.org>
28106
28107         Extend strerror to cover the added errno values.
28108         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
28109         (rpl_strerror): Provide error messages for the added errno values and
28110         for the WSA* values.
28111         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
28112         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
28113         strerror.
28114         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
28115         * modules/strerror (Depends-on): Add errno.
28116         * doc/posix-functions/strerror.texi: Document the change.
28117         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
28118         and EOVERFLOW.
28119
28120 2008-09-13  Bruno Haible  <bruno@clisp.org>
28121
28122         * modules/EOVERFLOW: Remove file.
28123         * m4/eoverflow.m4: Remove file.
28124         * modules/EOVERFLOW-tests: Remove file.
28125         * tests/test-EOVERFLOW.c: Remove file.
28126         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
28127         * modules/ftell (Depends-on): Likewise.
28128         * modules/getdelim (Depends-on): Likewise.
28129         * modules/getugroups (Depends-on): Likewise.
28130         * modules/poll (Depends-on): Likewise.
28131         * modules/snprintf (Depends-on): Likewise.
28132         * modules/sprintf-posix (Depends-on): Likewise.
28133         * modules/vasnprintf (Depends-on): Likewise.
28134         * modules/vasprintf (Depends-on): Likewise.
28135         * modules/vfprintf-posix (Depends-on): Likewise.
28136         * modules/vsnprintf (Depends-on): Likewise.
28137         * modules/vsprintf-posix (Depends-on): Likewise.
28138         * modules/xvasprintf (Depends-on): Likewise.
28139         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28140         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
28141         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
28142         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
28143         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28144         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
28145         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
28146         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
28147         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28148         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
28149         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
28150         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
28151         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28152         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
28153         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
28154         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
28155         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28156         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
28157         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
28158         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
28159         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28160         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
28161         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
28162         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
28163         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
28164         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28165         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
28166         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
28167         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
28168         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
28169         * MODULES.html.sh: Remove EOVERFLOW.
28170         * NEWS: Mention the change.
28171
28172 2008-09-13  Bruno Haible  <bruno@clisp.org>
28173
28174         * modules/errno-tests: New file.
28175         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
28176
28177         * lib/errno.in.h: New file.
28178         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
28179         * modules/errno: New file.
28180         * doc/posix-headers/errno.texi: Update documentation.
28181         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
28182
28183 2008-09-13  Bruno Haible  <bruno@clisp.org>
28184
28185         * tests/test-poll.c: Use #if for native Windows, rather than testing
28186         __MSVCRT__.
28187
28188 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28189             Bruno Haible  <bruno@clisp.org>
28190
28191         * lib/glob.c: Don't include <pwd.h> on native Windows.
28192         (WINDOWS32): New macro.
28193         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
28194
28195 2008-09-13  Bruno Haible  <bruno@clisp.org>
28196
28197         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
28198         (ETIMEDOUT): Remove macro.
28199         (glthread_cond_timedwait_multithreaded): New declaration.
28200         (glthread_cond_timedwait): Use it.
28201         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
28202         (glthread_cond_timedwait_multithreaded): New function.
28203
28204 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28205
28206         * modules/poll-tests: Do not check for io.h.
28207         * tests/test-poll.c: Check for __MSVCRT__ instead.
28208
28209 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28210
28211         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
28212         * modules/poll-tests: Add inet_pton, stdbool, sockets.
28213         * tests/test-poll.c: Use them.  Use _pipe on Windows.
28214
28215 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28216
28217         * modules/poll-tests: New.
28218         * tests/test-poll.c: New.
28219
28220 2008-09-12  Eric Blake  <ebb9@byu.net>
28221
28222         frexp: test for NetBSD failure on -0.0
28223         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
28224         not all, bugs from NetBSD 3.0 have been fixed.
28225         * doc/posix-functions/frexp.texi (frexp): Document bug.
28226         Reported by Thomas Klausner.
28227
28228         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
28229         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
28230         literal -0.0.
28231         Reported by Jonathan C. Patschke <jp@centtech.com>.
28232
28233 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28234
28235         * lib/glthread/cond.h: Use dummy implementation also if
28236         USE_WIN32_THREADS.
28237
28238 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28239
28240         * modules/fnmatch-posix (License): Change to LGPLv2+.
28241         * modules/fnmatch-gnu (License): Likewise.
28242
28243 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28244
28245         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
28246
28247 2008-09-11  Jim Meyering  <meyering@redhat.com>
28248
28249         * users.txt: Add gtk-vnc.
28250
28251 2008-09-08  Simon Josefsson  <simon@josefsson.org>
28252
28253         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
28254         rotate amounts.
28255
28256         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
28257         required for 16-bit and 8-bit rotates.
28258         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
28259         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
28260         UINT8_MAX instead of hard-coded constants.
28261         Suggested by Paul Eggert.
28262
28263 2008-09-07  Bruno Haible  <bruno@clisp.org>
28264
28265         * tests/test-striconveh.c (main): Check behaviour when converting from
28266         UTF-7.
28267
28268         Make striconveh work better with stateful encodings.
28269         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
28270         that iconv does not increment the inptr when returning -1/EINVAL.
28271
28272 2008-09-07  Bruno Haible  <bruno@clisp.org>
28273
28274         * build-aux/config.rpath: Update according to libtool-2.2.6.
28275         * build-aux/config.libpath: Likewise.
28276
28277 2008-09-06  Bruno Haible  <bruno@clisp.org>
28278
28279         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
28280         * lib/freadptr.c (freadptr): Likewise.
28281         * lib/freadseek.c (freadptrinc): Likewise.
28282         Reported by Simon Josefsson.
28283
28284 2008-09-06  Bruno Haible  <bruno@clisp.org>
28285
28286         * modules/freadptr (License): Change to LGPLv2+.
28287         * modules/freadseek (License): Likewise.
28288         Suggested by Eric Blake.
28289
28290         * modules/memchr2 (License): Change to LGPLv2+.
28291         Approved by Eric Blake.
28292
28293 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28294             Bruno Haible  <bruno@clisp.org>
28295
28296         Make gnulib-tool work with native 'sed' on AIX.
28297         * gnulib-tool (sed_noop): New variable.
28298         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
28299         func_add_or_update, func_create_testdir): Use it to initialize sed
28300         script variables.
28301         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28302
28303 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
28304             Bruno Haible  <bruno@clisp.org>
28305
28306         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
28307         also works after #include directives.
28308
28309 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
28310
28311         getdate.y: reject an out-of-range timezone value
28312         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
28313         the range [-24...+24].  When specified with only one or two digits,
28314         * tests/test-getdate.c: Tests for the fix.
28315         * doc/getdate.texi: Document this change.
28316
28317 2008-09-03  Bruno Haible  <bruno@clisp.org>
28318
28319         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
28320
28321 2008-09-02  Simon Josefsson  <simon@josefsson.org>
28322
28323         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
28324         <bruce.korb@gmail.com> with ideas from Ben Pfaff
28325         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
28326         Blake <ebb9@byu.net>.
28327
28328         * tests/test-bitrotate.c: Add more test vectors.
28329
28330 2008-09-02  Eric Blake  <ebb9@byu.net>
28331
28332         vasnprintf-posix: handle large precision via %.*d
28333         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
28334         when handling it ourselves.
28335         * tests/test-vasnprintf-posix.c (test_function): Add test.
28336         * tests/test-snprintf-posix.h (test_function): Likewise.
28337         * tests/test-sprintf-posix.h (test_function): Likewise.
28338         * tests/test-vasprintf-posix.c (test_function): Likewise.
28339         Reported by Alain Guibert.
28340
28341 2008-09-01  Eric Blake  <ebb9@byu.net>
28342
28343         c-stack: make configure-time check more robust
28344         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
28345         successful sigaction call.
28346         Reported by Tom G. Christensen.
28347
28348 2008-09-01  Bruno Haible  <bruno@clisp.org>
28349
28350         New module 'findprog-lgpl'.
28351         * modules/findprog-lgpl: New file.
28352         * lib/findprog-lgpl.c: New file.
28353         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
28354         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
28355         to decide whether to use strdup or xstrdup, concatenated_filename or
28356         xconcatenated_filename.
28357
28358 2008-09-01  Bruno Haible  <bruno@clisp.org>
28359
28360         Split module 'concat-filename' into 'concat-filename' (LGPL) and
28361         'xconcat-filename' (GPL).
28362         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
28363         (License): Change to LGPLv2+.
28364         * modules/xconcat-filename: New file.
28365         * lib/concat-filename.h (concatenated_filename): Change specification.
28366         (xconcatenated_filename): New declaration.
28367         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
28368         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
28369         memory situations.
28370         * lib/xconcat-filename.c: New file.
28371         * NEWS: Mention the change.
28372         * lib/findprog.c: Include concat-filename.h, not filename.h.
28373         (find_in_path): Use xconcatenated_filename instead of
28374         concatenated_filename.
28375         * lib/javacomp.c: Include concat-filename.h, not filename.h.
28376         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
28377         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
28378         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
28379         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
28380         instead of concatenated_filename.
28381         * lib/javaexec.c: Include concat-filename.h, not filename.h.
28382         (execute_java_class): Use xconcatenated_filename instead of
28383         concatenated_filename.
28384         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
28385         * modules/javacomp (Depends-on): Likewise.
28386         * modules/javaexec (Depends-on): Likewise.
28387
28388 2008-09-01  Bruno Haible  <bruno@clisp.org>
28389
28390         Split module 'filename' into 'filename' and 'concat-filename'.
28391         * modules/filename: Keep only lib/filename.h.
28392         (License): Change to LGPLv2+.
28393         * modules/concat-filename: New file, extracted from modules/filename.
28394         * lib/filename.h (concatenated_filename): Remove declaration.
28395         * lib/concat-filename.h: New file, extracted from lib/filename.h.
28396         * lib/concat-filename.c: Include concat-filename.h.
28397         * NEWS: Mention the change.
28398
28399 2008-09-01  Simon Josefsson  <simon@josefsson.org>
28400
28401         * lib/bitrotate.h (rotl8, rotr8): Add.
28402
28403         * modules/bitrotate (configure.ac): Need
28404         AC_REQUIRE([AC_C_INLINE]).
28405         (Description): Mention stdint.h.  Reported by Bruno Haible
28406         <bruno@clisp.org>.
28407
28408         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
28409         Paolo Bonzini <bonzini@gnu.org>.
28410
28411 2008-08-31  Bruno Haible  <bruno@clisp.org>
28412
28413         Assume Solaris specific bi-arch conventions on Solaris systems.
28414         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
28415         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
28416         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
28417         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
28418         like acl_libdirstem.
28419         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
28420         acl_libdirstem.
28421         * NEWS: Mention the change.
28422         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
28423
28424 2008-08-31  Jim Meyering  <meyering@redhat.com>
28425
28426         * lib/strftime.h: Add comments describing the two added arguments.
28427
28428         remove duplicate #include directives
28429         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
28430         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
28431
28432 2008-08-31  Bruno Haible  <bruno@clisp.org>
28433
28434         New module 'sigpipe-die'.
28435         * modules/sigpipe-die: New file.
28436         * lib/sigpipe-die.h: New file.
28437         * lib/sigpipe-die.c: New file.
28438         * MODULES.html.sh (Signal handling): Add sigpipe-die.
28439
28440 2008-08-31  Bruno Haible  <bruno@clisp.org>
28441
28442         Don't override previously installed signal handlers.
28443         * lib/fatal-signal.c (saved_sigactions): New variable.
28444         (uninstall_handlers): Reset the signal to the saved handler, not
28445         to SIG_DFL (except when ignored).
28446         (install_handlers): Save the previous handlers.
28447
28448 2008-08-30  Bruno Haible  <bruno@clisp.org>
28449
28450         * gnulib-tool (func_reset_sigpipe): New function.
28451         (func_get_automake_snippet, func_modules_transitive_closure,
28452         func_import): Invoke it before a join command that reads from stdin,
28453         to avoid "echo: write error: Broken pipe" error messages on stderr.
28454         Reported by Sam Steingold <sds@gnu.org>.
28455
28456 2008-08-30  Bruno Haible  <bruno@clisp.org>
28457
28458         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
28459         Code copied from m4/open.m4.
28460         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
28461         access and the filename ends in a slash. Code copied from lib/open.c.
28462         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
28463         * tests/test-fopen.c (main): Check against bug with trailing slash.
28464
28465 2008-08-29  Bruno Haible  <bruno@clisp.org>
28466
28467         Avoid some "gcc -pedantic" warnings.
28468         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
28469         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
28470         * lib/dirent.in.h: Likewise.
28471         * lib/fcntl.in.h: Likewise.
28472         * lib/float.in.h: Likewise.
28473         * lib/iconv.in.h: Likewise.
28474         * lib/inttypes.in.h: Likewise.
28475         * lib/locale.in.h: Likewise.
28476         * lib/math.in.h: Likewise.
28477         * lib/netinet_in.in.h: Likewise.
28478         * lib/search.in.h: Likewise.
28479         * lib/signal.in.h: Likewise.
28480         * lib/stdarg.in.h: Likewise.
28481         * lib/stdint.in.h: Likewise.
28482         * lib/stdio.in.h: Likewise.
28483         * lib/stdlib.in.h: Likewise.
28484         * lib/string.in.h: Likewise.
28485         * lib/strings.in.h: Likewise.
28486         * lib/sys_select.in.h: Likewise.
28487         * lib/sys_socket.in.h: Likewise.
28488         * lib/sys_stat.in.h: Likewise.
28489         * lib/sys_time.in.h: Likewise.
28490         * lib/sysexits.in.h: Likewise.
28491         * lib/time.in.h: Likewise.
28492         * lib/unistd.in.h: Likewise.
28493         * lib/wchar.in.h: Likewise.
28494         * lib/wctype.in.h: Likewise.
28495         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
28496         * modules/fchdir (Makefile.am): Likewise.
28497         * modules/fcntl (Makefile.am): Likewise.
28498         * modules/float (Makefile.am): Likewise.
28499         * modules/iconv_open (Makefile.am): Likewise.
28500         * modules/inttypes (Makefile.am): Likewise.
28501         * modules/locale (Makefile.am): Likewise.
28502         * modules/math (Makefile.am): Likewise.
28503         * modules/netinet_in (Makefile.am): Likewise.
28504         * modules/search (Makefile.am): Likewise.
28505         * modules/signal (Makefile.am): Likewise.
28506         * modules/stdarg (Makefile.am): Likewise.
28507         * modules/stdint (Makefile.am): Likewise.
28508         * modules/stdio (Makefile.am): Likewise.
28509         * modules/stdlib (Makefile.am): Likewise.
28510         * modules/string (Makefile.am): Likewise.
28511         * modules/strings (Makefile.am): Likewise.
28512         * modules/sys_select (Makefile.am): Likewise.
28513         * modules/sys_socket (Makefile.am): Likewise.
28514         * modules/sys_stat (Makefile.am): Likewise.
28515         * modules/sys_time (Makefile.am): Likewise.
28516         * modules/sysexits (Makefile.am): Likewise.
28517         * modules/time (Makefile.am): Likewise.
28518         * modules/unistd (Makefile.am): Likewise.
28519         * modules/wchar (Makefile.am): Likewise.
28520         * modules/wctype (Makefile.am): Likewise.
28521         Reported by Reuben Thomas <rrt@sc3d.org>.
28522
28523 2008-08-29  Bruno Haible  <bruno@clisp.org>
28524
28525         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
28526         any more.
28527
28528 2008-08-29  Simon Josefsson  <simon@josefsson.org>
28529
28530         * MODULES.html.sh (Misc): Add bitrotate.
28531
28532         * modules/bitrotate: New file.
28533
28534         * lib/bitrotate.h: New file.
28535
28536         * modules/bitrotate-tests: New file.
28537
28538         * tests/test-bitrotate.c: New file.
28539
28540         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
28541         on the bitrotate module.
28542
28543         * lib/arctwo.c: Use new bitrotate module.
28544
28545 2008-08-29  Jim Meyering  <meyering@redhat.com>
28546
28547         bootstrap: merge changes from coreutils
28548         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
28549         of copied files.  Remove a kludge, now that this is fixed.
28550         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
28551         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
28552         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
28553
28554 2008-08-29  Bruno Haible  <bruno@clisp.org>
28555
28556         * MODULES.html.sh: Remove --cvs-urls option.
28557
28558 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
28559
28560         maint.mk: adjust to file name change
28561         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
28562
28563 2008-08-28  Jim Meyering  <meyering@redhat.com>
28564
28565         * modules/getndelim2 (License): Relicense to LGPLv2+.
28566         Approved by Richard Stallman for the version of 1995, and by
28567         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
28568
28569 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
28570
28571         * lib/getdelim.c (flockfile, funlockfile): Make all of them
28572         dummy if one is not available.  Do not touch them if
28573         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
28574         (getc_maybe_unlocked): New.
28575         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
28576
28577 2008-08-26  Eric Blake  <ebb9@byu.net>
28578
28579         doc/INSTALL: resync from autoconf
28580         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
28581         (INSTALL_PRELUDE): Delete; this is done more efficiently by
28582         moving...
28583         * install.texi [!autoconf]: ...here.  Resync from autoconf.
28584         * INSTALL: Regenerate.
28585         * INSTALL.ISO: New file.
28586         * INSTALL.UTF-8: Likewise.
28587
28588 2008-08-26  Jim Meyering  <meyering@redhat.com>
28589
28590         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
28591         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
28592         these definitions conditional, so that they may be overridden, too.
28593
28594 2008-08-26  Bruno Haible  <bruno@clisp.org>
28595
28596         Generate INSTALL file variants with prettier quotes.
28597         * doc/Makefile (INSTALL_PRELUDE): New macro.
28598         (INSTALL): Use it.
28599         (INSTALL.ISO, INSTALL.UTF-8): New rules.
28600
28601 2008-08-26  Bruno Haible  <bruno@clisp.org>
28602
28603         Run makeinfo in an English locale.
28604         * doc/Makefile (MAKEINFO): New variable.
28605
28606 2008-08-26  Bruno Haible  <bruno@clisp.org>
28607
28608         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
28609         Suggested by Eric Blake.
28610
28611 2008-08-25  Bruno Haible  <bruno@clisp.org>
28612
28613         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
28614
28615 2008-08-25  Eric Blake  <ebb9@byu.net>
28616
28617         c-stack: test that stack overflow can be caught
28618         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
28619         that platform allows handling stack overflow; at least OS/2 EMX
28620         has sigaltstack, but crashes before transferring control to
28621         handler on stack overflow.
28622         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
28623         check for HAVE_STACK_OVERFLOW_HANDLING.
28624         Reported by Elbert Pol.
28625
28626 2008-08-25  Bruno Haible  <bruno@clisp.org>
28627
28628         * doc/posix-functions/strftime.texi: Fix description of strftime
28629         module.
28630
28631 2008-08-24  Bruno Haible  <bruno@clisp.org>
28632
28633         * tests/uniwidth/test-uc_width2.c: New file.
28634         * tests/uniwidth/test-uc_width2.sh: New file.
28635         * modules/uniwidth/width-tests (Files): Add the new files.
28636         (TESTS): Add uniwidth/test-uc_width2.sh.
28637         (TESTS_ENVIRONMENT): New variable.
28638         (check_PROGRAMS): Add test-uc_width2.
28639         (test_uc_width2_SOURCES): New variable.
28640
28641         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
28642         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
28643         not 0x00AB.
28644         Reported by Alexander V. Lukyanov <lav@netis.ru>.
28645
28646 2008-08-22  Eric Blake  <ebb9@byu.net>
28647
28648         test-lock, test-tls: mention why a test is skipped
28649         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
28650         skipped.
28651         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
28652
28653         count-one-bits: relax license
28654         * modules/count-one-bits (License): Relicense to LGPLv2+.
28655         Suggested by Ludovic Courtès, approved by Ben Pfaff.
28656
28657 2008-08-22  Andreas Schwab  <schwab@suse.de>
28658
28659         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
28660         Remove spurious space in assignment.
28661
28662 2008-08-21  Simon Josefsson  <simon@josefsson.org>
28663
28664         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
28665         Paul Eggert <eggert@CS.UCLA.EDU>.
28666
28667 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
28668
28669         * modules/gettext: Add m4/threadlib.m4.
28670
28671 2008-08-19  Eric Blake  <ebb9@byu.net>
28672
28673         test-c-stack: fix compilation failure on FreeBSD 5.0
28674         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
28675         headers before <sys/resource.h>.
28676         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
28677         the bug.
28678         Reported by Nelson H. F. Beebe.
28679
28680         strverscmp: migrate from "strverscmp.h" to <string.h>
28681         * modules/string (Makefile.am): Add new hooks.
28682         * modules/strverscmp (Files): Remove strverscmp.h.
28683         (Depends-on): Add string.
28684         (configure.ac): Add indicator.
28685         (Include): Mention new header.
28686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
28687         defaults.
28688         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
28689         results.
28690         * lib/strverscmp.h: Delete.
28691         * lib/string.in.h (strverscmp): Provide declaration, when needed.
28692         * tests/test-strverscmp.c (includes): Adjust client.
28693         * lib/check-version.c (includes): Likewise.
28694         * NEWS: Document the change.
28695
28696         strverscmp: add unit test
28697         * modules/strverscmp-tests: New file.
28698         * tests/test-strverscmp.c: Likewise.
28699
28700 2008-08-19  Simon Josefsson  <simon@josefsson.org>
28701
28702         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
28703         regarding Windows crypto stuff, from Mono.
28704
28705 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
28706
28707         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
28708         if present, for intel RND.  Return error on failures.
28709
28710 2008-08-18  Ben Pfaff  <blp@gnu.org>
28711
28712         gitlog-to-changelog: give better diagnostic for failed pipe-open
28713         * build-aux/gitlog-to-changelog: Improve error message: suggest
28714         that the version of Git may be too old.
28715
28716 2008-08-18  Simon Josefsson  <simon@josefsson.org>
28717
28718         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
28719         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
28720
28721 2008-08-18  Bruno Haible  <bruno@clisp.org>
28722
28723         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
28724         pthread_in_use().
28725
28726 2008-08-18  Bruno Haible  <bruno@clisp.org>
28727
28728         * lib/glthread/threadlib.c: Include <pthread.h>.
28729
28730 2008-08-18  Bruno Haible  <bruno@clisp.org>
28731
28732         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
28733         glthread_recursive_lock_* macros.
28734         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
28735         Fix syntax error.
28736
28737 2008-08-18  Bruno Haible  <bruno@clisp.org>
28738
28739         * lib/glthread/thread.c: Avoid forcing a context switch right after
28740         thread creation.
28741
28742 2008-08-17  Bruno Haible  <bruno@clisp.org>
28743
28744         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
28745         * lib/glthread/thread.h: Provide Win32 specific implementation.
28746         * modules/thread (Files): Add lib/glthread/thread.c.
28747         (Depends-on): Add lock.
28748         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
28749
28750 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28751
28752         New module 'yield'.
28753         * modules/yield: New file.
28754         * lib/glthread/yield.h: New file.
28755         * m4/yield.m4: New file.
28756         * MODULES.html.sh (Multithreading): Add yield.
28757
28758 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28759
28760         New module 'thread'.
28761         * modules/thread: New file.
28762         * lib/glthread/thread.h: New file.
28763         * m4/thread.m4: New file.
28764         * MODULES.html.sh (Multithreading): Add thread.
28765
28766 2008-08-17  Bruno Haible  <bruno@clisp.org>
28767
28768         * lib/glthread/lock.h: Include <stdlib.h> always.
28769         * lib/glthread/tls.h: Likewise.
28770         * lib/glthread/cond.h: Likewise.
28771
28772 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28773
28774         New module 'cond'.
28775         * modules/cond: New file.
28776         * lib/glthread/cond.h: New file.
28777         * lib/glthread/cond.c: New file.
28778         * m4/cond.m4: New file.
28779         * MODULES.html.sh (Multithreading): Add cond.
28780
28781 2008-08-16  Eric Blake  <ebb9@byu.net>
28782
28783         c-stack: fix regression on Irix 5.3 from 2008-06-21
28784         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
28785         sa_sigaction...
28786         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
28787         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
28788         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
28789         * modules/signal (Makefile.am): Use the value.
28790         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
28791         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
28792         * doc/posix-headers/signal.texi (signal.h): Document this
28793         portability issue.
28794         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
28795         Reported by Tom G. Christensen.
28796
28797 2008-08-17  Bruno Haible  <bruno@clisp.org>
28798
28799         New module 'threadlib'.
28800         * modules/threadlib: New file.
28801         * lib/glthread/threadlib.c: New file, extracted from
28802         lib/glthread/lock.c.
28803         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
28804         functions.
28805         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
28806         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
28807         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
28808         macros.
28809         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
28810         (gl_DISABLE_THREADS): Remove macro.
28811         * modules/lock (Files): Remove build-aux/config.rpath.
28812         (Depends-on): Remove havelib. Add threadlib.
28813         (configure.ac-early): Remove section.
28814         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
28815         * modules/tls (Depends-on): Remove lock. Add threadlib.
28816         (Link): New section, copied from threadlib.
28817         * MODULES.html.sh (Multithreading): Add threadlib.
28818
28819 2008-08-14  Bruno Haible  <bruno@clisp.org>
28820
28821         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
28822         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
28823         glthread_rwlock_unlock, glthread_rwlock_destroy,
28824         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
28825         glthread_recursive_lock_destroy): Define as macros always.
28826         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
28827         glthread_lock_lock.
28828         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
28829         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
28830         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
28831         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
28832         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
28833         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
28834         (glthread_recursive_lock_lock_func): Renamed from
28835         glthread_recursive_lock_lock.
28836         (glthread_recursive_lock_unlock_func): Renamed from
28837         glthread_recursive_lock_unlock.
28838         (glthread_recursive_lock_destroy_func): Renamed from
28839         glthread_recursive_lock_destroy.
28840
28841 2008-08-14  Bruno Haible  <bruno@clisp.org>
28842
28843         * lib/glthread/lock.h: Renamed from lib/lock.h.
28844         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
28845         * lib/glthread/tls.h: Renamed from lib/tls.h.
28846         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
28847         * lib/fstrcmp.c: Update includes.
28848         * lib/strsignal.c: Update includes.
28849         * modules/lock (Files, Makefile.am): Update.
28850         (Include): Change to "glthread/lock.h".
28851         * modules/tls (Files, Makefile.am): Update.
28852         (Include): Change to "glthread/tls.h".
28853         * tests/test-lock.c: Update includes.
28854         * tests/test-tls.c: Update includes.
28855         * NEWS: Mention the renamed header files.
28856
28857 2008-08-11  Jim Meyering  <meyering@redhat.com>
28858
28859         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
28860
28861 2008-08-11  Eric Blake  <ebb9@byu.net>
28862
28863         test-c-stack: avoid C99-ism
28864         * tests/test-c-stack.c (main): Fix whitespace, move declaration
28865         before statement.
28866         Reported by Alain Guibert.
28867
28868 2008-08-10  Jim Meyering  <meyering@redhat.com>
28869
28870         ensure that return value of uinttostr et al are not ignored
28871         * lib/inttostr.h (__GNUC_PREREQ): Define.
28872         (__attribute_warn_unused_result__): Define.
28873         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
28874
28875 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
28876
28877         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
28878         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
28879
28880 2008-08-07  Jim Meyering  <meyering@redhat.com>
28881
28882         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
28883
28884         * modules/mkstemp (License): Relicense under LGPLv2+.
28885         * modules/tempname (License): Likewise.
28886
28887 2008-08-06  Bruno Haible  <bruno@clisp.org>
28888
28889         * lib/poll.c (poll): Further micro-optimization.
28890
28891 2008-08-06  Jim Meyering  <meyering@redhat.com>
28892
28893         inet_pton.c: use locale-independent tolower
28894         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
28895         (inet_pton6): Use c_tolower rather than tolower.
28896         * modules/inet_pton (Depends-on): Add c-ctype.
28897
28898 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
28899
28900         * lib/poll.c (poll): Avoid division when timeout is 0, cache
28901         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
28902
28903 2008-08-06  Jim Meyering  <meyering@redhat.com>
28904
28905         * modules/inet_pton (License): Relicense under LGPLv2+.
28906
28907 2008-08-03  Bruno Haible  <bruno@clisp.org>
28908
28909         Additional non-aborting API for lock and tls.
28910         * lib/lock.h: Include <errno.h>.
28911         (glthread_lock_init): New macro/function.
28912         (gl_lock_init): Define as wrapper around glthread_lock_init.
28913         (glthread_lock_lock): New macro/function.
28914         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
28915         (glthread_lock_unlock): New macro/function.
28916         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
28917         (glthread_lock_destroy): New macro/function.
28918         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
28919         (glthread_rwlock_init): New macro/function.
28920         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
28921         (glthread_rwlock_rdlock): New macro/function.
28922         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
28923         (glthread_rwlock_wrlock): New macro/function.
28924         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
28925         (glthread_rwlock_unlock): New macro/function.
28926         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
28927         (glthread_rwlock_destroy): New macro/function.
28928         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
28929         (glthread_recursive_lock_init): New macro/function.
28930         (gl_recursive_lock_init): Define as wrapper around
28931         glthread_recursive_lock_init.
28932         (glthread_recursive_lock_lock): New macro/function.
28933         (gl_recursive_lock_lock): Define as wrapper around
28934         glthread_recursive_lock_lock.
28935         (glthread_recursive_lock_unlock): New macro/function.
28936         (gl_recursive_lock_unlock): Define as wrapper around
28937         glthread_recursive_lock_unlock.
28938         (glthread_recursive_lock_destroy): New macro/function.
28939         (gl_recursive_lock_destroy): Define as wrapper around
28940         glthread_recursive_lock_destroy.
28941         (glthread_once): New macro/function.
28942         (gl_once): Define as wrapper around glthread_once.
28943         Update function declarations.
28944         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
28945         glthread_rwlock_init. Return error code.
28946         (glthread_rwlock_rdlock_multithreaded): Renamed from
28947         glthread_rwlock_rdlock. Return error code.
28948         (glthread_rwlock_wrlock_multithreaded): Renamed from
28949         glthread_rwlock_wrlock. Return error code.
28950         (glthread_rwlock_unlock_multithreaded): Renamed from
28951         glthread_rwlock_unlock. Return error code.
28952         (glthread_rwlock_destroy_multithreaded): Renamed from
28953         glthread_rwlock_destroy. Return error code.
28954         (glthread_recursive_lock_init_multithreaded): Renamed from
28955         glthread_recursive_lock_init. Return error code.
28956         (glthread_recursive_lock_lock_multithreaded): Renamed from
28957         glthread_recursive_lock_lock. Return error code.
28958         (glthread_recursive_lock_unlock_multithreaded): Renamed from
28959         glthread_recursive_lock_unlock. Return error code.
28960         (glthread_recursive_lock_destroy_multithreaded): Renamed from
28961         glthread_recursive_lock_destroy. Return error code.
28962         (glthread_once_call): Make static.
28963         (glthread_once_multithreaded): Renamed from glthread_once.
28964         * lib/tls.h: Include <errno.h>.
28965         (glthread_tls_key_init): New macro/function.
28966         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
28967         (glthread_tls_set): New macro/function.
28968         (gl_tls_set): Define as wrapper around glthread_tls_set.
28969         (glthread_tls_key_destroy): New macro/function.
28970         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
28971         Update function declarations.
28972         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
28973         glthread_tls_get.
28974         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
28975
28976 2008-08-04  Eric Blake  <ebb9@byu.net>
28977
28978         gnumakefile: use space, not TAB, outside of targets
28979         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
28980
28981 2008-08-02  Jim Meyering  <meyering@redhat.com>
28982
28983         getdate.y: avoid locale-dependent date parsing failure
28984         In Turkish locales, getdate would fail to recognize keywords
28985         containing a lowercase "i".  The solution is not to rely on
28986         locale-sensitive case-conversion.
28987         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
28988         (lookup_word): Use c_toupper in place of toupper.
28989         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
28990         Reported by Vefa Bicakci <bicave@superonline.com> in
28991         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
28992         * modules/getdate (Depends-on): Add c-ctype.
28993
28994 2008-08-02  Bruno Haible  <bruno@clisp.org>
28995
28996         * gnulib-tool (func_import): When updating or creating a .gitignore
28997         file, prepend each added line with a slash, and ignore leading slashes
28998         from the existing lines.
28999         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
29000
29001 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29002
29003         Portability fix for GNU make 3.79.1.
29004         * top/GNUmakefile: Avoid 'else COND', which older GNU make
29005         versions do not understand.
29006
29007 2008-08-01  Bruno Haible  <bruno@clisp.org>
29008
29009         Work around bug of HP-UX 10.20 cc with -0.0 literal.
29010         * tests/test-isnanf.h (zero): New variable.
29011         (main): Avoid literal -0.0f.
29012         * tests/test-isnand.h (zero): New variable.
29013         (main): Avoid literal -0.0.
29014         * tests/test-isnanl.h (zero): New variable.
29015         (main): Avoid literal -0.0L.
29016         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
29017         (test_float, test_double, test_long_double): Avoid literals -0.0f,
29018         -0.0, -0.0L.
29019         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
29020         (test_signbitd): Avoid literal -0.0.
29021         (test_signbitl): Avoid literal -0.0L.
29022         * tests/test-ceilf1.c (zero): New variable.
29023         (main): Avoid literal -0.0f.
29024         * tests/test-ceill.c (zero): New variable.
29025         (main): Avoid literal -0.0L.
29026         * tests/test-floorf1.c (zero): New variable.
29027         (main): Avoid literal -0.0f.
29028         * tests/test-floorl.c (zero): New variable.
29029         (main): Avoid literal -0.0L.
29030         * tests/test-roundf1.c (zero): New variable.
29031         (main): Avoid literal -0.0f.
29032         * tests/test-round1.c (zero): New variable.
29033         (main): Avoid literal -0.0.
29034         * tests/test-roundl.c (zero): New variable.
29035         (main): Avoid literal -0.0L.
29036         * tests/test-truncf1.c (zero): New variable.
29037         (main): Avoid literal -0.0f.
29038         * tests/test-trunc1.c (zero): New variable.
29039         (main): Avoid literal -0.0.
29040         * tests/test-truncl.c (zero): New variable.
29041         (main): Avoid literal -0.0L.
29042         * tests/test-frexp.c (zero): New variable.
29043         (main): Avoid literal -0.0.
29044         * tests/test-frexpl.c (zero): New variable.
29045         (main): Avoid literal -0.0L.
29046         * tests/test-ldexpl.c (zero): New variable.
29047         (main): Avoid literal -0.0L.
29048         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
29049         (zerod, zerol): New variables.
29050         (test_function): Avoid literals -0.0, -0.0L.
29051         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
29052         (zerod, zerol): New variables.
29053         (test_function): Avoid literals -0.0, -0.0L.
29054         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
29055         (zerod, zerol): New variables.
29056         (test_function): Avoid literals -0.0, -0.0L.
29057         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
29058         (zerod, zerol): New variables.
29059         (test_function): Avoid literals -0.0, -0.0L.
29060         * tests/test-strtod.c (zero): New variable.
29061         (main): Avoid literal -0.0.
29062         Reported by Jonathan C. Patschke <jp@centtech.com>.
29063
29064 2008-07-31  Jim Meyering  <meyering@redhat.com>
29065
29066         sha256.h: correct definition of SHA224_DIGEST_SIZE
29067         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
29068         Reported by Paulie Pena IV <paulie4@gmail.com>.
29069         Define as 224 / 8, rather than as a literal.
29070         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
29071         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
29072         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
29073
29074 2008-07-31  Bruno Haible  <bruno@clisp.org>
29075
29076         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
29077         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
29078         Reported by Jonathan Patschke <jp@centtech.com>.
29079
29080 2008-07-31  Bruno Haible  <bruno@clisp.org>
29081
29082         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
29083         Reported by Paolo Bonzini <bonzini@gnu.org>.
29084
29085 2008-07-30  Eric Blake  <ebb9@byu.net>
29086
29087         test-strtod: allow compilation without -lm
29088         * tests/test-strtod.c (main): Avoid link dependence on fabs.
29089         Reported by Dennis Clarke <blastwave@gmail.com>.
29090
29091 2008-07-28  Jim Meyering  <meyering@redhat.com>
29092
29093         bootstrap: work also when there are no .po files in po/
29094         * build-aux/bootstrap (update_po_files): Complete the change
29095         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
29096
29097 2008-07-27  Jim Meyering  <meyering@redhat.com>
29098
29099         * users.txt: Add zile.
29100
29101 2008-07-26  Ben Pfaff  <blp@gnu.org>
29102
29103         Add missing dependencies on new m4/exponent[fdl].m4 files.
29104         * modules/isnanf-nolibm: Add m4/exponentf.m4.
29105         * modules/isnand-nolibm: Add m4/exponentd.m4.
29106         * modules/isnanl-nolibm: Add m4/exponentl.m4.
29107         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
29108         m4/isnan[fdl].m4, because the macros actually used moved.
29109         Reported by Jim Meyering.
29110
29111 2008-07-14  Ben Pfaff  <blp@gnu.org>
29112
29113         Add isinf module.
29114         * lib/isinf.c: New file.
29115         * lib/math.in.h: Define isinf macro if we have decided to replace
29116         it.
29117         * m4/isinf.m4: New file.
29118         * m4/math_h.m4: Initialize and substitute variables for isinf
29119         module.
29120         * modules/isinf: New file.
29121         * modules/isinf-tests: New file.
29122         * modules/math: Add substitutions for new module.
29123         * tests/test-isinf.c: New file.
29124         * doc/posix-functions/isinf.texi: Mention new module.
29125         * MODULES.html.sh: Mention new module.
29126
29127 2008-07-14  Ben Pfaff  <blp@gnu.org>
29128
29129         Factor out some macros for use by additional modules.
29130         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
29131         exponentf.m4.
29132         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
29133         exponentd.m4.
29134         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
29135         file exponentl.m4.
29136         * m4/exponentf.m4: New file.
29137         * m4/exponentd.m4: New file.
29138         * m4/exponentl.m4: New file.
29139         * modules/isnanf: Use new file m4/exponentf.m4.
29140         * modules/isnand: Use new file m4/exponentd.m4.
29141         * modules/isnanl: Use new file m4/exponentl.m4.
29142
29143 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
29144
29145         mktime.c: normalize tp->tm_isdst value to -1/0/1.
29146         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
29147         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
29148         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
29149
29150         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
29151         readlink on platforms without PATH_MAX.
29152
29153 2008-07-21  Eric Blake  <ebb9@byu.net>
29154
29155         Warn, not fail, on stale version.
29156         * top/GNUmakefile (_curr-ver): Tone down previous patch.
29157
29158         Don't allow installation with stale devel version number.
29159         * top/GNUmakefile (_is-install-target): New macro.
29160         (_curr-ver): Forbid installation with stale version number.
29161
29162 2008-07-20  Bruno Haible  <bruno@clisp.org>
29163
29164         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
29165         TESTS_ENVIRONMENT.
29166         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
29167
29168 2008-07-20  Bruno Haible  <bruno@clisp.org>
29169
29170         * lib/c-stack.h (c_stack_action): Add documentation.
29171         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
29172
29173 2008-07-20  Bruno Haible  <bruno@clisp.org>
29174
29175         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
29176         * modules/readlink (License): Likewise.
29177
29178 2008-07-17  Eric Blake  <ebb9@byu.net>
29179
29180         * modules/c-stack (Link): Fix typo.
29181
29182         Make c-stack use libsigsegv, when available.
29183         * modules/c-stack (Depends-on): Add libsigsegv.
29184         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
29185         needed.
29186         * lib/c-stack.c (SIGSTKSZ): Define fallback.
29187         (segv_handler, overflow_handler, c_stack_action)
29188         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
29189         implementation when libsigsegv is available, but only when using
29190         the library is necessary.
29191         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
29192         comment, explaining why XSI check fails on Linux.
29193         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
29194         * tests/test-c-stack2.sh: Tweak skip message.
29195         * NEWS: Document new link-time requirements.
29196
29197 2008-07-16  Eric Blake  <ebb9@byu.net>
29198
29199         c-stack: Expose false positives when not using libsigsegv.
29200         * modules/c-stack-tests (Files): Expand test.
29201         * tests/test-c-stack.c (main): Add means to conditionally trigger
29202         non-overflow SIGSEGV.
29203         * tests/test-c-stack2.sh: New file.
29204
29205 2008-07-14  Bruno Haible  <bruno@clisp.org>
29206
29207         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
29208         Reported by Eric Blake.
29209
29210 2008-07-14  Sam Steingold  <sds@gnu.org>
29211             Bruno Haible  <bruno@clisp.org>
29212
29213         New module libsigsegv.
29214         * modules/libsigsegv: New file.
29215         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
29216         modifications.
29217         * MODULES.html.sh (Signal handling): New section.
29218
29219 2008-07-14  Bruno Haible  <bruno@clisp.org>
29220
29221         * modules/unictype/ctype-* (Description): Add the word "function".
29222         Improves the resulting doc in MODULES.html.
29223
29224 2008-07-12  Ben Pfaff  <blp@gnu.org>
29225
29226         Add longlong module.
29227         * modules/longlong: New file.
29228
29229 2008-07-12  Bruno Haible  <bruno@clisp.org>
29230
29231         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
29232         to empty.
29233
29234 2008-07-10  Ben Pfaff  <blp@gnu.org>
29235
29236         Add isnan module.
29237         * doc/posix-functions/isnan.texi: Mention new module.
29238         * lib/math.in.h: Define isnan macro if we have decided to replace
29239         it.
29240         * m4/isnan.m4: New file.
29241         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
29242         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
29243         also.
29244         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
29245         redundancy.
29246         * m4/math_h.m4: Initialize and substitute variables for isnan
29247         module.
29248         * modules/isnan: New file.
29249         * modules/isnan-tests: New file.
29250         * modules/math: Add substitutions for new module.
29251         * tests/test-isnan.c: New file.
29252         * MODULES.html.sh: Mention new module.
29253
29254 2008-07-10  Ben Pfaff  <blp@gnu.org>
29255
29256         Add isnanf module.
29257         * lib/isnanf.m4: New file.
29258         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
29259         (gl_HAVE_ISNANF_IN_LIBM): New macro.
29260         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
29261         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
29262         * modules/isnanf: New file.
29263         * modules/isnanf-tests: New file.
29264         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
29265         files.
29266         * tests/test-isnanf-nolibm.c: factored most of its contents into
29267         new file tests/test-isnanf.h.
29268         * tests/test-isnanf.h: New file.
29269         * tests/test-isnanf.c: New file.
29270         * MODULES.html.sh: Mention new module.
29271         * doc/glibc-functions/isnanf.texi: Mention new module.
29272
29273 2008-07-10  Ben Pfaff  <blp@gnu.org>
29274
29275         Add isnand module.
29276         * lib/isnand.h: New file.
29277         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
29278         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
29279         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
29280         functionality also.
29281         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
29282         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
29283         (gl_HAVE_ISNAND_IN_LIBM): New macro.
29284         * modules/isnand: New file.
29285         * modules/isnand-tests: New file.
29286         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
29287         files.
29288         * tests/test-isnand-nolibm.c: factored most of its contents into
29289         new file tests/test-isnand.h.
29290         * tests/test-isnand.h: New file.
29291         * tests/test-isnand.c: New file.
29292         * MODULES.html.sh: Mention new module.
29293
29294 2008-07-10  Ben Pfaff  <blp@gnu.org>
29295
29296         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
29297         * lib/isnand.h: Rename lib/isnand-nolibm.h.
29298         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
29299         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
29300         * modules/isnanf-nolibm: Update references to renamed files.
29301         * modules/isnand-nolibm: Likewise.
29302         * modules/isnanf-nolibm-tests: Likewise.
29303         * modules/isnand-nolibm-tests: Likewise.
29304         * lib/frexp.c: Likewise.
29305         * lib/isfinite.c: Likewise.
29306         * lib/signbitd.c: Likewise.
29307         * lib/signbitf.c: Likewise.
29308         * lib/vasnprintf.c: Likewise.
29309         * tests/test-ceilf1.c: Likewise.
29310         * tests/test-ceilf2.c: Likewise.
29311         * tests/test-floorf1.c: Likewise.
29312         * tests/test-floorf2.c: Likewise.
29313         * tests/test-frexp.c: Likewise.
29314         * tests/test-round1.c: Likewise.
29315         * tests/test-round2.c: Likewise.
29316         * tests/test-roundf1.c: Likewise.
29317         * tests/test-strtod.c: Likewise.
29318         * tests/test-trunc1.c: Likewise.
29319         * tests/test-trunc2.c: Likewise.
29320         * tests/test-truncf1.c: Likewise.
29321         * tests/test-truncf2.c: Likewise.
29322         * NEWS: Mention the renamed header files.
29323
29324 2008-07-11  Jim Meyering  <meyering@redhat.com>
29325
29326         vc-list-files: make the last-resort awk code more portable
29327         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
29328         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
29329         does not support it.
29330
29331 2008-07-10  Eric Blake  <ebb9@byu.net>
29332
29333         Work with tar's bootstrap.
29334         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
29335         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
29336         an m4 comment.
29337
29338 2008-07-09  Jim Meyering  <meyering@redhat.com>
29339
29340         posix-shell.m4: fix typo that made this test malfunction
29341         * m4/posix-shell.m4: Remove capitalization in variable name.
29342
29343 2008-07-08  Bruno Haible  <bruno@clisp.org>
29344
29345         * m4/onceonly.m4: Update comments.
29346         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29347
29348 2008-07-04  Jim Meyering  <meyering@redhat.com>
29349
29350         * users.txt: Add vc-dwim.
29351         (bison, coreutils): Use the gitweb URL.
29352
29353 2008-07-03  Jim Meyering  <meyering@redhat.com>
29354
29355         * users.txt: Add libffcall.  From Sam Steingold.
29356
29357 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
29358
29359         getdate.y: do not ignore TZ with relative day, month or year offset
29360         * lib/getdate.y (get_date): Move the tz-handling block to follow the
29361         relative-date-handling, since otherwise, the latter would clobber the
29362         sole output (an updated Start value) of the tz-handling block.
29363         * tests/test-getdate.c: Tests for the fix
29364
29365 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29366
29367         Recognize 'foo_LIBRARIES += libgnu.a'.
29368         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
29369         makefile snippet has already specified an installation location,
29370         also using '+='.
29371
29372 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
29373
29374         getdate.y: factor out common actions
29375         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
29376         Use them in place of open-coded actions.
29377
29378 2008-07-01  Simon Josefsson  <simon@josefsson.org>
29379
29380         Add self-test for getdate module.
29381         * modules/getdate-tests: New file.
29382         * tests/test-getdate.c: New file.
29383
29384 2008-06-29  Bruno Haible  <bruno@clisp.org>
29385
29386         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
29387         .gitignore.
29388         Reported by Sylvain Beucler <beuc@beuc.net>.
29389
29390 2008-06-29  Bruno Haible  <bruno@clisp.org>
29391
29392         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
29393         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
29394
29395 2008-06-29  Bruno Haible  <bruno@clisp.org>
29396
29397         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
29398         EXTRA_DIST.
29399         Reported by Sylvain Beucler <beuc@beuc.net>.
29400
29401 2008-06-26  Jim Meyering  <meyering@redhat.com>
29402
29403         make several modules depend on the "open" module
29404         This provides slightly increased consistency when opening-for-write
29405         the name of a non-directory spelled with a trailing slash.
29406         * modules/chdir-safer: Likewise.
29407         * modules/chown: Likewise.
29408         * modules/clean-temp: Likewise.
29409         * modules/copy-file: Likewise.
29410         * modules/fchdir: Likewise.
29411         * modules/fcntl-safer: Likewise.
29412         * modules/pipe: Likewise.
29413         * modules/utime: Likewise.
29414         Prompted by Eric Blake and Bruno Haible.
29415
29416 2008-06-24  Andreas Schwab  <schwab@suse.de>
29417
29418         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
29419         literals can be used as initializers for global variables.
29420
29421 2008-06-23  Eric Blake  <ebb9@byu.net>
29422
29423         Make gnulib-cache.m4 easier to diff.
29424         * gnulib-tool (func_import): Allow newlines when reading cached
29425         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
29426
29427 2008-06-23  Bruno Haible  <bruno@clisp.org>
29428
29429         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
29430         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
29431         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
29432         m4/signalblocking.m4.
29433         (gl_PREREQ_SIGACTION): Don't invoke it.
29434         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
29435         gl_PREREQ_SIG_HANDLER_H.
29436         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29437         Don't check for sigaction here.
29438
29439 2008-06-23  Bruno Haible  <bruno@clisp.org>
29440
29441         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
29442         (install_handlers): Don't set the SA_RESETHAND flag.
29443
29444 2008-06-23  Bruno Haible  <bruno@clisp.org>
29445
29446         * m4/sigaction.m4: Comment fixes.
29447         * lib/signal.in.h: Likewise.
29448
29449 2008-06-23  Eric Blake  <ebb9@byu.net>
29450
29451         Fix typo.
29452         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
29453
29454         Avoid SA_ namespace.
29455         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
29456         Reported by Ralf Wildenhues.
29457
29458         Avoid test failure due to SA_RESTORER.
29459         * tests/test-sigaction.c (SA_MASK): New macro.
29460         (main): Avoid failing due to extension flags being set.
29461         Reported by Jim Meyering.
29462
29463         Revert use of sig-handler.h in sigprocmask.c.
29464         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
29465         it requires the existence of struct sigaction.
29466         * lib/sigprocmask.c (handler_t): Restore typedef.
29467         (rpl_signal, old_handlers): Use local type.
29468
29469 2008-06-22  Bruno Haible  <bruno@clisp.org>
29470
29471         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
29472         conditionally.
29473         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29474
29475 2008-06-22  Bruno Haible  <bruno@clisp.org>
29476
29477         * doc/posix-functions/siginterrupt.texi: Move note.
29478
29479         * lib/signal.in.h (SA_RESTART): New macro.
29480         * lib/sigaction.c: Update comment.
29481
29482         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
29483
29484         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
29485         (gl_PREREQ_SIGPROCMASK): Invoke it.
29486         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
29487
29488         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
29489
29490         * lib/sigprocmask.c: Update a comment.
29491
29492 2008-06-21  Eric Blake  <ebb9@byu.net>
29493
29494         Use sigaction module rather than signal().
29495         * modules/c-stack (Depends-on): Add sigaction.
29496         * modules/fatal-signal (Depends-on): Likewise.
29497         * modules/nanosleep (Depends-on): Likewise.
29498         * modules/sigprocmask (Files): Add sig-handler.h.
29499         * modules/sigaction (Files): Likewise.
29500         * lib/sig-handler.h (get_handler): New file, suggested by Paul
29501         Eggert.
29502         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
29503         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
29504         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
29505         (init_fatal_signals): Likewise.
29506         * lib/nanosleep.c (rpl_nanosleep): Likewise.
29507         (siginterrupt): Delete fallback.
29508         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
29509         instead.
29510         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
29511         siginterrupt.
29512
29513         New module sigaction, for mingw.
29514         * modules/sigaction: New module...
29515         * modules/sigaction-tests: ...and its test.
29516         * m4/sigaction.m4: New file.
29517         * lib/sigaction.c: Likewise.
29518         * tests/test-sigaction.c: Likewise.
29519         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
29520         * modules/signal (Makefile.am): Likewise.
29521         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
29522         needed.
29523         * doc/posix-headers/signal.texi (signal.h): Mention provided
29524         types.
29525         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
29526         that sigaction is preferable.
29527         * doc/posix-functions/sigaction.texi (sigaction): Mention new
29528         module.
29529         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29530         sigaction.
29531
29532         Improve robustness of sigprocmask by overriding signal.
29533         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
29534         is in use.
29535         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
29536         (SIGKILL, SIGSTOP): Provide fallbacks.
29537         (rpl_signal): Implement.
29538         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
29539         signal can be called inside handlers.
29540
29541         Fix nanosleep module on mingw.
29542         * modules/nanosleep (Depends-on): Add sys_select.
29543         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
29544
29545         Fix licensing of sigprocmask.
29546         * modules/raise (License): Relicense as LGPL.
29547
29548 2008-06-21  Bruno Haible  <bruno@clisp.org>
29549
29550         * lib/propername.c (proper_name_utf8): Don't use the transliterated
29551         result if it contains question marks.
29552         Reported by Michael Geng <linux@michaelgeng.de>.
29553
29554 2008-06-19  Bruno Haible  <bruno@clisp.org>
29555
29556         Fix CVS-ism.
29557         * doc/gnulib.texi: Include updated-stamp.texi.
29558         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
29559         (updated-stamp.texi): New rule.
29560         (gnulib.info): Depend on it.
29561         * doc/.gitignore: Add updated-stamp.texi.
29562         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
29563
29564 2008-06-19  Bruno Haible  <bruno@clisp.org>
29565
29566         * doc/Makefile (gnulib.info): Update and simplify dependencies.
29567         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29568
29569 2008-06-19  Eric Blake  <ebb9@byu.net>
29570
29571         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
29572         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
29573         Reported by Stepan Kasal.
29574
29575 2008-06-18  Bruno Haible  <bruno@clisp.org>
29576
29577         * lib/fatal-signal.c (init_fatal_signals): Add comment.
29578         Reported by Eric Blake.
29579
29580 2008-06-18  Eric Blake  <ebb9@byu.net>
29581
29582         Work around cygwin 1.5.25 strsignal bug.
29583         * tests/test-strsignal.c: Allow for const char *.
29584         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
29585
29586 2008-06-18  Simon Josefsson  <simon@josefsson.org>
29587
29588         * users.txt: Update URL to article and add author/date
29589         information.
29590
29591 2008-06-17  Bruno Haible  <bruno@clisp.org>
29592
29593         New macro gl_DISABLE_THREADS.
29594         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
29595         if the user did not pass --enable-threads or --disable-threads option.
29596         (gl_DISABLE_THREADS): New macro.
29597         Reported by Eric Blake <ebb9@byu.net>.
29598
29599 2008-06-17  Bruno Haible  <bruno@clisp.org>
29600
29601         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
29602         when the macro ignores it.
29603         Based on a patch by Eric Blake <ebb9@byu.net>.
29604
29605 2008-06-17  Bruno Haible  <bruno@clisp.org>
29606
29607         * modules/tls (License): Change to LGPLv2+.
29608         Reported by Eric Blake.
29609
29610 2008-06-17  Eric Blake  <ebb9@byu.net>
29611
29612         Simplify c-stack prerequisites.
29613         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
29614         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
29615         no longer requires <ucontext.h> to exist.  Optimize setrlimit
29616         check.
29617         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
29618         <sys/resource.h>.
29619
29620         Move c-stack test into testsuite.
29621         * modules/c-stack-tests: New file.
29622         * lib/c-stack.c [DEBUG]: Move test program...
29623         * tests/test-c-stack.c: ...into this new file.  Skip rather than
29624         fail test if sigaltstack is lacking.
29625         * tests/test-c-stack.sh: New driver file.
29626
29627 2008-06-16  Eric Blake  <ebb9@byu.net>
29628
29629         Use raise module consistently.
29630         * modules/fatal-signal (Depends-on): Add raise.
29631         * modules/sigprocmask (Depends-on): Likewise.
29632         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
29633         * lib/sigprocmask.c (sigprocmask): Likewise.
29634         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29635         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
29636
29637         Fix compliance bug in sigpending.
29638         * lib/sigprocmask.c (sigpending): Return pending array via
29639         parameter, not return value.
29640
29641 2008-06-14  Eric Blake  <ebb9@byu.net>
29642
29643         Improve obstack-printf test code.
29644         * tests/test-obstack-printf.c (test_function): Fix comment, and
29645         simplify usage of obstack_* in macros.  Add a test for coverage.
29646         Reported by Bruno Haible.
29647
29648 2008-06-14  Bruno Haible  <bruno@clisp.org>
29649
29650         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
29651         array size as a constant, not as a const variable.
29652         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
29653         AC_USE_SYSTEM_EXTENSIONS.
29654         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
29655         Test whether the obstack_printf function actually exists.
29656         * modules/obstack-printf (Depends-on): Add extensions.
29657         (Include): Remove obstack.h.
29658         * modules/obstack-printf-posix (Depends-on): Add extensions.
29659         (Include): Remove obstack.h.
29660
29661 2008-06-13  Eric Blake  <ebb9@byu.net>
29662
29663         Add obstack-printf and obstack-printf-posix modules.
29664         * modules/obstack-printf: New file.
29665         * modules/obstack-printf-posix: Likewise.
29666         * MODULES.html.sh (Misc): Mention them.
29667         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
29668         Likewise.
29669         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
29670         Likewise.
29671         * modules/stdio (Makefile.am): Accomodate new modules.
29672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
29673         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
29674         Declare.
29675         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
29676         functions.
29677         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
29678         (gl_REPLACE_OBSTACK_PRINTF): New macros
29679         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
29680         * tests/test-obstack-printf.c: New file.
29681         * modules/obstack-printf-tests: Likewise.
29682         * modules/obstack-printf-posix-tests: Likewise.
29683
29684 2008-06-11  Bruno Haible  <bruno@clisp.org>
29685
29686         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
29687         * lib/open.c: Include errno.h.
29688         (open): Fail when attempting to write to a file that has a trailing
29689         slash.
29690         * tests/test-open.c (main): Test against trailing slash bug.
29691         * doc/posix-functions/open.texi: Mention the trailing slash bug.
29692
29693 2008-06-10  Bruno Haible  <bruno@clisp.org>
29694
29695         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
29696         for $? to work inside the trap command, with various /bin/sh-s.
29697         * tests/test-vc-list-files-cvs.sh: Likewise.
29698
29699 2008-06-10  Bruno Haible  <bruno@clisp.org>
29700
29701         * lib/acl-internal.h: Don't include gettext.h here.
29702         * lib/set-mode-acl.c: Include gettext.h here.
29703         * lib/copy-acl.c: Likewise.
29704
29705 2008-06-10  Bruno Haible  <bruno@clisp.org>
29706
29707         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
29708         * lib/wait-process.c (wait_subprocess): Likewise.
29709         * lib/execute.h (execute): Add termsigp argument.
29710         * lib/execute.c (execute): Likewise.
29711         * lib/csharpcomp.c (compile_csharp_using_pnet,
29712         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
29713         * lib/csharpexec.c (execute_csharp_using_pnet,
29714         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
29715         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
29716         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
29717         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
29718         is_jikes_present): Update.
29719         * lib/javaexec.c (execute_java_class): Update.
29720         * lib/javaversion.c (execute_and_read_line): Update.
29721         * NEWS: Document the changes.
29722         Reported by Eric Blake.
29723
29724 2008-06-10  Eric Blake  <ebb9@byu.net>
29725
29726         Add missing include.
29727         * tests/test-strstr.c (includes): Add <signal.h>.
29728         * tests/test-strcasestr.c (includes): Likewise.
29729         * tests/test-memmem.c (includes): Likewise.
29730
29731 2008-06-10  Bruno Haible  <bruno@clisp.org>
29732
29733         * lib/wait-process.c (wait_subprocess): Add an assertion.
29734
29735 2008-06-10  Bruno Haible  <bruno@clisp.org>
29736
29737         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
29738
29739 2008-06-10  Bruno Haible  <bruno@clisp.org>
29740
29741         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
29742         using alarm().
29743         * tests/test-strcasestr.c (main): Likewise.
29744         * tests/test-strstr.c (main): Likewise.
29745
29746 2008-06-09  Bruno Haible  <bruno@clisp.org>
29747
29748         Work around the Solaris 10 ACE ACLs ABI change.
29749         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
29750         declare if ACL_NO_TRIVIAL is present.
29751         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
29752         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
29753         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
29754         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
29755         define if ACL_NO_TRIVIAL is present.
29756         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
29757         and use the current ABI.
29758         (file_has_acl): Use same #if condition as elsewhere.
29759         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
29760         in use, and use the current ABI.
29761         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
29762         Reported by Jim Meyering.
29763
29764 2008-06-09  Eric Blake  <ebb9@byu.net>
29765
29766         Work around environments that (stupidly) ignore SIGALRM.
29767         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
29768         before using alarm().
29769         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29770         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29771         Reported by Ian Beckwith <ianb@erislabs.net>.
29772
29773         Produce autobuild blurb earlier in log.
29774         * modules/autobuild (configure.ac-early): Move AB_INIT here.
29775
29776 2008-06-09  Jim Meyering  <meyering@redhat.com>
29777         and Ondřej Vašík  <ovasik@redhat.com>
29778
29779         utimens.c: correct kernel bug work-around
29780         Ondřej Vašík found that the invalid return value of 280 indicates
29781         failure, not success, and the kernel bug we're trying to work
29782         around affects not just the utimensat call, but also the fallback
29783         futimens call.
29784         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
29785         not success.
29786         [HAVE_FUTIMENS]: Use the same work-around, here.
29787
29788 2008-06-09  Jim Meyering  <meyering@redhat.com>
29789
29790         add more guards around definition of ACE_-related code
29791         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
29792         ALLOW and ACE_OWNER are also defined.
29793
29794 2008-06-08  Bruno Haible  <bruno@clisp.org>
29795
29796         * lib/acl-internal.h: Add me as co-author.
29797         * lib/file-has-acl.c: Likewise.
29798         * lib/set-mode-acl.c: Likewise.
29799         * lib/copy-acl.c: Likewise.
29800
29801 2008-06-08  Bruno Haible  <bruno@clisp.org>
29802
29803         Add support for AIX ACLs.
29804         * lib/acl-internal.h (acl_nontrivial): New declaration.
29805         * lib/file-has-acl.c (acl_nontrivial): New function.
29806         (file_has_acl): Add implementation using AIX 4 ACL API.
29807         * lib/set-mode-acl.c (qset_acl): Likewise.
29808         * lib/copy-acl.c (qcopy_acl): Likewise.
29809
29810 2008-06-08  Bruno Haible  <bruno@clisp.org>
29811
29812         Add support for HP-UX ACLs.
29813         * lib/acl-internal.h (acl_nontrivial): New declaration.
29814         * lib/file-has-acl.c (acl_nontrivial): New function.
29815         (file_has_acl): Add implementation using HP-UX 11 ACL API.
29816         * lib/set-mode-acl.c (qset_acl): Likewise.
29817         * lib/copy-acl.c (qcopy_acl): Likewise.
29818
29819 2008-06-08  Bruno Haible  <bruno@clisp.org>
29820
29821         Add support for Cygwin ACLs.
29822         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
29823         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
29824         the chmod_or_fchmod call.
29825         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
29826
29827 2008-06-08  Bruno Haible  <bruno@clisp.org>
29828
29829         Fix bug with setuid modes in Solaris 10+ code.
29830         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
29831         succeeded, when the mode contains some special bits.
29832
29833 2008-06-08  Bruno Haible  <bruno@clisp.org>
29834
29835         Add support for Solaris 7..10 ACLs.
29836         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
29837         declarations.
29838         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
29839         functions.
29840         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
29841         * lib/set-mode-acl.c (qset_acl): Likewise.
29842         * lib/copy-acl.c (qcopy_acl): Likewise.
29843
29844 2008-06-08  Bruno Haible  <bruno@clisp.org>
29845
29846         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
29847         declaration.
29848         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
29849         (acl_access_nontrivial): Remove MacOS X case.
29850         (file_has_acl): Use acl_extended_nontrivial.
29851         * lib/copy-acl.c (qcopy_acl): Likewise.
29852
29853 2008-06-08  Bruno Haible  <bruno@clisp.org>
29854
29855         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
29856
29857 2008-06-08  Jim Meyering  <meyering@redhat.com>
29858
29859         * modules/acl (Maintainer): Add Bruno Haible.
29860
29861 2008-06-07  Bruno Haible  <bruno@clisp.org>
29862
29863         Improve support for Tru64 ACLs.
29864         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
29865         ACL on OSF/1.
29866
29867 2008-06-07  Bruno Haible  <bruno@clisp.org>
29868
29869         Add support for MacOS X ACLs.
29870         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
29871         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
29872         * lib/set-mode-acl.c (qset_acl): Likewise.
29873         * lib/copy-acl.c (qcopy_acl): Likewise.
29874
29875 2008-06-07  Bruno Haible  <bruno@clisp.org>
29876
29877         Fix memory leak introduced on 2008-05-22.
29878         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
29879         use.
29880
29881 2008-06-07  Bruno Haible  <bruno@clisp.org>
29882
29883         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
29884         to construct an empty ACL.
29885
29886 2008-06-07  Bruno Haible  <bruno@clisp.org>
29887
29888         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
29889         precisely.
29890         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
29891
29892 2008-06-07  Bruno Haible  <bruno@clisp.org>
29893
29894         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
29895         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
29896
29897 2008-06-07  Bruno Haible  <bruno@clisp.org>
29898
29899         * doc/posix-functions/_setjmp.texi: Explain the use of this function
29900         regardless of POSIX.
29901         * doc/posix-functions/_longjmp.texi: Likewise.
29902         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
29903         SystemV platform in this case.
29904
29905 2008-06-06  Eric Blake  <ebb9@byu.net>
29906
29907         Document abort() bugs.
29908         * doc/posix-functions/abort.texi (abort): Mention anomalies.
29909
29910         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
29911         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
29912         sigsetjmp.
29913         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
29914         siglongjmp, but only as a macro.
29915         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
29916         is obsolete.
29917         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
29918
29919         Tweak documentation to cover cygwin argz bugs.
29920         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
29921         argz bug fix; no code change needed since no cygwin releases
29922         occurred between the last fix and the bug being tested.
29923         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
29924         module and recently fixed cygwin bugs.
29925         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
29926         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
29927         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
29928         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
29929         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
29930         Likewise.
29931         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
29932         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
29933         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
29934         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
29935         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
29936         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
29937         Likewise.
29938
29939         Avoid gcc warning on cygwin.
29940         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
29941         !ACL_NO_TRIVIAL]: Avoid unused variable.
29942
29943 2008-06-05  Eric Blake  <ebb9@byu.net>
29944
29945         Be tolerant of UNKNOWN version in gnulib-tool test dir.
29946         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
29947         git-version-gen fails to come up with a version.
29948         Reported by Simon Josefsson.
29949
29950 2008-06-05  Jim Meyering  <meyering@redhat.com>
29951             Paul Eggert  <eggert@cs.ucla.edu>
29952
29953         utimens.c: work around a probable Linux kernel bug
29954         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
29955         appears to be a kernel bug that causes utimensat to return 280
29956         instead of 0, indicating success.
29957
29958 2008-06-04  Bruno Haible  <bruno@clisp.org>
29959
29960         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
29961         2008-06-01 commit.
29962
29963 2008-06-04  Bruno Haible  <bruno@clisp.org>
29964
29965         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
29966         * lib/file-has-acl.c (acl_access_nontrivial): New function.
29967         (file_has_acl): Use it. Save errno afterwards.
29968         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
29969
29970 2008-06-03  Bruno Haible  <bruno@clisp.org>
29971
29972         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
29973         draft code. Simplify #ifs.
29974         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
29975         Put Solaris code after POSIX-draft code. Fix comments regarding
29976         Solaris 10, HP-UX. Mention Cygwin.
29977         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
29978
29979 2008-06-03  Eric Blake  <ebb9@byu.net>
29980
29981         Provide fallback for older kernels.
29982         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
29983         Provide runtime fallback if kernel lacks support.
29984         Reported by Mike Frysinger.
29985
29986 2008-06-02  Bruno Haible  <bruno@clisp.org>
29987
29988         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
29989         it exists.
29990
29991 2008-06-02  Bruno Haible  <bruno@clisp.org>
29992
29993         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
29994         * lib/copy-acl.c (qcopy_acl): Update comment.
29995
29996 2008-06-02  Bruno Haible  <bruno@clisp.org>
29997
29998         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
29999         like ACL APIs.
30000
30001 2008-06-02  Bruno Haible  <bruno@clisp.org>
30002
30003         * tests/test-file-has-acl.sh: Use different code for Cygwin.
30004         * tests/test-set-mode-acl.sh: Likewise.
30005         * tests/test-copy-acl.sh: Likewise.
30006         * tests/test-copy-file.sh: Likewise.
30007
30008 2008-06-02  Bruno Haible  <bruno@clisp.org>
30009
30010         * tests/test-file-has-acl.sh: Remove unused code.
30011
30012 2008-06-01  Bruno Haible  <bruno@clisp.org>
30013
30014         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
30015         (copy_acl): Just a wrapper around qcopy_acl that emits the error
30016         messages.
30017         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
30018
30019 2008-06-01  Bruno Haible  <bruno@clisp.org>
30020
30021         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
30022         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
30023         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
30024         APIs.
30025         * modules/acl-tests (configure.ac): Remove tests now contained in
30026         m4/acl.m4.
30027
30028 2008-06-02  Jim Meyering  <meyering@redhat.com>
30029
30030         announce-gen: use a better key-server host name
30031         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
30032         it may be more consistently reliable.  Suggested by Werner Koch
30033         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
30034
30035 2008-06-01  Bruno Haible  <bruno@clisp.org>
30036
30037         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
30038         Reported by Voroskoi Andras <voroskoi@gmail.com>.
30039
30040 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
30041
30042         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
30043
30044 2008-06-01  Bruno Haible  <bruno@clisp.org>
30045
30046         New ACL tests.
30047         * tests/test-file-has-acl.sh: New file.
30048         * tests/test-file-has-acl.c: New file.
30049         * tests/test-set-mode-acl.sh: New file.
30050         * tests/test-set-mode-acl.c: New file.
30051         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
30052         * tests/test-copy-acl.c: New file.
30053         * modules/acl-tests: New file, based on modules/copy-file-tests.
30054         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
30055         (Depends-on): Add acl-tests.
30056         (configure.ac): Remove checks.
30057         (Makefile.am): Don't create test-sameacls program here any more.
30058
30059 2008-06-01  Bruno Haible  <bruno@clisp.org>
30060
30061         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
30062         * tests/test-sameacls.c: Include progname.h.
30063         (main): Invoke set_program_name. Portability fixes for MacOS X,
30064         Solaris, HP-UX.
30065
30066 2008-06-01  Bruno Haible  <bruno@clisp.org>
30067
30068         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
30069         function.
30070         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
30071
30072 2008-06-01  Bruno Haible  <bruno@clisp.org>
30073
30074         * modules/rpmatch (Depends-on): Add strdup.
30075
30076 2008-06-01  Bruno Haible  <bruno@clisp.org>
30077
30078         * lib/pipe.c: Include unistd-safer.h.
30079         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
30080         * modules/pipe (Depends-on): Add unistd-safer.
30081
30082 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30083
30084         * modules/autobuild (configure.ac): Call AB_INIT.
30085
30086 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30087
30088         * tests/test-getaddrinfo.c: Don't print debug messages by default.
30089         Suggested by Bruno Haible <bruno@clisp.org>.
30090
30091 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30092
30093         * tests/test-base64.c: Cast size_t to unsigned long when invoking
30094         printf.  Use %lu instead of %d.  Reported by Bruno Haible
30095         <bruno@clisp.org>.
30096
30097 2008-05-29  Eric Blake  <ebb9@byu.net>
30098
30099         Prefer new POSIX 200x interfaces over futimesat.
30100         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
30101         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
30102         when available.
30103         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
30104
30105 2008-05-28  Bruno Haible  <bruno@clisp.org>
30106
30107         * modules/stpcpy (License): Change to LGPLv2+.
30108         Requested by David Lutterkort <dlutter@redhat.com>.
30109
30110 2008-05-27  Bruno Haible  <bruno@clisp.org>
30111
30112         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
30113         current mingw.
30114         Reported by Jose E. Marchesi <jemarch@gnu.org>.
30115
30116 2008-05-27  Bruno Haible  <bruno@clisp.org>
30117
30118         * modules/iconv_open (Link): New section, from module 'iconv'.
30119         * modules/striconv (Link): Likewise.
30120         * modules/striconveh (Link): Likewise.
30121         * modules/xstriconv (Link): Likewise.
30122         * modules/unicodeio (Link): Likewise.
30123         * modules/propername (Link): Likewise.
30124         Reported by Jim Meyering.
30125
30126 2008-05-26  Jim Meyering  <meyering@redhat.com>
30127
30128         sha256: do not artificially restrict buffer length to be < 2^32
30129         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
30130         uint32_t to size_t.
30131         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
30132         to match.
30133
30134         avoid unaligned access errors, e.g., on sparc
30135         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
30136         direct access through a possibly-unaligned uint64* pointer.
30137         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
30138         direct access through a possibly-unaligned uint32* pointer.
30139         Prompted by this patch from Tom "spot" Callaway:
30140         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
30141
30142         sha512.c: fix typo in comment
30143         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
30144
30145 2008-05-25  Bruno Haible  <bruno@clisp.org>
30146
30147         * lib/set-mode-acl.c: Renamed from lib/acl.c.
30148         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
30149         (Makefile.am): Update lib_SOURCES.
30150
30151 2008-05-25  Bruno Haible  <bruno@clisp.org>
30152
30153         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
30154
30155 2008-05-25  Jim Meyering  <meyering@redhat.com>
30156
30157         useless-if-before-free: freed expr may have white-space differences
30158         * build-aux/useless-if-before-free: Recognize cases in which the
30159         freed expression differs from the tested one in embedded white
30160         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
30161         $1 was used, so we can't make any regexp shy.  Improved tests now
30162         detect this.
30163
30164         useless-if-before-free: accept white space in the expression.
30165         * build-aux/useless-if-before-free: For now, any white space
30166         in the expression must be identical in the free argument.
30167
30168         useless-if-before-free: efficiency tweak
30169         * build-aux/useless-if-before-free: Make the expression-matching
30170         regexp "shy".
30171         Make the *outer* regexp shy, not the expr-matching one.
30172
30173         update code-in-comment to accept cast of free arg
30174         * build-aux/useless-if-before-free: Update regexp.
30175
30176 2008-05-25  Bruno Haible  <bruno@clisp.org>
30177
30178         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
30179         * modules/copy-file-tests (Files, Makefile.am): Update.
30180         * tests/test-copy-file.c (func_test_copy): Update.
30181
30182 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
30183
30184         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
30185
30186 2008-05-23  Bruno Haible  <bruno@clisp.org>
30187
30188         Improve support for ACLs on OSF/1.
30189         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
30190         Remove fallback for unknown flavors of ACLs.
30191
30192 2008-05-22  Bruno Haible  <bruno@clisp.org>
30193
30194         Add support for ACLs on OSF/1.
30195         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
30196         replacements.
30197         (acl_free_text): New macro fallback.
30198         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
30199         acl_free.
30200         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
30201         acl_free_text function. Require AC_C_INLINE.
30202
30203 2008-05-22  Bruno Haible  <bruno@clisp.org>
30204
30205         Make copy_acl work on MacOS X 10.5.
30206         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
30207         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
30208         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
30209         If MODE_INSIDE_ACL, don't assume that every system has the same text
30210         representation for ACLs as FreeBSD.
30211         * lib/copy-acl.c (copy_acl): Add support for platforms with
30212         !MODE_INSIDE_ACL.
30213         * lib/file-has-acl.c (file_has_acl): Likewise.
30214         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
30215         FreeBSD, MacOS X, or IRIX, respectively.
30216
30217 2008-05-22  Bruno Haible  <bruno@clisp.org>
30218
30219         * lib/acl.h: Don't include <sys/acl.h>.
30220         (GETACLCNT): Move fallback to lib/acl-internal.h.
30221         * lib/acl-internal.h: Include <sys/acl.h> here.
30222         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
30223
30224 2008-05-22  Bruno Haible  <bruno@clisp.org>
30225
30226         Split off copy_acl function to separate file.
30227         * lib/copy-acl.c: New file, extracted from lib/acl.c.
30228         * lib/acl.c (copy_acl): Moved function to separate file.
30229         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
30230         * modules/acl (Files): Add lib/copy-acl.c.
30231         (Makefiles.am): Augment lib_SOURCES.
30232
30233 2008-05-22  Bruno Haible  <bruno@clisp.org>
30234
30235         * modules/copy-file-tests: New file.
30236         * tests/test-copy-file.sh: New file.
30237         * tests/test-copy-file.c: New file.
30238         * tests/test-copy-file-sameacls.c: New file.
30239
30240 2008-05-22  Eric Blake  <ebb9@byu.net>
30241
30242         Avoid gcc warning.
30243         * tests/test-memcmp.c (main): Pass NULL indirectly.
30244
30245 2008-05-21  Bruno Haible  <bruno@clisp.org>
30246
30247         Add reference doc about ACLs.
30248         * doc/acl-resources.txt: New file.
30249         * doc/acl-cygwin.txt: New file.
30250
30251 2008-05-21  Bruno Haible  <bruno@clisp.org>
30252
30253         Avoid one more warning from gcc.
30254         * lib/vasnprintf.c (IF_LINT): Update comments.
30255         (VASNPRINTF): Use it also for the 'prefix' array initializer.
30256
30257 2008-05-21  Jim Meyering  <meyering@redhat.com>
30258
30259         avoid a warning from gcc
30260         * lib/vasnprintf.c (IF_LINT): Define.
30261         (scale10_round_decimal_long_double):
30262         Use it to avoid a "may be used uninitialized" warning.
30263         (scale10_round_decimal_double): Likewise.
30264
30265 2008-05-21  Simon Josefsson  <simon@josefsson.org>
30266
30267         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
30268         declared.
30269
30270 2008-05-20  Bruno Haible  <bruno@clisp.org>
30271
30272         * tests/test-memcmp.c (main): Test also the sign of the result. Test
30273         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
30274
30275 2008-05-20  Simon Josefsson  <simon@josefsson.org>
30276
30277         * modules/memcmp-tests: New file.
30278         * tests/test-memcmp.c: New file.
30279
30280 2008-05-19  Bruno Haible  <bruno@clisp.org>
30281
30282         * modules/propername (Notice, configure.ac): Put quoted "..." into
30283         --keyword option.
30284         * lib/propername.h: Update comments accordingly.
30285         Reported by Eric Blake.
30286
30287 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
30288
30289         * modules/getpass-gnu (Depends-on): Add fseeko.
30290
30291 2008-05-19  Simon Josefsson  <simon@josefsson.org>
30292
30293         * modules/base64-tests: New file.
30294
30295 2008-05-19  Bo Borgerson <gigabo@gmail.com>
30296
30297         * lib/base64.c (base64_decode_ctx): If a decode context structure
30298         was passed in use it to ignore newlines.  If a context structure
30299         was _not_ passed in, continue to treat newlines as garbage (this
30300         is the historical behavior).  Formerly base64_decode.
30301         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
30302         takes a decode context structure.
30303         * lib/base64.h (base64_decode): Macro for four-argument calls.
30304         (base64_decode_alloc): Likewise.
30305         * lib/base64.c (base64_decode_ctx): If a decode context structure
30306         was passed in use it to ignore newlines.  If a context structure
30307         was _not_ passed in, continue to treat newlines as garbage (this
30308         is the historical behavior).  Formerly base64_decode.
30309         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
30310         takes a decode context structure.
30311         * lib/base64.h (base64_decode): Macro for four-argument calls.
30312         (base64_decode_alloc): Likewise.
30313
30314 2008-05-19  Jim Meyering  <meyering@redhat.com>
30315
30316         avoid a warning from gcc
30317         * lib/trim.c (IF_LINT): Define.
30318         (trim2): Use it to avoid a "may be used uninitialized" warning.
30319
30320         Fix doc typo.
30321         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
30322
30323 2008-05-19  Bruno Haible  <bruno@clisp.org>
30324
30325         * doc/glibc-functions/getpass.texi: Document limits of other
30326         implementations.
30327
30328 2008-05-19  Simon Josefsson  <simon@josefsson.org>
30329             Bruno Haible <bruno@clisp.org>
30330
30331         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
30332
30333 2008-05-18  Bruno Haible  <bruno@clisp.org>
30334
30335         * modules/propername: New file, from GNU gettext.
30336         * lib/propername.h: New file, from GNU gettext.
30337         * lib/propername.c: New file, from GNU gettext.
30338         * MODULES.html.sh (Internationalization functions): Add propername.
30339
30340 2008-05-16  Jim Meyering  <meyering@redhat.com>
30341             Bruno Haible  <bruno@clisp.org>
30342
30343         Avoid some warnings from "gcc -Wshadow".
30344         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
30345
30346 2008-05-15  Eric Blake  <ebb9@byu.net>
30347
30348         Extend previous patch to cygwin 1.7.0.
30349         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
30350         fast implementation in cygwin >= 1.7.0.
30351         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
30352         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30353
30354 2008-05-15  Bruno Haible  <bruno@clisp.org>
30355
30356         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
30357         implementation in glibc >= 2.9.
30358         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
30359         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30360
30361 2008-05-15  Bruno Haible  <bruno@clisp.org>
30362
30363         * MODULES.html.sh (Internationalization functions): Remove linebreak.
30364         (Unicode string functions): Add unilbrk/*.
30365         Reported by Karl Berry.
30366
30367 2008-05-15  Eric Blake  <ebb9@byu.net>
30368
30369         Fix violation of <stdbool.h> replacement in regex.
30370         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
30371         * lib/regexec.c (re_search_internal): Likewise.
30372         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
30373
30374 2008-05-15  Jim Meyering  <meyering@redhat.com>
30375
30376         avoid distracting test output when git or cvs is not found
30377         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
30378         * tests/test-vc-list-files-git.sh: Likewise.
30379
30380 2008-05-15  Eric Blake  <ebb9@byu.net>
30381
30382         Glibc finally accepted the memmem speedup code, bugzilla #5514.
30383         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
30384         glibc version.
30385         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
30386         * doc/posix-functions/strstr.texi (strstr): Likewise.
30387         * lib/str-two-way.h (MAX): Sychronize with glibc.
30388
30389 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
30390
30391         * lib/regcomp.c (optimize_utf8): Add a note on why we test
30392         opr.ctx_type.
30393         (calc_first): Initialize constraint field.
30394         (duplicate_node_closure): Use it instead of special casing ANCHORS.
30395         Fix grammar.
30396         (duplicate_node): Merge constraint field for all node types.
30397         (calc_eclosure_iter): Look at constraint field for all node types.
30398         * lib/regex_internal.c (create_cd_newstate): Don't look at
30399         opr.ctx_type.
30400
30401 2008-05-14  Bruno Haible  <bruno@clisp.org>
30402
30403         Help GCC to do better code generation.
30404         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
30405         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
30406         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
30407         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
30408         Declare with attribute 'malloc' if supported.
30409
30410 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
30411
30412         use "echo STR|wc -c" rather than unportable "expr length STR"
30413         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
30414         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
30415
30416 2008-05-14  Jim Meyering  <meyering@redhat.com>
30417
30418         use dd ibs=$n count=1 ... rather than less-portable head -c$n
30419         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
30420         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
30421         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
30422         via Collin Lasse.
30423
30424 2008-05-14  Eric Blake  <ebb9@byu.net>
30425
30426         Avoid quadratic growth in gl_LIBSOURCES.
30427         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
30428         Suggested by Bruno Haible.
30429
30430         Test xmemdup0.
30431         * modules/xmemdup0-tests: New file.
30432         * tests/test-xmemdup0.c: Likewise.
30433
30434 2008-05-13  Eric Blake  <ebb9@byu.net>
30435
30436         Split xmemdup0 into its own module.
30437         * modules/xmemdup0: New file.
30438         * lib/xmemdup0.h: Likewise.
30439         * lib/xmemdup0.c: Likewise.
30440         * MODULES.html.sh (Memory management functions): Add xmemdup0.
30441         * lib/xalloc.h (xmemdup0): Remove.
30442         * lib/xmalloc.c (xmemdup0): Likewise.
30443
30444 2008-05-13  Eric Blake  <ebb9@byu.net>
30445             Bruno Haible  <bruno@clisp.org>
30446
30447         Reduce number of forks required during autoconf.
30448         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
30449         and gl_LIBSOURCES_DIR.
30450         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
30451         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
30452         m4_syscmd per file.
30453         <m4_foreach_w>: Move...
30454         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
30455
30456 2008-05-13  Eric Blake  <ebb9@byu.net>
30457
30458         * gnulib-tool: Fix various comment typos.
30459
30460 2008-05-12  Bruno Haible  <bruno@clisp.org>
30461
30462         Tailor the linebreaking algorithm.
30463         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
30464
30465 2008-05-12  Bruno Haible  <bruno@clisp.org>
30466
30467         Update to Unicode 5.0.0.
30468         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
30469         LBP_JV, LBP_JT. Redistribute values.
30470         (unilbrk_table): Change size.
30471         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
30472         Unicode TR#14 rev. 22.
30473         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
30474         LBP_JV, LBP_JT. Redistribute values.
30475         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
30476         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
30477         Update.
30478         * lib/unilbrk/lbrkprop1.h: Regenerated.
30479         * lib/unilbrk/lbrkprop2.h: Regenerated.
30480         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
30481         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
30482         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
30483         Likewise.
30484         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
30485         Likewise.
30486         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
30487         result.
30488         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
30489         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
30490         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
30491         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
30492         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
30493         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
30494
30495 2008-05-11  Bruno Haible  <bruno@clisp.org>
30496
30497         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
30498
30499 2008-05-11  Bruno Haible  <bruno@clisp.org>
30500
30501         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
30502         * modules/unilbrk/gen-lbrk: New file.
30503
30504 2008-05-11  Bruno Haible  <bruno@clisp.org>
30505
30506         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
30507         * m4/sha512.m4 (gl_SHA512): Likewise.
30508
30509 2008-05-11  Jim Meyering  <meyering@redhat.com>
30510
30511         New modules: crypto/sha256, crypto/sha512 (from coreutils)
30512         * modules/crypto/sha256: New file.
30513         * modules/crypto/sha512: Likewise.
30514         * lib/sha256.c: Likewise.
30515         * lib/sha256.h: Likewise.
30516         * lib/sha512.c: Likewise.
30517         * lib/sha512.h: Likewise.
30518         * lib/u64.h: Likewise.
30519         * m4/sha256.m4: Likewise.
30520         * m4/sha512.m4: Likewise.
30521         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
30522
30523 2008-05-10  Bruno Haible  <bruno@clisp.org>
30524
30525         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
30526         (Input/Output <stdio.h>): Add xprintf.
30527         (Signal handling <signal.h>): Add strsignal.
30528         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
30529         (Core language properties): Add func.
30530         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
30531         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
30532         strings.
30533         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
30534         (Input/output): New section.
30535         (File system functions): Add openat-die, stat-macros.
30536         (Networking functions): Add sockets.
30537         (Unicode string functions): Add unictype/*.
30538         (Support for building libraries and executables): Add gperf.
30539         (Support for building documentation): Add agpl-3.0.
30540         (Misc): Add nocrash.
30541
30542 2008-05-10  Bruno Haible  <bruno@clisp.org>
30543
30544         * modules/unictype/gen-ctype: New file.
30545
30546 2008-05-10  Jim Meyering  <meyering@redhat.com>
30547
30548         Make chdir-safer.c more efficient on a system with no symlinks.
30549         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
30550         also if ELOOP is zero.  Suggested by Bruno Haible.
30551
30552         Make chdir-safer.c slightly safer.
30553         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
30554         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
30555
30556         Avoid compile failure on systems without ELOOP (like mingw).
30557         * lib/chdir-safer.c (ELOOP): Define if not already defined.
30558         Reported by Bruno Haible.
30559
30560 2008-05-10  Bruno Haible  <bruno@clisp.org>
30561
30562         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
30563         (is_utf8_encoding): Use a case-insensitive comparison.
30564         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
30565         streq.
30566
30567 2008-05-10  Bruno Haible  <bruno@clisp.org>
30568
30569         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
30570         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
30571         * lib/unilbrk/ulc-common.h (iconv_string_length,
30572         iconv_string_keeping_offsets): Remove declarations.
30573         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
30574         Don't include <iconv.h>, streq.h, xsize.h.
30575         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
30576         conversion.
30577         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
30578         <iconv.h>, streq.h, xsize.h.
30579         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
30580         conversion.
30581         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
30582         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
30583         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
30584         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
30585
30586 2008-05-10  Bruno Haible  <bruno@clisp.org>
30587
30588         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
30589         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
30590
30591         * modules/unilbrk/u32-width-linebreaks-tests: New file.
30592         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
30593
30594         * modules/unilbrk/u16-width-linebreaks-tests: New file.
30595         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
30596
30597         * modules/unilbrk/u8-width-linebreaks-tests: New file.
30598         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
30599
30600         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
30601         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
30602
30603         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
30604         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
30605
30606         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
30607         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
30608
30609         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
30610         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
30611
30612 2008-05-10  Bruno Haible  <bruno@clisp.org>
30613
30614         Split up 'linebreak' module.
30615         * lib/unilbrk.h: New file, based on lib/linebreak.h.
30616         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
30617         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
30618         modifications.
30619         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
30620         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
30621         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
30622         lib/linebreak.c.
30623         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
30624         lib/linebreak.c.
30625         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
30626         lib/linebreak.c.
30627         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
30628         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
30629         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
30630         lib/linebreak.c.
30631         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
30632         lib/linebreak.c.
30633         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
30634         lib/linebreak.c.
30635         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
30636         lib/linebreak.c.
30637         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
30638         lib/linebreak.c.
30639         * modules/unilbrk/base: New file.
30640         * modules/unilbrk/tables: New file.
30641         * modules/unilbrk/u8-possible-linebreaks: New file.
30642         * modules/unilbrk/u16-possible-linebreaks: New file.
30643         * modules/unilbrk/u32-possible-linebreaks: New file.
30644         * modules/unilbrk/ulc-common: New file.
30645         * modules/unilbrk/ulc-possible-linebreaks: New file.
30646         * modules/unilbrk/u8-width-linebreaks: New file.
30647         * modules/unilbrk/u16-width-linebreaks: New file.
30648         * modules/unilbrk/u32-width-linebreaks: New file.
30649         * modules/unilbrk/ulc-width-linebreaks: New file.
30650         * lib/linebreak.h: Remove file.
30651         * lib/linebreak.c: Remove file.
30652         * m4/linebreak.m4: Remove file.
30653         * modules/linebreak: Remove file.
30654         * NEWS: Mention the changes.
30655
30656 2008-05-09  Eric Blake  <ebb9@byu.net>
30657
30658         Add xmemdup0.
30659         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
30660         implementation.
30661         * lib/xmalloc.c (xmemdup0): New C implementation.
30662
30663 2008-05-08  Bruno Haible  <bruno@clisp.org>
30664
30665         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
30666
30667 2008-05-07  Eric Blake  <ebb9@byu.net>
30668
30669         Support cross-compilation of <wctype.h>.
30670         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
30671         AC_CACHE_CHECK.
30672
30673 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
30674
30675         * build-aux/vc-list-files: Add support for bzr.
30676
30677 2008-05-03  Jim Meyering  <meyering@redhat.com>
30678
30679         avoid failed assertion with tight malloc
30680         * tests/test-getndelim2.c: Correct an off-by-one assertion.
30681
30682 2008-05-03  Simon Josefsson  <simon@josefsson.org>
30683
30684         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
30685         are needed from arpa/inet.h.
30686         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
30687         Reported by Bruno Haible.
30688
30689 2008-05-02  Jim Meyering  <meyering@redhat.com>
30690
30691         avoid compilation error on FreeBSD 6
30692         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
30693
30694 2008-05-01  Jim Meyering  <meyering@redhat.com>
30695
30696         useless-if-before-free: correct --help's exit status description
30697         * build-aux/useless-if-before-free (usage): Like grep, exit 0
30698         for one or more matches, etc.  Reported by Bruno Haible.
30699
30700         vc-list-files: make the stand-alone gnulib test work
30701         * modules/vc-list-files-tests (configure.ac):
30702         Define and AC_SUBST abs_aux_dir.
30703         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
30704         $(abs_top_srcdir) to each script and having each of them
30705         duplicate the work of setting PATH, set PATH here, using
30706         the new variable, abs_aux_dir instead.
30707         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
30708         * tests/test-vc-list-files-git.sh: Likewise.
30709         Reported by Bruno Haible.
30710
30711 2008-05-01  Bruno Haible  <bruno@clisp.org>
30712
30713         * lib/getndelim2.c (getndelim2): Fix newsize computation during
30714         reallocation. Rename 'done' to 'found_delimiter'.
30715
30716 2008-05-01  Jim Meyering  <meyering@redhat.com>
30717
30718         vc-list-files: accommodate /bin/sh like the one from Solaris 10
30719         * build-aux/vc-list-files: Use `...`, not $(...).
30720
30721 2008-04-30  Jim Meyering  <meyering@redhat.com>
30722
30723         add tests for vc-list-files
30724         * modules/vc-list-files-tests: New module.
30725         * tests/test-vc-list-files-cvs.sh: New file.
30726         * tests/test-vc-list-files-git.sh: New file.
30727
30728         avoid a warning from gcc
30729         * lib/getndelim2.c (IF_LINT): Define.
30730         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
30731
30732         vc-list-files: work properly with build-aux/cvsu, too
30733         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
30734         to all cvs-based clauses.
30735
30736         vc-list-files: work properly in the CVS+awk case, too
30737         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
30738
30739         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
30740         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
30741         take more than one file argument, so .  Add quotes, just in case $dir
30742         ever contains a shell meta-character.  Prompted by Soren Hansen in
30743         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
30744
30745 2008-04-29  Eric Blake  <ebb9@byu.net>
30746
30747         Optimize getndelim2 to use block operations when possible.
30748         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
30749         freadseek, and memchr2.
30750         * lib/getndelim2.c (getndelim2): Use them for block reads.
30751
30752 2008-04-29  Bruno Haible  <bruno@clisp.org>
30753
30754         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
30755         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30756         * modules/inet_ntop (Depends-on): Add extensions.
30757         * modules/inet_pton (Depends-on): Likewise.
30758         Reported by Simon Josefsson.
30759
30760 2008-04-29  Jim Meyering  <meyering@redhat.com>
30761
30762         When the is more than one match in a block, match all of them.
30763         * build-aux/useless-if-before-free: Iterate through each block
30764         until there are no more matches.
30765
30766         Fix broken useless-if-before-free script.
30767         * build-aux/useless-if-before-free: Fix typo: missing "?" after
30768         the expression to match cast of argument to free-like function.
30769
30770 2008-04-29  Eric Blake  <ebb9@byu.net>
30771
30772         Use new header.
30773         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
30774
30775 2008-04-29  Jim Meyering  <meyering@redhat.com>
30776
30777         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
30778         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
30779         by gnulib to exist and to declare e.g., inet_ntop.
30780         Don't include "inet_ntop.h", now removed.
30781
30782         * m4/arpa_inet_h.m4: Remove trailing blanks.
30783
30784 2008-04-29  Eric Blake  <ebb9@byu.net>
30785
30786         Silence valgrind on safe reads beyond potential array bounds.
30787         * lib/rawmemchr.valgrind: New file.
30788         * lib/strchrnul.valgrind: Likewise.
30789         * modules/rawmemchr (Files): Distribute new file.
30790         * modules/strchrnul (Files): Likewise.
30791         Suggested by Bruno Haible.
30792
30793 2008-04-29  Bruno Haible  <bruno@clisp.org>
30794
30795         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
30796         (inet_ntop, inet_pton): Change portability warning's wording.
30797         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
30798         Invoke gl_CHECK_NEXT_HEADERS.
30799         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
30800         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
30801         set ARPA_INET_H.
30802         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30803         * modules/arpa_inet (Description): No longer only for systems that
30804         lack it.
30805         (Depends-on): Add include_next.
30806         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
30807         HAVE_ARPA_INET_H.
30808
30809 2008-04-29  Jim Meyering  <meyering@redhat.com>
30810
30811         * modules/mkdir (License): Re-license as LGPLv2+.
30812
30813 2008-04-29  Bruno Haible  <bruno@clisp.org>
30814
30815         * modules/rawmemchr (Maintainer): Set to Eric.
30816         * modules/strchrnul (Maintainer): Likewise.
30817
30818 2008-04-29  Simon Josefsson  <simon@josefsson.org>
30819
30820         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
30821         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
30822
30823         * modules/arpa_inet (arpa/inet.h): Use them.
30824
30825 2008-04-28  Eric Blake  <ebb9@byu.net>
30826
30827         Test getndelim2.
30828         * modules/getndelim2-tests: New file.
30829         * tests/test-getndelim2.c: Likewise.
30830         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
30831         stream.
30832         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
30833
30834         * MODULES.html.sh: Document new module.
30835
30836 2008-04-20  Bruno Haible  <bruno@clisp.org>
30837
30838         * lib/c-stack.c (die): Use raise.
30839         * modules/c-stack (Depends-on): Add raise.
30840
30841 2008-04-28  Bruno Haible  <bruno@clisp.org>
30842
30843         Expect rpmatch to be declared.
30844         * lib/yesno.c (rpmatch): Remove declaration.
30845
30846         Declare rpmatch.
30847         * lib/stdlib.in.h (rpmatch): New declaration.
30848         * lib/rpmatch.c: Include <stdlib.h> first.
30849         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
30850         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
30851         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
30852         HAVE_RPMATCH.
30853         * modules/rpmatch (Depends-on): Add stdlib, extensions.
30854         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30855         (Include): Set to <stdlib.h>.
30856         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
30857         HAVE_RPMATCH.
30858         * NEWS: Document the change.
30859
30860 2008-04-28  Bruno Haible  <bruno@clisp.org>
30861
30862         Change rpmatch to use nl_langinfo when appropriate.
30863         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
30864         (N_): New macro.
30865         (localized_pattern): New function/macro.
30866         (try): Remove match, nomatch arguments. Copy the pattern into safe
30867         memory before caching it.
30868         (rpmatch): Use localized_pattern. Add translator comments.
30869         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
30870         Suggested by Eric Blake.
30871         * modules/rpmatch (Depends-on): Add stdbool.
30872
30873 2008-04-28  Eric Blake  <ebb9@byu.net>
30874
30875         Add rawmemchr module, matching glibc.
30876         * modules/string (Makefile.am): New indicator.
30877         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
30878         * lib/string.in.h (rawmemchr): Declare when appropriate.
30879         * modules/rawmemchr: New file.
30880         * m4/rawmemchr.m4: Likewise.
30881         * lib/rawmemchr.c: Likewise.
30882         * modules/rawmemchr-tests: Likewise.
30883         * tests/test-rawmemchr.c: Likewise.
30884         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
30885         module.
30886         * modules/strchrnul (Depends-on): Add rawmemchr.
30887         * lib/strchrnul.c (strchrnul): Optimize a corner case.
30888
30889         Whitespace cleanup.
30890         * tests/test-strchrnul.c: Reindent.
30891         * lib/strchrnul.c: Likewise.
30892
30893         Optimize and test strchrnul.
30894         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
30895         * modules/strchrnul-tests: New file.
30896         * tests/test-strchrnul.c: Likewise.
30897
30898         Remove intprops dependency.
30899         * modules/memchr (Depends-on): Remove intprops.
30900         * modules/memrchr (Depends-on): Likewise.
30901         * modules/memchr2 (Depends-on): Likewise.
30902         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
30903         * lib/memrchr.c (__memrchr): Likewise.
30904         * lib/memrchr2.c (memchr2): Likewise.
30905         Reported by Simon Josefsson.
30906
30907 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30908
30909         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
30910         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30911
30912 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30913
30914         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
30915
30916         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
30917
30918         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
30919
30920         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
30921         declarations.
30922         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
30923
30924         * m4/inet_pton.m4: Don't check for header files.
30925
30926         * m4/inet_ntop.m4: Don't check for header files.
30927
30928 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30929
30930         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
30931         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
30932         trigger for cygwin).
30933         Reported by Bruno Haible  <bruno@clisp.org>.
30934
30935 2008-04-28  Bruno Haible  <bruno@clisp.org>
30936
30937         * doc/posix-functions/strdup.texi: Mention mingw problem.
30938
30939 2008-04-27  Bruno Haible  <bruno@clisp.org>
30940
30941         * modules/stat-time-tests (Depends-on): Add sleep.
30942         * tests/test-stat-time.c (force_unlink): New function.
30943         (cleanup): Use it.
30944         (test_mtime): Remove the ctime related tests.
30945         (test_ctime): New function, containing the ctime related tests.
30946         (main): Call test_ctime, except on native Windows platforms.
30947
30948 2008-04-27  Bruno Haible  <bruno@clisp.org>
30949
30950         * lib/rpmatch.c (rpmatch): Add some comments.
30951         Reported by James Youngman <jay@gnu.org>.
30952
30953 2008-04-27  Bruno Haible  <bruno@clisp.org>
30954
30955         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
30956         quiet NaNs.
30957
30958 2008-04-27  Bruno Haible  <bruno@clisp.org>
30959
30960         Make test-yesno.sh work on mingw.
30961         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
30962         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
30963         (main): Set stdin to binary mode.
30964         * modules/yesno-tests (Depends-on): Add binary-io.
30965
30966 2008-04-27  Bruno Haible  <bruno@clisp.org>
30967
30968         Fix 'isfinite' on x86, x86_64, ia64 platforms.
30969         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
30970         argument that lie outside the IEEE 854 domain.
30971         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
30972         (gl_ISFINITE): Use it.
30973         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
30974
30975 2008-04-27  Bruno Haible  <bruno@clisp.org>
30976
30977         Allow local renaming in config.h.
30978         * lib/memrchr.c (memrchr): Don't undefine outside libc.
30979
30980 2008-04-27  Bruno Haible  <bruno@clisp.org>
30981
30982         * lib/memchr.c (__memchr): Change type of 'i'.
30983         * lib/memchr2.c (memchr2): Likewise.
30984
30985 2008-04-26  Eric Blake  <ebb9@byu.net>
30986         and Bruno Haible  <bruno@clisp.org>
30987
30988         Optimize and test memrchr.
30989         * modules/memrchr (Depends-on): Add intprops.
30990         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
30991         * modules/memrchr-tests: New file.
30992         * tests/test-memrchr.c: New file.
30993
30994 2008-04-26  Bruno Haible  <bruno@clisp.org>
30995
30996         Add tentative support for DragonFly BSD.
30997         * lib/stdio-impl.h: Add macros for DragonFly BSD.
30998         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
30999         fp.
31000         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
31001         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
31002         * lib/fpurge.c (fpurge): Likewise.
31003         * lib/freadable.c (freaadable): Likewise.
31004         * lib/freadahead.c (freadahead): Likewise.
31005         * lib/freading.c (freading): Likewise.
31006         * lib/freadptr.c (freadptr): Likewise.
31007         * lib/freadseek.c (freadptrinc): Likewise.
31008         * lib/fseeko.c (fseeko): Likewise.
31009         * lib/fseterr.c (fseterr): Likewise.
31010         * lib/fwritable.c (fwritable): Likewise.
31011         * lib/fwriting.c (fwriting): Likewise.
31012
31013 2008-04-26  Bruno Haible  <bruno@clisp.org>
31014
31015         * lib/stdio-impl.h: New file.
31016         * lib/fbufmode.c: Include stdio-impl.h.
31017         (fbufmode): Use fp_, remove redundant #defines.
31018         * lib/fflush.c: Include stdio-impl.h.
31019         (clear_ungetc_buffer): Remove redundant #defines.
31020         * lib/fpurge.c: Include stdio-impl.h.
31021         (fpurge): Remove redundant #defines.
31022         * lib/freadable.c: Include stdio-impl.h.
31023         (freadable): Remove redundant #defines.
31024         * lib/freadahead.c: Include stdio-impl.h.
31025         (freadahead): Remove redundant #defines.
31026         * lib/freading.c: Include stdio-impl.h.
31027         (freading): Remove redundant #defines.
31028         * lib/freadptr.c: Include stdio-impl.h.
31029         (freadptr): Remove redundant #defines.
31030         * lib/freadseek.c: Include stdio-impl.h.
31031         (freadptrinc): Remove redundant #defines.
31032         * lib/fseeko.c: Include stdio-impl.h.
31033         (rpl_fseeko): Remove redundant #defines.
31034         * lib/fseterr.c: Include stdio-impl.h.
31035         (fseterr): Remove redundant #defines.
31036         * lib/fwritable.c: Include stdio-impl.h.
31037         (fwritable: Remove redundant #defines.
31038         * lib/fwriting.c: Include stdio-impl.h.
31039         (fwriting): Remove redundant #defines.
31040         * modules/fbufmode (Files): Add lib/stdio-impl.h.
31041         * modules/fflush (Files): Likewise.
31042         * modules/fpurge (Files): Likewise.
31043         * modules/freadable (Files): Likewise.
31044         * modules/freadahead (Files): Likewise.
31045         * modules/freading (Files): Likewise.
31046         * modules/freadptr (Files): Likewise.
31047         * modules/freadseek (Files): Likewise.
31048         * modules/fseeko (Files): Likewise.
31049         * modules/fseterr (Files): Likewise.
31050         * modules/fwritable (Files): Likewise.
31051         * modules/fwriting (Files): Likewise.
31052
31053 2008-04-26  Bruno Haible  <bruno@clisp.org>
31054
31055         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
31056         restore_seek_optimization, update_fpos_cache): New functions, extracted
31057         from rpl_fflush.
31058         (rpl_fflush): Use them.
31059         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
31060         (gl_REPLACE_FFLUSH): Use it.
31061
31062 2008-04-26  Bruno Haible  <bruno@clisp.org>
31063
31064         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
31065         on Solaris.
31066         * tests/test-xstrtoimax.sh: Likewise.
31067         * tests/test-xstrtoumax.sh: Likewise.
31068         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31069
31070 2008-04-26  Bruno Haible  <bruno@clisp.org>
31071
31072         * modules/memchr-tests: New file.
31073         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
31074
31075 2008-04-26  Eric Blake  <ebb9@byu.net>
31076             Bruno Haible  <bruno@clisp.org>
31077
31078         * lib/memchr.c: Include intprops.h.
31079         (__memchr): Optimize parallel detection of matching bytes. Rename local
31080         variables. Add explanatory comments.
31081
31082 2008-04-26  Bruno Haible  <bruno@clisp.org>
31083
31084         Fix module 'memchr', broken since 2000-10-28.
31085         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
31086
31087 2008-04-26  Bruno Haible  <bruno@clisp.org>
31088
31089         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
31090         comments.
31091
31092 2008-04-25  Eric Blake  <ebb9@byu.net>
31093
31094         Use native fstatat on cygwin 1.7.0.
31095         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
31096         first.
31097
31098 2008-04-23  Eric Blake  <ebb9@byu.net>
31099
31100         Improve memchr2 performance.
31101         * lib/memchr2.c (memchr2): Further optimize parallel detection of
31102         NUL bytes.
31103         * modules/memchr2 (Depends-on): Use intprops.h.
31104
31105 2008-04-23  Simon Josefsson  <simon@josefsson.org>
31106
31107         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
31108         an inline function instead of a CPP macro.  Patch by Ben Pfaff
31109         <blp@cs.stanford.edu>.
31110
31111 2008-04-23  Simon Josefsson  <simon@josefsson.org>
31112
31113         * lib/arpa_inet.in.h: New file.
31114
31115         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
31116         (Makefile.am): Sed in substitute header file.
31117
31118         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
31119         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
31120
31121         * modules/inet_ntop (configure.ac): Use
31122         gl_ARPA_INET_MODULE_INDICATOR.
31123
31124         * modules/inet_pton (configure.ac): Use
31125         gl_ARPA_INET_MODULE_INDICATOR.
31126
31127 2008-04-22  Jim Meyering  <meyering@redhat.com>
31128
31129         * modules/verify (License): Re-license as LGPLv2+.
31130
31131 2008-04-22  Simon Josefsson  <simon@josefsson.org>
31132
31133         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
31134         parameter to void* as per POSIX standard (MinGW uses char*).
31135
31136 2008-04-21  Bruno Haible  <bruno@clisp.org>
31137
31138         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
31139         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
31140         Define to replacements if REPLACE_ISWCNTRL is 1.
31141         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
31142         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
31143         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
31144         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
31145         what it fixes.
31146         * doc/posix-functions/iswalpha.texi: Likewise.
31147         * doc/posix-functions/iswblank.texi: Likewise.
31148         * doc/posix-functions/iswcntrl.texi: Likewise.
31149         * doc/posix-functions/iswdigit.texi: Likewise.
31150         * doc/posix-functions/iswgraph.texi: Likewise.
31151         * doc/posix-functions/iswlower.texi: Likewise.
31152         * doc/posix-functions/iswprint.texi: Likewise.
31153         * doc/posix-functions/iswpunct.texi: Likewise.
31154         * doc/posix-functions/iswspace.texi: Likewise.
31155         * doc/posix-functions/iswupper.texi: Likewise.
31156         * doc/posix-functions/iswxdigit.texi: Likewise.
31157         Reported by Alain Guibert.
31158
31159 2008-04-21  Bruno Haible  <bruno@clisp.org>
31160
31161         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
31162         Patch by Alain Guibert.
31163
31164 2008-04-21  Bruno Haible  <bruno@clisp.org>
31165
31166         Fix test failures on mingw.
31167         * tests/test-xstrtol.c (print_no_progname): New function.
31168         (main): Install it in error_print_progname hook.
31169         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
31170         * tests/test-xstrtoimax.sh: Likewise.
31171         * tests/test-xstrtoumax.sh: Likewise.
31172
31173 2008-04-21  Bruno Haible  <bruno@clisp.org>
31174
31175         Fix test failure on mingw.
31176         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
31177
31178 2008-04-21  Bruno Haible  <bruno@clisp.org>
31179
31180         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
31181         Actually assign a value.
31182
31183 2008-04-20  Bruno Haible  <bruno@clisp.org>
31184
31185         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
31186         take 2.
31187         * lib/canonicalize.c (canonicalize_file_name): Elide if the
31188         'canonicalize-lgpl' module is also used.
31189         * lib/canonicalize-lgpl.c: Undo last change.
31190         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
31191
31192 2008-04-20  Bruno Haible  <bruno@clisp.org>
31193
31194         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
31195         config.h. Provide _mkdir based fallback for mingw.
31196         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
31197         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
31198         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
31199         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
31200         rather than defining mkdir in config.h.
31201         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
31202         (gl_SYS_STAT_H_DEFAULTS): New macro.
31203         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
31204         HAVE_IO_H any more.
31205         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
31206         HAVE_DECL_MKDIR and HAVE_IO_H.
31207
31208 2008-04-20  Bruno Haible  <bruno@clisp.org>
31209
31210         * lib/isapipe.c: Port to native Windows platforms.
31211
31212 2008-04-20  Bruno Haible  <bruno@clisp.org>
31213
31214         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
31215
31216 2008-04-21  Eric Blake  <ebb9@byu.net>
31217
31218         Work around preprocessors that don't handle UINTMAX_MAX.
31219         * lib/memchr2.c (memchr2): Avoid embedded #if.
31220         Reported by Alain Guibert, fix suggested by Bruno Haible.
31221
31222 2008-04-21  Simon Josefsson  <simon@josefsson.org>
31223
31224         * doc/posix-functions/strftime.texi (strftime): Explain better
31225         Windows incompatibility.  Suggested by Micah Cowan
31226         <micah@cowan.name>.
31227
31228 2008-04-20  Bruno Haible  <bruno@clisp.org>
31229
31230         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
31231         unistr/u8-mblen.
31232
31233 2008-04-20  Bruno Haible  <bruno@clisp.org>
31234
31235         Fix test failure on platforms with non-GNU iconv.
31236         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
31237         (U_TO_U8): Use it, rather than u16_to_u8.
31238         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
31239         units at the end of the input string.
31240         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
31241
31242 2008-04-20  Bruno Haible  <bruno@clisp.org>
31243
31244         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
31245         when the resulting length is 0.
31246         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
31247
31248 2008-04-20  Bruno Haible  <bruno@clisp.org>
31249
31250         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
31251         works.
31252         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
31253
31254 2008-04-20  Bruno Haible  <bruno@clisp.org>
31255
31256         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
31257         * modules/tsearch-tests (configure.ac): Test for initstate function.
31258
31259 2008-04-20  Bruno Haible  <bruno@clisp.org>
31260
31261         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
31262         for nlink_t if missing.
31263         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
31264
31265 2008-04-19  Bruno Haible  <bruno@clisp.org>
31266
31267         Work around snprintf bug on Linux libc5.
31268         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
31269         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31270         gl_SNPRINTF_SIZE1.
31271         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31272         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
31273         that test failed.
31274         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
31275         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
31276         * modules/snprintf (Files): Add m4/printf.m4.
31277         * modules/vsnprintf (Files): Likewise.
31278         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
31279         * doc/posix-functions/vsnprintf.texi: Likewise.
31280
31281 2008-04-19  Bruno Haible  <bruno@clisp.org>
31282
31283         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
31284         from 0.0058 to less than 10^-7.
31285
31286 2008-04-19  Bruno Haible  <bruno@clisp.org>
31287
31288         Fix rounding when a precision is given.
31289         * lib/vasnprintf.c (is_borderline): New function.
31290         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
31291         9...9x.
31292         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
31293         %e, %g.
31294         * tests/test-vasprintf-posix.c (test_function): Likewise.
31295         * tests/test-snprintf-posix.h (test_function): Likewise.
31296         * tests/test-sprintf-posix.h (test_function): Likewise.
31297         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
31298         * tests/test-printf-posix.h (test_function): Likewise.
31299         * tests/test-printf-posix.output: Update.
31300         Reported by John Darrington <john@darrington.wattle.id.au> via
31301         Ben Pfaff <blp@cs.stanford.edu>.
31302
31303 2008-04-18  Simon Josefsson  <simon@josefsson.org>
31304
31305         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
31306         Suggested by Bruno Haible <bruno@clisp.org>.
31307
31308 2008-04-17  Bruno Haible  <bruno@clisp.org>
31309
31310         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
31311         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
31312         implementation.
31313         Patch by Bruce Merry <bmerry@gmail.com>.
31314
31315 2008-04-17  Simon Josefsson  <simon@josefsson.org>
31316
31317         * doc/posix-functions/strftime.texi (strftime): Mention that %e
31318         doesn't work under Windows.
31319
31320 2008-04-16  Bruno Haible  <bruno@clisp.org>
31321
31322         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
31323         New macros.
31324         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
31325         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
31326         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
31327         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
31328         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
31329         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
31330         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
31331         macros.
31332         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
31333         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
31334         Northern Sotho, Uighur.
31335
31336 2008-04-16  Bruno Haible  <bruno@clisp.org>
31337
31338         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
31339         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
31340         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
31341         Reported by Daniel Bergström <daniel@octocode.com>.
31342
31343 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
31344             Bruno Haible  <bruno@clisp.org>
31345
31346         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
31347         function.
31348         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
31349         New functions, mostly extracted from gl_locale_name_default.
31350         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
31351
31352 2008-04-16  Eric Blake  <ebb9@byu.net>
31353
31354         Adjust strtod detection to catch glibc 2.7 bug.
31355         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
31356         Reported by John Gatewood Ham.
31357
31358 2008-04-16  Bruno Haible  <bruno@clisp.org>
31359
31360         Add tentative support for Linux libc5.
31361         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
31362         * lib/fpurge.c (fpurge): Likewise.
31363         * lib/freadable.c (freadable): Likewise.
31364         * lib/freadahead.c (freadahead): Likewise.
31365         * lib/freading.c (freading): Likewise.
31366         * lib/freadptr.c (freadptr): Likewise.
31367         * lib/freadseek.c (freadptrinc): Likewise.
31368         * lib/fseeko.c (rpl_fseeko): Likewise.
31369         * lib/fseterr.c (fseterr): Likewise.
31370         * lib/fwritable.c (fwritable): Likewise.
31371         * lib/fwriting.c (fwriting): Likewise.
31372         Reported by Alain Guibert <alguibert+bts@free.fr>.
31373
31374 2008-04-15  Bruno Haible  <bruno@clisp.org>
31375
31376         * modules/mathl (configure.ac): Define module indicator.
31377
31378 2008-04-15  Bruno Haible  <bruno@clisp.org>
31379
31380         * lib/logl.c (logl): Remove unused variables.
31381
31382 2008-04-15  Bruno Haible  <bruno@clisp.org>
31383
31384         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
31385         fails.
31386
31387 2008-04-15  Bruno Haible  <bruno@clisp.org>
31388
31389         * lib/trim.c (trim2): Fix argument of isspace() macro.
31390
31391 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
31392
31393         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
31394         to 0.
31395         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
31396
31397 2008-04-14  Bruno Haible  <bruno@clisp.org>
31398
31399         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
31400         AC_LANG_PROGRAM argument.
31401         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
31402         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
31403         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
31404         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31405         * m4/math_h.m4 (gl_MATH_H): Likewise.
31406         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
31407         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
31408         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
31409         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
31410         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
31411         * m4/regex.m4 (gl_REGEX): Likewise.
31412         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
31413         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
31414         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31415         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
31416         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
31417         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
31418         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31419         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31420
31421 2008-04-14  Jim Meyering  <meyering@redhat.com>
31422
31423         test-strtod: fix typos: s/abs/fabs/
31424         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
31425
31426 2008-04-13  Bruno Haible  <bruno@clisp.org>
31427
31428         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
31429         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
31430         module is also used and while not building the reloc-wrapper.
31431
31432 2008-04-13  Bruno Haible  <bruno@clisp.org>
31433
31434         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
31435
31436 2008-04-13  Bruno Haible  <bruno@clisp.org>
31437
31438         Fix AIX compilation failure introduced on 2008-04-02.
31439         * tests/test-frexp.c (exp): Undefine before redefining.
31440         * tests/test-frexpl.c (exp): Likewise.
31441
31442 2008-04-13  Bruno Haible  <bruno@clisp.org>
31443
31444         Work around a HP-UX stdio bug.
31445         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
31446         * tests/test-ftello.c (main): Likewise.
31447         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
31448         * doc/posix-functions/ftello.texi: Likewise.
31449
31450 2008-04-13  Bruno Haible  <bruno@clisp.org>
31451
31452         Make test-signbit pass on HP-UX/hppa.
31453         * tests/test-signbit.c (minus_zerol): New variable.
31454         (test_signbitl): Use it.
31455
31456 2008-04-13  Bruno Haible  <bruno@clisp.org>
31457
31458         Make truncl work on OSF/1 4.0.
31459         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
31460         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
31461         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
31462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
31463         HAVE_DECL_TRUNCL.
31464         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
31465         HAVE_DECL_TRUNCL.
31466         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
31467
31468 2008-04-13  Bruno Haible  <bruno@clisp.org>
31469
31470         * lib/unictype.h: Remove trailing comma from enumeration definitions.
31471
31472 2008-04-13  Bruno Haible  <bruno@clisp.org>
31473
31474         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
31475         expression, so as to avoid HP-UX 11 cc compiler bug.
31476
31477 2008-04-13  Bruno Haible  <bruno@clisp.org>
31478
31479         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
31480
31481 2008-04-13  Bruno Haible  <bruno@clisp.org>
31482
31483         * lib/git-merge-changelog.c: Remove empty declaration outside of
31484         functions.
31485
31486 2008-04-13  Bruno Haible  <bruno@clisp.org>
31487
31488         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
31489
31490 2008-04-13  Bruno Haible  <bruno@clisp.org>
31491
31492         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
31493         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
31494         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
31495         also if it exists but lacks definitions of the SHUT_* macros.
31496         * modules/sys_socket (Description): Update.
31497         Reported by Elbert Pol <e.pol@chello.nl>.
31498
31499 2008-04-13  Bruno Haible  <bruno@clisp.org>
31500
31501         * lib/localcharset.c (OS2): Don't redefine if already defined.
31502         Reported by Elbert Pol <e.pol@chello.nl>.
31503
31504 2008-04-13  Bruno Haible  <bruno@clisp.org>
31505
31506         * lib/binary-io.h [__EMX__]: Include <io.h>.
31507         Reported by Elbert Pol <e.pol@chello.nl>.
31508
31509 2008-04-12  Bruno Haible  <bruno@clisp.org>
31510
31511         * lib/fpucw.h: Enable the definitions also for x86_64.
31512         Needed for NetBSD/x86_64.
31513         Reported by Thomas Klausner <tk@giga.or.at>.
31514
31515 2008-04-12  Bruno Haible  <bruno@clisp.org>
31516
31517         * tests/test-strtod.c: Include isnand.h.
31518         (main): Use isnand instead of isnan.
31519         Reported by Jim Meyering.
31520
31521 2008-04-12  Bruno Haible  <bruno@clisp.org>
31522
31523         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
31524         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31525
31526 2008-04-12  Jim Meyering  <meyering@redhat.com>
31527
31528         * m4/math_h.m4 (gl_MATH_H): Fix typos.
31529
31530 2008-04-12  Bruno Haible  <bruno@clisp.org>
31531
31532         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
31533         Reported by Elbert Pol <e.pol@chello.nl>.
31534
31535 2008-04-12  Eric Blake  <ebb9@byu.net>
31536
31537         Work around Solaris 10 math.h bug.
31538         * m4/math_h.m4 (gl_MATH_H): Check for bug.
31539         (gl_MATH_H_DEFAULTS): Set up default.
31540         * modules/math (Makefile.am): Replace new indicators.
31541         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
31542         * tests/test-math.c (main): Test this.
31543         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
31544         * doc/posix-headers/math.texi (math.h): Mention bug.
31545         Reported by Nelson H. F. Beebe and Jim Meyering.
31546
31547 2008-04-11  Bruno Haible  <bruno@clisp.org>
31548
31549         Adapt to future versions of Apple GCC.
31550         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
31551         Reported by Peter O'Gorman <peter@pogma.com>.
31552
31553 2008-04-11  Bruno Haible  <bruno@clisp.org>
31554
31555         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
31556
31557 2008-04-11  Bruno Haible  <bruno@clisp.org>
31558
31559         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
31560
31561         * modules/getaddrinfo-tests (Makefile.am): Define
31562         test_getaddrinfo_LDADD.
31563
31564 2008-04-11  Bruno Haible  <bruno@clisp.org>
31565
31566         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
31567         (init): Fix syntax error.
31568         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
31569         is declared.
31570
31571 2008-04-11  Bruno Haible  <bruno@clisp.org>
31572
31573         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
31574         * modules/glob (Depends-on): Add stdbool.
31575
31576 2008-04-11  Bruno Haible  <bruno@clisp.org>
31577
31578         * lib/trim.c: Include <string.h>.
31579
31580 2008-04-11  Eric Blake  <ebb9@byu.net>
31581
31582         Avoid compile failure on OS/2.
31583         * lib/regex_internal.h (internal_function): Disable optimization
31584         on OS/2 (__EMX__), where it caused compiler error.
31585         Reported by Elbert Pol.
31586
31587 2008-04-11  Bruno Haible  <bruno@clisp.org>
31588
31589         Flush the standard error stream before aborting. Needed on mingw.
31590         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
31591         * tests/test-array_list.c (ASSERT): Likewise.
31592         * tests/test-array_oset.c (ASSERT): Likewise.
31593         * tests/test-avltree_list.c (ASSERT): Likewise.
31594         * tests/test-avltree_oset.c (ASSERT): Likewise.
31595         * tests/test-avltreehash_list.c (ASSERT): Likewise.
31596         * tests/test-binary-io.c (ASSERT): Likewise.
31597         * tests/test-byteswap.c (ASSERT): Likewise.
31598         * tests/test-c-ctype.c (ASSERT): Likewise.
31599         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
31600         * tests/test-c-strcasestr.c (ASSERT): Likewise.
31601         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
31602         * tests/test-c-strstr.c (ASSERT): Likewise.
31603         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
31604         * tests/test-canonicalize.c (ASSERT): Likewise.
31605         * tests/test-carray_list.c (ASSERT): Likewise.
31606         * tests/test-ceilf1.c (ASSERT): Likewise.
31607         * tests/test-ceilf2.c (ASSERT): Likewise.
31608         * tests/test-ceill.c (ASSERT): Likewise.
31609         * tests/test-count-one-bits.c (ASSERT): Likewise.
31610         * tests/test-fbufmode.c (ASSERT): Likewise.
31611         * tests/test-fflush2.c (ASSERT): Likewise.
31612         * tests/test-floorf1.c (ASSERT): Likewise.
31613         * tests/test-floorf2.c (ASSERT): Likewise.
31614         * tests/test-floorl.c (ASSERT): Likewise.
31615         * tests/test-fopen.c (ASSERT): Likewise.
31616         * tests/test-fpending.c (ASSERT): Likewise.
31617         * tests/test-fprintf-posix.c (ASSERT): Likewise.
31618         * tests/test-fpurge.c (ASSERT): Likewise.
31619         * tests/test-freadable.c (ASSERT): Likewise.
31620         * tests/test-freadahead.c (ASSERT): Likewise.
31621         * tests/test-freading.c (ASSERT): Likewise.
31622         * tests/test-freadptr.c (ASSERT): Likewise.
31623         * tests/test-freadptr2.c (ASSERT): Likewise.
31624         * tests/test-freadseek.c (ASSERT): Likewise.
31625         * tests/test-freopen.c (ASSERT): Likewise.
31626         * tests/test-frexp.c (ASSERT): Likewise.
31627         * tests/test-frexpl.c (ASSERT): Likewise.
31628         * tests/test-fseek.c (ASSERT): Likewise.
31629         * tests/test-fseeko.c (ASSERT): Likewise.
31630         * tests/test-fstrcmp.c (ASSERT): Likewise.
31631         * tests/test-ftell.c (ASSERT): Likewise.
31632         * tests/test-ftello.c (ASSERT): Likewise.
31633         * tests/test-func.c (ASSERT): Likewise.
31634         * tests/test-fwritable.c (ASSERT): Likewise.
31635         * tests/test-fwriting.c (ASSERT): Likewise.
31636         * tests/test-getdelim.c (ASSERT): Likewise.
31637         * tests/test-getline.c (ASSERT): Likewise.
31638         * tests/test-i-ring.c (ASSERT): Likewise.
31639         * tests/test-iconv-utf.c (ASSERT): Likewise.
31640         * tests/test-iconv.c (ASSERT): Likewise.
31641         * tests/test-isfinite.c (ASSERT): Likewise.
31642         * tests/test-isnand.c (ASSERT): Likewise.
31643         * tests/test-isnanf.c (ASSERT): Likewise.
31644         * tests/test-isnanl.h (ASSERT): Likewise.
31645         * tests/test-ldexpl.c (ASSERT): Likewise.
31646         * tests/test-linked_list.c (ASSERT): Likewise.
31647         * tests/test-linkedhash_list.c (ASSERT): Likewise.
31648         * tests/test-localename.c (ASSERT): Likewise.
31649         * tests/test-lseek.c (ASSERT): Likewise.
31650         * tests/test-mbscasecmp.c (ASSERT): Likewise.
31651         * tests/test-mbscasestr1.c (ASSERT): Likewise.
31652         * tests/test-mbscasestr2.c (ASSERT): Likewise.
31653         * tests/test-mbscasestr3.c (ASSERT): Likewise.
31654         * tests/test-mbscasestr4.c (ASSERT): Likewise.
31655         * tests/test-mbschr.c (ASSERT): Likewise.
31656         * tests/test-mbscspn.c (ASSERT): Likewise.
31657         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
31658         * tests/test-mbspbrk.c (ASSERT): Likewise.
31659         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
31660         * tests/test-mbsrchr.c (ASSERT): Likewise.
31661         * tests/test-mbsspn.c (ASSERT): Likewise.
31662         * tests/test-mbsstr1.c (ASSERT): Likewise.
31663         * tests/test-mbsstr2.c (ASSERT): Likewise.
31664         * tests/test-mbsstr3.c (ASSERT): Likewise.
31665         * tests/test-memchr2.c (ASSERT): Likewise.
31666         * tests/test-memmem.c (ASSERT): Likewise.
31667         * tests/test-open.c (ASSERT): Likewise.
31668         * tests/test-printf-frexp.c (ASSERT): Likewise.
31669         * tests/test-printf-frexpl.c (ASSERT): Likewise.
31670         * tests/test-printf-posix.c (ASSERT): Likewise.
31671         * tests/test-quotearg.c (ASSERT): Likewise.
31672         * tests/test-rbtree_list.c (ASSERT): Likewise.
31673         * tests/test-rbtree_oset.c (ASSERT): Likewise.
31674         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
31675         * tests/test-round1.c (ASSERT): Likewise.
31676         * tests/test-roundf1.c (ASSERT): Likewise.
31677         * tests/test-roundl.c (ASSERT): Likewise.
31678         * tests/test-signbit.c (ASSERT): Likewise.
31679         * tests/test-sleep.c (ASSERT): Likewise.
31680         * tests/test-snprintf-posix.c (ASSERT): Likewise.
31681         * tests/test-snprintf.c (ASSERT): Likewise.
31682         * tests/test-sprintf-posix.c (ASSERT): Likewise.
31683         * tests/test-stat-time.c (ASSERT): Likewise.
31684         * tests/test-strcasestr.c (ASSERT): Likewise.
31685         * tests/test-strerror.c (ASSERT): Likewise.
31686         * tests/test-striconv.c (ASSERT): Likewise.
31687         * tests/test-striconveh.c (ASSERT): Likewise.
31688         * tests/test-striconveha.c (ASSERT): Likewise.
31689         * tests/test-strsignal.c (ASSERT): Likewise.
31690         * tests/test-strstr.c (ASSERT): Likewise.
31691         * tests/test-strtod.c (ASSERT): Likewise.
31692         * tests/test-trunc1.c (ASSERT): Likewise.
31693         * tests/test-trunc2.c (ASSERT): Likewise.
31694         * tests/test-truncf1.c (ASSERT): Likewise.
31695         * tests/test-truncf2.c (ASSERT): Likewise.
31696         * tests/test-truncl.c (ASSERT): Likewise.
31697         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
31698         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
31699         * tests/test-vasnprintf.c (ASSERT): Likewise.
31700         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
31701         * tests/test-vasprintf.c (ASSERT): Likewise.
31702         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
31703         * tests/test-vprintf-posix.c (ASSERT): Likewise.
31704         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
31705         * tests/test-vsnprintf.c (ASSERT): Likewise.
31706         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
31707         * tests/test-wcwidth.c (ASSERT): Likewise.
31708         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
31709         * tests/test-xprintf-posix.c (ASSERT): Likewise.
31710         * tests/test-xvasprintf.c (ASSERT): Likewise.
31711         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
31712         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
31713         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
31714         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
31715         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
31716         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
31717         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
31718         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
31719         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
31720         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
31721         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
31722         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
31723         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
31724         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
31725         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
31726         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
31727         * tests/unictype/test-block_list.c (ASSERT): Likewise.
31728         * tests/unictype/test-block_of.c (ASSERT): Likewise.
31729         * tests/unictype/test-block_test.c (ASSERT): Likewise.
31730         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
31731         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
31732         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
31733         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
31734         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
31735         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
31736         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
31737         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
31738         * tests/unictype/test-combining.c (ASSERT): Likewise.
31739         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
31740         * tests/unictype/test-digit.c (ASSERT): Likewise.
31741         * tests/unictype/test-mirror.c (ASSERT): Likewise.
31742         * tests/unictype/test-numeric.c (ASSERT): Likewise.
31743         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
31744         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
31745         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
31746         * tests/unictype/test-scripts.c (ASSERT): Likewise.
31747         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
31748         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
31749         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
31750         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
31751         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
31752         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
31753         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
31754         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
31755         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
31756         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
31757         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
31758         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
31759         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
31760         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
31761         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
31762         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
31763         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
31764         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
31765         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
31766         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
31767         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
31768         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
31769         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
31770         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
31771         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
31772         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
31773         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
31774         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
31775         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
31776         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
31777         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
31778         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
31779         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
31780         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
31781         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
31782         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
31783         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
31784         Reported by Eric Blake.
31785
31786 2008-04-11  Bruno Haible  <bruno@clisp.org>
31787
31788         * lib/wchar.in.h: Tweak comment.
31789
31790 2008-04-11  Bruno Haible  <bruno@clisp.org>
31791
31792         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
31793         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
31794         gl_COMMON.
31795         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
31796
31797 2008-04-11  Bruno Haible  <bruno@clisp.org>
31798
31799         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
31800
31801 2008-04-11  Simon Josefsson  <simon@josefsson.org>
31802
31803         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
31804         of attempting to use non-existing /dev/*random.  Based on patch
31805         from Adam Strzelecki <ono@java.pl> in
31806         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
31807
31808 2008-04-08  Bruno Haible  <bruno@clisp.org>
31809
31810         Add tentative support for emx+gcc.
31811         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
31812         * lib/fpurge.c (fpurge): Likewise.
31813         * lib/freadable.c (freadable): Likewise.
31814         * lib/freadahead.c (freadahead): Likewise.
31815         * lib/freading.c (freading): Likewise.
31816         * lib/freadptr.c (freadptr): Likewise.
31817         * lib/freadseek.c (freadptrinc): Likewise.
31818         * lib/fseeko.c (rpl_fseeko): Likewise.
31819         * lib/fseterr.c (fseterr): Likewise.
31820         * lib/fwritable.c (fwritable): Likewise.
31821         * lib/fwriting.c (fwriting): Likewise.
31822         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
31823
31824 2008-04-09  Eric Blake  <ebb9@byu.net>
31825
31826         Avoid some autoconf warnings.
31827         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
31828         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
31829         * m4/afs.m4 (gl_AFS): Likewise.
31830         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
31831         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
31832         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
31833         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
31834         (gl_INTEGER_TYPE_SUFFIX): Likewise.
31835         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
31836         (AC_CHECK_DECLS_ONCE): Likewise.
31837         Rename file...
31838         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
31839         gnulib-tool requires autoconf 2.59 or better.
31840         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
31841
31842 2008-04-08  Eric Blake  <ebb9@byu.net>
31843
31844         Use 'git describe --match' if present (added in git 1.5.5).
31845         * build-aux/git-version-gen: Limit result to tags that match 'v*'
31846         if possible.
31847
31848 2008-04-08  Bruno Haible  <bruno@clisp.org>
31849
31850         Add tentative support for OpenServer.
31851         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
31852         _ptr, _cnt.
31853         * lib/fpurge.c (fpurge): Likewise.
31854         * lib/freadable.c (freadable): Likewise.
31855         * lib/freadahead.c (freadahead): Likewise.
31856         * lib/freading.c (freading): Likewise.
31857         * lib/freadptr.c (freadptr): Likewise.
31858         * lib/freadseek.c (freadptrinc): Likewise.
31859         * lib/fseeko.c (rpl_fseeko): Likewise.
31860         * lib/fseterr.c (fseterr): Likewise.
31861         * lib/fwritable.c (fwritable): Likewise.
31862         * lib/fwriting.c (fwriting): Likewise.
31863         Reported by Roger Cornelius <rac@tenzing.org> and
31864         Brian K. White <brian@aljex.com>.
31865
31866 2008-04-06  Jim Meyering  <meyering@redhat.com>
31867
31868         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
31869
31870 2008-04-06  Bruno Haible  <bruno@clisp.org>
31871
31872         Avoid possible error with non-ASCII bytes in UTF-8 locales.
31873         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
31874         * tests/test-printf-posix.sh: Likewise.
31875         * tests/test-vfprintf-posix.sh: Likewise.
31876         * tests/test-vprintf-posix.sh: Likewise.
31877         * tests/test-xprintf-posix.sh: Likewise.
31878
31879 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31880
31881         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
31882         hide error from 'ls', needed on OS/2.
31883         Report by Elbert Pol <elbert.pol@gmail.com>.
31884
31885 2008-04-04  Eric Blake  <ebb9@byu.net>
31886
31887         Make test-fseeko.c failures meaningful.
31888         * tests/test-fseeko.c: Print line number on failure.
31889         * tests/test-fseek.c: Likewise.
31890         Reported by Nelson H. F. Beebe.
31891
31892         Improve strtod bug detection check.
31893         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
31894         required for Solaris 10.
31895         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
31896
31897 2008-04-04  Bruno Haible  <bruno@clisp.org>
31898
31899         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
31900         by m4/setenv.m4.
31901
31902 2008-04-03  Eric Blake  <ebb9@byu.net>
31903
31904         Ensure sane .version contents.
31905         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
31906         version string.
31907         * build-aux/git-version-gen: Improve documentation.
31908
31909         Make GNU make output nicer.
31910         * top/GNUmakefile [!_have-Makefile]: Add dependency on
31911         MAKECMDGOALS to enforce message for all command line targets.  Set
31912         srcdir for use in maint.mk.
31913
31914         Another maintainer tweak.
31915         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
31916         a target that regenerates version.
31917
31918 2008-04-03  Jim Meyering  <meyering@redhat.com>
31919
31920         vc-list-files: don't cause coreutils "make po-check" failure
31921         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
31922
31923 2008-04-03  Eric Blake  <ebb9@byu.net>
31924
31925         Allow VPATH usage of vc-list-files.
31926         * build-aux/vc-list-files (scriptversion): Add timestamp.
31927         (options): Add --help, --version, -C.
31928         (CVS): Support installed cvsu.
31929
31930 2008-04-02  Bruno Haible  <bruno@clisp.org>
31931
31932         Avoid some "statement with no effect" warnings from gcc.
31933         * tests/test-wctype.c (main): Explicitly ignore unused values.
31934         Reported by Jim Meyering.
31935
31936 2008-04-02  Jim Meyering  <meyering@redhat.com>
31937
31938         Avoid some warnings from "gcc -Wshadow".
31939         * tests/test-frexp.c (exp): Define to a different identifier.
31940         * tests/test-frexpl.c (exp): Likewise.
31941
31942 2008-04-03  Jim Meyering  <meyering@redhat.com>
31943
31944         bootstrap: remove dangling *.[ch] symlinks from lib
31945         * build-aux/bootstrap [dangling symlink removal]: Move find's
31946         -depth option to precede all others, to avoid a warning.
31947         Remove *.[ch] files too, and from "$source_base" (usually lib/).
31948
31949 2008-04-02  Bruno Haible  <bruno@clisp.org>
31950
31951         Avoid some warnings from "gcc -Wshadow".
31952         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
31953         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
31954         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
31955         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
31956         Reported by Jim Meyering.
31957
31958 2008-04-01  Bruno Haible  <bruno@clisp.org>
31959
31960         Fix test to work on IRIX 6.5 with cc.
31961         * tests/test-math.c (numeric_equal): New function.
31962         (main): Use it.
31963
31964 2008-04-01  Bruno Haible  <bruno@clisp.org>
31965
31966         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
31967
31968 2008-04-01  Bruno Haible  <bruno@clisp.org>
31969
31970         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
31971         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
31972         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
31973         (Depends-on): Remove math.
31974
31975         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
31976         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
31977         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
31978         (Depends-on): Remove math.
31979
31980         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
31981         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
31982         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
31983         (Depends-on): Remove math.
31984         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
31985         (Depends-on): Remove math.
31986
31987         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
31988         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
31989         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
31990         (Depends-on): Remove math.
31991         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
31992         (Depends-on): Remove math.
31993
31994         * tests/test-round1.c: Include nan.h.
31995         (main): Use NaNd instead of NAN.
31996         * modules/round-tests (Files): Add tests/nan.h.
31997
31998         * tests/test-trunc1.c: Include nan.h.
31999         (main): Use NaNd instead of NAN.
32000         * modules/trunc-tests (Files): Add tests/nan.h.
32001
32002         * tests/test-roundf1.c: Include nan.h.
32003         (main): Use NaNf instead of NAN.
32004         * modules/roundf-tests (Files): Add tests/nan.h.
32005
32006         * tests/test-truncf1.c: Include nan.h.
32007         (main): Use NaNf instead of NAN.
32008         * modules/truncf-tests (Files): Add tests/nan.h.
32009
32010         * tests/test-ceilf1.c: Include nan.h.
32011         (main): Use NaNf instead of NAN.
32012         * modules/ceilf-tests (Files): Add tests/nan.h.
32013
32014         * tests/test-floorf1.c: Include nan.h.
32015         (main): Use NaNf instead of NAN.
32016         * modules/floorf-tests (Files): Add tests/nan.h.
32017
32018         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
32019         (main): Use NaNf instead of NAN.
32020         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
32021
32022         * tests/test-isnand.c: Include nan.h instead of <math.h>.
32023         (main): Use NaNd instead of NAN.
32024         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
32025
32026         * tests/test-frexp.c: Include nan.h.
32027         (main): Use NaNd instead of NAN.
32028         * modules/frexp-tests (Files): Add tests/nan.h.
32029
32030         * lib/isnan.c: Don't include <math.h>.
32031         (FUNC): Don't use NAN macro.
32032         * modules/isnand-nolibm (Depends-on): Remove math.
32033         * modules/isnanf-nolibm (Depends-on): Remove math.
32034         * modules/isnanl (Depends-on): Remove math.
32035         * modules/isnanl-nolibm (Depends-on): Remove math.
32036
32037         * tests/nan.h: New file.
32038
32039 2008-04-01  Eric Blake  <ebb9@byu.net>
32040
32041         Fix typos.
32042         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
32043         values to be the right type.
32044
32045         For now, cater to gnulib strtod inaccuracies.
32046         * tests/test-strtod.c (main): Allow 1-ulp error on expected
32047         fractional results.  While not as nice from a QoI perspective, it
32048         is a quicker patch than correctly implementing decimal to binary
32049         rounding.
32050
32051 2008-03-31  Eric Blake  <ebb9@byu.net>
32052
32053         Guarantee a definition of NAN.
32054         * lib/math.in.h (NAN): Define if missing.
32055         * tests/test-math.c (main): Test it.
32056         * doc/posix-headers/math.texi (math.h): Document this.
32057         * lib/isnan.c (rpl_isnand): Use it.
32058         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
32059         * tests/test-floorf1.c (NaN): Likewise.
32060         * tests/test-frexp.c (NaN): Likewise.
32061         * tests/test-isnand.c (NaN): Likewise.
32062         * tests/test-isnanf.c (NaN): Likewise.
32063         * tests/test-round1.c (NaN): Likewise.
32064         * tests/test-roundf1.c (NaN): Likewise.
32065         * tests/test-snprintf-posix.h (NaN): Likewise.
32066         * tests/test-sprintf-posix.h (NaN): Likewise.
32067         * tests/test-trunc1.c (NaN): Likewise.
32068         * tests/test-truncf1.c (NaN): Likewise.
32069         * tests/test-vasnprintf-posix.c (NaN): Likewise.
32070         * tests/test-vasprintf-posix.c (NaN): Likewise.
32071         * modules/isnand-nolibm (Depends-on): Add math.
32072         * modules/isnanf-nolibm (Depends-on): Likewise.
32073         * modules/isnanl (Depends-on): Likewise.
32074         * modules/isnanl-nolibm (Depends-on): Likewise.
32075         * modules/snprintf-posix-tests (Depends-on): Likewise.
32076         * modules/sprintf-posix-tests (Depends-on): Likewise.
32077         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
32078         * modules/vsprintf-posix-tests (Depends-on): Likewise.
32079         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
32080         * modules/vasprintf-posix-tests (Depends-on): Likewise.
32081
32082 2008-03-31  Bruno Haible  <bruno@clisp.org>
32083
32084         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
32085         * doc/posix-functions/strtod.texi: Likewise.
32086
32087 2008-03-31  Bruno Haible  <bruno@clisp.org>
32088
32089         * tests/test-strtod.c (main): Don't use C99 syntax.
32090
32091 2008-03-31  Bruno Haible  <bruno@clisp.org>
32092
32093         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
32094         Reported by Eric Blake.
32095
32096 2008-03-31  Jim Meyering  <meyering@redhat.com>
32097
32098         Don't compare actual signbit return values.
32099         * tests/test-strtod.c (main): Rather, compare only their
32100         zero/non-zero nature.
32101
32102 2008-03-31  Eric Blake  <ebb9@byu.net>
32103
32104         More strtod documentation.
32105         * doc/posix-functions/strtod.texi (strtod): Interpret more test
32106         failures as distinct bugs.
32107
32108 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
32109
32110         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
32111         Problem reported by Erik Benada in
32112         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
32113
32114 2008-03-30  Bruno Haible  <bruno@clisp.org>
32115
32116         * tests/test-strtod.c: Add comments about which assertion fails on which
32117         platform.
32118         * doc/posix-functions/strtod.texi: Add info about many more platforms.
32119
32120 2008-03-30  Eric Blake  <ebb9@byu.net>
32121
32122         Test signbit behavior on zeros.
32123         * tests/test-signbit.c (test_signbitf): Add tests for zero.
32124         (test_signbitd, test_signbitl): Likewise.
32125
32126         More strtod touchups.
32127         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
32128         sign of negative underflow, for now.  Use .5, not .1.
32129         * doc/posix-functions/strtod.texi (strtod): Mention these
32130         limitations.
32131         Reported by Jim Meyering.
32132
32133 2008-03-30  Bruno Haible  <bruno@clisp.org>
32134
32135         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
32136         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
32137
32138 2008-03-30  Bruno Haible  <bruno@clisp.org>
32139
32140         Avoid failure when attempting to return empty iconv results on some
32141         platforms.
32142         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
32143         allocation, don't report ENOMEM when the resulting string is empty.
32144
32145 2008-03-30  Bruno Haible  <bruno@clisp.org>
32146
32147         Fix buffer overrun.
32148         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
32149         Don't consider the width for tmp_length. Check count against tmp_length
32150         before doing the padding. Ensure enough allocation during padding.
32151
32152 2008-03-30  Eric Blake  <ebb9@byu.net>
32153
32154         strtod touchups.
32155         * lib/strtod.c (strtod): Avoid compiler warnings.
32156         Reported by Jim Meyering.
32157
32158 2008-03-30  Bruno Haible  <bruno@clisp.org>
32159
32160         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
32161         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
32162         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
32163         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
32164         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
32165         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
32166         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
32167         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
32168
32169         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
32170         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
32171         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
32172         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
32173         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
32174         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
32175         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
32176         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
32177
32178         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
32179         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
32180         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
32181         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
32182         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
32183         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
32184         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
32185         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
32186
32187         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
32188         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
32189
32190         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
32191         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
32192
32193         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
32194         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
32195
32196         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
32197         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
32198         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
32199
32200         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
32201         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
32202         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
32203
32204         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
32205         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
32206         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
32207
32208         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
32209         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
32210         * modules/vasprintf (Depends-on): Add EOVERFLOW.
32211
32212         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
32213         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
32214         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
32215         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
32216         (Depends-on): Add EOVERFLOW.
32217         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
32218         (Depends-on): Add EOVERFLOW.
32219         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
32220         (Depends-on): Add EOVERFLOW.
32221         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
32222         (Depends-on): Add EOVERFLOW.
32223         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
32224         (Depends-on): Add EOVERFLOW.
32225         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
32226         (Depends-on): Add EOVERFLOW.
32227         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
32228         (Depends-on): Add EOVERFLOW.
32229         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
32230         (Depends-on): Add EOVERFLOW.
32231
32232         * lib/sprintf.c (EOVERFLOW): Remove fallback.
32233         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
32234         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
32235
32236         * lib/snprintf.c (EOVERFLOW): Remove fallback.
32237         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
32238         * modules/snprintf (Depends-on): Add EOVERFLOW.
32239
32240         * lib/poll.c (EOVERFLOW): Remove fallback.
32241         * modules/poll (Depends-on): Add EOVERFLOW.
32242
32243         * lib/getugroups.c (EOVERFLOW): Remove fallback.
32244         * modules/getugroups (Depends-on): Add EOVERFLOW.
32245
32246         * lib/getdelim.c (EOVERFLOW): Remove fallback.
32247         * modules/getdelim (Depends-on): Add EOVERFLOW.
32248
32249         * lib/ftell.c (EOVERFLOW): Remove fallback.
32250         * modules/ftell (Depends-on): Add EOVERFLOW.
32251
32252         * lib/fprintf.c (EOVERFLOW): Remove fallback.
32253         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
32254         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
32255
32256         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
32257
32258         * modules/EOVERFLOW-tests: New file.
32259         * tests/test-EOVERFLOW.c: New file.
32260
32261         * modules/EOVERFLOW: New file.
32262         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
32263
32264 2008-03-30  Bruno Haible  <bruno@clisp.org>
32265
32266         Fix bug introduced on 2007-06-10.
32267         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
32268         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
32269
32270 2008-03-30  Bruno Haible  <bruno@clisp.org>
32271
32272         Improve freadseek's efficiency after ungetc.
32273         * lib/freadseek.c: Include freadahead.h.
32274         (freadptrinc): New function, extracted from freadseek.
32275         (freadseek): Use it in a loop. Use freadahead to determine the number
32276         of loop iterations.
32277         * modules/freadseek (Depends-on): Add freadahead.
32278         (configure.ac): Require AC_C_INLINE.
32279
32280 2008-03-30  Bruno Haible  <bruno@clisp.org>
32281
32282         * lib/freadseek.c (freadseek): Don't ignore the return value of
32283         freadptr.
32284
32285 2008-03-29  Eric Blake  <ebb9@byu.net>
32286
32287         Add hex float support.
32288         * modules/strtod (Depends-on): Add c-ctype.
32289         (Link): Mention POW_LIB.
32290         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
32291         whitespace between 'e' and exponent.
32292         * tests/test-strtod.c (main): Enable hex float tests.
32293         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
32294         now provides.
32295
32296         Document various strtod bugs, with some fixes.
32297         * doc/posix-functions/strtod.texi (strtod): Document bugs with
32298         "-0x", "inf", "nan", and hex constants.
32299         * doc/posix-functions/atof.texi (atof): Likewise.
32300         * modules/stdlib (Makefile.am): Support strtod.
32301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
32302         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
32303         detect additional strtod bugs.
32304         * lib/stdlib.in.h (rpl_strtod): Add declarations.
32305         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
32306         bool where appropriate.  Parse 'inf' and 'nan'.
32307         * tests/test-strtod.c: New file.
32308         * modules/strtod (Depends-on): Add stdbool, stdlib.
32309         (configure.ac): Turn on module indicator.
32310         * modules/strtod-tests: New module.
32311
32312 2008-03-29  Eric Blake  <ebb9@byu.net>
32313
32314         Fix ftell on mingw.
32315         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
32316         * modules/ftell-tests (Depends-on): Add binary-io.
32317         * modules/ftello-tests (Depends-on): Likewise.
32318         * tests/test-ftell.c (main): Enhance test to cover behavior after
32319         ungetc.  Enforce binary mode.
32320         * tests/test-ftello.c (main): Likewise.
32321
32322         Pass test-freadseek on cygwin.
32323         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
32324         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
32325         ungetc buffer.
32326
32327         * tests/test-fflush2.c (main): Fix typo.
32328
32329 2008-03-29  Bruno Haible  <bruno@clisp.org>
32330
32331         * tests/test-fflush2.c (main): Temporarily disable the contents of
32332         this test.
32333         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
32334         Reported by Eric Blake.
32335
32336 2008-03-28  Simon Josefsson  <simon@josefsson.org>
32337
32338         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
32339         (GC_SHA224_DIGEST_SIZE): Add.
32340
32341         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
32342         (gc_hash_digest_length): Likewise.
32343         (gc_hash_buffer): Likewise.
32344
32345 2008-03-25  Bruno Haible  <bruno@clisp.org>
32346
32347         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
32348         detail which gettext release to use.
32349         Reported by Simon Josefsson.
32350
32351 2008-03-26  Jim Meyering  <meyering@redhat.com>
32352
32353         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
32354         * modules/gnumakefile (clean-GNUmakefile): Also, use
32355         test ... && ... || : syntax rather than if-then ... fi.
32356
32357         gnumakefile: Don't double-quote-expand $(VPATH) value.
32358         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
32359
32360 2008-03-24  Eric Blake  <ebb9@byu.net>
32361
32362         Alter GNUmakefile to install into top directory.
32363         * modules/maintainer-makefile: Split, and add dependency...
32364         * modules/gnumakefile: to this new module.
32365         * build-aux/GNUmakefile: Move...
32366         * top/GNUmakefile: ...here.
32367         * build-aux/maint.mk: Move...
32368         * top/maint.mk: ...here.
32369         * MODULES.html.sh (Support for maintaining...): Document new
32370         module.
32371
32372 2008-03-23  Bruno Haible  <bruno@clisp.org>
32373
32374         * gnulib-tool: New options --vc-files, --no-vc-files.
32375         (func_usage): Document them.
32376         (vc_files): New variable.
32377         (func_import): Consider vc_files.
32378         (func_create_testdir): Set vc_files to empty.
32379         Suggested by Jim Meyering and Karl Berry.
32380
32381 2008-03-23  Bruno Haible  <bruno@clisp.org>
32382
32383         Fix regex compilation error on HP-UX 11.
32384         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
32385         * modules/regex (Files): Add m4/mbstate_t.m4.
32386         Reported by Ton Voon <ton.voon@altinity.com>.
32387
32388 2008-03-23  Bruno Haible  <bruno@clisp.org>
32389
32390         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
32391
32392 2008-03-23  Eric Blake  <ebb9@byu.net>
32393             Bruno Haible  <bruno@clisp.org>
32394
32395         Install files from top/ in the destination directory.
32396         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32397         augmentation also for the files from top/.
32398         (func_import, func_create_testdir): Rewrite file names:
32399         top/filename -> filename.
32400
32401 2008-03-23  Bruno Haible  <bruno@clisp.org>
32402
32403         Tweak "gnulib --version" output.
32404         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
32405
32406 2008-03-23  Bruno Haible  <bruno@clisp.org>
32407
32408         Tweak "gnulib --version" output.
32409         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
32410         rather than contents of ChangeLog, when possible.
32411
32412 2008-03-21  Eric Blake  <ebb9@byu.net>
32413
32414         More --version tweaks.
32415         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
32416         date of last ChangeLog entry.
32417
32418 2008-03-21  Jim Meyering  <meyering@redhat.com>
32419
32420         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
32421
32422 2008-03-20  Eric Blake  <ebb9@byu.net>
32423
32424         VPATH fix.
32425         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
32426
32427 2008-03-20  Simon Josefsson  <simon@josefsson.org>
32428
32429         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
32430         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
32431
32432 2008-03-20  Eric Blake  <ebb9@byu.net>
32433
32434         Sync GNUmakefile with coreutils.
32435         * build-aux/GNUmakefile (have-Makefile): Rename...
32436         (_have-Makefile): ...to this, for namespace consideration.
32437         (GNUmakefile.cfg): Include, if present.
32438         (_autoreconf): Define a default.
32439         (_is-dist-target): New rule for rebuilds to pick up intra-release
32440         version.
32441         (maint-cfg.mk): Rename...
32442         (cfg.mk): ...to this.
32443
32444 2008-03-18  Jim Meyering  <meyering@redhat.com>
32445
32446         New script and module: mktempd
32447         * MODULES.html.sh (maint+release support): Add mktempd.
32448         * build-aux/mktempd: New file.
32449         * modules/mktempd: New file.
32450
32451 2008-03-15  Jim Meyering  <meyering@redhat.com>
32452
32453         Undo last change.
32454         * lib/sha1.c, lib/md5.c: 63 != ~63.
32455         Reported by Andreas Schwab.
32456
32457         sha1.c, md5.c: Hoist a redundant expression.
32458         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
32459         "ctx->buflen" only once, before calling *_process_block.
32460         * lib/md5.c (md5_process_bytes): Likewise.
32461
32462 2008-03-14  Eric Blake  <ebb9@byu.net>
32463
32464         Bump copyright year in files generated by gnulib-tool.
32465         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
32466         gnulib-tool, rather than hard-coding it.
32467
32468         Fix 'gnulib-tool --version' output to work with git.
32469         * gnulib-tool (func_gnulib_dir): New function, extracted from...
32470         (startup): ...here.
32471         (func_version): Use it to invoke git-version-gen, rather than
32472         relying on CVS keyword expansion.  Modernize wording.
32473         (cvsdatestamp, last_checkin_date, version): Kill unused
32474         variables.
32475
32476 2008-03-12  Jim Meyering  <meyering@redhat.com>
32477
32478         Recognize optional cast of the argument to free.
32479         * build-aux/useless-if-before-free: Update regexps.
32480
32481         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
32482
32483 2008-03-11  Bruno Haible  <bruno@clisp.org>
32484
32485         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
32486         by a single package.
32487         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
32488         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
32489         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
32490         Reported by Sam Steingold <sds@gnu.org>.
32491
32492 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32493
32494         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
32495         repositories.
32496
32497 2008-03-11  Bruno Haible  <bruno@clisp.org>
32498
32499         Avoid conflicts between local macro definitions.
32500         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32501         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
32502
32503 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
32504             Bruno Haible  <bruno@clisp.org>
32505
32506         Make va_copy work with some version of xlc on AIX 5.1.
32507         * lib/stdarg.in.h: New file.
32508         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
32509         On AIX, use a <stdarg.h> file substitute.
32510         * modules/stdarg (Files): Add lib/stdarg.in.h.
32511         (Depends-on): Add include_next.
32512         (Makefile.am): Build a stdarg.h substitute if requested.
32513         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
32514
32515 2008-03-10  Bruno Haible  <bruno@clisp.org>
32516
32517         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
32518         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32519         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
32520
32521 2008-03-10  Bruno Haible  <bruno@clisp.org>
32522
32523         * modules/stdlib (Depends-on): Add include_next, remove
32524         absolute-header.
32525
32526 2008-03-09  Bruno Haible  <bruno@clisp.org>
32527
32528         * lib/freadahead.h (freadahead): Document more precisely.
32529         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
32530         the sum of both buffer sizes.
32531         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
32532         * NEWS: Document the change.
32533
32534 2008-03-09  Bruno Haible  <bruno@clisp.org>
32535
32536         Extend freadptr to return also the buffer size.
32537         * lib/freadptr.h (freadptr): Add sizep argument.
32538         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
32539         (freadptr): Add sizep argument. Determine buffer size like freadahead
32540         does.
32541         * tests/test-freadptr.c: Don't include freadahead.h.
32542         (main): Adapt for new calling convention of freadptr.
32543         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
32544         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
32545         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
32546         tests/test-freadptr2.sh.
32547         (Depends): Remove freadahead.
32548         (TESTS): Add test-freadptr2.sh.
32549         (check_PROGRAMS): Add test-freadptr2.
32550
32551 2008-03-09  Bruno Haible  <bruno@clisp.org>
32552
32553         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
32554         Report and solution by Simon Josefsson.
32555
32556 2008-03-06  Bruno Haible  <bruno@clisp.org>
32557
32558         Make fflush after ungetc work on BSD platforms.
32559         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
32560         * tests/test-fflush2.c: New file.
32561         * tests/test-fflush2.sh: New file.
32562         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
32563         tests/test-fflush2.c.
32564         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
32565         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
32566
32567 2008-03-06  Eric Blake  <ebb9@byu.net>
32568
32569         Likewise for ftello.
32570         * modules/ftello (Dependencies): Add extensions.
32571         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
32572
32573 2008-03-06  Bruno Haible  <bruno@clisp.org>
32574
32575         * modules/fseeko (Dependencies): Add extensions.
32576         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
32577         Needed on glibc systems.
32578
32579 2008-03-06  Bruno Haible  <bruno@clisp.org>
32580
32581         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
32582         email address.
32583         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32584
32585 2008-03-06  Bruno Haible  <bruno@clisp.org>
32586
32587         * users.txt: Add libgnupdf.
32588
32589 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32590
32591         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
32592         (Header File Substitutes, Function Substitutes,
32593         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
32594         (Build robot for gnulib): Fix typo.
32595
32596 2008-03-06  Bruno Haible  <bruno@clisp.org>
32597
32598         * doc/gnulib-tool.texi (VCS Issues): Small updates.
32599         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32600
32601 2008-03-06  Bruno Haible  <bruno@clisp.org>
32602
32603         * doc/func.texi: New file, extracted from doc/gnulib.texi.
32604         * doc/gnulib.texi: Include it.
32605
32606 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32607
32608         * modules/func (License): Change license to unlimited; there was
32609         no LGPL parts in the module anyway.
32610
32611 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32612
32613         * modules/__func__: Renamed to modules/func.
32614         * modules/__func__-tests: Renamed to modules/func-tests.
32615         * tests/test-__func__.c: Renamed to tests/test-func.c.
32616         * m4/__func__.m4: Renamed to m4/func.m4.
32617         * doc/gnulib.texi (__func__): Section renamed to func.
32618         Suggested by Eric Blake <ebb9@byu.net>.
32619
32620 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32621
32622         * doc/gnulib.texi (__func__): Use C99 terminology when talking
32623         about __func__.  Make example self-contained.  Suggested by Eric
32624         Blake <ebb9@byu.net>.
32625
32626         * tests/test-__func__.c (main): Avoid extraneous () around __func.
32627         Suggested by Eric Blake <ebb9@byu.net>.
32628
32629 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32630
32631         * modules/__func__: New file.
32632         * modules/__func__-tests: New file.
32633         * tests/test-__func__.c: New file.
32634         * m4/__func__.m4: New file.
32635         * doc/gnulib.texi (__func__): Document __func__ module.
32636
32637 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32638
32639         * modules/byteswap (License): Re-license as LGPLv2+.
32640
32641 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32642
32643         * doc/Makefile: Add pdf target.
32644
32645 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32646
32647         * modules/inline (License): Use 'unlimited', since there are only
32648         *.m4 files in this module.
32649
32650 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
32651             Bruno Haible  <bruno@clisp.org>
32652
32653         Add support for HP C 7.1 on OpenVMS 8.3.
32654         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
32655
32656 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
32657
32658         Update VMS specifics.
32659         * lib/getopt.c [VMS]: Remove include of unixlib.h.
32660
32661 2008-03-02  Jim Meyering  <meyering@redhat.com>
32662
32663         Remove the last dependency on the "free" module.
32664         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
32665         Reported by Bob Proulx.
32666
32667         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
32668
32669         Remove useless "if" tests before free.  Deprecate "free" module.
32670         * doc/posix-functions/free.texi: Mention that this
32671         module is no longer useful.
32672         * modules/free (Notice): Say this module is obsolete.
32673         * modules/readutmp (Depends-on): Remove free.
32674         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
32675         * lib/putenv.c (putenv): Likewise.
32676         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
32677         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
32678         * tests/test-c-strcasestr.c (main): Likewise.
32679         * tests/test-c-strstr.c (main): Likewise.
32680         * tests/test-mbscasestr1.c (main): Likewise.
32681         * tests/test-mbscasestr2.c (main): Likewise.
32682         * tests/test-mbsstr1.c (main): Likewise.
32683         * tests/test-mbsstr2.c (main): Likewise.
32684         * tests/test-memmem.c (main): Likewise.
32685         * tests/test-strcasestr.c (main): Likewise.
32686         * tests/test-striconv.c (main): Likewise.
32687         * tests/test-striconveh.c (main): Likewise.
32688         * tests/test-striconveha.c (main): Likewise.
32689         * tests/test-strstr.c (main): Likewise.
32690
32691         * build-aux/git-version-gen: Adjust a comment and the Usage string.
32692
32693         bootstrap: sync from coreutils again
32694         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
32695
32696 2008-03-01  Jim Meyering  <meyering@redhat.com>
32697
32698         bootstrap: sync from coreutils
32699         * build-aux/bootstrap (update_po_files): Copy a .po file into place
32700         also when the target doesn't exist.
32701
32702 2008-03-01  Eric Blake  <ebb9@byu.net>
32703
32704         Fix bugs in last patch.
32705         * lib/memchr2.c (memchr2): Fix typo.
32706         * tests/test-memchr2.c: Test previous bug, and don't use GNU
32707         extension.
32708         Reported by Bruce Korb.
32709
32710         New module 'memchr2'.
32711         * modules/memchr2: New file.
32712         * modules/memchr2-tests: Likewise.
32713         * lib/memchr2.h: Likewise.
32714         * lib/memchr2.c: Likewise, based on memchr.c.
32715         * tests/test-memchr2.c: New test.
32716         * MODULES.html.sh (String handling): Add memchr2.
32717
32718 2008-02-29  Bruno Haible  <bruno@clisp.org>
32719
32720         * modules/freadseek-tests: New file.
32721         * tests/test-freadseek.sh: New file.
32722         * tests/test-freadseek.c: New file.
32723
32724         New module 'freadseek'.
32725         * modules/freadseek: New file.
32726         * lib/freadseek.h: New file.
32727         * lib/freadseek.c: New file.
32728         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
32729
32730 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
32731
32732         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
32733         wydawca.
32734
32735         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
32736         program_invocation_name and program_invocation_short_name are
32737         present.
32738
32739 2008-02-28  Bruno Haible  <bruno@clisp.org>
32740
32741         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
32742         * tests/test-freadptr.sh: Also test non-seekable stdin.
32743
32744 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
32745
32746         * build-aux/bootstrap (source_base, m4_base)
32747         (doc_base, tests_base): New variables.
32748         (gnulib_tool_options): Do not hardcode base directories, use
32749         the above variables instead.
32750
32751 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
32752
32753         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
32754
32755 2008-02-28  Bruno Haible  <bruno@clisp.org>
32756
32757         * modules/freadptr-tests: New file.
32758         * tests/test-freadptr.sh: New file.
32759         * tests/test-freadptr.c: New file.
32760
32761         New module 'freadptr'.
32762         * modules/freadptr: New file.
32763         * lib/freadptr.h: New file.
32764         * lib/freadptr.c: New file.
32765         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
32766
32767 2008-02-26  Karl Berry  <karl@freefriends.org>
32768
32769         Sync from Libtool:
32770         * libltdl/argz.c (argz_add, argz_count): New functions.
32771         * libltdl/argz.in.h: Declare them.
32772         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
32773
32774 2008-02-22  Bruno Haible  <bruno@clisp.org>
32775
32776         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
32777         is a pointer type.  Needed for HP-UX 10.
32778         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
32779         * doc/posix-functions/gmtime_r.texi: Likewise.
32780         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
32781
32782 2008-02-24  Bruno Haible  <bruno@clisp.org>
32783
32784         * modules/environ-tests: New file.
32785         * tests/test-environ.c: New file.
32786
32787         New module 'environ'.
32788         * modules/environ: New file.
32789         * lib/unistd.in.h (environ): New declaration.
32790         * m4/environ.m4: New file.
32791         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
32792         after use.
32793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
32794         HAVE_DECL_ENVIRON.
32795         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
32796         HAVE_DECL_ENVIRON.
32797         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
32798         wrong claim that 'environ' is missing on some systems.
32799         * modules/execute (Depends-on): Add environ.
32800         * lib/execute.c (environ): Remove fallback declaration.
32801         * modules/pipe (Depends-on): Add environ.
32802         * lib/pipe.c (environ): Remove fallback declaration.
32803         * modules/setenv (Depends-on): Add environ.
32804         * lib/setenv.c (environ): Remove fallback declaration.
32805         * modules/unsetenv (Depends-on): Add environ.
32806         * lib/unsetenv.c (environ): Remove fallback declaration.
32807         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
32808         m4/environ.m4.
32809         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
32810         (gl_PREREQ_UNSETENV): Likewise.
32811
32812 2008-02-24  Bruno Haible  <bruno@clisp.org>
32813
32814         * doc/posix-functions/environ.texi: Document the MacOS X problem.
32815
32816 2008-02-20  Bob Proulx  <bob@proulx.com>
32817
32818         Enable use of older two part flavor 'git describe'.
32819         * build-aux/git-version-gen: If using the older two part flavor of
32820         git version then recreate the third part now present in the
32821         newer three part flavor of git describe.
32822
32823 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
32824
32825         * lib/fts.c (fts_build): Typo correction to comment.
32826
32827 2008-02-17  Bruno Haible  <bruno@clisp.org>
32828
32829         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
32830         generating no-op conflicts.
32831
32832 2008-02-17  Bruno Haible  <bruno@clisp.org>
32833
32834         Speed up by 10%.
32835         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
32836         result_entries, rather than an index-based loop.
32837
32838 2008-02-17  Bruno Haible  <bruno@clisp.org>
32839
32840         Speed up by 25%.
32841         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
32842         'hashcode_cached'.
32843         (entry_create): New function.
32844         (entry_hashcode): Use the cached hashcode if possible.
32845         (read_changelog_file, try_split_merged_entry): Use entry_create.
32846
32847 2008-02-17  Bruno Haible  <bruno@clisp.org>
32848
32849         Speed up from O(n^2) to O(n) for long ChangeLog files.
32850         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
32851         (read_changelog_file): Change implementation of entries_reversed list
32852         to rbtreehash.
32853         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
32854
32855 2008-02-17  Bruno Haible  <bruno@clisp.org>
32856
32857         New option --split-merged-entry.
32858         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
32859         (find_paragraph_end, try_split_merged_entry): New functions.
32860         (long_options): Add option --split-merged-entry.
32861         (usage): Document option --split-merged-entry.
32862         (main): Implement option --split-merged-entry.
32863         Reported by Eric Blake.
32864
32865 2008-02-17  Bruno Haible  <bruno@clisp.org>
32866
32867         * lib/git-merge-changelog.c: Include c-strstr.h.
32868         (main): Support the "git pull --rebase" situation.
32869         * modules/git-merge-changelog (Depends-on): Add c-strstr.
32870         Reported by Eric Blake.
32871
32872 2008-02-16  Eric Blake  <ebb9@byu.net>
32873
32874         Avoid doubling \ in common case of "c-maybe" quoting style.
32875         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
32876         eliding outer quotes.
32877         * lib/quotearg.h: Document this.
32878         * tests/test-quotearg.c (result_strings, inputs, results_g)
32879         (flag_results, locale_results): Test it by adding a new string to
32880         each test group.
32881         (compare_strings): Test new string.
32882
32883 2008-02-13  Eric Blake  <ebb9@byu.net>
32884
32885         Avoid trigraph quoting in default output.
32886         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
32887         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
32888         unless explicitly requested.
32889         * tests/test-quotearg.c (flag_results, main): Add additional tests.
32890
32891 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
32892
32893         Don't rely on signed integer overflowing to negative value.
32894         * lib/getugroups.c (getugroups): Include <limits.h>.
32895         Instead, compare against INT_MAX, and increment only if the test passes.
32896
32897 2008-02-13  Jim Meyering  <meyering@redhat.com>
32898         and Eric Blake  <ebb9@byu.net>
32899
32900         Avoid shadowing warning and compile errors on Linux.
32901         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
32902         forwarding macros on Linux.
32903         (dcgettext): Define a stub, for Linux.
32904         (results_g, main): Avoid warnings.
32905
32906 2008-02-12  Eric Blake  <ebb9@byu.net>
32907
32908         Silence warning in last patch.
32909         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
32910
32911         Quotearg part 4: add tests, fix c-maybe colon quoting.
32912         * lib/quotearg.h: Improve documentation.
32913         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
32914         escapes when adding outer quotes.  When quoting trigraphs, use
32915         valid C notation.  When quoting NUL, omit extra characters if next
32916         character is not digit.  Alter prototype.
32917         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
32918         callers.
32919         * modules/quotearg-tests: New module.
32920         * tests/test-quotearg.c: New test.
32921
32922 2008-02-07  Eric Blake  <ebb9@byu.net>
32923
32924         Quotearg part 3: add flag to control outer quote elision.
32925         * lib/quotearg.h (c_maybe_quoting_style): New style.
32926         (enum quoting_flags): Better documentation of flags.
32927         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
32928         c-maybe style.
32929         (quotearg_buffer_restyled): Handle new flag to elide outer
32930         quotes.
32931
32932         Quotearg part 2: add flag that can control NUL elision.
32933         * lib/quotearg.h (set_quoting_flags): New prototype.
32934         * lib/quotearg.c (struct quoting_options): Add flag field.
32935         (set_quoting_flags): New function.
32936         (quotearg_buffer_restyled): Add flags parameter.
32937         (quotearg_alloc_mem): Set the flag if length cannot be returned.
32938         (quotearg_n_options): Set the flag, since length cannot be
32939         returned.
32940         (quoting_options_from_style): Default flags correctly.
32941
32942         Quotearg part 1: more wrappers, restore quotearg_char state.
32943         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
32944         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
32945         (quotearg_colon_mem): New wrappers.
32946         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
32947         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
32948         functions.
32949         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
32950         (quotearg_colon_mem): New functions.
32951
32952 2008-02-11  Bruno Haible  <bruno@clisp.org>
32953
32954         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
32955         library in the current directory: it does not work with parallel make.
32956         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32957
32958 2008-02-11  Bruno Haible  <bruno@clisp.org>
32959
32960         * .gitattributes: New file.
32961
32962 2008-02-11  Jim Meyering  <meyering@redhat.com>
32963
32964         useless-if-before-free: Fix reversed exit values.
32965         * build-aux/useless-if-before-free: Use correct values
32966         for EXIT_MATCH and EXIT_NO_MATCH.
32967
32968         * build-aux/useless-if-before-free: Close stdout carefully.
32969
32970 2008-02-10  Bruno Haible  <bruno@clisp.org>
32971
32972         New module 'git-merge-changelog'.
32973         * modules/git-merge-changelog: New file.
32974         * lib/git-merge-changelog.c: New file.
32975
32976 2008-02-10  Jim Meyering  <meyering@redhat.com>
32977
32978         useless-if-before-free: New option: --list (-l).
32979
32980         useless-if-before-free: Don't exit immediately upon open failure.
32981         * build-aux/useless-if-before-free: Exit 2 for errors.
32982         Upon failure to open a file, don't exit immediately.
32983         Rather, just warn and continue with any remaining files.
32984
32985 2008-02-10  Bruno Haible  <bruno@clisp.org>
32986
32987         New abstract list operation 'node_set_value'.
32988         * lib/gl_list.h (gl_list_node_set_value): New function.
32989         (struct gl_list_implementation): New field node_set_value.
32990         * lib/gl_list.c (gl_list_node_set_value): New function.
32991         * lib/gl_array_list.c (gl_array_node_set_value): New function.
32992         (gl_array_list_implementation): Update.
32993         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
32994         (gl_carray_list_implementation): Update.
32995         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
32996         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
32997         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
32998         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
32999         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
33000         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
33001         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
33002         Update.
33003         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
33004         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
33005         (gl_sublist_list_implementation): Update.
33006
33007 2008-02-10  Bruno Haible  <bruno@clisp.org>
33008
33009         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
33010         Needed when ELEMENT is #defined to 'some_type *'.
33011
33012 2008-02-10  Jim Meyering  <meyering@redhat.com>
33013
33014         New script and module: useless-if-before-free
33015         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
33016         * build-aux/useless-if-before-free: New file.
33017         * modules/useless-if-before-free: New file.
33018
33019         * build-aux/gitlog-to-changelog: Use committer date, not author date.
33020
33021         xstrtol_error: Fix typo.
33022         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
33023         s/exit_failure/exit_status/.
33024
33025 2008-02-09  Jim Meyering  <meyering@redhat.com>
33026
33027         New script and module: gitlog-to-changelog
33028         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
33029         * modules/gitlog-to-changelog: New file.
33030         * build-aux/gitlog-to-changelog: New file.
33031
33032 2008-02-08  Jim Meyering  <meyering@redhat.com>
33033
33034         Avoid two "parameter unused" warnings.
33035         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
33036         Mark "st" as used.
33037
33038         Use "git COMMAND", not "git-COMMAND".
33039         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
33040         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
33041         * build-aux/git-version-gen: Use "git status", not "git-status".
33042
33043 2008-02-07  Bruno Haible  <bruno@clisp.org>
33044
33045         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
33046         Avoids a crash on Windows Vista.
33047         Reported by Adam Strzelecki <ono@java.pl> via
33048         Simon Josefsson <simon@josefsson.org>.
33049
33050 2008-02-06  Bruno Haible  <bruno@clisp.org>
33051
33052         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
33053         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
33054         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
33055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
33056         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33057         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33058         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
33059         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
33060         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33061         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33062         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33063         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33064         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33065         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33066         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33067         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
33068         left-adjust flag.
33069         * tests/test-snprintf-posix.h (test_function): Likewise.
33070         * tests/test-sprintf-posix.h (test_function): Likewise.
33071         * tests/test-vasprintf-posix.c (test_function): Likewise.
33072         * doc/posix-functions/fprintf.texi: Update.
33073         * doc/posix-functions/printf.texi: Update.
33074         * doc/posix-functions/snprintf.texi: Update.
33075         * doc/posix-functions/sprintf.texi: Update.
33076         * doc/posix-functions/vfprintf.texi: Update.
33077         * doc/posix-functions/vprintf.texi: Update.
33078         * doc/posix-functions/vsnprintf.texi: Update.
33079         * doc/posix-functions/vsprintf.texi: Update.
33080         Reported by Peter Fales <psfales@alcatel-lucent.com>.
33081
33082 2008-02-06  Bruno Haible  <bruno@clisp.org>
33083
33084         Fix bug introduced on 2008-01-26.
33085         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
33086
33087 2008-02-06  Bruno Haible  <bruno@clisp.org>
33088
33089         Fix bug introduced on 2007-06-10.
33090         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
33091         !NEED_PRINTF_FLAG_ZERO.
33092
33093 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
33094
33095         getloadavg: use libperfstat on AIX5
33096         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
33097
33098 2008-02-03  Bruno Haible  <bruno@clisp.org>
33099
33100         * lib/diffseq.h: Add comments about required #includes.
33101         Reported by Michael Biggs <gnulib@doubleplum.net>.
33102
33103 2008-02-01  Bruno Haible  <bruno@clisp.org>
33104
33105         * users.txt: Add gnuit.
33106
33107 2008-01-31  Bruno Haible  <bruno@clisp.org>
33108
33109         * lib/md4.c (set_uint32): Mark as inline.
33110         * lib/md5.c (set_uint32): Likewise.
33111         * lib/sha1.c (set_uint32): Likewise.
33112         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
33113         * m4/md5.m4 (gl_MD5): Likewise.
33114         * m4/sha1.m4 (gl_SHA1): Likewise.
33115
33116 2008-01-31  Jim Meyering  <meyering@redhat.com>
33117
33118         Use "sizeof VAR", rather than a literal "4".
33119         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
33120         * lib/md4.c (md4_read_ctx): Likewise.
33121         * lib/sha1.c (sha1_read_ctx): Likewise.
33122
33123 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33124
33125         * tests/test-sha1.c: New file, based on test-md5.c.
33126
33127         * modules/crypto/sha1-tests: New file.
33128
33129 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33130
33131         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
33132
33133 2008-01-31  Jim Meyering  <meyering@redhat.com>
33134
33135         Prefer "sizeof v" over the equivalent "4".
33136         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
33137         * lib/md5.c (set_uint32): Likewise.
33138         * lib/sha1.c (set_uint32): Likewise.
33139
33140 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33141
33142         * lib/sha1.c (set_uint32): Mark function as static.
33143
33144 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33145
33146         md2: clarify comments to say that alignment is not required.
33147         * lib/md2.h: Remove warning about alignment in comment.
33148         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
33149         never been required.
33150
33151 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33152
33153         md4: adapt alignment constraint fix from sha1.
33154         * lib/md4.c (set_uint32): New function, from sha1.c
33155         (md4_read_ctx): Use it.
33156         (md4_finish_ctx): Doc fix.
33157         * lib/md4.h: Doc fix.
33158
33159 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33160
33161         md5: adapt alignment constraint fix from sha1.
33162         * lib/md5.c (set_uint32): New function, from sha1.c
33163         (md5_read_ctx): Use it.
33164         (md5_finish_ctx): Doc fix.
33165         * lib/md5.h: Doc fix.
33166
33167 2008-01-30  Peter Palfrader  <weasel@debian.org>
33168
33169         sha1: remove the result buffer alignment constraint
33170         * lib/sha1.c (set_uint32): New function.
33171         (sha1_read_ctx): Rewrite to remove the result buffer alignment
33172         constraint.
33173         (sha1_finish_ctx): Remove comment warning about alignment constraint.
33174         * lib/sha1.h: Likewise.
33175
33176 2008-01-30  Andreas Schwab  <schwab@suse.de>
33177             Bruno Haible  <bruno@clisp.org>
33178
33179         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
33180         correct definition of LDBL_MIN_EXP.
33181
33182 2008-01-30  Karl Berry  <karl@gnu.org>
33183
33184         * config/srclist-update: try to preserve x bit on updates.
33185         * config/srclistvars.sh: update for karl.
33186
33187 2008-01-29  Jim Meyering  <meyering@redhat.com>
33188
33189         vasnprintf.c: Avoid warning about unused label
33190         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
33191         "overflow" label definition and associated code with the
33192         same cpp condition that guards the sole use of that label.
33193
33194 2008-01-26  Bruno Haible  <bruno@clisp.org>
33195
33196         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
33197         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
33198         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
33199         * lib/isnanl-nolibm.h (isnanl): Likewise.
33200         Reported by Paul Eggert <eggert@cs.ucla.edu>.
33201
33202 2008-01-26  Bruno Haible  <bruno@clisp.org>
33203
33204         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
33205         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
33206
33207 2008-01-26  Bruno Haible  <bruno@clisp.org>
33208
33209         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
33210         GCC >= 4.0 built-in.
33211         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
33212
33213 2008-01-26  Bruno Haible  <bruno@clisp.org>
33214
33215         Rename isnan, applicable to 'double' only, to isnand.
33216         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
33217         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
33218         (configure.ac): Update.
33219         (Include): Replace "isnan.h" with "isnand.h".
33220         * m4/isnand.m4: Renamed from m4/isnan.m4.
33221         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
33222         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
33223         instead of isnan.c.
33224         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
33225         instead of HAVE_ISNAN_IN_LIBC.
33226         (isnand): Renamed from isnan.
33227         * lib/isnand.c: New file.
33228         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
33229         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
33230         (Makefile.am): Update.
33231         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
33232         Include isnand.h instead of isnan.h.
33233         (main): Test isnand instead of isnan.
33234         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
33235         isnan-nolibm.
33236         * modules/frexp (Depends-on): Likewise.
33237         * modules/frexp-tests (Depends-on): Likewise.
33238         * modules/frexp-nolibm (Depends-on): Likewise.
33239         * modules/frexp-nolibm-tests (Depends-on): Likewise.
33240         * modules/isfinite (Depends-on): Likewise.
33241         * modules/round-tests (Depends-on): Likewise.
33242         * modules/signbit (Depends-on): Likewise.
33243         * modules/signbit-tests (Depends-on): Likewise.
33244         * modules/snprintf-posix (Depends-on): Likewise.
33245         * modules/sprintf-posix (Depends-on): Likewise.
33246         * modules/trunc-tests (Depends-on): Likewise.
33247         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33248         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33249         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33250         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33251         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33252         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33253         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33254         * modules/vasnprintf-posix (Depends-on): Likewise.
33255         * modules/vasprintf-posix (Depends-on): Likewise.
33256         * modules/vfprintf-posix (Depends-on): Likewise.
33257         * modules/vsnprintf-posix (Depends-on): Likewise.
33258         * modules/vsprintf-posix (Depends-on): Likewise.
33259         * lib/frexp.c: Include isnand.h instead of isnan.h.
33260         (ISNAN): Set to isnand instead of isnan.
33261         * lib/isfinite.c: Include isnand.h instead of isnan.h.
33262         (gl_isfinited): Use isnand instead of isnan.
33263         * lib/signbitd.c: Include isnand.h instead of isnan.h.
33264         (gl_signbitd): Use isnand instead of isnan.
33265         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
33266         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
33267         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
33268         (main): Use isnand instead of isnan.
33269         * tests/test-round1.c: Include isnand.h.
33270         (main): Use isnand instead of isnan.
33271         * tests/test-round2.c: Include isnand.h instead of isnan.h.
33272         (ISNAN): Set to isnand instead of isnan.
33273         * tests/test-trunc1.c: Include isnand.h.
33274         (main): Use isnand instead of isnan.
33275         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
33276         (equal): Use isnand instead of isnan.
33277         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
33278         isnand-nolibm.
33279         * NEWS: Mention the change.
33280
33281 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
33282             Bruno Haible  <bruno@clisp.org>
33283
33284         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
33285         the GCC builtins for signbits are present and set
33286         REPLACE_SIGNBIT_USING_GCC if so.
33287         * lib/math.in.h (signbit): Define using GCC builtins if
33288         REPLACE_SIGNBIT_USING_GCC is set.
33289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
33290         REPLACE_SIGNBIT_USING_GCC.
33291         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
33292
33293 2008-01-25  Jim Meyering  <meyering@redhat.com>
33294
33295         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
33296         * lib/poll.c: Include <config.h>, not "config.h".
33297         * tests/test-getaddrinfo.c: Likewise.
33298
33299 2008-01-25  Simon Josefsson  <simon@josefsson.org>
33300
33301         * modules/sockets-tests: New file.
33302
33303 2008-01-24  Simon Josefsson  <simon@josefsson.org>
33304
33305         * modules/sockets: New module, can be used to call WSA_Startup and
33306         WSA_Cleanup when needed.
33307
33308         * lib/sockets.h, lib/sockets.c: New files.
33309
33310         * m4/sockets.m4: New file.
33311
33312         * tests/test-sockets.c: New file.
33313
33314 2008-01-19  Bruno Haible  <bruno@clisp.org>
33315
33316         * doc/posix-headers: Renamed from doc/headers.
33317         * doc/posix-functions: Renamed from doc/functions.
33318         * doc/gnulib.texi: Update.
33319
33320 2008-01-19  Bruno Haible  <bruno@clisp.org>
33321
33322         * doc/glibc-functions/strcasestr.texi: Include contents of
33323         doc/functions/strcasestr.texi, fixing the list of platforms.
33324         * doc/functions/strcasestr.texi: Remove file.
33325
33326 2008-01-19  Bruno Haible  <bruno@clisp.org>
33327
33328         * doc/glibc-functions/memmem.texi: Include contents of
33329         doc/functions/memmem.texi.
33330         * doc/functions/memmem.texi: Remove file.
33331
33332 2008-01-18  Bruno Haible  <bruno@clisp.org>
33333
33334         * doc/glibc-functions/*.texi: New files.
33335         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
33336         to use the new files.
33337
33338 2008-01-17  Bruno Haible  <bruno@clisp.org>
33339
33340         * tests/test-gethostname.c (main): Fix printf statement.
33341
33342 2008-01-17  Simon Josefsson  <simon@josefsson.org>
33343
33344         * modules/gethostname-tests: New file.
33345
33346         * tests/test-gethostname.c: New file.
33347
33348 2008-01-17  Simon Josefsson  <simon@josefsson.org>
33349
33350         * lib/gethostname.c: Include string.h unconditionally, strncpy is
33351         used by the UNAME case.  Reported by Bruno Haible
33352         <bruno@clisp.org>.
33353
33354 2008-01-17  Eric Blake  <ebb9@byu.net>
33355
33356         Convert c-strcasestr to be more efficient.
33357         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
33358         (Depends-on): Add c-strcase, remove malloca, strnlen.
33359         * tests/test-c-strcasestr.c (main): Enhance test.
33360         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
33361
33362 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
33363
33364         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
33365         Use it in creating po/Makevars.
33366
33367 2008-01-15  Simon Josefsson  <simon@josefsson.org>
33368
33369         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
33370         Applications that requires it should initialize libgcrypt
33371         manually.
33372
33373 2008-01-16  Simon Josefsson  <simon@josefsson.org>
33374
33375         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
33376
33377 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
33378
33379         Fix problem with getdate on mingw32 reported by Simon Josefsson
33380         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
33381         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
33382         tzname", when deciding whether to declare tzname.
33383         * lib/strftime.c (tzname): Likewise.
33384
33385 2008-01-15  Bruno Haible  <bruno@clisp.org>
33386
33387         Work around a MacOS X 10.5 bug in frexpl().
33388         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
33389         * doc/functions/frexpl.texi: Document the bug.
33390         Reported by Elias Pipping <pipping@gentoo.org>.
33391
33392 2008-01-14  Eric Blake  <ebb9@byu.net>
33393
33394         Touch up previous patch.
33395         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
33396         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
33397
33398         Convert strcasestr module to use Two-Way algorithm.
33399         * modules/strcasestr-simple: New module, based on the old
33400         strcasestr, but with Two-Way rather than KMP.
33401         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
33402         * lib/string.in.h (rpl_strcasestr): Declare.
33403         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
33404         performance.
33405         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
33406         * modules/string (Makefile.am): Support strcasestr.
33407         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
33408         * modules/strcasestr-tests (Depends-on): Check for alarm.
33409         * tests/test-strcasestr.c: Augment test.
33410         * lib/str-two-way.h: Clean up stray macro.
33411         * NEWS: Document new module.
33412         * MODULES.html.sh (string handling): Likewise.
33413         * doc/functions/strcasestr.texi: New file.
33414         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
33415         here, since it is not a POSIX function.
33416
33417 2008-01-14  Colin Watson  <cjwatson@debian.org>
33418             Bruno Haible  <bruno@clisp.org>
33419
33420         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
33421         works fine; if not, set REPLACE_STRSIGNAL.
33422         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
33423         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33424         REPLACE_STRSIGNAL.
33425         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
33426         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
33427         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
33428
33429 2008-01-14  Bruno Haible  <bruno@clisp.org>
33430
33431         * modules/strsignal (Include): Change to <string.h>.
33432
33433 2008-01-14  Colin Watson  <cjwatson@debian.org>
33434
33435         * modules/argp (Notice): Add a notice recommending to change
33436         XGETTEXT_OPTIONS.
33437         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
33438
33439 2008-01-13  Colin Watson  <cjwatson@debian.org>
33440
33441         * modules/strsignal-tests: New file.
33442         * tests/test-strsignal.c: New file.
33443
33444         * lib/strsignal.c: New file, from glibc with modifications.
33445         * lib/siglist.h: New file, from glibc with modifications.
33446         * lib/string.in.h (strsignal): New declaration.
33447         * m4/strsignal.m4: New file.
33448         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33449         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
33450         * modules/strsignal: New file.
33451         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
33452         HAVE_DECL_STRSIGNAL.
33453
33454 2008-01-13  Bruno Haible  <bruno@clisp.org>
33455
33456         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
33457         locale encoding is not ASCII. Needed for OpenBSD 4.0.
33458         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
33459         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33460
33461 2008-01-13  Bruno Haible  <bruno@clisp.org>
33462
33463         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
33464         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
33465         * lib/argp.h (__attribute__): Likewise.
33466         * lib/c-stack.c (__attribute__): Likewise.
33467         * lib/error.h (__attribute__): Likewise.
33468         * lib/fts.c (__attribute__): Likewise.
33469         * lib/openat.h (__attribute__): Likewise.
33470         * lib/stdio.in.h (__attribute__): Likewise.
33471         * lib/string.in.h (__attribute__): Likewise.
33472         * lib/utimens.c (__attribute__): Likewise.
33473         * lib/vasnprintf.h (__attribute__): Likewise.
33474         * lib/xalloc.h (__attribute__): Likewise.
33475         * lib/xprintf.h (__attribute__): Likewise.
33476         * lib/xstrtol.h (__attribute__): Likewise.
33477         * lib/xvasprintf.h (__attribute__): Likewise.
33478
33479 2008-01-12  Bruno Haible  <bruno@clisp.org>
33480
33481         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
33482         * doc/glibc-headers/a.out.texi: New file.
33483         * doc/glibc-headers/aliases.texi: New file.
33484         * doc/glibc-headers/alloca.texi: New file.
33485         * doc/glibc-headers/ar.texi: New file.
33486         * doc/glibc-headers/argp.texi: New file.
33487         * doc/glibc-headers/argz.texi: New file.
33488         * doc/glibc-headers/byteswap.texi: New file.
33489         * doc/glibc-headers/crypt.texi: New file.
33490         * doc/glibc-headers/endian.texi: New file.
33491         * doc/glibc-headers/envz.texi: New file.
33492         * doc/glibc-headers/err.texi: New file.
33493         * doc/glibc-headers/error.texi: New file.
33494         * doc/glibc-headers/execinfo.texi: New file.
33495         * doc/glibc-headers/fpu_control.texi: New file.
33496         * doc/glibc-headers/fstab.texi: New file.
33497         * doc/glibc-headers/fts.texi: New file.
33498         * doc/glibc-headers/getopt.texi: New file.
33499         * doc/glibc-headers/ieee754.texi: New file.
33500         * doc/glibc-headers/ifaddrs.texi: New file.
33501         * doc/glibc-headers/libintl.texi: New file.
33502         * doc/glibc-headers/mcheck.texi: New file.
33503         * doc/glibc-headers/mntent.texi: New file.
33504         * doc/glibc-headers/obstack.texi: New file.
33505         * doc/glibc-headers/paths.texi: New file.
33506         * doc/glibc-headers/printf.texi: New file.
33507         * doc/glibc-headers/pty.texi: New file.
33508         * doc/glibc-headers/resolv.texi: New file.
33509         * doc/glibc-headers/shadow.texi: New file.
33510         * doc/glibc-headers/sysexits.texi: New file.
33511         * doc/glibc-headers/ttyent.texi: New file.
33512
33513 2008-01-12  Jim Meyering  <meyering@redhat.com>
33514
33515         announce-gen: emit Gnulib's git-based version string.
33516         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
33517         New option --gnulib-version=V, where V is expected to be
33518         the output of running git describe in the gnulib directory.
33519         (get_tool_versions): Request feedback on xdelta.  I suspect it's
33520         not useful, and plan to stop publishing an xdelta file with each
33521         coreutils release.
33522
33523         * build-aux/announce-gen: Also check for lzma-compressed files.
33524
33525 2008-01-11  Bruno Haible  <bruno@clisp.org>
33526
33527         * tests/test-memmem.c (main): Increase maximum allowed time.
33528         * tests/test-strstr.c (main): Likewise.
33529
33530 2008-01-11  Bruno Haible  <bruno@clisp.org>
33531
33532         * doc/functions/memmem.texi: Add more precisions about platforms.
33533         * doc/functions/strstr.texi: Likewise.
33534
33535 2008-01-10  Eric Blake  <ebb9@byu.net>
33536
33537         * m4/strstr.m4: Delete cruft from copy-n-paste.
33538         Reported by Bruno Haible.
33539
33540 2008-01-10  Bruno Haible  <bruno@clisp.org>
33541
33542         Make c-strstr rely on strstr.
33543         * lib/c-strstr.c: Don't include str-kmp.h.
33544         (c_strstr): Define in terms of strstr.
33545         * modules/c-strstr (Files): Remove lib/str-kmp.h.
33546         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
33547
33548 2008-01-10  Bruno Haible  <bruno@clisp.org>
33549
33550         * doc/gnulib.texi (String Functions in C Locale): New section.
33551         * doc/c-ctype.texi: New file.
33552         * doc/c-strcase.texi: New file.
33553         * doc/c-strcaseeq.texi: New file.
33554         * doc/c-strcasestr.texi: New file.
33555         * doc/c-strstr.texi: New file.
33556         * doc/c-strtod.texi: New file.
33557         * doc/c-strtold.texi: New file.
33558
33559 2008-01-10  Eric Blake  <ebb9@byu.net>
33560
33561         * lib/relocatable.h: Fix a comment.
33562
33563 2008-01-10  Eric Blake  <ebb9@byu.net>
33564
33565         Share two-way algorithm.
33566         * lib/str-two-way.h: New file, merged from...
33567         * lib/memmem.c: ...here...
33568         * lib/strstr.c: ...and here.
33569         * modules/memmem (Files): Use it.
33570         * modules/strstr (Files): Likewise.
33571
33572         Avoid quadratic strstr implementations.
33573         * lib/strstr.c: New file.
33574         * m4/strstr.m4: Likewise.
33575         * modules/strstr: Likewise.
33576         * modules/strstr-tests: Likewise.
33577         * tests/test-strstr.c: Likewise.
33578         * lib/string.in.h (rpl_strstr): Declare.
33579         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
33580         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
33581         * modules/string (Makefile.am): Likewise.
33582         * MODULES.html.sh (string handling): Mention new module.
33583         * doc/functions/strstr.texi (strstr): Document the bug.
33584
33585 2008-01-10  Bruno Haible  <bruno@clisp.org>
33586
33587         * lib/relocatable.h (relocate): State whether result is freshly
33588         allocated or not.
33589         * lib/relocatable.c (relocate): Return a freshly allocated string
33590         instead of a pointer to a privately held string.
33591         Reported by Sylvain Beucler <beuc@gnu.org>.
33592
33593 2008-01-10  Colin Watson  <cjwatson@debian.org>
33594
33595         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
33596         s/S_ISNLK/S_ISLNK/.
33597
33598 2008-01-09  Bruno Haible  <bruno@clisp.org>
33599
33600         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
33601         and other files.
33602         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
33603         if it's only a guess.
33604         * modules/memmem: Simplify by depending on memmem-simple.
33605
33606 2008-01-09  Bruno Haible  <bruno@clisp.org>
33607
33608         Work around OpenBSD 4.0 tdelete() bug.
33609         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
33610         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
33611         macros and don't redefine the enum values.
33612         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
33613         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
33614         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
33615
33616 2008-01-09  Bruno Haible  <bruno@clisp.org>
33617
33618         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
33619         (main): Don't perform the tests if setlocale did not install a UTF-8
33620         locale. Needed on OpenBSD 4.0.
33621         * modules/wcwidth-tests (Depends-on): Add localcharset.
33622
33623 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
33624
33625         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
33626         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
33627         * NEWS: announce this.
33628         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
33629
33630 2008-01-09  Simon Josefsson  <simon@josefsson.org>
33631         and Eric Blake  <ebb9@byu.net>
33632
33633         Add memmem-simple module.
33634         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
33635         (gl_FUNC_MEMMEM): Separate performance from presence checks.
33636         * modules/memmem-simple: New file.
33637         * modules/memmem (Description): Tweak.
33638         * MODULES.html.sh (string handling): Mention new module.
33639         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
33640         addressed by memmem-simple.
33641         * NEWS: Document the difference.
33642
33643 2008-01-09  Eric Blake  <ebb9@byu.net>
33644
33645         Give gcc some memmem optimization hints.
33646         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
33647         (strcasestr): Declare as pure.
33648         * modules/memmem (Maintainer): Claim my implementation.
33649
33650 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33651
33652         Support AIX 6.1 and higher.
33653         * build-aux/config.libpath: Likewise.
33654         * build-aux/config.rpath: Likewise.
33655
33656 2008-01-08  Jim Meyering  <meyering@redhat.com>
33657             Bruno Haible  <bruno@clisp.org>
33658
33659         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
33660         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
33661         Reported by Peter Fales in
33662         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
33663
33664 2008-01-08  Bruno Haible  <bruno@clisp.org>
33665
33666         * modules/unictype/category-of (Depends-on): Add
33667         unictype/category-none.
33668         * modules/unictype/category-and-tests (Depends-on): Add
33669         unictype/category-{L,N,Lu,Nd}.
33670         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
33671         * modules/unictype/category-or-tests (Depends-on): Add
33672         unictype/category-{L,N}.
33673         * modules/unictype/category-name-tests (Depends-on): Add
33674         unictype/category-{Z,Nl}.
33675         Reported by Simon Josefsson.
33676
33677 2008-01-08  Bruno Haible  <bruno@clisp.org>
33678
33679         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
33680         convention better.
33681         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
33682         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
33683         Reported by Peter Miller <millerp@canb.auug.org.au>.
33684
33685 2008-01-08  Eric Blake  <ebb9@byu.net>
33686
33687         Rewrite memmem to guarantee linear complexity without malloc.
33688         * lib/memmem.c (memmem): Use Two-Way rather than
33689         Knuth-Morris-Pratt, to allow O(1) space usage.
33690         (critical_factorization, two_way_short_needle)
33691         (two_way_long_needle): New functions.
33692         (knuth_morris_pratt): Delete.
33693         * modules/memmem (Depends-on): No longer need malloca or stdbool.
33694         Add stdint.
33695         * tests/test-memmem.c (main): Add tests for periodic needle and
33696         sublinear performance.
33697         * doc/functions/memmem.texi (memmem): Document other deficiencies
33698         in cygwin and older glibc.
33699
33700 2008-01-08  Bruno Haible  <bruno@clisp.org>
33701
33702         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
33703         augmentation.
33704
33705 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
33706
33707         Add a configure time option: --disable-acl.
33708         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
33709         AC_ARG_ENABLE(acl).
33710
33711 2008-01-06  Simon Josefsson  <simon@josefsson.org>
33712
33713         * tests/test-localename.c: Don't include obsolete "setenv.h".
33714
33715         * modules/localename-tests (Depends-on): Need unsetenv.
33716
33717 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33718
33719         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
33720
33721 2008-01-06  Colin Watson  <cjwatson@debian.org>
33722
33723         * users.txt: Add man-db.
33724
33725 2008-01-07  Bruno Haible  <bruno@clisp.org>
33726
33727         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
33728         previous section name.
33729
33730 2008-01-07  Bruno Haible  <bruno@clisp.org>
33731
33732         * lib/progname.c (set_program_name): Don't strip off a leading
33733         "lt-" prefix outside a .libs directory.
33734         Suggested by Paul Eggert.
33735
33736 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
33737             Bruno Haible  <bruno@clisp.org>
33738
33739         Improve memory cleanup in 'relocatable' module.
33740         * lib/relocatable.h (compute_curr_prefix): Change return type to
33741         'char *'.
33742         * lib/relocatable.c (compute_curr_prefix): Change return type to
33743         'char *'. Free curr_installdir after use.
33744         (relocate): Free curr_prefix_better after use.
33745         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
33746
33747 2008-01-01  Bruno Haible  <bruno@clisp.org>
33748
33749         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
33750         failure on older glibc systems.
33751         Reported by Peter Fales <psfales@alcatel-lucent.com>.
33752
33753 2008-01-05  Eric Blake  <ebb9@byu.net>
33754
33755         Avoid quadratic system memmem.
33756         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
33757         Reported by Ralf Wildenhues.
33758
33759         Fix memmem test for mingw.
33760         * modules/memmem-tests (configure.ac): Check for alarm.
33761         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
33762         it.
33763         * doc/functions/memmem.texi: New file.
33764         * doc/gnulib.texi (Function Substitutes): Add memmem.
33765         Reported by Bruno Haible.
33766
33767 2008-01-04  Bruno Haible  <bruno@clisp.org>
33768
33769         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
33770         Require gl_HEADER_STRINGS_H_DEFAULTS, not
33771         gl_HEADER_STRING_H_DEFAULTS.
33772
33773 2008-01-04  Eric Blake  <ebb9@byu.net>
33774
33775         Shorten duration of memmem test.
33776         * tests/test-memmem.c (main): Use alarm to declare failure if test
33777         is taking too long.
33778         Reported by Ralf Wildenhues.
33779
33780 2007-12-21  Simon Josefsson  <simon@josefsson.org>
33781
33782         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
33783         string, needed by strerror.
33784
33785 2008-01-03  Colin Watson  <cjwatson@debian.org>
33786             Bruno Haible  <bruno@clisp.org>
33787
33788         * doc/gnulib-tool.texi (Localization): New section.
33789
33790 2008-01-02  Bruno Haible  <bruno@clisp.org>
33791
33792         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
33793         variables to 'unsigned char *' type.
33794         Reported by Paul Eggert.
33795
33796 2008-01-02  Jim Meyering  <jim@meyering.net>
33797
33798         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
33799
33800 2007-12-31  Jim Meyering  <jim@meyering.net>
33801
33802         Avoid use of private FTS type name.
33803         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
33804
33805 2007-12-30  Karl Berry  <karl@gnu.org>
33806
33807         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
33808         work around defect in Texinfo and/or the standalone Info browser.
33809
33810 2007-12-30  Bruno Haible  <bruno@clisp.org>
33811
33812         Unify 5 copies of the KMP code.
33813         * lib/str-kmp.h: New file.
33814         * lib/c-strcasestr.c: Include str-kmp.h.
33815         (knuth_morris_pratt): Remove function.
33816         (c_strcasestr): Update.
33817         * lib/c-strstr.c: Include str-kmp.h.
33818         (knuth_morris_pratt): Remove function.
33819         (c_strcasestr): Update.
33820         * lib/mbscasestr.c: Include str-kmp.h.
33821         (knuth_morris_pratt_unibyte): Remove function.
33822         * lib/mbsstr.c: Include str-kmp.h.
33823         (knuth_morris_pratt_unibyte): Remove function.
33824         * lib/strcasestr.c: Include str-kmp.h.
33825         (knuth_morris_pratt): Remove function.
33826         (strcasestr): Update.
33827         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
33828         * modules/c-strstr (Files): Likewise.
33829         * modules/mbscasestr (Files): Likewise.
33830         * modules/mbsstr (Files): Likewise.
33831         * modules/strcasestr (Files): Likewise.
33832         Suggested by Paul Eggert.
33833
33834 2007-12-30  Bruno Haible  <bruno@clisp.org>
33835
33836         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
33837         defined.
33838
33839 2007-12-30  Bruno Haible  <bruno@clisp.org>
33840
33841         * lib/xmalloca.h: Include xalloc.h.
33842         (xnmalloca): New macro.
33843
33844 2007-12-30  Bruno Haible  <bruno@clisp.org>
33845
33846         * lib/malloca.h (nmalloca): New macro.
33847         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
33848         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
33849         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
33850         knuth_morris_pratt_multibyte): Likewise.
33851         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
33852         knuth_morris_pratt_multibyte): Likewise.
33853         * lib/memmem.c (knuth_morris_pratt): Likewise.
33854         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
33855
33856 2007-12-25  Bruno Haible  <bruno@clisp.org>
33857
33858         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
33859         * lib/glob.c: Don't include openat.h.
33860         (link_exists2_p): Add back the code that deals with the
33861         !GLOB_ALTDIRFUNC case.
33862         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
33863         let it do the filename concatenation.
33864         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
33865         * modules/glob (Depends-on): Remove openat.
33866
33867 2007-12-31  Bruno Haible  <bruno@clisp.org>
33868
33869         * modules/dirfd (License): Change to LGPLv2+.
33870         Approved by Jim Meyering.
33871
33872 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
33873
33874         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
33875         when multiplying M by sizeof (size_t).
33876
33877 2007-12-10  Martin Lambers  <marlam@marlam.de>
33878
33879         Override getpagesize on mingw.
33880         * lib/getpagesize.c: New file.
33881         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
33882         * modules/getpagesize (Files): Add lib/getpagesize.c.
33883         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
33884         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33885         REPLACE_GETPAGESIZE.
33886         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
33887
33888 2007-12-25  Bruno Haible  <bruno@clisp.org>
33889
33890         * modules/localcharset (Notice): New field.
33891         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
33892         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
33893
33894 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
33895             Bruno Haible  <bruno@clisp.org>
33896
33897         Avoid using the syntax symbol() in formatted documentation.
33898         * MODULES.html.sh (func_module): When replacing symbol() with a
33899         hyperlink, remove the parentheses. Show an error if some remain.
33900         Recognize and render the '...' syntax.
33901         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
33902         Rework. Add paragraph about GCC's inlining.
33903         * doc/alloca.texi: Likewise.
33904         * doc/error.texi: Remove parentheses from symbol reference.
33905         * doc/gnulib-intro.texi: Likewise.
33906         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
33907         * modules/fnmatch (Description): Reword to say "the ... function".
33908         * modules/full-read (Description): Likewise.
33909         * modules/full-write (Description): Likewise.
33910         * modules/safe-read (Description): Likewise.
33911         * modules/safe-write (Description): Likewise.
33912         * modules/strchrnul (Description): Likewise.
33913         * modules/trim (Description): Likewise.
33914         * modules/error (Description): Remove parentheses from symbol
33915         references.
33916         * modules/verror (Description): Likewise.
33917         Reported by Karl Berry.
33918
33919 2007-12-25  Bruno Haible  <bruno@clisp.org>
33920
33921         Fixup after 2007-10-16 commit.
33922         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
33923
33924 2007-12-24  Bruno Haible  <bruno@clisp.org>
33925
33926         Make --enable-relocatable work with DESTDIR.
33927         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
33928         to compute installdir from destprog.
33929         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
33930         also set the RELOC_DESTDIR variable.
33931         Reported by Левашев Иван <octagram@bluebottle.com>.
33932
33933 2007-12-24  Bruno Haible  <bruno@clisp.org>
33934
33935         Fix link error due to xalloc_die().
33936         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
33937         of xreadlink.
33938         * lib/relocwrapper.c: Update comments.
33939         * build-aux/install-reloc: Remove xreadlink.c from file list.
33940         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
33941         xreadlink.c.
33942         Reported by Левашев Иван <octagram@bluebottle.com>.
33943
33944 2007-12-24  Bruno Haible  <bruno@clisp.org>
33945
33946         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
33947         * lib/setenv.h: Remove file.
33948         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
33949         lib/setenv.h.
33950         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
33951         (Depends-on): Add stdlib.
33952         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
33953         gl_FUNC_UNSETENV.
33954         (Include): Replace setenv.h with <stdlib.h>.
33955         * modules/unsetenv: New file.
33956         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
33957         * lib/unsetenv.c: Include <stdlib.h> first.
33958         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
33959         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
33960         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
33961         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
33962         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
33963         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
33964         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
33965         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
33966         * doc/functions/unsetenv.texi: Update.
33967         * modules/xsetenv (Depends-on): Add unsetenv.
33968         * modules/getdate (Depends-on): Likewise.
33969         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
33970         * lib/xsetenv.c: Don't include setenv.h.
33971         * lib/getdate.y: Likewise.
33972         * lib/relocwrapper.c: Likewise.
33973         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
33974         (Depends-on): Add stdlib.
33975         * NEWS: Mention the changes.
33976         Reported by Левашев Иван <octagram@bluebottle.com>.
33977
33978 2007-12-23  Bruno Haible  <bruno@clisp.org>
33979
33980         * lib/memmem.c (memmem): Use lowercase variable names. Tab
33981         indentation.
33982
33983 2007-12-23  Bruno Haible  <bruno@clisp.org>
33984
33985         * lib/c-strcasestr.c: Add more comments.
33986         * lib/c-strstr.c: Likewise.
33987         * lib/mbscasestr.c: Likewise.
33988         * lib/mbsstr.c: Likewise.
33989         * lib/strcasestr.c: Likewise.
33990         * lib/memmem.c: Likewise.
33991
33992 2007-12-23  Bruno Haible  <bruno@clisp.org>
33993
33994         * tests/test-memmem.c: Include <string.h> first.
33995
33996 2007-12-22  Bruno Haible  <bruno@clisp.org>
33997
33998         * gnulib-tool (func_create_testdir): Change $auxdir while generating
33999         the contents of $testsbase.
34000         Reported by Ralf Wildenhues.
34001
34002 2007-12-22  Bruno Haible  <bruno@clisp.org>
34003
34004         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
34005         two variables local_ldadd_before, local_ldadd_last.
34006
34007 2007-12-20  Eric Blake  <ebb9@byu.net>
34008
34009         Work around circular library issue when cross-compiling.
34010         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
34011         that progname.o does not need to pull in rpl_memcmp.
34012
34013 2007-12-19  Eric Blake  <ebb9@byu.net>
34014
34015         Fix memmem to avoid O(n^2) worst-case complexity.
34016         * lib/memmem.c (knuth_morris_pratt): New function.
34017         (memmem): Use it if first few naive iterations fail.
34018         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
34019         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
34020         * modules/memchr (License): Likewise.
34021         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
34022         malloca.
34023         * tests/test-memmem.c: Rewrite, borrowing ideas from
34024         test-mbsstr1.c; the old version wouldn't even compile!
34025         * modules/memmem-tests: New file.
34026         * lib/string.in.h (rpl_memmem): Add declaration.
34027         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
34028         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
34029         REPLACE_MEMMEM.
34030
34031 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
34032
34033         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
34034         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
34035         before any system include files, and undef after them all.  This
34036         should fix a problem on VMS reported by John E. Malmberg in
34037         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
34038
34039 2007-12-17  Eric Blake  <ebb9@byu.net>
34040
34041         Revert addition of verify, for BSD/OS.
34042         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
34043         can't handle large files, for the sake of obsolete platforms.
34044         * modules/fseeko (Depends-on): Remove verify.
34045         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
34046         * doc/functions/ftello.texi (ftello): Likewise.
34047         * doc/functions/fgetpos.texi (fgetpos): Likewise.
34048         Reported by Larry Jones.
34049
34050 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
34051
34052         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
34053         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
34054
34055 2007-12-17  Jim Meyering  <meyering@redhat.com>
34056
34057         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
34058         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
34059         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
34060         * modules/getcwd (Depends-on): Add openat.
34061         Reported by Petr Salinger.
34062
34063 2007-12-17  Bruno Haible  <bruno@clisp.org>
34064
34065         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
34066         avoid a segmentation fault of the configure test on x86_64 systems.
34067
34068 2007-12-15  Jim Meyering  <meyering@redhat.com>
34069
34070         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
34071
34072 2007-12-13  Eric Blake  <ebb9@byu.net>
34073
34074         Another fseek test.
34075         * tests/test-fseek.c (main): Also test ungetc handling.
34076         * tests/test-fseeko.c (main): Likewise.
34077         * modules/fseeko (Depends-on): Add verify.
34078         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
34079         large.
34080         Reported by Larry Jones.
34081
34082         Fix fseeko on mingw.
34083         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
34084         seek.
34085
34086         Beef up fseek tests.
34087         * tests/test-fseek.c (main): Also test eof handling.
34088         * tests/test-fseeko.c (main): Likewise.
34089         Reported by Larry Jones.
34090
34091 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
34092
34093         Fix fseeko on BSD-based platforms.
34094         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
34095         successful seek.
34096
34097 2007-12-12  Eric Blake  <ebb9@byu.net>
34098
34099         Allow circular dependency of separate libtests.a
34100         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
34101         when use_libtests.
34102
34103 2007-12-11  Eric Blake  <ebb9@byu.net>
34104
34105         Fix bug with -0.0L in previous patch.
34106         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
34107         * tests/test-isnan.c (main): Also test on zeroes.
34108         * tests/test-isnanf.c (main): Likewise.
34109         * tests/test-isnanl.h (main): Likewise.
34110
34111         Detect pseudo-denormals on x86 even when cross-compiling.
34112         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
34113         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
34114         invalid bit patterns that happen to satisfy ==.
34115
34116         Avoid link failures with separate libtests.a.
34117         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
34118         last, to satisfy circular dependencies.
34119
34120 2007-12-11  Eric Blake  <ebb9@byu.net>
34121         and Bruno Haible  <bruno@clisp.org>
34122
34123         Fix OpenBSD 4.0 <float.h> handling of long double.
34124         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
34125         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
34126         * doc/headers/float.texi (float.h): Document OpenBSD bug.
34127
34128 2007-12-11  Jim Meyering  <meyering@redhat.com>
34129
34130         * users.txt: Add libvirt.
34131
34132         Support versions of autoconf prior to 2.59c.
34133         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
34134         if it is not already defined.
34135
34136 2007-12-09  Bruno Haible  <bruno@clisp.org>
34137
34138         Let 'gnulib-tool --import' collect sources needed for the tests in
34139         tests/ rather than in lib/.
34140         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
34141         argument. If true, add rules to generate libtests.a, and put libtests.a
34142         into $(LDADD). Consider source files in subdirectories and set
34143         uses_subdirs.
34144         (func_emit_initmacro_start, func_emit_initmacro_end,
34145         func_emit_initmacro_done): Pass all arguments explicitly.
34146         (func_import): Determine two module lists main_modules,
34147         testsrelated_modules. Determine use_libtests. Determine two variables
34148         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
34149         instead of just sed_transform_lib_file. Determine two variables
34150         main_files and testsrelated_files. Compute 'files' as the union of
34151         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
34152         func_add_or_update. In the generated gnulib-comp.m4, collect the
34153         object files for tests/ in different variables than those for lib/.
34154         Substitute LIBTESTS_LIBDEPS.
34155         (func_create_testdir): Combine the uses_subdirs results from
34156         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
34157
34158 2007-12-09  Bruno Haible  <bruno@clisp.org>
34159
34160         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
34161         the build-aux directory.
34162
34163 2007-12-09  Bruno Haible  <bruno@clisp.org>
34164
34165         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
34166         introduced on 2006-09-09.
34167
34168 2007-12-07  Jim Meyering  <meyering@redhat.com>
34169
34170         Let these macros work also with autoconf-2.59.
34171         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
34172         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
34173         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
34174
34175 2007-12-06  Jim Meyering  <meyering@redhat.com>
34176
34177         Avoid a configure-time syntax error in gl_FUNC_ACL.
34178         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
34179         function in each branch, before testing the cache variable.
34180
34181 2007-12-04  Eric Blake  <ebb9@byu.net>
34182
34183         Make scripts executable.
34184         * build-aux/config.guess: Add execute permissions.
34185         * build-aux/config.sub: Likewise.
34186         * build-aux/gendocs.sh: Likewise.
34187
34188         Fix frexp on mingw.
34189         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
34190         cross-compiling.
34191         * doc/functions/frexp.texi (frexp): Document the bug.
34192
34193         Make cygwin fseeko check more reliable.
34194         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
34195         version numbers, rather than unrelated feature check.
34196         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
34197         * doc/functions/ftello.texi (ftello): Likewise.
34198         Reported by Bruno Haible.
34199
34200         * m4/strerror.m4: Bump version number.
34201
34202 2007-12-03  Bruno Haible  <bruno@clisp.org>
34203
34204         * doc/functions/mprotect.texi: Mention the mingw problem.
34205
34206 2007-12-03  Eric Blake  <ebb9@byu.net>
34207
34208         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
34209         REPLACE_STRERROR is initialized before this macro.
34210
34211 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
34212
34213         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
34214         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
34215         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
34216         put -lsec in even for programs other than 'ls'.  This fixes a problem
34217         for gettext reported by Bruno Haible in
34218         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
34219         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
34220         Add support for Solaris 10.  This isn't efficient, but should get the
34221         job done for now.
34222
34223 2007-12-03  James Youngman  <jay@gnu.org>
34224
34225         * doc/regexprops-generic.texi: change "an close-group" to "a
34226         close-group" and "illegal" to "not allowed".
34227
34228 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34229
34230         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
34231         pr_byname.h. Needed for the rare case when the maintainer has done
34232         "make maintainer-clean" in the source directory and then attempts a
34233         build outside the source directory.
34234         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
34235         scripts_byname.h.
34236
34237 2007-12-02  Martin Lambers <marlam@marlam.de>
34238             Bruno Haible  <bruno@clisp.org>
34239
34240         * lib/getpagesize.h: Remove file.
34241         * lib/unistd.in.h: Include declaration of getpagesize here.
34242         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
34243         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
34244         HAVE_SYS_PARAM_H.
34245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
34246         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
34247         * modules/getpagesize (Files): Remove lib/getpagesize.h.
34248         (Depends-on): Add unistd.
34249         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34250         (Include): Use <unistd.h> instead of getpagesize.h.
34251         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
34252         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
34253         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
34254         gl_GETPAGESIZE invocation, already handled by module dependency.
34255         * lib/pagealign_alloc.c: Don't include getpagesize.h.
34256
34257 2007-12-02  Bruno Haible  <bruno@clisp.org>
34258
34259         * modules/strings-tests: New file.
34260         * tests/test-strings.c: New file.
34261
34262         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
34263         * lib/strings.in.h: New file.
34264         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
34265         * m4/strings_h.m4: New file.
34266         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
34267         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
34268         * modules/strings: New file.
34269         * modules/string (Makefile.am): Update.
34270         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
34271         Reported by Karl Berry.
34272
34273 2007-12-01  Eric Blake  <ebb9@byu.net>
34274
34275         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
34276         accomodate fix in cygwin 1.5.25.
34277
34278 2007-12-01  Jim Meyering  <meyering@redhat.com>
34279
34280         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
34281         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
34282         that would inhibit utf8-optimization of a regexp containing line-
34283         or buffer-anchors, e.g., `^', `$'.
34284
34285 2007-11-30  Bruno Haible  <bruno@clisp.org>
34286
34287         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
34288         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
34289         glthread_recursive_lock_init.
34290         * lib/lock.c (glthread_recursive_lock_init)
34291         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
34292         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34293
34294 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34295
34296         New function qset_acl, like set_acl but with syscall semantics.
34297         * lib/acl.h (qset_acl): New decl.
34298         * lib/acl.c (qset_acl): New function.
34299         (set_acl): Use new function.  Use more-consistent diagnostics.
34300
34301 2007-11-28  Jim Meyering  <meyering@redhat.com>
34302
34303         * modules/physmem (License): Change from GPL to LGPLv2+.
34304
34305 2007-11-26  Bruno Haible  <bruno@clisp.org>
34306
34307         * lib/vasnprintf.c (decode_long_double): Don't abort if the
34308         'long double' type has excess precision.
34309         Reported by Jim Meyering in
34310         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
34311
34312 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34313
34314         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
34315         Sync from <http://gnu.org/licenses>.
34316         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
34317         with license text from same location.
34318         * doc/maintain.texi, doc/standards.texi:  Sync from
34319         <http://savannah.gnu.org/projects/gnustandards>.
34320
34321 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
34322         and Jim Meyering  <meyering@redhat.com>
34323
34324         Adjust getdate' grammar to accept a slightly more regular language.
34325         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
34326         Before, the former was rejected.
34327         * lib/getdate.y (digits_to_date_time): New function, factored
34328         out of ...
34329         (number): ...here.  Just call digits_to_date_time.
34330         (hybrid): New non-terminal to handle an <unsigned number,
34331         signed relative offset> sequence consistently.
34332
34333 2007-11-18  Jim Meyering  <meyering@redhat.com>
34334
34335         Pull my changes from coreutils:
34336         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
34337         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
34338         use of $gnulib_tool_option_extras, so that it's separated from the
34339         preceding argument.
34340
34341         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
34342         * build-aux/bootstrap (cp_mark_as_generated): Create any required
34343         parent destination directories before copying a file into place.
34344
34345 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
34346
34347         bootstrap: work also with 4-argument variant of AC_INIT
34348         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
34349
34350 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
34351
34352         Port test-getaddrinfo to Solaris.
34353         Problem reported by Bruno Haible in
34354         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
34355         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
34356         explanation of setting 'hints'.
34357         Don't reject an implementation merely because it returns EAI_SERVICE.
34358         (EAI_SERVICE): Define to 0 if not defined.
34359
34360 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
34361
34362         The license of gnu-make and posix-shell is now "GPLed build tool".
34363         * modules/gnu-make (License): Likewise.
34364         * modules/posix-shell (License): Likewise.
34365
34366         New module posix-shell, for determining a POSIX shell
34367         or perhaps something that is close enough to a POSIX shell.
34368         * m4/posix-shell.m4: New file.
34369         * modules/posix-shell: New file.
34370
34371         * MODULES.html.sh: Mention new module.
34372
34373         New module gnu-make, for determining whether we're using GNU Make.
34374         * m4/gnu-make.m4: New file.
34375         * modules/gnu-make: New file.
34376         * MODULES.html.sh: Mention new module.
34377
34378 2007-11-14  Jim Meyering  <meyering@redhat.com>
34379
34380         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
34381         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
34382         use this macro to create a function _definition_.
34383         Remove useless "#undef ARGMATCH_DIE".
34384
34385 2007-11-14  Bruno Haible  <bruno@clisp.org>
34386
34387         * lib/config.charset: Update for OpenBSD 4.1.
34388         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
34389
34390 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
34391
34392         Document 64-bit #if problems in stdint.texi.
34393         * doc/headers/stdint.texi (stdint.h): Mention problems with
34394         64-bit-#if, and how to work around them.
34395
34396         Don't insist on 'long long int' support in the preprocessor.  It
34397         breaks too many things.  For example, PRIdMAX still uses a 'long
34398         long int' format with the latest Sun compiler, even though
34399         HAVE_LONG_LONG_INT isn't defined due to that compiler's
34400         preprocessor problem.  This causes the latest coreutils to dump
34401         core on Solaris 10 sparc with the Sun C compiler.
34402         Instead, fix the 2007-10-16 problem in a different way, by evaluating
34403         the troublesome expressions at configure-time, not at #if-time.
34404         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
34405         preprocessor.
34406         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
34407         compile-time C checks, done at 'configure'-time.
34408         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
34409         * modules/inttypes (Makefile): Substitute the new symbols that
34410         gl_INTTYPES_H now generates.
34411         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
34412
34413 2007-11-12  Bruno Haible  <bruno@clisp.org>
34414
34415         Tests for Unicode character classification functions.
34416
34417         * modules/unictype/bidicategory-byname-tests: New file.
34418         * modules/unictype/bidicategory-name-tests: New file.
34419         * modules/unictype/bidicategory-of-tests: New file.
34420         * modules/unictype/bidicategory-test-tests: New file.
34421         * modules/unictype/block-list-tests: New file.
34422         * modules/unictype/block-of-tests: New file.
34423         * modules/unictype/block-test-tests: New file.
34424         * modules/unictype/category-C-tests: New file.
34425         * modules/unictype/category-Cc-tests: New file.
34426         * modules/unictype/category-Cf-tests: New file.
34427         * modules/unictype/category-Cn-tests: New file.
34428         * modules/unictype/category-Co-tests: New file.
34429         * modules/unictype/category-Cs-tests: New file.
34430         * modules/unictype/category-L-tests: New file.
34431         * modules/unictype/category-Ll-tests: New file.
34432         * modules/unictype/category-Lm-tests: New file.
34433         * modules/unictype/category-Lo-tests: New file.
34434         * modules/unictype/category-Lt-tests: New file.
34435         * modules/unictype/category-Lu-tests: New file.
34436         * modules/unictype/category-M-tests: New file.
34437         * modules/unictype/category-Mc-tests: New file.
34438         * modules/unictype/category-Me-tests: New file.
34439         * modules/unictype/category-Mn-tests: New file.
34440         * modules/unictype/category-N-tests: New file.
34441         * modules/unictype/category-Nd-tests: New file.
34442         * modules/unictype/category-Nl-tests: New file.
34443         * modules/unictype/category-No-tests: New file.
34444         * modules/unictype/category-P-tests: New file.
34445         * modules/unictype/category-Pc-tests: New file.
34446         * modules/unictype/category-Pd-tests: New file.
34447         * modules/unictype/category-Pe-tests: New file.
34448         * modules/unictype/category-Pf-tests: New file.
34449         * modules/unictype/category-Pi-tests: New file.
34450         * modules/unictype/category-Po-tests: New file.
34451         * modules/unictype/category-Ps-tests: New file.
34452         * modules/unictype/category-S-tests: New file.
34453         * modules/unictype/category-Sc-tests: New file.
34454         * modules/unictype/category-Sk-tests: New file.
34455         * modules/unictype/category-Sm-tests: New file.
34456         * modules/unictype/category-So-tests: New file.
34457         * modules/unictype/category-Z-tests: New file.
34458         * modules/unictype/category-Zl-tests: New file.
34459         * modules/unictype/category-Zp-tests: New file.
34460         * modules/unictype/category-Zs-tests: New file.
34461         * modules/unictype/category-and-not-tests: New file.
34462         * modules/unictype/category-and-tests: New file.
34463         * modules/unictype/category-byname-tests: New file.
34464         * modules/unictype/category-name-tests: New file.
34465         * modules/unictype/category-none-tests: New file.
34466         * modules/unictype/category-of-tests: New file.
34467         * modules/unictype/category-or-tests: New file.
34468         * modules/unictype/category-test-withtable-tests: New file.
34469         * modules/unictype/combining-class-tests: New file.
34470         * modules/unictype/ctype-alnum-tests: New file.
34471         * modules/unictype/ctype-alpha-tests: New file.
34472         * modules/unictype/ctype-blank-tests: New file.
34473         * modules/unictype/ctype-cntrl-tests: New file.
34474         * modules/unictype/ctype-digit-tests: New file.
34475         * modules/unictype/ctype-graph-tests: New file.
34476         * modules/unictype/ctype-lower-tests: New file.
34477         * modules/unictype/ctype-print-tests: New file.
34478         * modules/unictype/ctype-punct-tests: New file.
34479         * modules/unictype/ctype-space-tests: New file.
34480         * modules/unictype/ctype-upper-tests: New file.
34481         * modules/unictype/ctype-xdigit-tests: New file.
34482         * modules/unictype/decimal-digit-tests: New file.
34483         * modules/unictype/digit-tests: New file.
34484         * modules/unictype/mirror-tests: New file.
34485         * modules/unictype/numeric-tests: New file.
34486         * modules/unictype/property-alphabetic-tests: New file.
34487         * modules/unictype/property-ascii-hex-digit-tests: New file.
34488         * modules/unictype/property-bidi-arabic-digit-tests: New file.
34489         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
34490         * modules/unictype/property-bidi-block-separator-tests: New file.
34491         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
34492         * modules/unictype/property-bidi-common-separator-tests: New file.
34493         * modules/unictype/property-bidi-control-tests: New file.
34494         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
34495         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
34496         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
34497         * modules/unictype/property-bidi-european-digit-tests: New file.
34498         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
34499         * modules/unictype/property-bidi-left-to-right-tests: New file.
34500         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
34501         * modules/unictype/property-bidi-other-neutral-tests: New file.
34502         * modules/unictype/property-bidi-pdf-tests: New file.
34503         * modules/unictype/property-bidi-segment-separator-tests: New file.
34504         * modules/unictype/property-bidi-whitespace-tests: New file.
34505         * modules/unictype/property-byname-tests: New file.
34506         * modules/unictype/property-combining-tests: New file.
34507         * modules/unictype/property-composite-tests: New file.
34508         * modules/unictype/property-currency-symbol-tests: New file.
34509         * modules/unictype/property-dash-tests: New file.
34510         * modules/unictype/property-decimal-digit-tests: New file.
34511         * modules/unictype/property-default-ignorable-code-point-tests: New file.
34512         * modules/unictype/property-deprecated-tests: New file.
34513         * modules/unictype/property-diacritic-tests: New file.
34514         * modules/unictype/property-extender-tests: New file.
34515         * modules/unictype/property-format-control-tests: New file.
34516         * modules/unictype/property-grapheme-base-tests: New file.
34517         * modules/unictype/property-grapheme-extend-tests: New file.
34518         * modules/unictype/property-grapheme-link-tests: New file.
34519         * modules/unictype/property-hex-digit-tests: New file.
34520         * modules/unictype/property-hyphen-tests: New file.
34521         * modules/unictype/property-id-continue-tests: New file.
34522         * modules/unictype/property-id-start-tests: New file.
34523         * modules/unictype/property-ideographic-tests: New file.
34524         * modules/unictype/property-ids-binary-operator-tests: New file.
34525         * modules/unictype/property-ids-trinary-operator-tests: New file.
34526         * modules/unictype/property-ignorable-control-tests: New file.
34527         * modules/unictype/property-iso-control-tests: New file.
34528         * modules/unictype/property-join-control-tests: New file.
34529         * modules/unictype/property-left-of-pair-tests: New file.
34530         * modules/unictype/property-line-separator-tests: New file.
34531         * modules/unictype/property-logical-order-exception-tests: New file.
34532         * modules/unictype/property-lowercase-tests: New file.
34533         * modules/unictype/property-math-tests: New file.
34534         * modules/unictype/property-non-break-tests: New file.
34535         * modules/unictype/property-not-a-character-tests: New file.
34536         * modules/unictype/property-numeric-tests: New file.
34537         * modules/unictype/property-other-alphabetic-tests: New file.
34538         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
34539         * modules/unictype/property-other-grapheme-extend-tests: New file.
34540         * modules/unictype/property-other-id-continue-tests: New file.
34541         * modules/unictype/property-other-id-start-tests: New file.
34542         * modules/unictype/property-other-lowercase-tests: New file.
34543         * modules/unictype/property-other-math-tests: New file.
34544         * modules/unictype/property-other-uppercase-tests: New file.
34545         * modules/unictype/property-paired-punctuation-tests: New file.
34546         * modules/unictype/property-paragraph-separator-tests: New file.
34547         * modules/unictype/property-pattern-syntax-tests: New file.
34548         * modules/unictype/property-pattern-white-space-tests: New file.
34549         * modules/unictype/property-private-use-tests: New file.
34550         * modules/unictype/property-punctuation-tests: New file.
34551         * modules/unictype/property-quotation-mark-tests: New file.
34552         * modules/unictype/property-radical-tests: New file.
34553         * modules/unictype/property-sentence-terminal-tests: New file.
34554         * modules/unictype/property-soft-dotted-tests: New file.
34555         * modules/unictype/property-space-tests: New file.
34556         * modules/unictype/property-terminal-punctuation-tests: New file.
34557         * modules/unictype/property-test-tests: New file.
34558         * modules/unictype/property-titlecase-tests: New file.
34559         * modules/unictype/property-unassigned-code-value-tests: New file.
34560         * modules/unictype/property-unified-ideograph-tests: New file.
34561         * modules/unictype/property-uppercase-tests: New file.
34562         * modules/unictype/property-variation-selector-tests: New file.
34563         * modules/unictype/property-white-space-tests: New file.
34564         * modules/unictype/property-xid-continue-tests: New file.
34565         * modules/unictype/property-xid-start-tests: New file.
34566         * modules/unictype/property-zero-width-tests: New file.
34567         * modules/unictype/scripts-tests: New file.
34568         * modules/unictype/syntax-c-ident-tests: New file.
34569         * modules/unictype/syntax-c-whitespace-tests: New file.
34570         * modules/unictype/syntax-java-ident-tests: New file.
34571         * modules/unictype/syntax-java-whitespace-tests: New file.
34572         * tests/unictype/test-bidi_byname.c: New file.
34573         * tests/unictype/test-bidi_name.c: New file.
34574         * tests/unictype/test-bidi_of.c: New file.
34575         * tests/unictype/test-bidi_test.c: New file.
34576         * tests/unictype/test-block_list.c: New file.
34577         * tests/unictype/test-block_of.c: New file.
34578         * tests/unictype/test-block_test.c: New file.
34579         * tests/unictype/test-categ_and.c: New file.
34580         * tests/unictype/test-categ_and_not.c: New file.
34581         * tests/unictype/test-categ_byname.c: New file.
34582         * tests/unictype/test-categ_name.c: New file.
34583         * tests/unictype/test-categ_none.c: New file.
34584         * tests/unictype/test-categ_of.c: New file.
34585         * tests/unictype/test-categ_or.c: New file.
34586         * tests/unictype/test-categ_test_withtable.c: New file.
34587         * tests/unictype/test-combining.c: New file.
34588         * tests/unictype/test-decdigit.c: New file.
34589         * tests/unictype/test-digit.c: New file.
34590         * tests/unictype/test-mirror.c: New file.
34591         * tests/unictype/test-numeric.c: New file.
34592         * tests/unictype/test-pr_byname.c: New file.
34593         * tests/unictype/test-pr_test.c: New file.
34594         * tests/unictype/test-predicate-part1.h: New file.
34595         * tests/unictype/test-predicate-part2.h: New file.
34596         * tests/unictype/test-scripts.c: New file.
34597         * tests/unictype/test-sy_c_ident.c: New file.
34598         * tests/unictype/test-sy_java_ident.c: New file.
34599
34600         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
34601         for Unicode 5.0.0.
34602         * tests/unictype/test-categ_Cc.c: Likewise.
34603         * tests/unictype/test-categ_Cf.c: Likewise.
34604         * tests/unictype/test-categ_Cn.c: Likewise.
34605         * tests/unictype/test-categ_Co.c: Likewise.
34606         * tests/unictype/test-categ_Cs.c: Likewise.
34607         * tests/unictype/test-categ_L.c: Likewise.
34608         * tests/unictype/test-categ_Ll.c: Likewise.
34609         * tests/unictype/test-categ_Lm.c: Likewise.
34610         * tests/unictype/test-categ_Lo.c: Likewise.
34611         * tests/unictype/test-categ_Lt.c: Likewise.
34612         * tests/unictype/test-categ_Lu.c: Likewise.
34613         * tests/unictype/test-categ_M.c: Likewise.
34614         * tests/unictype/test-categ_Mc.c: Likewise.
34615         * tests/unictype/test-categ_Me.c: Likewise.
34616         * tests/unictype/test-categ_Mn.c: Likewise.
34617         * tests/unictype/test-categ_N.c: Likewise.
34618         * tests/unictype/test-categ_Nd.c: Likewise.
34619         * tests/unictype/test-categ_Nl.c: Likewise.
34620         * tests/unictype/test-categ_No.c: Likewise.
34621         * tests/unictype/test-categ_P.c: Likewise.
34622         * tests/unictype/test-categ_Pc.c: Likewise.
34623         * tests/unictype/test-categ_Pd.c: Likewise.
34624         * tests/unictype/test-categ_Pe.c: Likewise.
34625         * tests/unictype/test-categ_Pf.c: Likewise.
34626         * tests/unictype/test-categ_Pi.c: Likewise.
34627         * tests/unictype/test-categ_Po.c: Likewise.
34628         * tests/unictype/test-categ_Ps.c: Likewise.
34629         * tests/unictype/test-categ_S.c: Likewise.
34630         * tests/unictype/test-categ_Sc.c: Likewise.
34631         * tests/unictype/test-categ_Sk.c: Likewise.
34632         * tests/unictype/test-categ_Sm.c: Likewise.
34633         * tests/unictype/test-categ_So.c: Likewise.
34634         * tests/unictype/test-categ_Z.c: Likewise.
34635         * tests/unictype/test-categ_Zl.c: Likewise.
34636         * tests/unictype/test-categ_Zp.c: Likewise.
34637         * tests/unictype/test-categ_Zs.c: Likewise.
34638         * tests/unictype/test-ctype_alnum.c: Likewise.
34639         * tests/unictype/test-ctype_alpha.c: Likewise.
34640         * tests/unictype/test-ctype_blank.c: Likewise.
34641         * tests/unictype/test-ctype_cntrl.c: Likewise.
34642         * tests/unictype/test-ctype_digit.c: Likewise.
34643         * tests/unictype/test-ctype_graph.c: Likewise.
34644         * tests/unictype/test-ctype_lower.c: Likewise.
34645         * tests/unictype/test-ctype_print.c: Likewise.
34646         * tests/unictype/test-ctype_punct.c: Likewise.
34647         * tests/unictype/test-ctype_space.c: Likewise.
34648         * tests/unictype/test-ctype_upper.c: Likewise.
34649         * tests/unictype/test-ctype_xdigit.c: Likewise.
34650         * tests/unictype/test-decdigit.h: Likewise.
34651         * tests/unictype/test-digit.h: Likewise.
34652         * tests/unictype/test-numeric.h: Likewise.
34653         * tests/unictype/test-pr_alphabetic.c: Likewise.
34654         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
34655         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
34656         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
34657         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
34658         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
34659         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
34660         * tests/unictype/test-pr_bidi_control.c: Likewise.
34661         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
34662         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
34663         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
34664         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
34665         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
34666         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
34667         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
34668         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
34669         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
34670         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
34671         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
34672         * tests/unictype/test-pr_combining.c: Likewise.
34673         * tests/unictype/test-pr_composite.c: Likewise.
34674         * tests/unictype/test-pr_currency_symbol.c: Likewise.
34675         * tests/unictype/test-pr_dash.c: Likewise.
34676         * tests/unictype/test-pr_decimal_digit.c: Likewise.
34677         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
34678         * tests/unictype/test-pr_deprecated.c: Likewise.
34679         * tests/unictype/test-pr_diacritic.c: Likewise.
34680         * tests/unictype/test-pr_extender.c: Likewise.
34681         * tests/unictype/test-pr_format_control.c: Likewise.
34682         * tests/unictype/test-pr_grapheme_base.c: Likewise.
34683         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
34684         * tests/unictype/test-pr_grapheme_link.c: Likewise.
34685         * tests/unictype/test-pr_hex_digit.c: Likewise.
34686         * tests/unictype/test-pr_hyphen.c: Likewise.
34687         * tests/unictype/test-pr_id_continue.c: Likewise.
34688         * tests/unictype/test-pr_id_start.c: Likewise.
34689         * tests/unictype/test-pr_ideographic.c: Likewise.
34690         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
34691         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
34692         * tests/unictype/test-pr_ignorable_control.c: Likewise.
34693         * tests/unictype/test-pr_iso_control.c: Likewise.
34694         * tests/unictype/test-pr_join_control.c: Likewise.
34695         * tests/unictype/test-pr_left_of_pair.c: Likewise.
34696         * tests/unictype/test-pr_line_separator.c: Likewise.
34697         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
34698         * tests/unictype/test-pr_lowercase.c: Likewise.
34699         * tests/unictype/test-pr_math.c: Likewise.
34700         * tests/unictype/test-pr_non_break.c: Likewise.
34701         * tests/unictype/test-pr_not_a_character.c: Likewise.
34702         * tests/unictype/test-pr_numeric.c: Likewise.
34703         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
34704         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
34705         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
34706         * tests/unictype/test-pr_other_id_continue.c: Likewise.
34707         * tests/unictype/test-pr_other_id_start.c: Likewise.
34708         * tests/unictype/test-pr_other_lowercase.c: Likewise.
34709         * tests/unictype/test-pr_other_math.c: Likewise.
34710         * tests/unictype/test-pr_other_uppercase.c: Likewise.
34711         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
34712         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
34713         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
34714         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
34715         * tests/unictype/test-pr_private_use.c: Likewise.
34716         * tests/unictype/test-pr_punctuation.c: Likewise.
34717         * tests/unictype/test-pr_quotation_mark.c: Likewise.
34718         * tests/unictype/test-pr_radical.c: Likewise.
34719         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
34720         * tests/unictype/test-pr_soft_dotted.c: Likewise.
34721         * tests/unictype/test-pr_space.c: Likewise.
34722         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
34723         * tests/unictype/test-pr_titlecase.c: Likewise.
34724         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
34725         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
34726         * tests/unictype/test-pr_uppercase.c: Likewise.
34727         * tests/unictype/test-pr_variation_selector.c: Likewise.
34728         * tests/unictype/test-pr_white_space.c: Likewise.
34729         * tests/unictype/test-pr_xid_continue.c: Likewise.
34730         * tests/unictype/test-pr_xid_start.c: Likewise.
34731         * tests/unictype/test-pr_zero_width.c: Likewise.
34732         * tests/unictype/test-sy_c_whitespace.c: Likewise.
34733         * tests/unictype/test-sy_java_whitespace.c: Likewise.
34734
34735 2007-11-12  Bruno Haible  <bruno@clisp.org>
34736
34737         Unicode character classification functions.
34738         * lib/unictype.h: New file.
34739         * modules/unictype/base: New file.
34740         * modules/unictype/category-L: New file.
34741         * modules/unictype/category-Lu: New file.
34742         * modules/unictype/category-Ll: New file.
34743         * modules/unictype/category-Lt: New file.
34744         * modules/unictype/category-Lm: New file.
34745         * modules/unictype/category-Lo: New file.
34746         * modules/unictype/category-M: New file.
34747         * modules/unictype/category-Mn: New file.
34748         * modules/unictype/category-Mc: New file.
34749         * modules/unictype/category-Me: New file.
34750         * modules/unictype/category-N: New file.
34751         * modules/unictype/category-Nd: New file.
34752         * modules/unictype/category-Nl: New file.
34753         * modules/unictype/category-No: New file.
34754         * modules/unictype/category-P: New file.
34755         * modules/unictype/category-Pc: New file.
34756         * modules/unictype/category-Pd: New file.
34757         * modules/unictype/category-Ps: New file.
34758         * modules/unictype/category-Pe: New file.
34759         * modules/unictype/category-Pi: New file.
34760         * modules/unictype/category-Pf: New file.
34761         * modules/unictype/category-Po: New file.
34762         * modules/unictype/category-S: New file.
34763         * modules/unictype/category-Sm: New file.
34764         * modules/unictype/category-Sc: New file.
34765         * modules/unictype/category-Sk: New file.
34766         * modules/unictype/category-So: New file.
34767         * modules/unictype/category-Z: New file.
34768         * modules/unictype/category-Zs: New file.
34769         * modules/unictype/category-Zl: New file.
34770         * modules/unictype/category-Zp: New file.
34771         * modules/unictype/category-C: New file.
34772         * modules/unictype/category-Cc: New file.
34773         * modules/unictype/category-Cf: New file.
34774         * modules/unictype/category-Cs: New file.
34775         * modules/unictype/category-Co: New file.
34776         * modules/unictype/category-Cn: New file.
34777         * modules/unictype/category-or: New file.
34778         * modules/unictype/category-of: New file.
34779         * modules/unictype/category-test: New file.
34780         * modules/unictype/category-test-withtable: New file.
34781         * modules/unictype/category-byname: New file.
34782         * modules/unictype/category-none: New file.
34783         * modules/unictype/category-and: New file.
34784         * modules/unictype/category-and-not: New file.
34785         * modules/unictype/category-name: New file.
34786         * modules/unictype/combining-class: New file.
34787         * modules/unictype/category-all: New file.
34788         * modules/unictype/bidicategory-all: New file.
34789         * modules/unictype/bidicategory-byname: New file.
34790         * modules/unictype/bidicategory-name: New file.
34791         * modules/unictype/bidicategory-of: New file.
34792         * modules/unictype/bidicategory-test: New file.
34793         * modules/unictype/decimal-digit: New file.
34794         * modules/unictype/digit: New file.
34795         * modules/unictype/numeric: New file.
34796         * modules/unictype/mirror: New file.
34797         * modules/unictype/property-white-space: New file.
34798         * modules/unictype/property-alphabetic: New file.
34799         * modules/unictype/property-other-alphabetic: New file.
34800         * modules/unictype/property-not-a-character: New file.
34801         * modules/unictype/property-default-ignorable-code-point: New file.
34802         * modules/unictype/property-other-default-ignorable-code-point: New
34803         file.
34804         * modules/unictype/property-deprecated: New file.
34805         * modules/unictype/property-logical-order-exception: New file.
34806         * modules/unictype/property-variation-selector: New file.
34807         * modules/unictype/property-private-use: New file.
34808         * modules/unictype/property-unassigned-code-value: New file.
34809         * modules/unictype/property-uppercase: New file.
34810         * modules/unictype/property-other-uppercase: New file.
34811         * modules/unictype/property-lowercase: New file.
34812         * modules/unictype/property-other-lowercase: New file.
34813         * modules/unictype/property-titlecase: New file.
34814         * modules/unictype/property-soft-dotted: New file.
34815         * modules/unictype/property-id-start: New file.
34816         * modules/unictype/property-other-id-start: New file.
34817         * modules/unictype/property-id-continue: New file.
34818         * modules/unictype/property-other-id-continue: New file.
34819         * modules/unictype/property-xid-start: New file.
34820         * modules/unictype/property-xid-continue: New file.
34821         * modules/unictype/property-pattern-white-space: New file.
34822         * modules/unictype/property-pattern-syntax: New file.
34823         * modules/unictype/property-join-control: New file.
34824         * modules/unictype/property-grapheme-base: New file.
34825         * modules/unictype/property-grapheme-extend: New file.
34826         * modules/unictype/property-other-grapheme-extend: New file.
34827         * modules/unictype/property-grapheme-link: New file.
34828         * modules/unictype/property-bidi-control: New file.
34829         * modules/unictype/property-bidi-left-to-right: New file.
34830         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
34831         * modules/unictype/property-bidi-arabic-right-to-left: New file.
34832         * modules/unictype/property-bidi-european-digit: New file.
34833         * modules/unictype/property-bidi-eur-num-separator: New file.
34834         * modules/unictype/property-bidi-eur-num-terminator: New file.
34835         * modules/unictype/property-bidi-arabic-digit: New file.
34836         * modules/unictype/property-bidi-common-separator: New file.
34837         * modules/unictype/property-bidi-block-separator: New file.
34838         * modules/unictype/property-bidi-segment-separator: New file.
34839         * modules/unictype/property-bidi-whitespace: New file.
34840         * modules/unictype/property-bidi-non-spacing-mark: New file.
34841         * modules/unictype/property-bidi-boundary-neutral: New file.
34842         * modules/unictype/property-bidi-pdf: New file.
34843         * modules/unictype/property-bidi-embedding-or-override: New file.
34844         * modules/unictype/property-bidi-other-neutral: New file.
34845         * modules/unictype/property-hex-digit: New file.
34846         * modules/unictype/property-ascii-hex-digit: New file.
34847         * modules/unictype/property-ideographic: New file.
34848         * modules/unictype/property-unified-ideograph: New file.
34849         * modules/unictype/property-radical: New file.
34850         * modules/unictype/property-ids-binary-operator: New file.
34851         * modules/unictype/property-ids-trinary-operator: New file.
34852         * modules/unictype/property-zero-width: New file.
34853         * modules/unictype/property-space: New file.
34854         * modules/unictype/property-non-break: New file.
34855         * modules/unictype/property-iso-control: New file.
34856         * modules/unictype/property-format-control: New file.
34857         * modules/unictype/property-dash: New file.
34858         * modules/unictype/property-hyphen: New file.
34859         * modules/unictype/property-punctuation: New file.
34860         * modules/unictype/property-line-separator: New file.
34861         * modules/unictype/property-paragraph-separator: New file.
34862         * modules/unictype/property-quotation-mark: New file.
34863         * modules/unictype/property-sentence-terminal: New file.
34864         * modules/unictype/property-terminal-punctuation: New file.
34865         * modules/unictype/property-currency-symbol: New file.
34866         * modules/unictype/property-math: New file.
34867         * modules/unictype/property-other-math: New file.
34868         * modules/unictype/property-paired-punctuation: New file.
34869         * modules/unictype/property-left-of-pair: New file.
34870         * modules/unictype/property-combining: New file.
34871         * modules/unictype/property-composite: New file.
34872         * modules/unictype/property-decimal-digit: New file.
34873         * modules/unictype/property-numeric: New file.
34874         * modules/unictype/property-diacritic: New file.
34875         * modules/unictype/property-extender: New file.
34876         * modules/unictype/property-ignorable-control: New file.
34877         * modules/unictype/property-test: New file.
34878         * modules/unictype/property-byname: New file.
34879         * modules/unictype/property-all: New file.
34880         * modules/unictype/scripts: New file.
34881         * modules/unictype/scripts-all: New file.
34882         * modules/unictype/block-of: New file.
34883         * modules/unictype/block-test: New file.
34884         * modules/unictype/block-list: New file.
34885         * modules/unictype/block-all: New file.
34886         * modules/unictype/syntax-c-whitespace: New file.
34887         * modules/unictype/syntax-java-whitespace: New file.
34888         * modules/unictype/syntax-c-ident: New file.
34889         * modules/unictype/syntax-java-ident: New file.
34890         * modules/unictype/ctype-alnum: New file.
34891         * modules/unictype/ctype-alpha: New file.
34892         * modules/unictype/ctype-cntrl: New file.
34893         * modules/unictype/ctype-digit: New file.
34894         * modules/unictype/ctype-graph: New file.
34895         * modules/unictype/ctype-lower: New file.
34896         * modules/unictype/ctype-print: New file.
34897         * modules/unictype/ctype-punct: New file.
34898         * modules/unictype/ctype-space: New file.
34899         * modules/unictype/ctype-upper: New file.
34900         * modules/unictype/ctype-xdigit: New file.
34901         * modules/unictype/ctype-blank: New file.
34902         * lib/unictype/bidi_byname.c: New file.
34903         * lib/unictype/bidi_name.c: New file.
34904         * lib/unictype/bidi_of.c: New file.
34905         * lib/unictype/bidi_test.c: New file.
34906         * lib/unictype/bitmap.h: New file.
34907         * lib/unictype/block_test.c: New file.
34908         * lib/unictype/blocks.c: New file.
34909         * lib/unictype/categ_C.c: New file.
34910         * lib/unictype/categ_Cc.c: New file.
34911         * lib/unictype/categ_Cf.c: New file.
34912         * lib/unictype/categ_Cn.c: New file.
34913         * lib/unictype/categ_Co.c: New file.
34914         * lib/unictype/categ_Cs.c: New file.
34915         * lib/unictype/categ_L.c: New file.
34916         * lib/unictype/categ_Ll.c: New file.
34917         * lib/unictype/categ_Lm.c: New file.
34918         * lib/unictype/categ_Lo.c: New file.
34919         * lib/unictype/categ_Lt.c: New file.
34920         * lib/unictype/categ_Lu.c: New file.
34921         * lib/unictype/categ_M.c: New file.
34922         * lib/unictype/categ_Mc.c: New file.
34923         * lib/unictype/categ_Me.c: New file.
34924         * lib/unictype/categ_Mn.c: New file.
34925         * lib/unictype/categ_N.c: New file.
34926         * lib/unictype/categ_Nd.c: New file.
34927         * lib/unictype/categ_Nl.c: New file.
34928         * lib/unictype/categ_No.c: New file.
34929         * lib/unictype/categ_P.c: New file.
34930         * lib/unictype/categ_Pc.c: New file.
34931         * lib/unictype/categ_Pd.c: New file.
34932         * lib/unictype/categ_Pe.c: New file.
34933         * lib/unictype/categ_Pf.c: New file.
34934         * lib/unictype/categ_Pi.c: New file.
34935         * lib/unictype/categ_Po.c: New file.
34936         * lib/unictype/categ_Ps.c: New file.
34937         * lib/unictype/categ_S.c: New file.
34938         * lib/unictype/categ_Sc.c: New file.
34939         * lib/unictype/categ_Sk.c: New file.
34940         * lib/unictype/categ_Sm.c: New file.
34941         * lib/unictype/categ_So.c: New file.
34942         * lib/unictype/categ_Z.c: New file.
34943         * lib/unictype/categ_Zl.c: New file.
34944         * lib/unictype/categ_Zp.c: New file.
34945         * lib/unictype/categ_Zs.c: New file.
34946         * lib/unictype/categ_and.c: New file.
34947         * lib/unictype/categ_and_not.c: New file.
34948         * lib/unictype/categ_byname.c: New file.
34949         * lib/unictype/categ_name.c: New file.
34950         * lib/unictype/categ_none.c: New file.
34951         * lib/unictype/categ_of.c: New file.
34952         * lib/unictype/categ_or.c: New file.
34953         * lib/unictype/categ_test.c: New file.
34954         * lib/unictype/combining.c: New file.
34955         * lib/unictype/ctype_alnum.c: New file.
34956         * lib/unictype/ctype_alpha.c: New file.
34957         * lib/unictype/ctype_blank.c: New file.
34958         * lib/unictype/ctype_cntrl.c: New file.
34959         * lib/unictype/ctype_digit.c: New file.
34960         * lib/unictype/ctype_graph.c: New file.
34961         * lib/unictype/ctype_lower.c: New file.
34962         * lib/unictype/ctype_print.c: New file.
34963         * lib/unictype/ctype_punct.c: New file.
34964         * lib/unictype/ctype_space.c: New file.
34965         * lib/unictype/ctype_upper.c: New file.
34966         * lib/unictype/ctype_xdigit.c: New file.
34967         * lib/unictype/decdigit.c: New file.
34968         * lib/unictype/digit.c: New file.
34969         * lib/unictype/identsyntaxmap.h: New file.
34970         * lib/unictype/mirror.c: New file.
34971         * lib/unictype/numeric.c: New file.
34972         * lib/unictype/pr_alphabetic.c: New file.
34973         * lib/unictype/pr_ascii_hex_digit.c: New file.
34974         * lib/unictype/pr_bidi_arabic_digit.c: New file.
34975         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
34976         * lib/unictype/pr_bidi_block_separator.c: New file.
34977         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
34978         * lib/unictype/pr_bidi_common_separator.c: New file.
34979         * lib/unictype/pr_bidi_control.c: New file.
34980         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
34981         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
34982         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
34983         * lib/unictype/pr_bidi_european_digit.c: New file.
34984         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
34985         * lib/unictype/pr_bidi_left_to_right.c: New file.
34986         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
34987         * lib/unictype/pr_bidi_other_neutral.c: New file.
34988         * lib/unictype/pr_bidi_pdf.c: New file.
34989         * lib/unictype/pr_bidi_segment_separator.c: New file.
34990         * lib/unictype/pr_bidi_whitespace.c: New file.
34991         * lib/unictype/pr_byname.c: New file.
34992         * lib/unictype/pr_byname.gperf: New file.
34993         * lib/unictype/pr_combining.c: New file.
34994         * lib/unictype/pr_composite.c: New file.
34995         * lib/unictype/pr_currency_symbol.c: New file.
34996         * lib/unictype/pr_dash.c: New file.
34997         * lib/unictype/pr_decimal_digit.c: New file.
34998         * lib/unictype/pr_default_ignorable_code_point.c: New file.
34999         * lib/unictype/pr_deprecated.c: New file.
35000         * lib/unictype/pr_diacritic.c: New file.
35001         * lib/unictype/pr_extender.c: New file.
35002         * lib/unictype/pr_format_control.c: New file.
35003         * lib/unictype/pr_grapheme_base.c: New file.
35004         * lib/unictype/pr_grapheme_extend.c: New file.
35005         * lib/unictype/pr_grapheme_link.c: New file.
35006         * lib/unictype/pr_hex_digit.c: New file.
35007         * lib/unictype/pr_hyphen.c: New file.
35008         * lib/unictype/pr_id_continue.c: New file.
35009         * lib/unictype/pr_id_start.c: New file.
35010         * lib/unictype/pr_ideographic.c: New file.
35011         * lib/unictype/pr_ids_binary_operator.c: New file.
35012         * lib/unictype/pr_ids_trinary_operator.c: New file.
35013         * lib/unictype/pr_ignorable_control.c: New file.
35014         * lib/unictype/pr_iso_control.c: New file.
35015         * lib/unictype/pr_join_control.c: New file.
35016         * lib/unictype/pr_left_of_pair.c: New file.
35017         * lib/unictype/pr_line_separator.c: New file.
35018         * lib/unictype/pr_logical_order_exception.c: New file.
35019         * lib/unictype/pr_lowercase.c: New file.
35020         * lib/unictype/pr_math.c: New file.
35021         * lib/unictype/pr_non_break.c: New file.
35022         * lib/unictype/pr_not_a_character.c: New file.
35023         * lib/unictype/pr_numeric.c: New file.
35024         * lib/unictype/pr_other_alphabetic.c: New file.
35025         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
35026         * lib/unictype/pr_other_grapheme_extend.c: New file.
35027         * lib/unictype/pr_other_id_continue.c: New file.
35028         * lib/unictype/pr_other_id_start.c: New file.
35029         * lib/unictype/pr_other_lowercase.c: New file.
35030         * lib/unictype/pr_other_math.c: New file.
35031         * lib/unictype/pr_other_uppercase.c: New file.
35032         * lib/unictype/pr_paired_punctuation.c: New file.
35033         * lib/unictype/pr_paragraph_separator.c: New file.
35034         * lib/unictype/pr_pattern_syntax.c: New file.
35035         * lib/unictype/pr_pattern_white_space.c: New file.
35036         * lib/unictype/pr_private_use.c: New file.
35037         * lib/unictype/pr_punctuation.c: New file.
35038         * lib/unictype/pr_quotation_mark.c: New file.
35039         * lib/unictype/pr_radical.c: New file.
35040         * lib/unictype/pr_sentence_terminal.c: New file.
35041         * lib/unictype/pr_soft_dotted.c: New file.
35042         * lib/unictype/pr_space.c: New file.
35043         * lib/unictype/pr_terminal_punctuation.c: New file.
35044         * lib/unictype/pr_test.c: New file.
35045         * lib/unictype/pr_titlecase.c: New file.
35046         * lib/unictype/pr_unassigned_code_value.c: New file.
35047         * lib/unictype/pr_unified_ideograph.c: New file.
35048         * lib/unictype/pr_uppercase.c: New file.
35049         * lib/unictype/pr_variation_selector.c: New file.
35050         * lib/unictype/pr_white_space.c: New file.
35051         * lib/unictype/pr_xid_continue.c: New file.
35052         * lib/unictype/pr_xid_start.c: New file.
35053         * lib/unictype/pr_zero_width.c: New file.
35054         * lib/unictype/scripts.c: New file.
35055         * lib/unictype/sy_c_ident.c: New file.
35056         * lib/unictype/sy_c_whitespace.c: New file.
35057         * lib/unictype/sy_java_ident.c: New file.
35058         * lib/unictype/sy_java_whitespace.c: New file.
35059
35060         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
35061         Unicode 5.0.0.
35062         * lib/unictype/blocks.h: Likewise.
35063         * lib/unictype/categ_C.h: Likewise.
35064         * lib/unictype/categ_Cc.h: Likewise.
35065         * lib/unictype/categ_Cf.h: Likewise.
35066         * lib/unictype/categ_Cn.h: Likewise.
35067         * lib/unictype/categ_Co.h: Likewise.
35068         * lib/unictype/categ_Cs.h: Likewise.
35069         * lib/unictype/categ_L.h: Likewise.
35070         * lib/unictype/categ_Ll.h: Likewise.
35071         * lib/unictype/categ_Lm.h: Likewise.
35072         * lib/unictype/categ_Lo.h: Likewise.
35073         * lib/unictype/categ_Lt.h: Likewise.
35074         * lib/unictype/categ_Lu.h: Likewise.
35075         * lib/unictype/categ_M.h: Likewise.
35076         * lib/unictype/categ_Mc.h: Likewise.
35077         * lib/unictype/categ_Me.h: Likewise.
35078         * lib/unictype/categ_Mn.h: Likewise.
35079         * lib/unictype/categ_N.h: Likewise.
35080         * lib/unictype/categ_Nd.h: Likewise.
35081         * lib/unictype/categ_Nl.h: Likewise.
35082         * lib/unictype/categ_No.h: Likewise.
35083         * lib/unictype/categ_P.h: Likewise.
35084         * lib/unictype/categ_Pc.h: Likewise.
35085         * lib/unictype/categ_Pd.h: Likewise.
35086         * lib/unictype/categ_Pe.h: Likewise.
35087         * lib/unictype/categ_Pf.h: Likewise.
35088         * lib/unictype/categ_Pi.h: Likewise.
35089         * lib/unictype/categ_Po.h: Likewise.
35090         * lib/unictype/categ_Ps.h: Likewise.
35091         * lib/unictype/categ_S.h: Likewise.
35092         * lib/unictype/categ_Sc.h: Likewise.
35093         * lib/unictype/categ_Sk.h: Likewise.
35094         * lib/unictype/categ_Sm.h: Likewise.
35095         * lib/unictype/categ_So.h: Likewise.
35096         * lib/unictype/categ_Z.h: Likewise.
35097         * lib/unictype/categ_Zl.h: Likewise.
35098         * lib/unictype/categ_Zp.h: Likewise.
35099         * lib/unictype/categ_Zs.h: Likewise.
35100         * lib/unictype/categ_of.h: Likewise.
35101         * lib/unictype/combining.h: Likewise.
35102         * lib/unictype/ctype_alnum.h: Likewise.
35103         * lib/unictype/ctype_alpha.h: Likewise.
35104         * lib/unictype/ctype_blank.h: Likewise.
35105         * lib/unictype/ctype_cntrl.h: Likewise.
35106         * lib/unictype/ctype_digit.h: Likewise.
35107         * lib/unictype/ctype_graph.h: Likewise.
35108         * lib/unictype/ctype_lower.h: Likewise.
35109         * lib/unictype/ctype_print.h: Likewise.
35110         * lib/unictype/ctype_punct.h: Likewise.
35111         * lib/unictype/ctype_space.h: Likewise.
35112         * lib/unictype/ctype_upper.h: Likewise.
35113         * lib/unictype/ctype_xdigit.h: Likewise.
35114         * lib/unictype/decdigit.h: Likewise.
35115         * lib/unictype/digit.h: Likewise.
35116         * lib/unictype/mirror.h: Likewise.
35117         * lib/unictype/numeric.h: Likewise.
35118         * lib/unictype/pr_alphabetic.h: Likewise.
35119         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
35120         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
35121         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
35122         * lib/unictype/pr_bidi_block_separator.h: Likewise.
35123         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
35124         * lib/unictype/pr_bidi_common_separator.h: Likewise.
35125         * lib/unictype/pr_bidi_control.h: Likewise.
35126         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
35127         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
35128         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
35129         * lib/unictype/pr_bidi_european_digit.h: Likewise.
35130         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
35131         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
35132         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
35133         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
35134         * lib/unictype/pr_bidi_pdf.h: Likewise.
35135         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
35136         * lib/unictype/pr_bidi_whitespace.h: Likewise.
35137         * lib/unictype/pr_combining.h: Likewise.
35138         * lib/unictype/pr_composite.h: Likewise.
35139         * lib/unictype/pr_currency_symbol.h: Likewise.
35140         * lib/unictype/pr_dash.h: Likewise.
35141         * lib/unictype/pr_decimal_digit.h: Likewise.
35142         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
35143         * lib/unictype/pr_deprecated.h: Likewise.
35144         * lib/unictype/pr_diacritic.h: Likewise.
35145         * lib/unictype/pr_extender.h: Likewise.
35146         * lib/unictype/pr_format_control.h: Likewise.
35147         * lib/unictype/pr_grapheme_base.h: Likewise.
35148         * lib/unictype/pr_grapheme_extend.h: Likewise.
35149         * lib/unictype/pr_grapheme_link.h: Likewise.
35150         * lib/unictype/pr_hex_digit.h: Likewise.
35151         * lib/unictype/pr_hyphen.h: Likewise.
35152         * lib/unictype/pr_id_continue.h: Likewise.
35153         * lib/unictype/pr_id_start.h: Likewise.
35154         * lib/unictype/pr_ideographic.h: Likewise.
35155         * lib/unictype/pr_ids_binary_operator.h: Likewise.
35156         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
35157         * lib/unictype/pr_ignorable_control.h: Likewise.
35158         * lib/unictype/pr_iso_control.h: Likewise.
35159         * lib/unictype/pr_join_control.h: Likewise.
35160         * lib/unictype/pr_left_of_pair.h: Likewise.
35161         * lib/unictype/pr_line_separator.h: Likewise.
35162         * lib/unictype/pr_logical_order_exception.h: Likewise.
35163         * lib/unictype/pr_lowercase.h: Likewise.
35164         * lib/unictype/pr_math.h: Likewise.
35165         * lib/unictype/pr_non_break.h: Likewise.
35166         * lib/unictype/pr_not_a_character.h: Likewise.
35167         * lib/unictype/pr_numeric.h: Likewise.
35168         * lib/unictype/pr_other_alphabetic.h: Likewise.
35169         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
35170         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
35171         * lib/unictype/pr_other_id_continue.h: Likewise.
35172         * lib/unictype/pr_other_id_start.h: Likewise.
35173         * lib/unictype/pr_other_lowercase.h: Likewise.
35174         * lib/unictype/pr_other_math.h: Likewise.
35175         * lib/unictype/pr_other_uppercase.h: Likewise.
35176         * lib/unictype/pr_paired_punctuation.h: Likewise.
35177         * lib/unictype/pr_paragraph_separator.h: Likewise.
35178         * lib/unictype/pr_pattern_syntax.h: Likewise.
35179         * lib/unictype/pr_pattern_white_space.h: Likewise.
35180         * lib/unictype/pr_private_use.h: Likewise.
35181         * lib/unictype/pr_punctuation.h: Likewise.
35182         * lib/unictype/pr_quotation_mark.h: Likewise.
35183         * lib/unictype/pr_radical.h: Likewise.
35184         * lib/unictype/pr_sentence_terminal.h: Likewise.
35185         * lib/unictype/pr_soft_dotted.h: Likewise.
35186         * lib/unictype/pr_space.h: Likewise.
35187         * lib/unictype/pr_terminal_punctuation.h: Likewise.
35188         * lib/unictype/pr_titlecase.h: Likewise.
35189         * lib/unictype/pr_unassigned_code_value.h: Likewise.
35190         * lib/unictype/pr_unified_ideograph.h: Likewise.
35191         * lib/unictype/pr_uppercase.h: Likewise.
35192         * lib/unictype/pr_variation_selector.h: Likewise.
35193         * lib/unictype/pr_white_space.h: Likewise.
35194         * lib/unictype/pr_xid_continue.h: Likewise.
35195         * lib/unictype/pr_xid_start.h: Likewise.
35196         * lib/unictype/pr_zero_width.h: Likewise.
35197         * lib/unictype/scripts.h: Likewise.
35198         * lib/unictype/scripts_byname.gperf: Likewise.
35199         * lib/unictype/sy_c_ident.h: Likewise.
35200         * lib/unictype/sy_c_whitespace.h: Likewise.
35201         * lib/unictype/sy_java_ident.h: Likewise.
35202         * lib/unictype/sy_java_whitespace.h: Likewise.
35203
35204         * lib/unictype/Makefile: New file.
35205         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
35206         glibc.
35207         * lib/unictype/3level.h: New file, copied from glibc.
35208         * lib/unictype/3levelbit.h: New file.
35209
35210 2007-11-11  Bruno Haible  <bruno@clisp.org>
35211
35212         * modules/gperf: New file.
35213         * modules/iconv_open (Depends-on): Add it.
35214         (Makefile.am): Remove the GPERF definition.
35215
35216 2007-11-11  Bruno Haible  <bruno@clisp.org>
35217
35218         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
35219         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
35220
35221 2007-11-11  Bruno Haible  <bruno@clisp.org>
35222
35223         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
35224         (usage): Remove function.
35225
35226 2007-11-11  Bruno Haible  <bruno@clisp.org>
35227
35228         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
35229         gl_FUNC_CEILF_LIBS.
35230         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
35231         gl_FUNC_CEIL_LIBS.
35232         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
35233         gl_FUNC_CEILL_LIBS.
35234         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
35235         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
35236         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
35237
35238 2007-11-11  Bruno Haible  <bruno@clisp.org>
35239
35240         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
35241         roundf were declared but do not exist on functions.
35242         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
35243         roundl were declared but do not exist on functions.
35244         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
35245         HAVE_FLOORL_AND_CEILL, respectively.
35246         Needed for Sun C on Solaris 10.
35247
35248 2007-11-11  Bruno Haible  <bruno@clisp.org>
35249
35250         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
35251         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
35252         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
35253         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
35254         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
35255         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
35256         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
35257         HAVE_DECL_ROUNDF.
35258         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
35259         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
35260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
35261         of HAVE_DECL_ROUND*.
35262         * modules/math (Makefile.am): Update.
35263
35264 2007-11-10  Bruno Haible  <bruno@clisp.org>
35265
35266         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
35267         ptrdiff_t as m4/intl.m4.
35268
35269 2007-11-10  Jim Meyering  <meyering@redhat.com>
35270
35271         Avoid link failure for the argmatch test.
35272         * tests/test-argmatch.c (usage): Define function to avoid a link
35273         failure: argmatch_die requires a usage function.
35274
35275 2007-11-09  Bruno Haible  <bruno@clisp.org>
35276
35277         * doc/functions/snprintf.texi: Mention BeOS deficiency.
35278         * doc/functions/vsnprintf.texi: Likewise.
35279         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
35280         with a size argument < 2.
35281
35282 2007-11-09  Bruno Haible  <bruno@clisp.org>
35283
35284         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
35285         buffer. Fixes an inefficiency introduced on 2007-11-03.
35286
35287 2007-11-09  Bruno Haible  <bruno@clisp.org>
35288
35289         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
35290         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
35291
35292 2007-11-08  Jim Meyering  <meyering@redhat.com>
35293
35294         Change cache variable name prefix "jm_" to "gl_" everywhere.
35295         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
35296         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
35297         * m4/uptime.m4: s/gl_/jm_/
35298
35299 2007-11-07  Bruno Haible  <bruno@clisp.org>
35300
35301         Update to GNU gettext 0.17.
35302         * m4/intl.m4: Update to GNU gettext 0.17.
35303         * m4/po.m4: Likewise.
35304         * modules/gettext (Files): Remove m4/ulonglong.m4.
35305         (configure.ac): Require gettext infrastructure from version 0.17.
35306
35307 2007-11-06  Bruno Haible  <bruno@clisp.org>
35308
35309         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
35310         symbolic values are not defined in a public header.
35311         * lib/freadable.c (freadable) [QNX]: Likewise.
35312         * lib/freadahead.c (freadahead) [QNX]: Likewise.
35313         * lib/freading.c (freading) [QNX]: Likewise.
35314         * lib/fseterr.c (fseterr) [QNX]: Likewise.
35315         * lib/fwritable.c (fwritable) [QNX]: Likewise.
35316         * lib/fwriting.c (fwriting) [QNX]: Likewise.
35317         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
35318         Reported by Alain Magloire.
35319
35320         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
35321
35322 2007-11-05  Bruno Haible  <bruno@clisp.org>
35323
35324         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
35325         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
35326         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
35327         Reported by Eric Blake.
35328
35329 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35330             Bruno Haible  <bruno@clisp.org>
35331
35332         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
35333         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
35334         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
35335         (malloc): Undefine also before including <stdlib.h>.
35336         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
35337         Needed on OSF/1 4.0.
35338
35339 2007-11-05  Jim Meyering  <meyering@redhat.com>
35340
35341         git-version-gen: sync from coreutils.
35342         * build-aux/git-version-gen: Add comments.
35343         Change the first '-' to '.' in the snapshot version string,
35344         e.g., 6.9-377-08144 -> 6.9.377-08144
35345         Remove first parameter.
35346         Don't declare a version "-dirty" merely because a time
35347         stamp has changed.
35348
35349 2007-11-04  Bruno Haible  <bruno@clisp.org>
35350
35351         * lib/lock.h: Protect all macro definitions containing an 'if'
35352         statement through a "do { ... } while (0)".
35353         * lib/tls.h: Likewise.
35354
35355 2007-11-04  Bruno Haible  <bruno@clisp.org>
35356
35357         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
35358
35359 2007-11-04  Bruno Haible  <bruno@clisp.org>
35360
35361         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
35362         * modules/fprintf-posix (Depends-on): Add nocrash.
35363         * modules/snprintf-posix (Depends-on): Likewise.
35364         * modules/sprintf-posix (Depends-on): Likewise.
35365         * modules/vasnprintf-posix (Depends-on): Likewise.
35366         * modules/vasprintf-posix (Depends-on): Likewise.
35367         * modules/vfprintf-posix (Depends-on): Likewise.
35368         * modules/vsnprintf-posix (Depends-on): Likewise.
35369         * modules/vsprintf-posix (Depends-on): Likewise.
35370         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35371         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35372         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35373         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35374         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35375         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35376         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35377
35378 2007-11-04  Bruno Haible  <bruno@clisp.org>
35379
35380         * modules/nocrash: New file.
35381         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
35382         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
35383
35384 2007-11-04  Bruno Haible  <bruno@clisp.org>
35385
35386         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
35387         precision handling.
35388         * tests/test-vasprintf-posix.c (test_function): Likewise.
35389         * tests/test-snprintf-posix.h (test_function): Likewise.
35390         * tests/test-sprintf-posix.h (test_function): Likewise.
35391
35392         Fix *printf behaviour for large precisions on mingw and BeOS.
35393         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
35394         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
35395         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
35396         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35397         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35398         gl_PRINTF_PRECISION and test its result. Invoke
35399         gl_PREREQ_VASNPRINTF_PRECISION.
35400         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35401         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35402         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35403         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35404         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35405         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35406         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35407         * doc/functions/fprintf.texi: Update.
35408         * doc/functions/printf.texi: Update.
35409         * doc/functions/snprintf.texi: Update.
35410         * doc/functions/sprintf.texi: Update.
35411         * doc/functions/vfprintf.texi: Update.
35412         * doc/functions/vprintf.texi: Update.
35413         * doc/functions/vsnprintf.texi: Update.
35414         * doc/functions/vsprintf.texi: Update.
35415
35416 2007-11-04  Bruno Haible  <bruno@clisp.org>
35417
35418         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
35419
35420 2007-11-04  Bruno Haible  <bruno@clisp.org>
35421
35422         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
35423         Reported by Sylvain Beucler <beuc@gnu.org>.
35424
35425 2007-11-03  Bruno Haible  <bruno@clisp.org>
35426
35427         * tests/test-fprintf-posix2.sh: New file.
35428         * tests/test-fprintf-posix2.c: New file.
35429         * modules/fprintf-posix-tests (Files): Add them.
35430         (TESTS): Add test-fprintf-posix2.sh.
35431         (configure.ac): Check for getrlimit and setrlimit.
35432         (check_PROGRAMS): Add test-fprintf-posix2.
35433
35434         * tests/test-printf-posix2.sh: New file.
35435         * tests/test-printf-posix2.c: New file.
35436         * modules/printf-posix-tests (Files): Add them.
35437         (TESTS): Add test-printf-posix2.sh.
35438         (configure.ac): Check for getrlimit and setrlimit.
35439         (check_PROGRAMS): Add test-printf-posix2.
35440
35441         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
35442         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
35443         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
35444         (decode_double): New function, copied from decode_long_double.
35445         (scale10_round_decimal_decoded): New function, extracted from
35446         scale10_round_decimal_long_double.
35447         (scale10_round_decimal_long_double): Use it.
35448         (scale10_round_decimal_double): New function.
35449         (floorlog10): New function.
35450         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
35451         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
35452         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35453         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35454         gl_PRINTF_ENOMEM and test its result. Invoke
35455         gl_PREREQ_VASNPRINTF_ENOMEM.
35456         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35457         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35458         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35459         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35460         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35461         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35462         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35463         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
35464         * modules/snprintf-posix (Depends-on): Likewise.
35465         * modules/sprintf-posix (Depends-on): Likewise.
35466         * modules/vasnprintf-posix (Depends-on): Likewise.
35467         * modules/vasprintf-posix (Depends-on): Likewise.
35468         * modules/vfprintf-posix (Depends-on): Likewise.
35469         * modules/vsnprintf-posix (Depends-on): Likewise.
35470         * modules/vsprintf-posix (Depends-on): Likewise.
35471         * doc/functions/fprintf.texi: Update.
35472         * doc/functions/printf.texi: Update.
35473         * doc/functions/snprintf.texi: Update.
35474         * doc/functions/sprintf.texi: Update.
35475         * doc/functions/vfprintf.texi: Update.
35476         * doc/functions/vprintf.texi: Update.
35477         * doc/functions/vsnprintf.texi: Update.
35478         * doc/functions/vsprintf.texi: Update.
35479
35480 2007-11-03  Bruno Haible  <bruno@clisp.org>
35481
35482         * modules/frexp-nolibm-tests: New file.
35483
35484         * modules/frexp-nolibm: New file.
35485         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
35486
35487 2007-11-03  Bruno Haible  <bruno@clisp.org>
35488
35489         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
35490         value is C99 compliant.
35491         Needed for OSF/1 5.1.
35492
35493 2007-11-03  Bruno Haible  <bruno@clisp.org>
35494
35495         Fix out-of-memory handling of vasnprintf.
35496         * lib/printf-parse.c: Include <errno.h>.
35497         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
35498         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
35499         is already set.
35500
35501 2007-11-02  Eric Blake  <ebb9@byu.net>
35502
35503         Fix tests on cygwin.
35504         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
35505
35506 2007-11-01  Bruno Haible  <bruno@clisp.org>
35507
35508         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
35509         warning.
35510         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
35511         needed for POSIX compatibility.
35512
35513 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
35514
35515         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
35516         for compatibility with GNU.
35517
35518 2007-11-01  Bruno Haible  <bruno@clisp.org>
35519
35520         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
35521         (putenv): Renamed from rpl_putenv. Change argument type from
35522         'const char *' to 'char *'.
35523         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
35524         of defining putenv in config.h, just set REPLACE_PUTENV.
35525         * modules/putenv (Depends-on): Add stdlib.
35526         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35527         (Include): Use <stdlib.h>.
35528         * lib/stdlib.in.h (putenv): New declaration.
35529         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
35530         REPLACE_PUTENV.
35531         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
35532         REPLACE_PUTENV.
35533         Needed for MacOS X 10.5.0.
35534         Reported by Peter O'Gorman <peter@pogma.com>.
35535
35536 2007-11-01  Jim Meyering  <meyering@redhat.com>
35537
35538         Treat an empty date string exactly like "0".
35539         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
35540         if the remaining date string (to be parsed) is empty, use "0".
35541         Reported by Mischa Molhoek and discussed in this thread:
35542         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
35543
35544 2007-10-31  Bruno Haible  <bruno@clisp.org>
35545
35546         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
35547         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
35548         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
35549         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
35550         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
35551         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
35552
35553 2007-10-31  Bruno Haible  <bruno@clisp.org>
35554
35555         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
35556         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
35557         (AC_TYPE_LONG_LONG_INT): Use it.
35558         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
35559         it as well.
35560         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
35561         to m4/longlong.m4.
35562         * modules/stdint (Files): Remove m4/ulonglong.m4.
35563         * modules/strtoull (Files): Use m4/longlong.m4 instead of
35564         m4/ulonglong.m4.
35565         * modules/strtoumax (Files): Likewise.
35566
35567 2007-10-30  Bruno Haible  <bruno@clisp.org>
35568
35569         * modules/xvasprintf-posix: New file.
35570         Suggested by Eric Blake.
35571
35572 2007-10-30  Bruno Haible  <bruno@clisp.org>
35573
35574         * modules/xprintf-posix-tests: New file.
35575         * tests/test-xprintf-posix.sh: New file.
35576         * tests/test-xprintf-posix.c: New file.
35577         * tests/test-xfprintf-posix.c: New file.
35578
35579         * modules/xprintf-posix: New file.
35580
35581 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35582
35583         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
35584         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
35585         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
35586
35587 2007-10-29  Bruno Haible  <bruno@clisp.org>
35588
35589         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
35590         contain the special marker '_cv_'.
35591         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
35592         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
35593         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
35594         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
35595         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
35596         Reported by Ralf Wildenhues.
35597
35598 2007-10-29  Bruno Haible  <bruno@clisp.org>
35599
35600         * gnulib-tool (func_import): When --lgpl is not specified, set
35601         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
35602         GPLv3.
35603         Reported by Simon Josefsson.
35604
35605 2007-10-28  Bruno Haible  <bruno@clisp.org>
35606
35607         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
35608         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
35609         HAVE_DECL_ISFINITE.
35610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
35611         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
35612         HAVE_DECL_ISFINITE.
35613
35614 2007-10-28  Bruno Haible  <bruno@clisp.org>
35615
35616         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
35617         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
35618
35619 2007-10-28  Bruno Haible  <bruno@clisp.org>
35620
35621         Fix link errors with Sun C 5.0 on Solaris 10.
35622         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
35623         function is declared but not present in the compiler's libm.
35624         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
35625         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
35626         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
35627         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
35628         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
35629         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
35630         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
35631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
35632         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
35633         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
35634         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
35635         HAVE_DECL_FLOORL.
35636
35637 2007-10-28  Bruno Haible  <bruno@clisp.org>
35638
35639         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
35640         gl_FUNC_FLOORL. Cache the result.
35641         (gl_FUNC_FLOORL): Use it.
35642         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
35643         gl_FUNC_CEILL. Cache the result.
35644         (gl_FUNC_CEILL): Use it.
35645
35646         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
35647         gl_FUNC_FLOOR. Cache the result.
35648         (gl_FUNC_FLOOR): Use it.
35649         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
35650         gl_FUNC_CEIL. Cache the result.
35651         (gl_FUNC_CEIL): Use it.
35652
35653         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
35654         gl_FUNC_FLOORF. Cache the result.
35655         (gl_FUNC_FLOORF): Use it.
35656         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
35657         gl_FUNC_CEILF. Cache the result.
35658         (gl_FUNC_CEILF): Use it.
35659
35660 2007-10-28  Bruno Haible  <bruno@clisp.org>
35661
35662         * gnulib-tool: Allow specifying the LGPL version number through
35663         --lgpl=2 or --lgpl=3.
35664         (func_usage): Document --lgpl with argument.
35665         Handle --lgpl=... arguments.
35666         (func_import): Recognize also gl_LGPL calls with an argument. When
35667         --lgpl=2 is used and the module's license is just LGPL, report an
35668         error. Set sed_transform_lib_file according to the lgpl variable. In
35669         the generated files, use --lgpl or gl_LGPL invocations with argument,
35670         if necessary.
35671         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
35672         an LGPv2+ license.
35673         * doc/gnulib-tool.texi (Modified imports): Update explanation of
35674         gl_LGPL macro.
35675
35676 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35677             Bruno Haible  <bruno@clisp.org>
35678
35679         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
35680         (u16_uctomb_aux): Likewise.
35681         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
35682         !HAVE_INLINE.
35683         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
35684
35685 2007-10-28  Bruno Haible  <bruno@clisp.org>
35686
35687         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
35688         Invoke AM_GETTEXT_OPTION if it exists.
35689         * modules/vasprintf: Likewise.
35690         * modules/verror: Likewise.
35691         * modules/xprintf: Likewise.
35692         * modules/xvasprintf: Likewise.
35693
35694 2007-10-27  Ben Pfaff  <blp@gnu.org>
35695
35696         * lib/math.in.h: Define isfinite macro and prototypes for
35697         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
35698         implementations.
35699         * m4/math_h.m4: New substitutions for isfinite module.
35700         * lib/isfinite.c: New file.
35701         * m4/isfinite.m4: New file.
35702         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
35703         * modules/isfinite: New file.
35704         * modules/isfinite-tests: New file.
35705         * tests/tests-isfinite.c: New file.
35706         * doc/functions/isfinite.texi: Mention isfinite module.
35707         * MODULES.html.sh: Mention new module.
35708
35709 2007-10-27  Ben Pfaff  <blp@gnu.org>
35710
35711         Ralf Wildenhues reported that Tru64 4.0D declares the round
35712         functions but does not have definitions.
35713         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
35714         cannot be found in any library, set the output variable to
35715         "missing" instead of "".
35716         * m4/round.m4: Also use our substitute if we cannot find round in
35717         any library, even if it is declared.
35718         * m4/roundf.m4: Likewise for roundf.
35719         * m4/roundl.m4: Likewise for roundl.
35720         * lib/math.in.h: Undefine roundf, round, roundl before defining
35721         their replacements, to allow for hypothetical systems where these
35722         may be defined as macros but not available in libraries.
35723
35724 2007-10-27  Bruno Haible  <bruno@clisp.org>
35725
35726         * doc/gnulib.texi: Invoke @firstparagraphindent.
35727         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
35728         changes in gnulib.
35729         (Source changes): New section.
35730
35731 2007-10-26  Bruno Haible  <bruno@clisp.org>
35732
35733         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
35734         borrowed from autoconf.
35735
35736 2007-10-26  Bruno Haible  <bruno@clisp.org>
35737
35738         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
35739         strerror returned the empty string. Needed on HP-UX 11.00.
35740
35741 2007-10-24  Micah Cowan  <micah@cowan.name>
35742
35743         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
35744         * build-aux/bootstrap: Remove support for now-unnecessary option,
35745         --cvs-user, and envvars CVS_USER, CVS_RSH.
35746
35747 2007-10-24  Jim Meyering  <meyering@redhat.com>
35748
35749         Avoid diagnostics from sha1sum when there is no cached checksum.
35750         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
35751         if the po.s1 file hasn't been created yet.
35752
35753         * build-aux/bootstrap: Sync from coreutils:
35754         2007-10-24  Jim Meyering  <meyering@redhat.com>
35755         Get gnulib from the git repository, not from an obsolete cvs one.
35756         * build-aux/bootstrap: Suggestion from Micah Cowan.
35757         2007-10-04  Jim Meyering  <jim@meyering.net>
35758         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
35759         (update_po_files): Work also when there are no .po files in po/.
35760
35761 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
35762
35763         * README: Append ".git" to git and cg examples.
35764         Problem reported by Benoit Sigoure.
35765
35766 2007-10-23  Micah Cowan  <micah@cowan.name>
35767
35768         * users.txt: Add wget.
35769
35770 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35771
35772         Fix linking of some unistdio tests on FreeBSD.
35773         * modules/unistdio/u16-vsnprintf-tests
35774         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
35775         * modules/unistdio/u16-vsprintf-tests
35776         (test_u16_vsnprintf1_LDADD): Likewise.
35777         * modules/unistdio/u32-vsnprintf-tests
35778         (test_u32_vsnprintf1_LDADD): Likewise.
35779         * modules/unistdio/u32-vsprintf-tests
35780         (test_u32_vsprintf1_LDADD): Likewise.
35781         * modules/unistdio/u8-vsnprintf-tests
35782         (test_u8_vsnprintf1_LDADD): Likewise.
35783         * modules/unistdio/u8-vsprintf-tests
35784         (test_u8_vsprintf1_LDADD): Likewise.
35785         * modules/unistdio/ulc-vsnprintf-tests
35786         (test_ulc_vsnprintf1_LDADD): Likewise.
35787         * modules/unistdio/ulc-vsprintf-tests
35788         (test_ulc_vsprintf1_LDADD): Likewise.
35789
35790         Fix linking of some uniconv tests on FreeBSD.
35791         * modules/uniconv/u16-conv-from-enc-tests
35792         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
35793         * modules/uniconv/u16-conv-to-enc-tests
35794         (test_u16_conv_to_enc_LDADD): Likewise.
35795         * modules/uniconv/u16-strconv-from-enc-tests
35796         (test_u16_strconv_from_enc_LDADD): Likewise.
35797         * modules/uniconv/u16-strconv-to-enc-tests
35798         (test_u16_strconv_to_enc_LDADD): Likewise.
35799         * modules/uniconv/u32-conv-from-enc-tests
35800         (test_u32_conv_from_enc_LDADD): Likewise.
35801         * modules/uniconv/u32-conv-to-enc-tests
35802         (test_u32_conv_to_enc_LDADD): Likewise.
35803         * modules/uniconv/u32-strconv-from-enc-tests
35804         (test_u32_strconv_from_enc_LDADD): Likewise.
35805         * modules/uniconv/u32-strconv-to-enc-tests
35806         (test_u32_strconv_to_enc_LDADD): Likewise.
35807         * modules/uniconv/u8-conv-from-enc-tests
35808         (test_u8_conv_from_enc_LDADD): Likewise.
35809         * modules/uniconv/u8-conv-to-enc-tests
35810         (test_u8_conv_to_enc_LDADD): Likewise.
35811         * modules/uniconv/u8-strconv-from-enc-tests
35812         (test_u8_strconv_from_enc_LDADD): Likewise.
35813         * modules/uniconv/u8-strconv-to-enc-tests
35814         (test_u8_strconv_to_enc_LDADD): Likewise.
35815
35816 2007-10-22  Bruno Haible  <bruno@clisp.org>
35817
35818         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
35819         size.
35820
35821 2007-10-22  Eric Blake  <ebb9@byu.net>
35822
35823         Tweak x*printf documentation.
35824         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
35825         variable name and comments.
35826         Suggested by Bruno Haible.
35827
35828 2007-10-22  Bruno Haible  <bruno@clisp.org>
35829
35830         * lib/acl.c (copy_acl): Fix file name in comment.
35831
35832 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
35833
35834         Fix Tru64 problem with stdbool.h.
35835         * lib/stdbool.in.h (false, true):
35836         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
35837         Don't declare as an enum in this situation; it runs afoul of Tru64.
35838         Problem reported by Steven M. Schweda in
35839         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
35840
35841 2007-10-22  Eric Blake  <ebb9@byu.net>
35842
35843         Also wrap vf?printf.
35844         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
35845         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
35846         (xvprintf, xvfprintf): New functions.
35847
35848 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35849
35850         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
35851         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
35852
35853         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
35854         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
35855
35856 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
35857
35858         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
35859         by Bruno Haible.
35860
35861 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35862
35863         * lib/getloadavg.c
35864         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
35865         Undef `sys' after including sys/table.h, for Tru64 4.0D.
35866
35867         * tests/test-i-ring.c: Work for C89.
35868
35869 2007-10-22  Bruno Haible  <bruno@clisp.org>
35870
35871         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
35872         -1u, in preprocessor expression, so that we don't test for the bug
35873         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
35874         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
35875
35876 2007-10-22  Eric Blake  <ebb9@byu.net>
35877
35878         * tests/test-yesno.sh: Silence stderr during test.
35879
35880 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35881
35882         * modules/crypto/gc-camellia: New file.
35883
35884         * m4/gc-camellia.m4: New file.
35885
35886         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
35887
35888         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
35889
35890 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35891
35892         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
35893         --help to stdout.  Reported by sms@antinode.org (Steven
35894         M. Schweda).
35895
35896 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35897
35898         * users.txt: Fix link to libksba.
35899
35900 2007-10-21  Ben Pfaff  <blp@gnu.org>
35901
35902         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
35903         round.c roundf implementation that depends on floorf and ceilf to
35904         be tested unconditionally.
35905
35906 2007-10-21  Ben Pfaff  <blp@gnu.org>
35907
35908         * m4/check-libm-func.m4: Removed.
35909         * m4/check-math-lib.m4: New file.
35910         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
35911         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
35912         definition and lack of AC_LIBOBJ([roundf]).
35913         * m4/roundl.m4: Ditto, and similarly for roundl.
35914         * modules/round: Reference new m4 file.
35915         * modules/roundf: Ditto.
35916         * modules/roundl: Ditto.
35917         * tests/test-round2.c (main): Use ROUND instead of round.
35918         Bug report from Bruno Haible.
35919
35920 2007-10-21  Bruno Haible  <bruno@clisp.org>
35921
35922         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
35923         context.
35924
35925 2007-10-21  Bruno Haible  <bruno@clisp.org>
35926
35927         * tests/test-wcwidth.c (main): Allow negative result for some control
35928         characters.
35929
35930         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
35931         Needed on OSF/1 5.1.
35932
35933 2007-10-21  Bruno Haible  <bruno@clisp.org>
35934
35935         * tests/test-floorf1.c: Include isnanf.h.
35936         (main): Use isnanf() instead of isnan().
35937         * tests/test-ceilf1.c: Include isnanf.h.
35938         (main): Use isnanf() instead of isnan().
35939         * tests/test-truncf1.c: Include isnanf.h.
35940         (main): Use isnanf() instead of isnan().
35941         * tests/test-roundf1.c: Include isnanf.h.
35942         (main): Use isnanf() instead of isnan().
35943
35944 2007-10-21  Eric Blake  <ebb9@byu.net>
35945
35946         * users.txt: Update URL for m4.
35947
35948 2007-10-21  Bruno Haible  <bruno@clisp.org>
35949
35950         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
35951
35952 2007-10-21  Bruno Haible  <bruno@clisp.org>
35953
35954         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
35955         Git's management files if the CVS files are not present.
35956
35957 2007-10-20  Bruno Haible  <bruno@clisp.org>
35958
35959         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
35960         gcc-3.4.x.
35961
35962 2007-10-20  Ben Pfaff  <blp@gnu.org>
35963
35964         * lib/math.in.h: Declare round, roundf, roundl if we are providing
35965         implementations.
35966         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
35967         * lib/round.c: New file.
35968         * lib/roundf.c: New file.
35969         * lib/roundl.c: New file.
35970         * m4/round.m4: New file.
35971         * m4/roundf.m4: New file.
35972         * m4/roundl.m4: New file.
35973         * m4/check-libm-func-m4: New file.
35974         * modules/math: Replace round, roundf, roundl related @VARS@ in
35975         math.in.h.
35976         * modules/round: New file.
35977         * modules/round-tests: New file.
35978         * modules/roundf: New file.
35979         * modules/roundf-tests: New file.
35980         * modules/roundl: New file.
35981         * modules/roundl-tests: New file.
35982         * tests/test-round1.c: New file.
35983         * tests/test-round2.c: New file.
35984         * tests/test-roundf1.c: New file.
35985         * tests/test-roundf2.c: New file.
35986         * tests/test-roundl.c: New file.
35987         * doc/functions/round.texi: Mention round module.
35988         * doc/functions/roundf.texi: Mention roundf module.
35989         * doc/functions/roundl.texi: Mention roundl module.
35990         * MODULES.html.sh: Mention new modules.
35991         Thanks to Bruno Haible for suggestions.
35992
35993 2007-10-20  Jim Meyering  <meyering@redhat.com>
35994
35995         * lib/xprintf.c: Include <config.h> unconditionally.
35996
35997         Change xprintf's license to GPL.
35998         * modules/xprintf (License): s/LGPL/GPL/, since this module
35999         depends on modules (exit and exitfail) which are GPL.
36000         Suggestion from Bruno Haible.
36001
36002         xprintf fixes.
36003         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
36004         Use a clearer diagnostic.
36005         Patch from Bruno Haible.
36006
36007 2007-10-20  Bruno Haible  <bruno@clisp.org>
36008
36009         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
36010         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
36011         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36012
36013 2007-10-20  Bruno Haible  <bruno@clisp.org>
36014
36015         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
36016         precision in the comparison result > x - 1 or similar.
36017         * tests/test-ceilf2.c (correct_result_p): Likewise.
36018         * tests/test-truncf2.c (correct_result_p): Likewise.
36019         * tests/test-trunc2.c (correct_result_p): Likewise.
36020         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36021
36022 2007-10-20  Bruno Haible  <bruno@clisp.org>
36023
36024         * modules/ceil: New file.
36025         * m4/ceil.m4: New file.
36026         * doc/functions/ceil.texi: Mention the 'ceil' module.
36027
36028 2007-10-20  Bruno Haible  <bruno@clisp.org>
36029
36030         * modules/floor: New file.
36031         * m4/floor.m4: New file.
36032         * doc/functions/floor.texi: Mention the 'floor' module.
36033
36034 2007-10-20  Bruno Haible  <bruno@clisp.org>
36035
36036         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
36037         of %a.
36038         * modules/floorf-tests (Depends-on): Likewise.
36039         * modules/truncf-tests (Depends-on): Likewise.
36040         * modules/trunc-tests (Depends-on): Likewise.
36041         Reported by Ben Pfaff.
36042
36043 2007-10-19  Jim Meyering  <meyering@redhat.com>
36044
36045         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
36046         Don't bother testing specific errno values.  Just test ferror.
36047
36048         New module: xprintf
36049         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
36050
36051 2007-10-19  Bruno Haible  <bruno@clisp.org>
36052
36053         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
36054         syntax.
36055         * modules/javaexec (Makefile.am): Likewise.
36056         * modules/relocatable-prog (Makefile.am): Likewise.
36057         Suggested by Jim Meyering.
36058
36059 2007-10-18  Bruno Haible  <bruno@clisp.org>
36060
36061         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
36062         Reported by Jim Meyering.
36063
36064 2007-10-18  Eric Blake  <ebb9@byu.net>
36065
36066         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
36067
36068 2007-10-18  Bruno Haible  <bruno@clisp.org>
36069
36070         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
36071         the format string into writable memory. Needed in Fortify conditions.
36072
36073 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
36074             Bruno Haible  <bruno@clisp.org>
36075
36076         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
36077         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
36078         * modules/trim (Depends-on): Add mbchar.
36079         (configure.ac): Add gl_FUNC_MBRTOWC.
36080         (Makefile.am): Augment lib_SOURCES.
36081
36082 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
36083
36084         Modify glob.c to use fstatat and dirfd, to simplify it.
36085         Suggested by Eric Blake.
36086         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
36087         Don't include <stdbool.h>; not used.
36088         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
36089         (link_exists_p): Simplify implementation, since we can now assume
36090         dirfd and fstatat.
36091         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
36092
36093 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36094
36095         * gnulib-tool (func_get_dependencies): Fix sed script to
36096         match only tests.
36097
36098 2007-10-17  Bruno Haible  <bruno@clisp.org>
36099
36100         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
36101         allow locale names without encoding suffix.
36102         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
36103         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36104
36105 2007-10-16  Bruno Haible  <bruno@clisp.org>
36106
36107         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
36108         * lib/getgroups.c (getgroups): Likewise.
36109         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
36110
36111 2007-10-16  Bruno Haible  <bruno@clisp.org>
36112
36113         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
36114         * modules/malloc-posix (License): Likewise.
36115         * modules/realloc-posix (License): Likewise.
36116         * modules/calloc-posix (License): Likewise.
36117         * modules/intprops (License): Change from GPL to LGPL, with
36118         Paul Eggert's approval.
36119
36120 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36121
36122         Merge glibc changes into lib/glob.c.
36123
36124         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
36125         2007-10-15 04:59:03 UTC.  Here are the changes:
36126
36127         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
36128
36129         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
36130
36131         * lib/glob.c: Add some branch prediction throughout.
36132
36133         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
36134
36135         [BZ #5103]
36136         * lib/glob.c (glob): Recognize patterns starting \/.
36137
36138         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
36139
36140         [BZ #3996]
36141         * lib/glob.c (attribute_hidden): Define if not defined.
36142         (glob): Unescape dirname, filename or username when needed and not
36143         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
36144         is NULL.  Handle unescaped [ in pattern without closing ].
36145         Don't pass GLOB_CHECK down to recursive glob for directories.
36146         (__glob_pattern_type): New function.
36147         (__glob_pattern_p): Implement using __glob_pattern_type.
36148         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
36149         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
36150         Remove unreachable code.
36151
36152         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
36153
36154         * lib/glob.c (glob_in_dir): Add some comments and asserts to
36155         explain why there are no leaks.
36156
36157         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
36158
36159         [BZ #3253]
36160         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
36161         time, rather allocate increasingly bigger arrays of pointers, if
36162         possible with alloca, if too large with malloc.
36163
36164 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36165
36166         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
36167         Problem reported by H.Merijn Brand in
36168         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
36169         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
36170         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
36171
36172 2007-10-15  Bruno Haible  <bruno@clisp.org>
36173
36174         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
36175         with explicit rpl_ prefix.
36176         * lib/fopen.c (fopen): Likewise.
36177         * lib/freopen.c (freopen): Likewise.
36178         * lib/iconv.c (iconv): Likewise.
36179         * lib/iconv_close.c (iconv_close): Likewise.
36180
36181 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36182
36183         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
36184
36185 2007-10-15  Bruno Haible  <bruno@clisp.org>
36186
36187         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
36188         <stddef.h> instead of <stdlib.h> since we only need NULL.
36189         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36190
36191 2007-10-15  Bruno Haible  <bruno@clisp.org>
36192
36193         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
36194         Replace paragraph talking about LIBOBJS.
36195         Reported by Colin Watson <cjwatson@debian.org>.
36196
36197 2007-10-15  Bruno Haible  <bruno@clisp.org>
36198
36199         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
36200         <stdlib.h> before using NULL.
36201
36202 2007-10-15  Simon Josefsson  <simon@josefsson.org>
36203
36204         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
36205         Reported by Albert Chin <china@thewrittenword.com>.
36206
36207 2007-10-14  Bruno Haible  <bruno@clisp.org>
36208
36209         * modules/iconv_open-utf-tests: New file.
36210         * tests/test-iconv-utf.c: New file.
36211
36212         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
36213         * modules/iconv_open-utf: New file.
36214         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
36215         (iconv, iconv_close): New declarations.
36216         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
36217         be defined.
36218         (iconv_open): Add special handling of conversion between UTF-8 and
36219         UTF-{16,32}{BE,LE}.
36220         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
36221         * lib/iconv_close.c: New file.
36222         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
36223         gl_FUNC_ICONV_OPEN.
36224         (gl_FUNC_ICONV_OPEN): Use it.
36225         (gl_FUNC_ICONV_OPEN_UTF): New macro.
36226         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
36227         and REPLACE_ICONV_UTF.
36228         * modules/iconv_open (Depends-on): Add c-strcase.
36229         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
36230         ICONV_CONST.
36231         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
36232
36233 2007-10-13  Albert Chin  <china@thewrittenword.com>
36234             Bruno Haible  <bruno@clisp.org>
36235
36236         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
36237         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
36238
36239 2007-10-13  Bruno Haible  <bruno@clisp.org>
36240
36241         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
36242         defined, use the ISO C99 inline semantics.
36243         * lib/argp.h (ARGP_EI): Likewise.
36244
36245 2007-10-13  Bruno Haible  <bruno@clisp.org>
36246
36247         Handle 'inline' change in gcc 4.3.0.
36248         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
36249         argp_fmtstream_write, argp_fmtstream_set_lmargin,
36250         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
36251         argp_fmtstream_point): Disable 'extern' declaration if the function
36252         definition is going to be provided inline.
36253         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
36254         semantics, not the ISO C99 inline semantics.
36255         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
36256         'extern' declaration if the function definition is going to be provided
36257         inline.
36258         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
36259         the GNU C inline semantics, not the ISO C99 inline semantics. With
36260         GCC 4.2, avoid a warning.
36261
36262 2007-10-13  Bruno Haible  <bruno@clisp.org>
36263
36264         * lib/freading.h (freading): Enable the use of __freading for
36265         glibc >= 2.7.
36266         * lib/freading.c (freading): Likewise.
36267
36268 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
36269
36270         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
36271         "warning: C99 inline functions are not supported; using GNU89".
36272
36273 2007-10-12  Bruno Haible  <bruno@clisp.org>
36274
36275         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
36276         of 2.
36277         * tests/test-ceilf2.c: New file.
36278         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
36279
36280         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
36281         * modules/ceilf-tests: Update.
36282
36283 2007-10-12  Bruno Haible  <bruno@clisp.org>
36284
36285         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
36286         of 2.
36287         * tests/test-floorf2.c: New file.
36288         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
36289
36290         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
36291         * modules/floorf-tests: Update.
36292
36293 2007-10-12  Bruno Haible  <bruno@clisp.org>
36294
36295         * tests/test-trunc2.c: New file.
36296         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
36297
36298         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
36299         * modules/trunc-tests: Update.
36300
36301 2007-10-12  Bruno Haible  <bruno@clisp.org>
36302
36303         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
36304         of 2.
36305         * tests/test-truncf2.c: New file.
36306         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
36307
36308         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
36309         * modules/truncf-tests: Update.
36310
36311 2007-10-11  Eric Blake  <ebb9@byu.net>
36312
36313         Don't claim strerror is broken on Interix.
36314         * doc/functions/strerror.texi (strerror): Known broken systems are
36315         now Solaris 8, and not Interix.
36316         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
36317         Interix on cross-compile.
36318         Reported by Martin Koeppe in
36319         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
36320
36321 2007-10-11  Bruno Haible  <bruno@clisp.org>
36322
36323         * modules/i-ring-tests: New file.
36324         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
36325         instead of assert.
36326
36327 2007-10-11  Bruno Haible  <bruno@clisp.org>
36328
36329         * modules/filenamecat-tests: New file.
36330         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
36331         * lib/filenamecat.c: Remove test code.
36332
36333 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
36334
36335         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
36336
36337         * lib/strerror.c: Include <string.h> always, to test interface,
36338         and to remove the need for the dummy.
36339         Include intprops.h to compute width instead of doing it ourselves
36340         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
36341         (strerror): Define it to return NULL if there's no system strerror.
36342         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
36343         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
36344         ancient pre-strerror Unix systems well any more.  Saying "unknown
36345         system error" is enough.
36346         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
36347         simpler strerror.c implementation.
36348         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
36349         Simplify the tests to reflect the simpler strerror implementation.
36350         * modules/strerror (Depends-on): Add intprops.
36351
36352 2007-10-09  Eric Blake  <ebb9@byu.net>
36353
36354         Silence test-fpending.
36355         * modules/fpending-tests (Files): Add wrapper script.
36356         * tests/test-fpending.sh: New file.
36357
36358 2007-10-09  Bruno Haible  <bruno@clisp.org>
36359
36360         * MODULES.html.sh (func_module): Don't create a hyperlink for
36361         function names like 'printf_frexp'.
36362         (Misc): Add crc, memxor.
36363         (Characteristics of floating types): New section.
36364         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
36365         isnanf-nolibm, signbit, trunc, truncf, truncl.
36366         (Enhancements for ISO C 99 functions): New subsection Input/output.
36367         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
36368         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
36369         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
36370         (Compatibility checks for POSIX:2001 functions): Add clock-time.
36371         (Enhancements for POSIX:2001 functions): Add chdir-long.
36372         (File system functions): Add areadlink, chdir-safer, read-file.
36373         Remove cycle-check.
36374         (File system as inode set): New section.
36375         (Date and time): Add gethrxtime.
36376         (Multithreading): Add openmp.
36377         (Internationalization functions): Add localename.
36378         (Unicode string functions): Add unistr/u*-mbsnlen.
36379         (Support for maintaining and releasing projects): Add git-version-gen.
36380         (Lone files): Remove directories.
36381
36382 2007-10-08  Ben Pfaff  <blp@gnu.org>
36383
36384         * lib/xmalloca.h: Fix typo in comment.
36385
36386 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
36387
36388         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
36389         when avoiding problems with integer overflow.  Use a portable test
36390         instead.
36391
36392 2007-10-08  Simon Josefsson  <simon@josefsson.org>
36393
36394         * modules/dummy (License): Change to LGPLv2+.
36395         * modules/float (License): Likewise
36396         * modules/realloc (License): Likewise
36397         * modules/stdlib (License): Likewise
36398
36399 2007-10-07  Bruno Haible  <bruno@clisp.org>
36400
36401         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
36402         * floor.c (TWO_MANT_DIG): Likewise.
36403         * ceil.c (TWO_MANT_DIG): Likewise.
36404         Reported by Ben Pfaff.
36405
36406 2007-10-07  Bruno Haible  <bruno@clisp.org>
36407
36408         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
36409         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
36410         * lib/frexp.c (FUNC): Likewise.
36411         * lib/printf-frexp.h (printf_frexp): Likewise.
36412         * lib/printf-frexpl.h (printf_frexpl): Likewise.
36413         * lib/printf-frexp.c (FUNC): Likewise.
36414         Suggested by Jim Meyering.
36415
36416 2007-10-07  Jim Meyering  <meyering@redhat.com>
36417
36418         Make xnanosleep's integer overflow test more robust.
36419         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
36420         so that gcc-4.3.0 doesn't optimize away this test for overflow.
36421
36422 2007-10-07  Bruno Haible  <bruno@clisp.org>
36423
36424         * NEWS: Mention the license change.
36425
36426         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
36427         abbreviations in the modules files.
36428
36429         Change copyright notice from GPLv2+ to GPLv3+.
36430         * README: Change copyright notice.
36431         * MODULES.html.sh: Likewise.
36432         * build-aux/bootstrap.conf: Likewise.
36433         * build-aux/config.libpath: Likewise.
36434         * build-aux/csharpcomp.sh.in: Likewise.
36435         * build-aux/csharpexec.sh.in: Likewise.
36436         * build-aux/install-reloc: Likewise.
36437         * build-aux/javacomp.sh.in: Likewise.
36438         * build-aux/javaexec.sh.in: Likewise.
36439         * build-aux/ldd.sh.in: Likewise.
36440         * build-aux/reloc-ldflags: Likewise.
36441         * build-aux/relocatable.sh.in: Likewise.
36442         * build-aux/x-to-1.in: Likewise.
36443         * check-module: Likewise.
36444         * config/srclistvars.sh: Likewise.
36445         * gnulib-tool: Likewise.
36446         * lib/acl-internal.h: Likewise.
36447         * lib/acl.c: Likewise.
36448         * lib/acl.h: Likewise.
36449         * lib/acl_entries.c: Likewise.
36450         * lib/areadlink-with-size.c: Likewise.
36451         * lib/areadlink.c: Likewise.
36452         * lib/areadlink.h: Likewise.
36453         * lib/argmatch.c: Likewise.
36454         * lib/argmatch.h: Likewise.
36455         * lib/argp-ba.c: Likewise.
36456         * lib/argp-eexst.c: Likewise.
36457         * lib/argp-fmtstream.c: Likewise.
36458         * lib/argp-fmtstream.h: Likewise.
36459         * lib/argp-fs-xinl.c: Likewise.
36460         * lib/argp-help.c: Likewise.
36461         * lib/argp-namefrob.h: Likewise.
36462         * lib/argp-parse.c: Likewise.
36463         * lib/argp-pin.c: Likewise.
36464         * lib/argp-pv.c: Likewise.
36465         * lib/argp-pvh.c: Likewise.
36466         * lib/argp-xinl.c: Likewise.
36467         * lib/argp.h: Likewise.
36468         * lib/at-func.c: Likewise.
36469         * lib/atanl.c: Likewise.
36470         * lib/backupfile.c: Likewise.
36471         * lib/backupfile.h: Likewise.
36472         * lib/basename.c: Likewise.
36473         * lib/binary-io.h: Likewise.
36474         * lib/byteswap.in.h: Likewise.
36475         * lib/c-stack.c: Likewise.
36476         * lib/c-stack.h: Likewise.
36477         * lib/c-strcasestr.c: Likewise.
36478         * lib/c-strcasestr.h: Likewise.
36479         * lib/c-strstr.c: Likewise.
36480         * lib/c-strstr.h: Likewise.
36481         * lib/c-strtod.c: Likewise.
36482         * lib/calloc.c: Likewise.
36483         * lib/canon-host.c: Likewise.
36484         * lib/canon-host.h: Likewise.
36485         * lib/canonicalize-lgpl.c: Likewise.
36486         * lib/canonicalize.c: Likewise.
36487         * lib/canonicalize.h: Likewise.
36488         * lib/ceil.c: Likewise.
36489         * lib/ceilf.c: Likewise.
36490         * lib/ceill.c: Likewise.
36491         * lib/chdir-long.c: Likewise.
36492         * lib/chdir-long.h: Likewise.
36493         * lib/chdir-safer.c: Likewise.
36494         * lib/chdir-safer.h: Likewise.
36495         * lib/chown.c: Likewise.
36496         * lib/classpath.c: Likewise.
36497         * lib/classpath.h: Likewise.
36498         * lib/clean-temp.c: Likewise.
36499         * lib/clean-temp.h: Likewise.
36500         * lib/cloexec.c: Likewise.
36501         * lib/close-stream.c: Likewise.
36502         * lib/closein.c: Likewise.
36503         * lib/closein.h: Likewise.
36504         * lib/closeout.c: Likewise.
36505         * lib/closeout.h: Likewise.
36506         * lib/concat-filename.c: Likewise.
36507         * lib/copy-file.c: Likewise.
36508         * lib/copy-file.h: Likewise.
36509         * lib/count-one-bits.h: Likewise.
36510         * lib/crc.c: Likewise.
36511         * lib/crc.h: Likewise.
36512         * lib/creat-safer.c: Likewise.
36513         * lib/csharpcomp.c: Likewise.
36514         * lib/csharpcomp.h: Likewise.
36515         * lib/csharpexec.c: Likewise.
36516         * lib/csharpexec.h: Likewise.
36517         * lib/cycle-check.c: Likewise.
36518         * lib/cycle-check.h: Likewise.
36519         * lib/diacrit.c: Likewise.
36520         * lib/diacrit.h: Likewise.
36521         * lib/diffseq.h: Likewise.
36522         * lib/dirchownmod.c: Likewise.
36523         * lib/dirent.in.h: Likewise.
36524         * lib/dirfd.c: Likewise.
36525         * lib/dirfd.h: Likewise.
36526         * lib/dirname.c: Likewise.
36527         * lib/dirname.h: Likewise.
36528         * lib/dummy.c: Likewise.
36529         * lib/dup-safer.c: Likewise.
36530         * lib/dup2.c: Likewise.
36531         * lib/eealloc.h: Likewise.
36532         * lib/error.c: Likewise.
36533         * lib/error.h: Likewise.
36534         * lib/euidaccess.c: Likewise.
36535         * lib/exclude.c: Likewise.
36536         * lib/exclude.h: Likewise.
36537         * lib/execute.c: Likewise.
36538         * lib/execute.h: Likewise.
36539         * lib/exitfail.c: Likewise.
36540         * lib/exitfail.h: Likewise.
36541         * lib/expl.c: Likewise.
36542         * lib/fatal-signal.c: Likewise.
36543         * lib/fatal-signal.h: Likewise.
36544         * lib/fbufmode.c: Likewise.
36545         * lib/fbufmode.h: Likewise.
36546         * lib/fchdir.c: Likewise.
36547         * lib/fchmodat.c: Likewise.
36548         * lib/fchownat.c: Likewise.
36549         * lib/fcntl--.h: Likewise.
36550         * lib/fcntl-safer.h: Likewise.
36551         * lib/fcntl.in.h: Likewise.
36552         * lib/fd-safer.c: Likewise.
36553         * lib/fflush.c: Likewise.
36554         * lib/file-has-acl.c: Likewise.
36555         * lib/file-set.c: Likewise.
36556         * lib/file-type.c: Likewise.
36557         * lib/file-type.h: Likewise.
36558         * lib/fileblocks.c: Likewise.
36559         * lib/filemode.c: Likewise.
36560         * lib/filemode.h: Likewise.
36561         * lib/filename.h: Likewise.
36562         * lib/filenamecat.c: Likewise.
36563         * lib/filenamecat.h: Likewise.
36564         * lib/findprog.c: Likewise.
36565         * lib/findprog.h: Likewise.
36566         * lib/float.in.h: Likewise.
36567         * lib/floor.c: Likewise.
36568         * lib/floorf.c: Likewise.
36569         * lib/floorl.c: Likewise.
36570         * lib/fopen-safer.c: Likewise.
36571         * lib/fopen.c: Likewise.
36572         * lib/fpending.c: Likewise.
36573         * lib/fpending.h: Likewise.
36574         * lib/fprintf.c: Likewise.
36575         * lib/fprintftime.h: Likewise.
36576         * lib/fpucw.h: Likewise.
36577         * lib/fpurge.c: Likewise.
36578         * lib/fpurge.h: Likewise.
36579         * lib/freadable.c: Likewise.
36580         * lib/freadable.h: Likewise.
36581         * lib/freadahead.c: Likewise.
36582         * lib/freadahead.h: Likewise.
36583         * lib/freading.c: Likewise.
36584         * lib/freading.h: Likewise.
36585         * lib/free.c: Likewise.
36586         * lib/freopen.c: Likewise.
36587         * lib/frexp.c: Likewise.
36588         * lib/frexpl.c: Likewise.
36589         * lib/fseek.c: Likewise.
36590         * lib/fseterr.c: Likewise.
36591         * lib/fseterr.h: Likewise.
36592         * lib/fstatat.c: Likewise.
36593         * lib/fstrcmp.c: Likewise.
36594         * lib/fstrcmp.h: Likewise.
36595         * lib/fsusage.c: Likewise.
36596         * lib/fsusage.h: Likewise.
36597         * lib/ftell.c: Likewise.
36598         * lib/ftello.c: Likewise.
36599         * lib/fts-cycle.c: Likewise.
36600         * lib/fts.c: Likewise.
36601         * lib/fts_.h: Likewise.
36602         * lib/full-read.c: Likewise.
36603         * lib/full-read.h: Likewise.
36604         * lib/full-write.c: Likewise.
36605         * lib/full-write.h: Likewise.
36606         * lib/fwritable.c: Likewise.
36607         * lib/fwritable.h: Likewise.
36608         * lib/fwriteerror.c: Likewise.
36609         * lib/fwriteerror.h: Likewise.
36610         * lib/fwriting.c: Likewise.
36611         * lib/fwriting.h: Likewise.
36612         * lib/gcd.c: Likewise.
36613         * lib/gcd.h: Likewise.
36614         * lib/getcwd.c: Likewise.
36615         * lib/getdate.h: Likewise.
36616         * lib/getdate.y: Likewise.
36617         * lib/getdomainname.c: Likewise.
36618         * lib/getdomainname.h: Likewise.
36619         * lib/getgroups.c: Likewise.
36620         * lib/gethostname.c: Likewise.
36621         * lib/gethrxtime.c: Likewise.
36622         * lib/gethrxtime.h: Likewise.
36623         * lib/getloadavg.c: Likewise.
36624         * lib/getndelim2.c: Likewise.
36625         * lib/getndelim2.h: Likewise.
36626         * lib/getnline.c: Likewise.
36627         * lib/getnline.h: Likewise.
36628         * lib/getopt.c: Likewise.
36629         * lib/getopt.in.h: Likewise.
36630         * lib/getopt1.c: Likewise.
36631         * lib/getopt_int.h: Likewise.
36632         * lib/getpagesize.h: Likewise.
36633         * lib/getsubopt.c: Likewise.
36634         * lib/gettime.c: Likewise.
36635         * lib/getugroups.c: Likewise.
36636         * lib/getugroups.h: Likewise.
36637         * lib/getusershell.c: Likewise.
36638         * lib/gl_anyavltree_list1.h: Likewise.
36639         * lib/gl_anyavltree_list2.h: Likewise.
36640         * lib/gl_anyhash_list1.h: Likewise.
36641         * lib/gl_anyhash_list2.h: Likewise.
36642         * lib/gl_anylinked_list1.h: Likewise.
36643         * lib/gl_anylinked_list2.h: Likewise.
36644         * lib/gl_anyrbtree_list1.h: Likewise.
36645         * lib/gl_anyrbtree_list2.h: Likewise.
36646         * lib/gl_anytree_list1.h: Likewise.
36647         * lib/gl_anytree_list2.h: Likewise.
36648         * lib/gl_anytree_oset.h: Likewise.
36649         * lib/gl_anytreehash_list1.h: Likewise.
36650         * lib/gl_anytreehash_list2.h: Likewise.
36651         * lib/gl_array_list.c: Likewise.
36652         * lib/gl_array_list.h: Likewise.
36653         * lib/gl_array_oset.c: Likewise.
36654         * lib/gl_array_oset.h: Likewise.
36655         * lib/gl_avltree_list.c: Likewise.
36656         * lib/gl_avltree_list.h: Likewise.
36657         * lib/gl_avltree_oset.c: Likewise.
36658         * lib/gl_avltree_oset.h: Likewise.
36659         * lib/gl_avltreehash_list.c: Likewise.
36660         * lib/gl_avltreehash_list.h: Likewise.
36661         * lib/gl_carray_list.c: Likewise.
36662         * lib/gl_carray_list.h: Likewise.
36663         * lib/gl_linked_list.c: Likewise.
36664         * lib/gl_linked_list.h: Likewise.
36665         * lib/gl_linkedhash_list.c: Likewise.
36666         * lib/gl_linkedhash_list.h: Likewise.
36667         * lib/gl_list.c: Likewise.
36668         * lib/gl_list.h: Likewise.
36669         * lib/gl_oset.c: Likewise.
36670         * lib/gl_oset.h: Likewise.
36671         * lib/gl_rbtree_list.c: Likewise.
36672         * lib/gl_rbtree_list.h: Likewise.
36673         * lib/gl_rbtree_oset.c: Likewise.
36674         * lib/gl_rbtree_oset.h: Likewise.
36675         * lib/gl_rbtreehash_list.c: Likewise.
36676         * lib/gl_rbtreehash_list.h: Likewise.
36677         * lib/gl_sublist.c: Likewise.
36678         * lib/gl_sublist.h: Likewise.
36679         * lib/group-member.c: Likewise.
36680         * lib/group-member.h: Likewise.
36681         * lib/hard-locale.c: Likewise.
36682         * lib/hard-locale.h: Likewise.
36683         * lib/hash-pjw.c: Likewise.
36684         * lib/hash-pjw.h: Likewise.
36685         * lib/hash-triple.c: Likewise.
36686         * lib/hash.c: Likewise.
36687         * lib/hash.h: Likewise.
36688         * lib/human.c: Likewise.
36689         * lib/human.h: Likewise.
36690         * lib/i-ring.c: Likewise.
36691         * lib/i-ring.h: Likewise.
36692         * lib/idcache.c: Likewise.
36693         * lib/imaxabs.c: Likewise.
36694         * lib/imaxdiv.c: Likewise.
36695         * lib/inet_pton.c: Likewise.
36696         * lib/inet_pton.h: Likewise.
36697         * lib/intprops.h: Likewise.
36698         * lib/inttostr.c: Likewise.
36699         * lib/inttostr.h: Likewise.
36700         * lib/inttypes.in.h: Likewise.
36701         * lib/isapipe.c: Likewise.
36702         * lib/isdir.c: Likewise.
36703         * lib/isnan.c: Likewise.
36704         * lib/isnan.h: Likewise.
36705         * lib/isnanf.c: Likewise.
36706         * lib/isnanf.h: Likewise.
36707         * lib/isnanl-nolibm.h: Likewise.
36708         * lib/isnanl.c: Likewise.
36709         * lib/isnanl.h: Likewise.
36710         * lib/javacomp.c: Likewise.
36711         * lib/javacomp.h: Likewise.
36712         * lib/javaexec.c: Likewise.
36713         * lib/javaexec.h: Likewise.
36714         * lib/javaversion.c: Likewise.
36715         * lib/javaversion.h: Likewise.
36716         * lib/javaversion.java: Likewise.
36717         * lib/lbrkprop.h: Likewise.
36718         * lib/lchmod.h: Likewise.
36719         * lib/lchown.c: Likewise.
36720         * lib/ldexpl.c: Likewise.
36721         * lib/linebreak.c: Likewise.
36722         * lib/linebreak.h: Likewise.
36723         * lib/linebuffer.c: Likewise.
36724         * lib/linebuffer.h: Likewise.
36725         * lib/locale.in.h: Likewise.
36726         * lib/logl.c: Likewise.
36727         * lib/long-options.c: Likewise.
36728         * lib/long-options.h: Likewise.
36729         * lib/lstat.c: Likewise.
36730         * lib/lstat.h: Likewise.
36731         * lib/math.in.h: Likewise.
36732         * lib/mbchar.c: Likewise.
36733         * lib/mbchar.h: Likewise.
36734         * lib/mbfile.h: Likewise.
36735         * lib/mbiter.h: Likewise.
36736         * lib/mbscasecmp.c: Likewise.
36737         * lib/mbscasestr.c: Likewise.
36738         * lib/mbschr.c: Likewise.
36739         * lib/mbscspn.c: Likewise.
36740         * lib/mbslen.c: Likewise.
36741         * lib/mbsncasecmp.c: Likewise.
36742         * lib/mbsnlen.c: Likewise.
36743         * lib/mbspbrk.c: Likewise.
36744         * lib/mbspcasecmp.c: Likewise.
36745         * lib/mbsrchr.c: Likewise.
36746         * lib/mbssep.c: Likewise.
36747         * lib/mbsspn.c: Likewise.
36748         * lib/mbsstr.c: Likewise.
36749         * lib/mbstok_r.c: Likewise.
36750         * lib/mbswidth.c: Likewise.
36751         * lib/mbswidth.h: Likewise.
36752         * lib/mbuiter.h: Likewise.
36753         * lib/memcasecmp.c: Likewise.
36754         * lib/memcasecmp.h: Likewise.
36755         * lib/memchr.c: Likewise.
36756         * lib/memcmp.c: Likewise.
36757         * lib/memcoll.c: Likewise.
36758         * lib/memcoll.h: Likewise.
36759         * lib/memcpy.c: Likewise.
36760         * lib/memrchr.c: Likewise.
36761         * lib/mkancesdirs.c: Likewise.
36762         * lib/mkdir-p.c: Likewise.
36763         * lib/mkdir-p.h: Likewise.
36764         * lib/mkdir.c: Likewise.
36765         * lib/mkdirat.c: Likewise.
36766         * lib/mkdtemp.c: Likewise.
36767         * lib/mkstemp-safer.c: Likewise.
36768         * lib/mkstemp.c: Likewise.
36769         * lib/modechange.c: Likewise.
36770         * lib/modechange.h: Likewise.
36771         * lib/mountlist.c: Likewise.
36772         * lib/mountlist.h: Likewise.
36773         * lib/mpsort.c: Likewise.
36774         * lib/nanosleep.c: Likewise.
36775         * lib/obstack.c: Likewise.
36776         * lib/obstack.h: Likewise.
36777         * lib/open-safer.c: Likewise.
36778         * lib/open.c: Likewise.
36779         * lib/openat-die.c: Likewise.
36780         * lib/openat-priv.h: Likewise.
36781         * lib/openat-proc.c: Likewise.
36782         * lib/openat.c: Likewise.
36783         * lib/openat.h: Likewise.
36784         * lib/pagealign_alloc.c: Likewise.
36785         * lib/pagealign_alloc.h: Likewise.
36786         * lib/physmem.c: Likewise.
36787         * lib/physmem.h: Likewise.
36788         * lib/pipe-safer.c: Likewise.
36789         * lib/pipe.c: Likewise.
36790         * lib/pipe.h: Likewise.
36791         * lib/posixtm.c: Likewise.
36792         * lib/posixtm.h: Likewise.
36793         * lib/posixver.c: Likewise.
36794         * lib/printf-frexp.c: Likewise.
36795         * lib/printf-frexp.h: Likewise.
36796         * lib/printf-frexpl.c: Likewise.
36797         * lib/printf-frexpl.h: Likewise.
36798         * lib/printf.c: Likewise.
36799         * lib/progname.c: Likewise.
36800         * lib/progname.h: Likewise.
36801         * lib/progreloc.c: Likewise.
36802         * lib/putenv.c: Likewise.
36803         * lib/quote.c: Likewise.
36804         * lib/quote.h: Likewise.
36805         * lib/quotearg.c: Likewise.
36806         * lib/quotearg.h: Likewise.
36807         * lib/raise.c: Likewise.
36808         * lib/readline.c: Likewise.
36809         * lib/readline.h: Likewise.
36810         * lib/readlink.c: Likewise.
36811         * lib/readtokens.c: Likewise.
36812         * lib/readtokens.h: Likewise.
36813         * lib/readtokens0.c: Likewise.
36814         * lib/readtokens0.h: Likewise.
36815         * lib/readutmp.c: Likewise.
36816         * lib/readutmp.h: Likewise.
36817         * lib/realloc.c: Likewise.
36818         * lib/relocwrapper.c: Likewise.
36819         * lib/rename-dest-slash.c: Likewise.
36820         * lib/rename.c: Likewise.
36821         * lib/rmdir.c: Likewise.
36822         * lib/rpmatch.c: Likewise.
36823         * lib/safe-read.c: Likewise.
36824         * lib/safe-read.h: Likewise.
36825         * lib/safe-write.c: Likewise.
36826         * lib/safe-write.h: Likewise.
36827         * lib/same-inode.h: Likewise.
36828         * lib/same.c: Likewise.
36829         * lib/same.h: Likewise.
36830         * lib/save-cwd.c: Likewise.
36831         * lib/save-cwd.h: Likewise.
36832         * lib/savedir.c: Likewise.
36833         * lib/savedir.h: Likewise.
36834         * lib/savewd.c: Likewise.
36835         * lib/savewd.h: Likewise.
36836         * lib/search.in.h: Likewise.
36837         * lib/setenv.c: Likewise.
36838         * lib/setenv.h: Likewise.
36839         * lib/settime.c: Likewise.
36840         * lib/sh-quote.c: Likewise.
36841         * lib/sh-quote.h: Likewise.
36842         * lib/sig2str.c: Likewise.
36843         * lib/sig2str.h: Likewise.
36844         * lib/signal.in.h: Likewise.
36845         * lib/signbitd.c: Likewise.
36846         * lib/signbitf.c: Likewise.
36847         * lib/signbitl.c: Likewise.
36848         * lib/sigprocmask.c: Likewise.
36849         * lib/sincosl.c: Likewise.
36850         * lib/sleep.c: Likewise.
36851         * lib/sprintf.c: Likewise.
36852         * lib/sqrtl.c: Likewise.
36853         * lib/stat-time.h: Likewise.
36854         * lib/stdio--.h: Likewise.
36855         * lib/stdio-safer.h: Likewise.
36856         * lib/stdlib--.h: Likewise.
36857         * lib/stdlib-safer.h: Likewise.
36858         * lib/stdlib.in.h: Likewise.
36859         * lib/stpcpy.c: Likewise.
36860         * lib/stpncpy.c: Likewise.
36861         * lib/strchrnul.c: Likewise.
36862         * lib/strcspn.c: Likewise.
36863         * lib/strerror.c: Likewise.
36864         * lib/strftime.c: Likewise.
36865         * lib/strftime.h: Likewise.
36866         * lib/striconveh.c: Likewise.
36867         * lib/striconveh.h: Likewise.
36868         * lib/striconveha.c: Likewise.
36869         * lib/striconveha.h: Likewise.
36870         * lib/stripslash.c: Likewise.
36871         * lib/strnlen1.c: Likewise.
36872         * lib/strnlen1.h: Likewise.
36873         * lib/strtod.c: Likewise.
36874         * lib/strtoimax.c: Likewise.
36875         * lib/strtok_r.c: Likewise.
36876         * lib/strtol.c: Likewise.
36877         * lib/strtoll.c: Likewise.
36878         * lib/strtoul.c: Likewise.
36879         * lib/strtoull.c: Likewise.
36880         * lib/sysexits.in.h: Likewise.
36881         * lib/tempname.c: Likewise.
36882         * lib/tempname.h: Likewise.
36883         * lib/timespec.h: Likewise.
36884         * lib/tls.c: Likewise.
36885         * lib/tls.h: Likewise.
36886         * lib/tmpdir.c: Likewise.
36887         * lib/tmpdir.h: Likewise.
36888         * lib/tmpfile-safer.c: Likewise.
36889         * lib/tmpfile.c: Likewise.
36890         * lib/trigl.c: Likewise.
36891         * lib/trigl.h: Likewise.
36892         * lib/trim.c: Likewise.
36893         * lib/trim.h: Likewise.
36894         * lib/trunc.c: Likewise.
36895         * lib/truncf.c: Likewise.
36896         * lib/truncl.c: Likewise.
36897         * lib/tsearch.c: Likewise.
36898         * lib/unicodeio.c: Likewise.
36899         * lib/unicodeio.h: Likewise.
36900         * lib/unistd--.h: Likewise.
36901         * lib/unistd-safer.h: Likewise.
36902         * lib/unistdio/ulc-fprintf.c: Likewise.
36903         * lib/unistdio/ulc-vfprintf.c: Likewise.
36904         * lib/unlinkdir.c: Likewise.
36905         * lib/unlinkdir.h: Likewise.
36906         * lib/unlocked-io.h: Likewise.
36907         * lib/unsetenv.c: Likewise.
36908         * lib/userspec.c: Likewise.
36909         * lib/utime.c: Likewise.
36910         * lib/utimecmp.c: Likewise.
36911         * lib/utimecmp.h: Likewise.
36912         * lib/utimens.c: Likewise.
36913         * lib/verify.h: Likewise.
36914         * lib/verror.c: Likewise.
36915         * lib/verror.h: Likewise.
36916         * lib/version-etc-fsf.c: Likewise.
36917         * lib/version-etc.c: Likewise.
36918         * lib/version-etc.h: Likewise.
36919         * lib/vfprintf.c: Likewise.
36920         * lib/vprintf.c: Likewise.
36921         * lib/vsprintf.c: Likewise.
36922         * lib/w32spawn.h: Likewise.
36923         * lib/wait-process.c: Likewise.
36924         * lib/wait-process.h: Likewise.
36925         * lib/wcwidth.c: Likewise.
36926         * lib/write-any-file.c: Likewise.
36927         * lib/xalloc-die.c: Likewise.
36928         * lib/xalloc.h: Likewise.
36929         * lib/xasprintf.c: Likewise.
36930         * lib/xgetcwd.c: Likewise.
36931         * lib/xgetcwd.h: Likewise.
36932         * lib/xgetdomainname.c: Likewise.
36933         * lib/xgetdomainname.h: Likewise.
36934         * lib/xgethostname.c: Likewise.
36935         * lib/xmalloc.c: Likewise.
36936         * lib/xmalloca.c: Likewise.
36937         * lib/xmalloca.h: Likewise.
36938         * lib/xmemcoll.c: Likewise.
36939         * lib/xnanosleep.c: Likewise.
36940         * lib/xreadlink.c: Likewise.
36941         * lib/xreadlink.h: Likewise.
36942         * lib/xsetenv.c: Likewise.
36943         * lib/xsetenv.h: Likewise.
36944         * lib/xstriconv.c: Likewise.
36945         * lib/xstriconv.h: Likewise.
36946         * lib/xstrndup.c: Likewise.
36947         * lib/xstrndup.h: Likewise.
36948         * lib/xstrtod.c: Likewise.
36949         * lib/xstrtod.h: Likewise.
36950         * lib/xstrtol-error.c: Likewise.
36951         * lib/xstrtol.c: Likewise.
36952         * lib/xstrtol.h: Likewise.
36953         * lib/xtime.h: Likewise.
36954         * lib/xvasprintf.c: Likewise.
36955         * lib/xvasprintf.h: Likewise.
36956         * lib/yesno.c: Likewise.
36957         * lib/yesno.h: Likewise.
36958         * posix-modules: Likewise.
36959         * tests/test-alloca-opt.c: Likewise.
36960         * tests/test-arcfour.c: Likewise.
36961         * tests/test-arctwo.c: Likewise.
36962         * tests/test-argmatch.c: Likewise.
36963         * tests/test-argp-2.sh: Likewise.
36964         * tests/test-argp.c: Likewise.
36965         * tests/test-arpa_inet.c: Likewise.
36966         * tests/test-array_list.c: Likewise.
36967         * tests/test-array_oset.c: Likewise.
36968         * tests/test-atexit.c: Likewise.
36969         * tests/test-avltree_list.c: Likewise.
36970         * tests/test-avltree_oset.c: Likewise.
36971         * tests/test-avltreehash_list.c: Likewise.
36972         * tests/test-base64.c: Likewise.
36973         * tests/test-binary-io.c: Likewise.
36974         * tests/test-byteswap.c: Likewise.
36975         * tests/test-c-ctype.c: Likewise.
36976         * tests/test-c-strcasecmp.c: Likewise.
36977         * tests/test-c-strcasestr.c: Likewise.
36978         * tests/test-c-strncasecmp.c: Likewise.
36979         * tests/test-c-strstr.c: Likewise.
36980         * tests/test-canonicalize-lgpl.c: Likewise.
36981         * tests/test-canonicalize.c: Likewise.
36982         * tests/test-carray_list.c: Likewise.
36983         * tests/test-ceilf.c: Likewise.
36984         * tests/test-ceill.c: Likewise.
36985         * tests/test-count-one-bits.c: Likewise.
36986         * tests/test-crc.c: Likewise.
36987         * tests/test-dirname.c: Likewise.
36988         * tests/test-fbufmode.c: Likewise.
36989         * tests/test-fcntl.c: Likewise.
36990         * tests/test-fflush.c: Likewise.
36991         * tests/test-floorf.c: Likewise.
36992         * tests/test-floorl.c: Likewise.
36993         * tests/test-fopen.c: Likewise.
36994         * tests/test-fprintf-posix.c: Likewise.
36995         * tests/test-fprintf-posix.h: Likewise.
36996         * tests/test-fpurge.c: Likewise.
36997         * tests/test-freadable.c: Likewise.
36998         * tests/test-freadahead.c: Likewise.
36999         * tests/test-freading.c: Likewise.
37000         * tests/test-freopen.c: Likewise.
37001         * tests/test-frexp.c: Likewise.
37002         * tests/test-frexpl.c: Likewise.
37003         * tests/test-fseek.c: Likewise.
37004         * tests/test-fseeko.c: Likewise.
37005         * tests/test-fseterr.c: Likewise.
37006         * tests/test-fstrcmp.c: Likewise.
37007         * tests/test-ftell.c: Likewise.
37008         * tests/test-ftello.c: Likewise.
37009         * tests/test-fwritable.c: Likewise.
37010         * tests/test-fwriting.c: Likewise.
37011         * tests/test-getaddrinfo.c: Likewise.
37012         * tests/test-getpass.c: Likewise.
37013         * tests/test-gettimeofday.c: Likewise.
37014         * tests/test-hmac-md5.c: Likewise.
37015         * tests/test-hmac-sha1.c: Likewise.
37016         * tests/test-iconv.c: Likewise.
37017         * tests/test-iconvme.c: Likewise.
37018         * tests/test-inttypes.c: Likewise.
37019         * tests/test-isnan.c: Likewise.
37020         * tests/test-isnanf.c: Likewise.
37021         * tests/test-isnanl-nolibm.c: Likewise.
37022         * tests/test-isnanl.c: Likewise.
37023         * tests/test-isnanl.h: Likewise.
37024         * tests/test-ldexpl.c: Likewise.
37025         * tests/test-linked_list.c: Likewise.
37026         * tests/test-linkedhash_list.c: Likewise.
37027         * tests/test-locale.c: Likewise.
37028         * tests/test-localename.c: Likewise.
37029         * tests/test-lock.c: Likewise.
37030         * tests/test-lseek.c: Likewise.
37031         * tests/test-malloca.c: Likewise.
37032         * tests/test-math.c: Likewise.
37033         * tests/test-mbscasecmp.c: Likewise.
37034         * tests/test-mbscasestr1.c: Likewise.
37035         * tests/test-mbscasestr2.c: Likewise.
37036         * tests/test-mbscasestr3.c: Likewise.
37037         * tests/test-mbscasestr4.c: Likewise.
37038         * tests/test-mbschr.c: Likewise.
37039         * tests/test-mbscspn.c: Likewise.
37040         * tests/test-mbsncasecmp.c: Likewise.
37041         * tests/test-mbspbrk.c: Likewise.
37042         * tests/test-mbspcasecmp.c: Likewise.
37043         * tests/test-mbsrchr.c: Likewise.
37044         * tests/test-mbsspn.c: Likewise.
37045         * tests/test-mbsstr1.c: Likewise.
37046         * tests/test-mbsstr2.c: Likewise.
37047         * tests/test-mbsstr3.c: Likewise.
37048         * tests/test-md5.c: Likewise.
37049         * tests/test-memmem.c: Likewise.
37050         * tests/test-netinet_in.c: Likewise.
37051         * tests/test-open.c: Likewise.
37052         * tests/test-printf-frexp.c: Likewise.
37053         * tests/test-printf-frexpl.c: Likewise.
37054         * tests/test-printf-posix.c: Likewise.
37055         * tests/test-printf-posix.h: Likewise.
37056         * tests/test-rbtree_list.c: Likewise.
37057         * tests/test-rbtree_oset.c: Likewise.
37058         * tests/test-rbtreehash_list.c: Likewise.
37059         * tests/test-read-file.c: Likewise.
37060         * tests/test-rijndael.c: Likewise.
37061         * tests/test-search.c: Likewise.
37062         * tests/test-signbit.c: Likewise.
37063         * tests/test-sleep.c: Likewise.
37064         * tests/test-snprintf-posix.c: Likewise.
37065         * tests/test-snprintf-posix.h: Likewise.
37066         * tests/test-snprintf.c: Likewise.
37067         * tests/test-sprintf-posix.c: Likewise.
37068         * tests/test-sprintf-posix.h: Likewise.
37069         * tests/test-stat-time.c: Likewise.
37070         * tests/test-stdbool.c: Likewise.
37071         * tests/test-stdint.c: Likewise.
37072         * tests/test-stdio.c: Likewise.
37073         * tests/test-stdlib.c: Likewise.
37074         * tests/test-stpncpy.c: Likewise.
37075         * tests/test-strcasestr.c: Likewise.
37076         * tests/test-striconv.c: Likewise.
37077         * tests/test-striconveh.c: Likewise.
37078         * tests/test-striconveha.c: Likewise.
37079         * tests/test-string.c: Likewise.
37080         * tests/test-sys_select.c: Likewise.
37081         * tests/test-sys_socket.c: Likewise.
37082         * tests/test-sys_stat.c: Likewise.
37083         * tests/test-sys_time.c: Likewise.
37084         * tests/test-sysexits.c: Likewise.
37085         * tests/test-time.c: Likewise.
37086         * tests/test-tls.c: Likewise.
37087         * tests/test-trunc.c: Likewise.
37088         * tests/test-truncf.c: Likewise.
37089         * tests/test-truncl.c: Likewise.
37090         * tests/test-unistd.c: Likewise.
37091         * tests/test-vasnprintf-posix.c: Likewise.
37092         * tests/test-vasnprintf-posix2.c: Likewise.
37093         * tests/test-vasnprintf.c: Likewise.
37094         * tests/test-vasprintf-posix.c: Likewise.
37095         * tests/test-vasprintf.c: Likewise.
37096         * tests/test-verify.c: Likewise.
37097         * tests/test-vfprintf-posix.c: Likewise.
37098         * tests/test-vprintf-posix.c: Likewise.
37099         * tests/test-vsnprintf-posix.c: Likewise.
37100         * tests/test-vsnprintf.c: Likewise.
37101         * tests/test-vsprintf-posix.c: Likewise.
37102         * tests/test-wchar.c: Likewise.
37103         * tests/test-wctype.c: Likewise.
37104         * tests/test-wcwidth.c: Likewise.
37105         * tests/test-xstrtol.c: Likewise.
37106         * tests/test-xvasprintf.c: Likewise.
37107         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37108         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37109         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37110         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37111         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37112         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37113         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37114         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37115         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37116         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37117         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37118         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37119         * tests/uniname/test-uninames.c: Likewise.
37120         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37121         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
37122         * tests/unistdio/test-u16-printf1.h: Likewise.
37123         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37124         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37125         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37126         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37127         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37128         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37129         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37130         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
37131         * tests/unistdio/test-u32-printf1.h: Likewise.
37132         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37133         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37134         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37135         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37136         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37137         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37138         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37139         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
37140         * tests/unistdio/test-u8-printf1.h: Likewise.
37141         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37142         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37143         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37144         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37145         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37146         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37147         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37148         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
37149         * tests/unistdio/test-ulc-printf1.h: Likewise.
37150         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37151         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37152         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37153         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37154         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37155         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37156         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37157         * tests/uniwidth/test-u16-width.c: Likewise.
37158         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37159         * tests/uniwidth/test-u32-width.c: Likewise.
37160         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37161         * tests/uniwidth/test-u8-width.c: Likewise.
37162         * tests/uniwidth/test-uc_width.c: Likewise.
37163         * config/srclist-update: Likewise.
37164         (fixlicense): Update to GPLv3+.
37165
37166         Change copyright notice from LGPLv2.1+ to LGPLv3+.
37167         * tests/test-tsearch.c: Change copyright notice.
37168
37169         Change copyright notice from LGPLv2.0+ to LGPLv3+.
37170         * lib/c-strcaseeq.h: Change copyright notice.
37171         * lib/streq.h: Likewise.
37172         * lib/uniconv.h: Likewise.
37173         * lib/uniconv/u-conv-from-enc.h: Likewise.
37174         * lib/uniconv/u-conv-to-enc.h: Likewise.
37175         * lib/uniconv/u-strconv-from-enc.h: Likewise.
37176         * lib/uniconv/u-strconv-to-enc.h: Likewise.
37177         * lib/uniconv/u16-conv-from-enc.c: Likewise.
37178         * lib/uniconv/u16-conv-to-enc.c: Likewise.
37179         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
37180         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
37181         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
37182         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
37183         * lib/uniconv/u32-conv-from-enc.c: Likewise.
37184         * lib/uniconv/u32-conv-to-enc.c: Likewise.
37185         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
37186         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
37187         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
37188         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
37189         * lib/uniconv/u8-conv-from-enc.c: Likewise.
37190         * lib/uniconv/u8-conv-to-enc.c: Likewise.
37191         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
37192         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
37193         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
37194         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
37195         * lib/uniname.h: Likewise.
37196         * lib/uniname/uniname.c: Likewise.
37197         * lib/unistdio.h: Likewise.
37198         * lib/unistdio/u-asnprintf.h: Likewise.
37199         * lib/unistdio/u-asprintf.h: Likewise.
37200         * lib/unistdio/u-printf-args.c: Likewise.
37201         * lib/unistdio/u-printf-args.h: Likewise.
37202         * lib/unistdio/u-printf-parse.h: Likewise.
37203         * lib/unistdio/u-snprintf.h: Likewise.
37204         * lib/unistdio/u-sprintf.h: Likewise.
37205         * lib/unistdio/u-vasprintf.h: Likewise.
37206         * lib/unistdio/u-vsnprintf.h: Likewise.
37207         * lib/unistdio/u-vsprintf.h: Likewise.
37208         * lib/unistdio/u16-asnprintf.c: Likewise.
37209         * lib/unistdio/u16-asprintf.c: Likewise.
37210         * lib/unistdio/u16-printf-parse.c: Likewise.
37211         * lib/unistdio/u16-snprintf.c: Likewise.
37212         * lib/unistdio/u16-sprintf.c: Likewise.
37213         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
37214         * lib/unistdio/u16-u16-asprintf.c: Likewise.
37215         * lib/unistdio/u16-u16-snprintf.c: Likewise.
37216         * lib/unistdio/u16-u16-sprintf.c: Likewise.
37217         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
37218         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
37219         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
37220         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
37221         * lib/unistdio/u16-vasnprintf.c: Likewise.
37222         * lib/unistdio/u16-vasprintf.c: Likewise.
37223         * lib/unistdio/u16-vsnprintf.c: Likewise.
37224         * lib/unistdio/u16-vsprintf.c: Likewise.
37225         * lib/unistdio/u32-asnprintf.c: Likewise.
37226         * lib/unistdio/u32-asprintf.c: Likewise.
37227         * lib/unistdio/u32-printf-parse.c: Likewise.
37228         * lib/unistdio/u32-snprintf.c: Likewise.
37229         * lib/unistdio/u32-sprintf.c: Likewise.
37230         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
37231         * lib/unistdio/u32-u32-asprintf.c: Likewise.
37232         * lib/unistdio/u32-u32-snprintf.c: Likewise.
37233         * lib/unistdio/u32-u32-sprintf.c: Likewise.
37234         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
37235         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
37236         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
37237         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
37238         * lib/unistdio/u32-vasnprintf.c: Likewise.
37239         * lib/unistdio/u32-vasprintf.c: Likewise.
37240         * lib/unistdio/u32-vsnprintf.c: Likewise.
37241         * lib/unistdio/u32-vsprintf.c: Likewise.
37242         * lib/unistdio/u8-asnprintf.c: Likewise.
37243         * lib/unistdio/u8-asprintf.c: Likewise.
37244         * lib/unistdio/u8-printf-parse.c: Likewise.
37245         * lib/unistdio/u8-snprintf.c: Likewise.
37246         * lib/unistdio/u8-sprintf.c: Likewise.
37247         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
37248         * lib/unistdio/u8-u8-asprintf.c: Likewise.
37249         * lib/unistdio/u8-u8-snprintf.c: Likewise.
37250         * lib/unistdio/u8-u8-sprintf.c: Likewise.
37251         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
37252         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
37253         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
37254         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
37255         * lib/unistdio/u8-vasnprintf.c: Likewise.
37256         * lib/unistdio/u8-vasprintf.c: Likewise.
37257         * lib/unistdio/u8-vsnprintf.c: Likewise.
37258         * lib/unistdio/u8-vsprintf.c: Likewise.
37259         * lib/unistdio/ulc-asnprintf.c: Likewise.
37260         * lib/unistdio/ulc-asprintf.c: Likewise.
37261         * lib/unistdio/ulc-printf-parse.c: Likewise.
37262         * lib/unistdio/ulc-snprintf.c: Likewise.
37263         * lib/unistdio/ulc-sprintf.c: Likewise.
37264         * lib/unistdio/ulc-vasnprintf.c: Likewise.
37265         * lib/unistdio/ulc-vasprintf.c: Likewise.
37266         * lib/unistdio/ulc-vsnprintf.c: Likewise.
37267         * lib/unistdio/ulc-vsprintf.c: Likewise.
37268         * lib/unistr.h: Likewise.
37269         * lib/unistr/u-cpy-alloc.h: Likewise.
37270         * lib/unistr/u-cpy.h: Likewise.
37271         * lib/unistr/u-endswith.h: Likewise.
37272         * lib/unistr/u-move.h: Likewise.
37273         * lib/unistr/u-set.h: Likewise.
37274         * lib/unistr/u-startswith.h: Likewise.
37275         * lib/unistr/u-stpcpy.h: Likewise.
37276         * lib/unistr/u-stpncpy.h: Likewise.
37277         * lib/unistr/u-strcat.h: Likewise.
37278         * lib/unistr/u-strcpy.h: Likewise.
37279         * lib/unistr/u-strcspn.h: Likewise.
37280         * lib/unistr/u-strdup.h: Likewise.
37281         * lib/unistr/u-strlen.h: Likewise.
37282         * lib/unistr/u-strncat.h: Likewise.
37283         * lib/unistr/u-strncpy.h: Likewise.
37284         * lib/unistr/u-strnlen.h: Likewise.
37285         * lib/unistr/u-strpbrk.h: Likewise.
37286         * lib/unistr/u-strspn.h: Likewise.
37287         * lib/unistr/u-strstr.h: Likewise.
37288         * lib/unistr/u-strtok.h: Likewise.
37289         * lib/unistr/u16-check.c: Likewise.
37290         * lib/unistr/u16-chr.c: Likewise.
37291         * lib/unistr/u16-cmp.c: Likewise.
37292         * lib/unistr/u16-cpy-alloc.c: Likewise.
37293         * lib/unistr/u16-cpy.c: Likewise.
37294         * lib/unistr/u16-endswith.c: Likewise.
37295         * lib/unistr/u16-mblen.c: Likewise.
37296         * lib/unistr/u16-mbsnlen.c: Likewise.
37297         * lib/unistr/u16-mbtouc-aux.c: Likewise.
37298         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
37299         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
37300         * lib/unistr/u16-mbtouc.c: Likewise.
37301         * lib/unistr/u16-mbtoucr.c: Likewise.
37302         * lib/unistr/u16-move.c: Likewise.
37303         * lib/unistr/u16-next.c: Likewise.
37304         * lib/unistr/u16-prev.c: Likewise.
37305         * lib/unistr/u16-set.c: Likewise.
37306         * lib/unistr/u16-startswith.c: Likewise.
37307         * lib/unistr/u16-stpcpy.c: Likewise.
37308         * lib/unistr/u16-stpncpy.c: Likewise.
37309         * lib/unistr/u16-strcat.c: Likewise.
37310         * lib/unistr/u16-strchr.c: Likewise.
37311         * lib/unistr/u16-strcmp.c: Likewise.
37312         * lib/unistr/u16-strcpy.c: Likewise.
37313         * lib/unistr/u16-strcspn.c: Likewise.
37314         * lib/unistr/u16-strdup.c: Likewise.
37315         * lib/unistr/u16-strlen.c: Likewise.
37316         * lib/unistr/u16-strmblen.c: Likewise.
37317         * lib/unistr/u16-strmbtouc.c: Likewise.
37318         * lib/unistr/u16-strncat.c: Likewise.
37319         * lib/unistr/u16-strncmp.c: Likewise.
37320         * lib/unistr/u16-strncpy.c: Likewise.
37321         * lib/unistr/u16-strnlen.c: Likewise.
37322         * lib/unistr/u16-strpbrk.c: Likewise.
37323         * lib/unistr/u16-strrchr.c: Likewise.
37324         * lib/unistr/u16-strspn.c: Likewise.
37325         * lib/unistr/u16-strstr.c: Likewise.
37326         * lib/unistr/u16-strtok.c: Likewise.
37327         * lib/unistr/u16-to-u32.c: Likewise.
37328         * lib/unistr/u16-to-u8.c: Likewise.
37329         * lib/unistr/u16-uctomb-aux.c: Likewise.
37330         * lib/unistr/u16-uctomb.c: Likewise.
37331         * lib/unistr/u32-check.c: Likewise.
37332         * lib/unistr/u32-chr.c: Likewise.
37333         * lib/unistr/u32-cmp.c: Likewise.
37334         * lib/unistr/u32-cpy-alloc.c: Likewise.
37335         * lib/unistr/u32-cpy.c: Likewise.
37336         * lib/unistr/u32-endswith.c: Likewise.
37337         * lib/unistr/u32-mblen.c: Likewise.
37338         * lib/unistr/u32-mbsnlen.c: Likewise.
37339         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
37340         * lib/unistr/u32-mbtouc.c: Likewise.
37341         * lib/unistr/u32-mbtoucr.c: Likewise.
37342         * lib/unistr/u32-move.c: Likewise.
37343         * lib/unistr/u32-next.c: Likewise.
37344         * lib/unistr/u32-prev.c: Likewise.
37345         * lib/unistr/u32-set.c: Likewise.
37346         * lib/unistr/u32-startswith.c: Likewise.
37347         * lib/unistr/u32-stpcpy.c: Likewise.
37348         * lib/unistr/u32-stpncpy.c: Likewise.
37349         * lib/unistr/u32-strcat.c: Likewise.
37350         * lib/unistr/u32-strchr.c: Likewise.
37351         * lib/unistr/u32-strcmp.c: Likewise.
37352         * lib/unistr/u32-strcpy.c: Likewise.
37353         * lib/unistr/u32-strcspn.c: Likewise.
37354         * lib/unistr/u32-strdup.c: Likewise.
37355         * lib/unistr/u32-strlen.c: Likewise.
37356         * lib/unistr/u32-strmblen.c: Likewise.
37357         * lib/unistr/u32-strmbtouc.c: Likewise.
37358         * lib/unistr/u32-strncat.c: Likewise.
37359         * lib/unistr/u32-strncmp.c: Likewise.
37360         * lib/unistr/u32-strncpy.c: Likewise.
37361         * lib/unistr/u32-strnlen.c: Likewise.
37362         * lib/unistr/u32-strpbrk.c: Likewise.
37363         * lib/unistr/u32-strrchr.c: Likewise.
37364         * lib/unistr/u32-strspn.c: Likewise.
37365         * lib/unistr/u32-strstr.c: Likewise.
37366         * lib/unistr/u32-strtok.c: Likewise.
37367         * lib/unistr/u32-to-u16.c: Likewise.
37368         * lib/unistr/u32-to-u8.c: Likewise.
37369         * lib/unistr/u32-uctomb.c: Likewise.
37370         * lib/unistr/u8-check.c: Likewise.
37371         * lib/unistr/u8-chr.c: Likewise.
37372         * lib/unistr/u8-cmp.c: Likewise.
37373         * lib/unistr/u8-cpy-alloc.c: Likewise.
37374         * lib/unistr/u8-cpy.c: Likewise.
37375         * lib/unistr/u8-endswith.c: Likewise.
37376         * lib/unistr/u8-mblen.c: Likewise.
37377         * lib/unistr/u8-mbsnlen.c: Likewise.
37378         * lib/unistr/u8-mbtouc-aux.c: Likewise.
37379         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
37380         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
37381         * lib/unistr/u8-mbtouc.c: Likewise.
37382         * lib/unistr/u8-mbtoucr.c: Likewise.
37383         * lib/unistr/u8-move.c: Likewise.
37384         * lib/unistr/u8-next.c: Likewise.
37385         * lib/unistr/u8-prev.c: Likewise.
37386         * lib/unistr/u8-set.c: Likewise.
37387         * lib/unistr/u8-startswith.c: Likewise.
37388         * lib/unistr/u8-stpcpy.c: Likewise.
37389         * lib/unistr/u8-stpncpy.c: Likewise.
37390         * lib/unistr/u8-strcat.c: Likewise.
37391         * lib/unistr/u8-strchr.c: Likewise.
37392         * lib/unistr/u8-strcmp.c: Likewise.
37393         * lib/unistr/u8-strcpy.c: Likewise.
37394         * lib/unistr/u8-strcspn.c: Likewise.
37395         * lib/unistr/u8-strdup.c: Likewise.
37396         * lib/unistr/u8-strlen.c: Likewise.
37397         * lib/unistr/u8-strmblen.c: Likewise.
37398         * lib/unistr/u8-strmbtouc.c: Likewise.
37399         * lib/unistr/u8-strncat.c: Likewise.
37400         * lib/unistr/u8-strncmp.c: Likewise.
37401         * lib/unistr/u8-strncpy.c: Likewise.
37402         * lib/unistr/u8-strnlen.c: Likewise.
37403         * lib/unistr/u8-strpbrk.c: Likewise.
37404         * lib/unistr/u8-strrchr.c: Likewise.
37405         * lib/unistr/u8-strspn.c: Likewise.
37406         * lib/unistr/u8-strstr.c: Likewise.
37407         * lib/unistr/u8-strtok.c: Likewise.
37408         * lib/unistr/u8-to-u16.c: Likewise.
37409         * lib/unistr/u8-to-u32.c: Likewise.
37410         * lib/unistr/u8-uctomb-aux.c: Likewise.
37411         * lib/unistr/u8-uctomb.c: Likewise.
37412         * lib/unitypes.h: Likewise.
37413         * lib/uniwidth.h: Likewise.
37414         * lib/uniwidth/cjk.h: Likewise.
37415         * lib/uniwidth/u16-strwidth.c: Likewise.
37416         * lib/uniwidth/u16-width.c: Likewise.
37417         * lib/uniwidth/u32-strwidth.c: Likewise.
37418         * lib/uniwidth/u32-width.c: Likewise.
37419         * lib/uniwidth/u8-strwidth.c: Likewise.
37420         * lib/uniwidth/u8-width.c: Likewise.
37421         * lib/uniwidth/width.c: Likewise.
37422
37423 2007-10-07  Bruno Haible  <bruno@clisp.org>
37424
37425         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
37426         The file is still under LGPL (see modules/inttypes).
37427
37428 2007-10-06  Bruno Haible  <bruno@clisp.org>
37429
37430         * modules/trunc (Dependencies): Add 'extensions'.
37431         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
37432         Reported by Ben Pfaff <blp@gnu.org>.
37433
37434 2007-10-06  Bruno Haible  <bruno@clisp.org>
37435
37436         * modules/freopen-tests: New file.
37437         * tests/test-freopen.c: New file.
37438
37439         * modules/fopen-tests: New file.
37440         * tests/test-fopen.c: New file.
37441
37442         * modules/fopen: New file.
37443         * lib/fopen.c: New file.
37444         * m4/fopen.m4: New file.
37445         * modules/freopen: New file.
37446         * lib/freopen.c: New file.
37447         * m4/freopen.m4: New file.
37448         * lib/stdio.in.h (fopen, freopen): New declarations.
37449         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
37450         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
37451         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
37452         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
37453         * doc/functions/fopen.texi: Mention the 'fopen' module.
37454         * doc/functions/freopen.texi: Mention the 'freopen' module.
37455
37456 2007-10-06  Bruno Haible  <bruno@clisp.org>
37457
37458         * modules/open-tests: New file.
37459         * tests/test-open.c: New file.
37460
37461         * modules/open: New file.
37462         * lib/open.c: New file.
37463         * m4/open.m4: New file.
37464         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
37465         lib/open.c does.
37466         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
37467         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
37468         macros.
37469         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
37470         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
37471         REPLACE_OPEN.
37472         * doc/functions/open.texi: Mention the 'open' module.
37473
37474 2007-10-04  Bruno Haible  <bruno@clisp.org>
37475
37476         * modules/ceill-tests: New file.
37477         * tests/test-ceill.c: New file.
37478
37479         * modules/ceill: New file.
37480         * lib/ceill.c: Replace entire file.
37481         * m4/ceill.m4: New file.
37482         * lib/math.in.h (ceill): Replace declaration.
37483         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
37484         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
37485         * doc/functions/ceill.texi: Mention the 'ceill' module.
37486         * modules/mathl (Files): Remove lib/ceill.c.
37487         (Depends-on): Add ceill.
37488
37489 2007-10-04  Bruno Haible  <bruno@clisp.org>
37490
37491         * modules/ceilf-tests: New file.
37492         * tests/test-ceilf.c: New file.
37493
37494         * modules/ceilf: New file.
37495         * lib/ceil.c: New file.
37496         * lib/ceilf.c: New file.
37497         * m4/ceilf.m4: New file.
37498         * lib/math.in.h (ceilf): New declaration.
37499         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
37500         HAVE_DECL_CEILF.
37501         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
37502         HAVE_DECL_CEILF.
37503         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
37504
37505 2007-10-04  Bruno Haible  <bruno@clisp.org>
37506
37507         * modules/floorl-tests: New file.
37508         * tests/test-floorl.c: New file.
37509
37510         * modules/floorl: New file.
37511         * lib/floorl.c: Replace entire file.
37512         * m4/floorl.m4: New file.
37513         * lib/math.in.h (floorl): Replace declaration.
37514         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
37515         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
37516         * doc/functions/floorl.texi: Mention the 'floorl' module.
37517         * modules/mathl (Files): Remove lib/floorl.c.
37518         (Depends-on): Add floorl.
37519
37520 2007-10-04  Bruno Haible  <bruno@clisp.org>
37521
37522         * modules/floorf-tests: New file.
37523         * tests/test-floorf.c: New file.
37524
37525         * modules/floorf: New file.
37526         * lib/floor.c: New file.
37527         * lib/floorf.c: New file.
37528         * m4/floorf.m4: New file.
37529         * lib/math.in.h (floorf): New declaration.
37530         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
37531         HAVE_DECL_FLOORF.
37532         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
37533         HAVE_DECL_FLOORF.
37534         * doc/functions/floorf.texi: Mention the 'floorf' module.
37535
37536 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
37537             Bruno Haible  <bruno@clisp.org>
37538
37539         Advertise for the Git server instead of the CVS server.
37540         * doc/gnulib-intro.texi (Steady Development): Mention the Git
37541         repository instead of the CVS one.
37542         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
37543         about all VCS systems generically.
37544         * doc/gnulib.texi (Introduction): Capitalize `Git'.
37545
37546 2007-10-04  Bruno Haible  <bruno@clisp.org>
37547
37548         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
37549         means.
37550         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
37551
37552 2007-10-04  Bruno Haible  <bruno@clisp.org>
37553
37554         * modules/truncl-tests: New file.
37555         * tests/test-truncl.c: New file.
37556
37557         * modules/truncl: New file.
37558         * lib/truncl.c: New file.
37559         * m4/truncl.m4: New file.
37560         * lib/math.in.h (truncl): New declaration.
37561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
37562         HAVE_DECL_TRUNCL.
37563         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
37564         HAVE_DECL_TRUNCL.
37565         * doc/functions/truncl.texi: Mention the 'truncl' module.
37566
37567 2007-10-04  Bruno Haible  <bruno@clisp.org>
37568
37569         * modules/truncf-tests: New file.
37570         * tests/test-truncf.c: New file.
37571
37572         * modules/truncf: New file.
37573         * lib/trunc.c: Make paramerizable through USE_* macros.
37574         * lib/truncf.c: New file.
37575         * m4/truncf.m4: New file.
37576         * lib/math.in.h (truncf): New declaration.
37577         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
37578         HAVE_DECL_TRUNCF.
37579         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
37580         HAVE_DECL_TRUNCF.
37581         * doc/functions/truncf.texi: Mention the 'truncf' module.
37582
37583 2007-10-03  Bruno Haible  <bruno@clisp.org>
37584
37585         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
37586         augmentation also for tests modules.
37587         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
37588         * modules/atexit-tests (Makefile.am): Likewise.
37589         * modules/binary-io-tests (Makefile.am): Likewise.
37590         * modules/c-strcase-tests (Makefile.am): Likewise.
37591         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
37592         * modules/canonicalize-tests (Makefile.am): Likewise.
37593         * modules/closein-tests (Makefile.am): Likewise.
37594         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37595         * modules/freadahead-tests (Makefile.am): Likewise.
37596         * modules/fseek-tests (Makefile.am): Likewise.
37597         * modules/fseeko-tests (Makefile.am): Likewise.
37598         * modules/ftell-tests (Makefile.am): Likewise.
37599         * modules/ftello-tests (Makefile.am): Likewise.
37600         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
37601         * modules/isnanl-tests (Makefile.am): Likewise.
37602         * modules/lseek-tests (Makefile.am): Likewise.
37603         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37604         * modules/mbscasestr-tests (Makefile.am): Likewise.
37605         * modules/mbschr-tests (Makefile.am): Likewise.
37606         * modules/mbscspn-tests (Makefile.am): Likewise.
37607         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37608         * modules/mbspbrk-tests (Makefile.am): Likewise.
37609         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37610         * modules/mbsrchr-tests (Makefile.am): Likewise.
37611         * modules/mbsspn-tests (Makefile.am): Likewise.
37612         * modules/mbsstr-tests (Makefile.am): Likewise.
37613         * modules/printf-posix-tests (Makefile.am): Likewise.
37614         * modules/snprintf-posix-tests (Makefile.am): Likewise.
37615         * modules/sprintf-posix-tests (Makefile.am): Likewise.
37616         * modules/tsearch-tests (Makefile.am): Likewise.
37617         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37618         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37619         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37620         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37621         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37622         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37623         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37624         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37625         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
37626         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
37627         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37628         * modules/xstrtol-tests (Makefile.am): Likewise.
37629         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37630         * modules/yesno-tests (Makefile.am): Likewise.
37631
37632 2007-10-03  Bruno Haible  <bruno@clisp.org>
37633
37634         * modules/trunc-tests: New file.
37635         * tests/test-trunc.c: New file.
37636
37637         * modules/trunc: New file.
37638         * lib/trunc.c: New file.
37639         * m4/trunc.m4: New file.
37640         * lib/math.in.h (trunc): New declaration.
37641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
37642         HAVE_DECL_TRUNC.
37643         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
37644         HAVE_DECL_TRUNC.
37645         * doc/functions/trunc.texi: Mention the 'trunc' module.
37646
37647 2007-10-03  Bruno Haible  <bruno@clisp.org>
37648
37649         * tests/test-fpending.c: New file, mostly copied
37650         from coreutils/lib/t-fpending.c.
37651         * modules/fpending-tests: New file.
37652
37653 2007-10-03  Bruno Haible  <bruno@clisp.org>
37654
37655         Port the stdio extensions to QNX (untested).
37656         * lib/fseterr.c (fseterr): Add support for QNX.
37657         * lib/fbufmode.c (fbufmode): Likewise.
37658         * lib/freadable.c (freadable): Likewise.
37659         * lib/fwritable.c (fwritable): Likewise.
37660         * lib/freading.c (freading): Likewise.
37661         * lib/fwriting.c (fwriting): Likewise.
37662         * lib/freadahead.c (freadahed): Likewise.
37663         * lib/fpurge.c (fpurge): Likewise.
37664         * lib/fseeko.c (rpl_fseeko): Likewise.
37665
37666 2007-10-03  Bruno Haible  <bruno@clisp.org>
37667             Jim Meyering  <jim@meyering.net>
37668             Eric Blake  <ebb9@byu.net>
37669
37670         * doc/relocatable.texi: Use @command instead of @program.
37671
37672 2007-10-02  Jim Meyering  <jim@meyering.net>
37673
37674         Perform one more "_.h" -> ".in.h" substitution.
37675         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
37676         instead of unistd_.h here, too.
37677
37678 2007-10-01  Bruno Haible  <bruno@clisp.org>
37679
37680         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
37681         Needed for the alloca-opt module.
37682
37683 2007-09-30  Bruno Haible  <bruno@clisp.org>
37684
37685         * lib/alloca.in.h: Renamed from lib/alloca_.h.
37686         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
37687         alloca_.h.
37688         * lib/argz.in.h: Renamed from lib/argz_.h.
37689         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
37690         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
37691         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
37692         byteswap_.h.
37693         * lib/dirent.in.h: Renamed from lib/dirent_.h.
37694         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
37695         dirent_.h.
37696         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
37697         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
37698         fcntl_.h.
37699         * lib/float.in.h: Renamed from lib/float_.h.
37700         * modules/float (Files, Makefile.am): Use float.in.h instead of
37701         float_.h.
37702         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
37703         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
37704         fnmatch_.h.
37705         * lib/getopt.in.h: Renamed from lib/getopt_.h.
37706         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
37707         getopt_.h.
37708         * lib/glob.in.h: Renamed from lib/glob_.h.
37709         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
37710         * lib/iconv.in.h: Renamed from lib/iconv_.h.
37711         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
37712         iconv_.h.
37713         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
37714         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
37715         inttypes_.h.
37716         * lib/locale.in.h: Renamed from lib/locale_.h.
37717         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
37718         locale_.h.
37719         * lib/math.in.h: Renamed from lib/math_.h.
37720         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
37721         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
37722         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
37723         of netinet_in_.h. Add dependency.
37724         * lib/poll.in.h: Renamed from lib/poll_.h.
37725         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
37726         * lib/search.in.h: Renamed from lib/search_.h.
37727         * modules/search (Files, Makefile.am): Use search.in.h instead of
37728         search_.h.
37729         * lib/signal.in.h: Renamed from lib/signal_.h.
37730         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
37731         _signal.h.
37732         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
37733         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
37734         stdbool_.h.
37735         * lib/stdint.in.h: Renamed from lib/stdint_.h.
37736         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
37737         stdint_.h.
37738         * lib/stdio.in.h: Renamed from lib/stdio_.h.
37739         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
37740         stdio_.h.
37741         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
37742         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
37743         stdlib_.h.
37744         * lib/string.in.h: Renamed from lib/string_.h.
37745         * modules/string (Files, Makefile.am): Use string.in.h instead of
37746         string_.h.
37747         * doc/gnulib-tool.texi (Initial import): Update.
37748         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
37749         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
37750         of sys_select_.h. Add dependency.
37751         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
37752         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
37753         of sys_socket_.h.
37754         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
37755         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
37756         sys_stat_.h.
37757         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
37758         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
37759         sys_time_.h.
37760         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
37761         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
37762         sysexits_.h.
37763         * lib/time.in.h: Renamed from lib/time_.h.
37764         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
37765         * lib/unistd.in.h: Renamed from lib/unistd_.h.
37766         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
37767         unistd_.h.
37768         * lib/wchar.in.h: Renamed from lib/wchar_.h.
37769         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
37770         wchar_.h.
37771         * lib/wctype.in.h: Renamed from lib/wctype_.h.
37772         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
37773         wctype_.h.
37774         * build-aux/bootstrap (slurp): Update.
37775         * lib/.cppi-disable: Update.
37776
37777 2007-09-30  Bruno Haible  <bruno@clisp.org>
37778
37779         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
37780         Needed on BeOS.
37781
37782 2007-09-30  Bruno Haible  <bruno@clisp.org>
37783
37784         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
37785
37786 2007-09-29  Bruno Haible  <bruno@clisp.org>
37787
37788         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
37789
37790 2007-09-29  Bruno Haible  <bruno@clisp.org>
37791
37792         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
37793         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
37794         * build-aux/install-reloc: Compile also areadlink.c.
37795         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
37796
37797 2007-09-29  Bruno Haible  <bruno@clisp.org>
37798
37799         * gnulib-tool (func_emit_initmacro_done): Indentation.
37800
37801 2007-09-29  Bruno Haible  <bruno@clisp.org>
37802
37803         * README: Add CVS checkout update instructions.
37804         Info from Bob Proulx <bob@proulx.com>.
37805
37806 2007-09-28  Eric Blake  <ebb9@byu.net>
37807
37808         Provide move-if-change.
37809         * build-aux/move-if-change: New file, based on best practice
37810         rather than any canonical upstream location.
37811
37812 2007-09-28  Jim Meyering  <jim@meyering.net>
37813
37814         Fix canonicalize loop-detection corner case.
37815         Do not attempt to stat the symlink values stored via seen_triple.
37816         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
37817         on linux-2.6.18, (but not 2.6.22).
37818         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
37819         triple_compare.  The former compares dev,ino,filename, while the latter
37820         would actually stat dirname(filename) when dev and ino were equal.
37821         * lib/hash-triple.c: Install <string.h>.
37822         (STREQ): Define.
37823         (triple_compare_ino_str): New function.
37824         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
37825
37826 2007-09-28  Eric Blake  <ebb9@byu.net>
37827
37828         Enforce that AC_REPLACE_FUNCS files exist.
37829         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
37830         override check for typos.
37831
37832         Fix test-closein on Solaris 10.
37833         * tests/test-closein.c (main): Don't assume stdin can be inherited
37834         closed on all systems.
37835         * tests/test-closein.sh: Likewise.
37836         Reported by Piotr Tarnowski.
37837
37838 2007-09-28  Jim Meyering  <jim@meyering.net>
37839
37840         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
37841
37842 2007-09-27  Jim Meyering  <jim@meyering.net>
37843
37844         canonicalize: Avoid a false-positive cycle failure.
37845         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
37846         Sort.  Remove cycle-check.
37847         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
37848         not cycle-check.h.
37849         (seen_triple): New function.
37850         (canonicalize_filename_mode): Use it instead of cycle-check.
37851         * tests/test-canonicalize.c: Add a test for this bug.
37852         * tests/test-canonicalize.sh: Set up and run the test.
37853
37854         New module, file-set, from coreutils.
37855         * modules/file-set: Define it.
37856         * lib/file-set.c, lib/file-set.h: Implement.
37857
37858         New module, hash-triple, from coreutils.
37859         * modules/hash-triple: Define it.
37860         * lib/hash-triple.c, lib/hash-triple.h: Implement.
37861
37862 2007-09-25  Eric Blake  <ebb9@byu.net>
37863
37864         Fix strerror on Interix.
37865         * lib/string_.h (strerror): Declare replacement.
37866         * doc/functions/strerror.texi (strerror): Document the Interix
37867         shortcoming.
37868         * modules/string (Makefile.am): Support new hooks.
37869         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
37870         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
37871         gl_FUNC_STRERROR_SEPARATE.
37872         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
37873         * lib/strerror.c (rpl_strerror): Provide replacement.
37874         * modules/strerror (Depends-on): Add string.
37875         (configure.ac): Detect use of module.
37876         * tests/test-strerror.c: New file.
37877         * modules/strerror-tests: New test module.
37878         * modules/argp (Depends-on): Add strerror.
37879         * modules/error (Depends-on): Likewise.
37880         Reported by Martin Koeppe.
37881
37882 2007-09-24  Bruno Haible  <bruno@clisp.org>
37883
37884         * README: Update git instructions.
37885
37886 2007-09-24  Eric Blake  <ebb9@byu.net>
37887
37888         Revert fpending breakage from 2007-09-08.
37889         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
37890         __fpending.c.
37891
37892 2007-09-24  Jim Meyering  <jim@meyering.net>
37893
37894         filenamecat.c: Add a test.
37895         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
37896         showing how the function works when DIR is the empty string.
37897
37898 2007-09-21  Simon Josefsson  <simon@josefsson.org>
37899
37900         * tests/test-canonicalize.sh: Turn on executable bit.
37901
37902 2007-09-19  Eric Blake  <ebb9@byu.net>
37903
37904         * README: Update CVS instructions.
37905
37906 2007-09-18  Bruno Haible  <bruno@clisp.org>
37907
37908         * modules/areadlink: New file.
37909         * lib/areadlink.h (areadlink): New declaration.
37910         * lib/areadlink.c: New file, based on lib/xreadlink.c.
37911
37912 2007-09-17  Jim Meyering  <jim@meyering.net>
37913
37914         * lib/savewd.c (ESTALE) [!defined]: Define.
37915         Reported to be required on Interix by Martin Koeppe.
37916
37917 2007-09-17  Bruno Haible  <bruno@clisp.org>
37918
37919         * gnulib-tool (func_version): Use $version.
37920
37921 2007-09-16  Bruno Haible  <bruno@clisp.org>
37922
37923         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
37924         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
37925         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
37926         Reported by Greg Schafer <gschafer@zip.com.au>.
37927
37928 2007-09-15  Bruno Haible  <bruno@clisp.org>
37929
37930         * gnulib-tool (sed): Try a little harder to make bash understand the
37931         alias.
37932         Reported by Bruce Korb <bruce.korb@gmail.com>.
37933
37934 2007-09-13  Eric Blake  <ebb9@byu.net>
37935
37936         * ChangeLog: Remove conflict markers.
37937
37938 2007-09-13  Simon Josefsson  <simon@josefsson.org>
37939
37940         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
37941         Reported by Bruno Haible <bruno@clisp.org>.
37942
37943 2007-09-12  Bruno Haible  <bruno@clisp.org>
37944
37945         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
37946         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
37947         is not defined.
37948
37949 2007-09-12  Eric Blake  <ebb9@byu.net>
37950
37951         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
37952         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
37953         Autoconf definition.
37954         * modules/euidaccess (Depends-on): Add extensions, for
37955         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
37956         * modules/fnmatch (Depends-on): Likewise.
37957         * modules/getaddrinfo (Depends-on): Likewise.
37958         * modules/getdelim (Depends-on): Likewise.
37959         * modules/getline (Depends-on): Likewise.
37960         * modules/getsubopt (Depends-on): Likewise.
37961         * modules/gettext (Depends-on): Likewise.
37962         * modules/group-member (Depends-on): Likewise.
37963         * modules/mbchar (Depends-on): Likewise.
37964         * modules/memmem (Depends-on): Likewise.
37965         * modules/mempcpy (Depends-on): Likewise.
37966         * modules/memrchr (Depends-on): Likewise.
37967         * modules/pagealign_alloc (Depends-on): Likewise.
37968         * modules/readutmp (Depends-on): Likewise.
37969         * modules/stpcpy (Depends-on): Likewise.
37970         * modules/stpncpy (Depends-on): Likewise.
37971         * modules/strchrnul (Depends-on): Likewise.
37972         * modules/strndup (Depends-on): Likewise.
37973         * modules/strsep (Depends-on): Likewise.
37974         * modules/strverscmp (Depends-on): Likewise.
37975         * modules/vasprintf (Depends-on): Likewise.
37976         * modules/wcwidth (Depends-on): Likewise.
37977         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
37978         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
37979         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
37980         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
37981         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
37982         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
37983         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
37984         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
37985         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
37986         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
37987         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
37988         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
37989         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
37990         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
37991         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
37992         * m4/readutmp.m4 (gl_READUTMP): Likewise.
37993         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37994         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
37995         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
37996         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
37997         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
37998         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
37999         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
38000         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
38001         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
38002         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38003         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
38004         so that lock.m4 can be used in gettext without extensions module.
38005
38006 2007-09-11  Bruno Haible  <bruno@clisp.org>
38007
38008         * m4/isc-posix.m4: Remove file.
38009         Suggested by Eric Blake.
38010
38011 2007-09-11  Eric Blake  <ebb9@byu.net>
38012
38013         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
38014
38015 2007-09-10  Bruno Haible  <bruno@clisp.org>
38016
38017         * posix-modules: Fix typo in error message.
38018         Reported by Matt <mkraai@beckman.com>.
38019
38020 2007-09-09  Bruno Haible  <bruno@clisp.org>
38021
38022         * doc/functions/getdelim.texi: Update list of platforms lacking the
38023         function.
38024         * doc/functions/getline.texi: Likewise.
38025
38026 2007-09-09  Jim Meyering  <jim@meyering.net>
38027
38028         * lib/hash.c (hash_initialize): Detect calloc failure.
38029         Reported by Bruno Haible.
38030
38031 2007-09-09  Bruno Haible  <bruno@clisp.org>
38032
38033         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
38034         malloc or realloc fails.
38035
38036 2007-09-09  Bruno Haible  <bruno@clisp.org>
38037
38038         * modules/getcwd (Depends-on): Add malloc-posix.
38039         * modules/glob (Depends-on): Likewise.
38040         * modules/putenv (Depends-on): Likewise.
38041         * modules/strdup (Depends-on): Likewise.
38042         * modules/getdelim (Depends-on): Add realloc-posix.
38043         * modules/read-file (Depends-on): Likewise.
38044
38045 2007-09-09  Bruno Haible  <bruno@clisp.org>
38046
38047         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
38048         (gl_FUNC_MALLOC_POSIX): Require it.
38049         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
38050         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
38051         * modules/realloc (Files): Add m4/malloc.m4.
38052         * modules/calloc (Files): Likewise.
38053
38054 2007-09-09  Bruno Haible  <bruno@clisp.org>
38055
38056         * modules/malloc-posix: New file.
38057         * modules/malloc (Depends-on): Add malloc-posix.
38058         * lib/malloc.c: Include errno.h.
38059         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
38060         and a POSIX-compatible malloc into a single function. Set ENOMEM
38061         when returning NULL.
38062         * m4/malloc.m4: New file.
38063         * doc/functions/malloc.texi: Mention the malloc-posix module.
38064         * lib/stdlib_.h (malloc): New declaration.
38065         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38066         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
38067         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
38068         and HAVE_MALLOC_POSIX.
38069
38070 2007-09-09  Bruno Haible  <bruno@clisp.org>
38071
38072         * modules/realloc-posix: New file.
38073         * modules/realloc (Depends-on): Add realloc-posix.
38074         * lib/realloc.c: Include errno.h.
38075         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
38076         and a POSIX-compatible realloc into a single function. Set ENOMEM
38077         when returning NULL.
38078         * m4/realloc.m4: New file.
38079         * doc/functions/realloc.texi: Mention the realloc-posix module.
38080         * lib/stdlib_.h (realloc): New declaration.
38081         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38082         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
38083         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
38084         and HAVE_REALLOC_POSIX.
38085
38086 2007-09-09  Bruno Haible  <bruno@clisp.org>
38087
38088         * modules/calloc-posix: New file.
38089         * modules/calloc (Depends-on): Add calloc-posix.
38090         * lib/calloc.c: Include errno.h.
38091         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
38092         and a POSIX-compatible calloc into a single function. Set ENOMEM
38093         when returning NULL.
38094         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
38095         * doc/functions/calloc.texi: Mention the calloc-posix module.
38096         * lib/stdlib_.h (calloc): New declaration.
38097         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38098         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
38099         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
38100         and HAVE_CALLOC_POSIX.
38101
38102 2007-09-09  Bruno Haible  <bruno@clisp.org>
38103
38104         Allow for modules to show an arbitrary notice.
38105         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
38106         * gnulib-tool: New option --extract-notice.
38107         (func_usage): Document it.
38108         (sed_extract_prog): Update.
38109         (func_get_notice): New function.
38110         (func_modules_notice): New function.
38111         (func_import, func_create_testdir): Invoke it.
38112         Suggested by Jim Meyering.
38113
38114 2007-09-09  Bruno Haible  <bruno@clisp.org>
38115
38116         * gnulib-tool: New options --verbose, --quiet.
38117         (func_usage): Document them.
38118         (verbose): New variable.
38119         (func_execute_command): New function.
38120         (func_import): Don't show the module list and the file list if
38121         $verbose < 0.
38122         (func_create_testdir): Likewise. Use func_execute_command.
38123         (func_create_megatestdir): Use func_execute_command.
38124
38125 2007-09-08  Bruno Haible  <bruno@clisp.org>
38126
38127         * gnulib-tool (func_import): Prefer rsync over wget when available,
38128         for fetching the PO files.
38129
38130 2007-09-08  Bruno Haible  <bruno@clisp.org>
38131
38132         * posix-modules: New file. Portions copied from gnulib-tool.
38133         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
38134
38135 2007-09-08  Jim Meyering  <jim@meyering.net>
38136
38137         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
38138         * lib/fpending.h: Rename from __fpending.h.
38139         * lib/fpending.c: Rename from __fpending.c.
38140         Include "fpending.h", not "__fpending.h".
38141         * lib/__fpending.h, lib/__fpending.c: Remove files.
38142         * modules/fpending (Files): Reflect new file names.
38143         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
38144
38145 2007-09-08  Bruno Haible  <bruno@clisp.org>
38146
38147         * m4/inttypes-h.m4: Remove stub file.
38148
38149 2007-09-07  Simon Josefsson  <simon@josefsson.org>
38150
38151         * doc/headers/stdint.texi: Discuss #include_next issue.
38152
38153 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
38154
38155         * build-aux/bootstrap: Remove obsolete comment about wget --help.
38156
38157 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38158
38159         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
38160         in variable name.
38161
38162 2007-09-03  Jim Meyering  <jim@meyering.net>
38163
38164         New module: git-version-gen.
38165         * modules/git-version-gen: New file.
38166
38167         Import changes from coreutils for bootstrap script.
38168
38169         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
38170
38171         bootstrap: uses rsync to download the .po files
38172         * build-aux/bootstrap (po_download_command_format): New global.
38173         (download_po_files): Use rsync.
38174         (update_po_files): Don't remove .po files after download,
38175         so future rsync runs can take advantage of the copies.
38176
38177         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
38178
38179         Solve the unnecessary-.po-file-regeneration problem once and for all.
38180         * build-aux/bootstrap (download_po_files): New function, renamed from
38181         get_translations.  Now, downloads, but doesn't update LINGUAS.
38182         (update_po_files): New function.
38183
38184         bootstrap: Ignore more.
38185         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
38186         uniwidth to e.g., lib/.gitignore.
38187         (slurp): Handle the sys_stat_.h -> sys mapping, too.
38188
38189         * build-aux/bootstrap: New setting: vc_ignore.
38190         (insert_sorted_if_absent): Create $file if absent.
38191         Adapt to new, possibly empty, list: $vc_ignore.
38192
38193         bootstrap: generate more ignorable names
38194         * build-aux/bootstrap (slurp): When generating ignorable names,
38195         also map .sin to .sed, .gperf to .c, and .y to .c.
38196
38197 2007-09-03  Jim Meyering  <jim@meyering.net>
38198
38199         * build-aux/git-version-gen: New file, from coreutils.  For details, see
38200         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
38201
38202 2007-09-02  Bruno Haible  <bruno@clisp.org>
38203
38204         Fix mis-recognition of 'mcs' on QNX 6.
38205         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
38206         output contains the string "Mono".
38207         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
38208         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
38209
38210 2007-09-01  Bruno Haible  <bruno@clisp.org>
38211
38212         Fix collision between uniwidth/* and linebreak modules.
38213         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
38214         u32_width): Remove declarations.
38215         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
38216         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
38217         streq3, streq2, streq1, streq0): Remove functions.
38218         (STREQ): Remove macro.
38219         (is_cjk_encoding): Remove function.
38220         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
38221         (uc_width, u8_width, u16_width, u32_width): Remove functions.
38222         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
38223         * NEWS: Document the change.
38224
38225 2007-09-01  Bruno Haible  <bruno@clisp.org>
38226
38227         * lib/streq.h: Add double-inclusion guard.
38228
38229 2007-09-01  Karl Berry  <karl@gnu.org>
38230
38231         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
38232
38233 2007-08-28  Jim Meyering  <jim@meyering.net>
38234
38235         Rename mreadlink_with_size to areadlink_with_size.
38236         * NEWS: Document the change.
38237         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
38238         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
38239         * lib/mreadlink.h: Rename this to...
38240         * lib/areadlink.h: ...this.
38241         * modules/mreadlink-with-size: Rename this to...
38242         * modules/areadlink-with-size: ...this.
38243         * lib/canonicalize.c: Reflect the renaming.
38244         * modules/canonicalize: Likewise.
38245
38246 2007-08-26  Bruno Haible  <bruno@clisp.org>
38247
38248         * gnulib-tool (func_import): When deciding which files to remove,
38249         consider also dangling symbolic links.
38250         Reported by Eric Blake.
38251
38252 2007-08-26  Bruno Haible  <bruno@clisp.org>
38253
38254         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
38255
38256 2007-08-23  Simon Josefsson  <simon@josefsson.org>
38257
38258         * lib/readline.c: Don't include getline.h, the prototype is now
38259         found in stdio.h.
38260
38261 2007-08-23  Jim Meyering  <jim@meyering.net>
38262
38263         Getdelim touchup.
38264         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
38265         around the funlockfile call, since funlockfile never sets errno.
38266         Don't set errno upon failed realloc.
38267
38268 2007-08-22  Eric Blake  <ebb9@byu.net>
38269
38270         Getline touchups.
38271         * lib/getdelim.c (getdelim): Revert regression that required *n to
38272         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
38273         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
38274         getdelim, rather than whether implementation is missing.
38275         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
38276         * lib/stdio_.h (getline): Also declare if replacement is
38277         required.
38278         * doc/functions/getdelim.texi: New file.
38279         * doc/functions/getline.texi: Likewise.
38280         * doc/gnulib.texi (Function Substitutes): Add new files.
38281         Reported by Bruno Haible.
38282
38283 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
38284
38285         * users.txt: Add Guile.
38286
38287 2007-08-22  Eric Blake  <ebb9@byu.net>
38288
38289         * tests/test-getdelim.c (main): Use remove, not unlink.
38290         * tests/test-getline.c (main): Likewise.
38291
38292         Move getline and getdelim into stdio.h, per POSIX 200x.
38293         * modules/getline (Files): Remove getline.h.
38294         (Depends-on): Add stdio.
38295         (configure.ac): Add module indicator.
38296         * modules/getdelim (Files): Remove getdelim.h.
38297         (Depends-on): Add stdio.
38298         (configure.ac): Add module indicator.
38299         * modules/stdio (Makefile.am): Work with new indicators.
38300         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38301         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
38302         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38303         * lib/getdelim.h: Delete.
38304         * lib/getline.h: Delete.
38305         * lib/stdio_.h (getdelim, getline): Declare.
38306         * modules/getdelim-tests: New module.
38307         * modules/getline-tests: Likewise.
38308         * tests/test-getdelim.c: New file.
38309         * tests/test-getline.c: Likewise.
38310         * NEWS: Document the change.
38311         * lib/getline.c: Update choice of header.
38312         * lib/csharpcomp.c: Likewise.
38313         * lib/getpass.c: Likewise.
38314         * lib/javacomp.c: Likewise.
38315         * lib/javaversion.c: Likewise.
38316         * lib/yesno.c: Likewise.
38317         * lib/getdelim.c: Likewise.
38318         (getdelim): Set errno on failure, and avoid memory leak.
38319
38320 2007-08-19  Bruno Haible  <bruno@clisp.org>
38321
38322         * modules/closein (Depends-on): Add freadahead.
38323         * lib/closein.c: Include freadahead.h.
38324         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
38325         is zero.
38326
38327 2007-08-19  Bruno Haible  <bruno@clisp.org>
38328
38329         * modules/freadahead-tests: New file.
38330         * tests/test-freadahead.sh: New file.
38331         * tests/test-freadahead.c: New file.
38332
38333         * modules/freadahead: New file.
38334         * lib/freadahead.h: New file.
38335         * lib/freadahead.c: New file.
38336         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
38337         fbufmode, fpurge, freadable, fwritable.
38338
38339 2007-08-19  Eric Blake  <ebb9@byu.net>
38340
38341         Test yesno in combination with closein.
38342         * lib/yesno.c (yesno): Document use of stdin.
38343         * modules/yesno-tests (Files): New module.
38344         * tests/test-yesno.c (main): New file.
38345         * tests/test-yesno.sh: Likewise.
38346
38347 2007-08-19  Bruno Haible  <bruno@clisp.org>
38348
38349         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
38350         * lib/fseeko.c (rpl_fseeko): Likewise.
38351         * lib/fseterr.c (fseterr): Likewise.
38352
38353 2007-08-19  Bruno Haible  <bruno@clisp.org>
38354
38355         * tests/test-lseek.c (main): Disable a test for BeOS.
38356         * doc/functions/lseek.texi: Document the BeOS bug.
38357
38358 2007-08-19  Bruno Haible  <bruno@clisp.org>
38359             Eric Blake  <ebb9@byu.net>
38360
38361         * lib/lseek.c: Include <sys/stat.h>.
38362         (rpl_lseek): Add workaround code also for Unix platforms.
38363         Needed for BeOS.
38364         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
38365         * doc/functions/lseek.texi: Document BeOS definiency.
38366
38367 2007-08-18  Bruno Haible  <bruno@clisp.org>
38368
38369         * modules/fstrcmp-tests: New file.
38370         * tests/test-fstrcmp.c: New file.
38371
38372 2007-08-18  Bruno Haible  <bruno@clisp.org>
38373
38374         * modules/fstrcmp: New file, from GNU gettext with modifications.
38375         * lib/fstrcmp.h: New file, from GNU gettext.
38376         * lib/fstrcmp.c: New file, from GNU gettext.
38377         * MODULES.html.sh (String handling): Add fstrcmp.
38378
38379 2007-08-18  Bruno Haible  <bruno@clisp.org>
38380
38381         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
38382         'bool'.
38383         (diag, compareseq): Remove const from the ctxt argument.
38384         (USE_HEURISTIC): Undefine at the end.
38385
38386 2007-08-18  Jim Meyering  <jim@meyering.net>
38387
38388         New file: lib/idcache.h
38389         * NEWS: Mention the addition.
38390         * modules/idcache (Files): Add lib/idcache.h
38391         * lib/idcache.c: Include "idcache.h".
38392         Don't include <sys/types.h>.
38393         Add a FIXME comment.
38394         Move file-scoped "static" declarations to the top.
38395         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
38396
38397 2007-08-17  Bruno Haible  <bruno@clisp.org>
38398         and Paul Eggert  <eggert@cs.ucla.edu>
38399
38400         * MODULES.html.sh: Add diffseq.
38401         * modules/diffseq: New file.
38402         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
38403         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
38404
38405 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
38406
38407         Import changes from coreutils for bootstrap script.
38408
38409         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
38410
38411         * build-aux/bootstrap (slurp): Work even in environments where
38412         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
38413         current code does not slurp files whose names start with ".", and
38414         this looks like it might be a troublesome area.
38415
38416         2007-07-11  Jim Meyering  <jim@meyering.net>
38417
38418         If there's a GPL vN copyright comment, require that N == 3.
38419
38420         2007-07-08  Jim Meyering  <jim@meyering.net>
38421
38422         Run the coreutils-specific code only if tests/Makefile.am.in exists.
38423         * build-aux/bootstrap (mam_template): Move definition out of loop.
38424
38425         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
38426
38427         * build-aux/bootstrap (symlink_to_dir): Rename function from
38428         symlink_to_gnulib.  Add a directory parameter.  Update all
38429         callers.
38430         (cp_mark_as_generated): Also check for -- and link to -- files in
38431         gl/.
38432
38433         2007-07-08  Jim Meyering  <jim@meyering.net>
38434
38435         Adapt to deeper hierarchy in gnulib.
38436         * build-aux/bootstrap (symlink_to_dir): If the destination
38437         directory doesn't exist, create it. This is required at least for
38438         "lib/uniwidth/cjk.h".
38439
38440         2007-05-15  Jim Meyering  <jim@meyering.net>
38441
38442         * build-aux/bootstrap: Now that generated Makefile.am files
38443         are no longer under version control, they must be created at
38444         bootstrap time.
38445
38446 2007-08-14  Ben Pfaff  <blp@gnu.org>
38447
38448         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
38449
38450 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
38451
38452         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
38453         given the changes below.
38454         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
38455         even on hosts that have padding bits beyond the supported 64.
38456
38457 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
38458
38459         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
38460         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
38461         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
38462         depends on it.
38463         (xstrtol_error): Remove.
38464         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
38465         but with a different signature.
38466         (ATTRIBUTE_NORETURN, __attribute__): New macros.
38467         * lib/xstrtol-error.c: Include exitfail.h.
38468         (xstrtol_fatal): New function, with a different signature from the
38469         old xstrtol_error, so that the caller need not worry about passing
38470         in an exit status, or about storage management of the option argument.
38471         (xstrtol_error): Now a static function.  Redo signature to
38472         implement xstrtol_fatal.  Output the correct number of hyphens in
38473         front of the option so that the caller need not worry about
38474         storage management.
38475         (N_): New macro.
38476         (_): Remove; not used now.
38477         * modules/xstrtol: Depend on getopt.
38478         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
38479         of old STRTOL_FATAL_ERROR macro.
38480         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
38481         of test program.
38482         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
38483         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
38484
38485 2007-08-08  Eric Blake  <ebb9@byu.net>
38486
38487         * lib/xstrtol-error.c: Add missing include.
38488
38489         Move xstrtol messages into gnulib domain, when --pobase is used.
38490         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
38491         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
38492         * modules/xstrtol (Files): Distribute new file.
38493         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
38494         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
38495         * tests/test-xstrtol.c: ...into new file.
38496         * tests/test-xstrtoul.c: Also test xstrtoul.
38497         * tests/test-xstrtoimax.c: Also test xstrtoimax.
38498         * tests/test-xstrtoumax.c: Also test xstrtoumax.
38499         * tests/test-xstrtol.sh: Drive the tests.
38500         * tests/test-xstrtoimax.sh: Likewise.
38501         * tests/test-xstrtoumax.sh: Likewise.
38502         * modules/xstrtol-tests: New module.
38503         * modules/xstrtoimax-tests: Likewise.
38504         * modules/xstrtoumax-tests: Likewise.
38505
38506 2007-08-08  Jim Meyering  <jim@meyering.net>
38507
38508         New function: mfile_name_concat.
38509         * lib/filenamecat.c (mfile_name_concat): New function, just like
38510         file_name_concat, but return NULL upon failure rather than exiting
38511         with a diagnostic.
38512         * lib/filenamecat.h: Declare it.
38513
38514 2007-08-07  Bruno Haible  <bruno@clisp.org>
38515
38516         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
38517         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
38518         warning from gcc.
38519         Reported by Eric Blake.
38520
38521 2007-08-07  Simon Josefsson  <simon@josefsson.org>
38522
38523         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
38524         * modules/crypto/arcfour (License): Likewise.
38525         * modules/crypto/des-tests (License): Likewise.
38526         * modules/crypto/gc-arctwo-tests (License): Likewise.
38527         * modules/crypto/gc-des-tests (License): Likewise.
38528         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
38529         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
38530         * modules/crypto/gc-md2-tests (License): Likewise.
38531         * modules/crypto/gc-md4-tests (License): Likewise.
38532         * modules/crypto/gc-md5-tests (License): Likewise.
38533         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
38534         * modules/crypto/gc-rijndael-tests (License): Likewise.
38535         * modules/crypto/gc-sha1-tests (License): Likewise.
38536         * modules/crypto/gc-tests (License): Likewise.
38537         * modules/crypto/hmac-md5 (License): Likewise.
38538         * modules/crypto/hmac-sha1 (License): Likewise.
38539         * modules/crypto/md2-tests (License): Likewise.
38540         * modules/crypto/md4-tests (License): Likewise.
38541         * modules/crypto/md5 (License): Likewise.
38542         * modules/crypto/rijndael (License): Likewise.
38543         * modules/crypto/sha1 (License): Likewise.
38544         * modules/memxor (License): Likewise.
38545
38546 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
38547         and Bruno Haible  <bruno@clisp.org>
38548
38549         * NEWS: Describe interface changes to human, xstrtol.
38550         * lib/human.h: Include <xstrtol.h>.
38551         (human_options): Return enum strtol_error, not int.  Remove
38552         bool arg; take int * instead.
38553         * lib/human.c: Don't include "gettext.h".
38554         (_): Remove; no longer used.
38555         Don't include <xstrtol.h>, since human.h does it.
38556         (human_options): Adjust to abovementioned interface changes.
38557         Do not report error to stderr; that's now the caller's
38558         responsibility.
38559         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
38560         interface change.
38561         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
38562         Str, Argument_type_string.  All uses changed.  Put " argument"
38563         in diagnostics to make them clearer.  Change wording of suffix
38564         message for clarity.
38565         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
38566         Argument_type_string.
38567         (STRTOL_FATAL_WARN): Remove; no longer used.
38568         * modules/human (Depends-on): Remove gettext-h.
38569
38570 2007-08-06  Simon Josefsson  <simon@josefsson.org>
38571
38572         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
38573
38574 2007-07-31  Bruno Haible  <bruno@clisp.org>
38575
38576         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
38577         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
38578         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
38579
38580 2007-07-31  Bruno Haible  <bruno@clisp.org>
38581
38582         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
38583         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
38584
38585 2007-07-30  Bruno Haible  <bruno@clisp.org>
38586
38587         * modules/base64 (License): Use the synonymous term "LGPLv2+".
38588         * modules/c-ctype (License): Likewise.
38589         * modules/c-strcase (License): Likewise.
38590         * modules/check-version (License): Likewise.
38591         * modules/iconv (License): Likewise.
38592         * modules/iconv_open (License): Likewise.
38593         * modules/read-file (License): Likewise.
38594         * modules/striconv (License): Likewise.
38595         * modules/strverscmp (License): Likewise.
38596         * modules/vasprintf (License): Likewise.
38597         * modules/crypto/des (License): Likewise.
38598         * modules/crypto/gc (License): Likewise.
38599         * modules/crypto/gc-arcfour (License): Likewise.
38600         * modules/crypto/gc-arctwo (License): Likewise.
38601         * modules/crypto/gc-des (License): Likewise.
38602         * modules/crypto/gc-hmac-md5 (License): Likewise.
38603         * modules/crypto/gc-hmac-sha1 (License): Likewise.
38604         * modules/crypto/gc-md2 (License): Likewise.
38605         * modules/crypto/gc-md4 (License): Likewise.
38606         * modules/crypto/gc-md5 (License): Likewise.
38607         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
38608         * modules/crypto/gc-random (License): Likewise.
38609         * modules/crypto/gc-rijndael (License): Likewise.
38610         * modules/crypto/gc-sha1 (License): Likewise.
38611         * modules/crypto/md2 (License): Likewise.
38612         * modules/crypto/md4 (License): Likewise.
38613
38614 2007-07-30  Jim Meyering  <jim@meyering.net>
38615
38616         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
38617         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
38618         it has valid stat data.  This bug would cause du not to count the
38619         sizes of inaccessible directories.
38620         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
38621         in <http://bugzilla.redhat.com/250077>.
38622
38623 2007-07-25  Peter O'Gorman  <peter@pogma.com>
38624             Bruno Haible  <bruno@clisp.org>
38625
38626         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
38627         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
38628         #include_next, gives a diagnostic about it, but reports no error in
38629         the exit code.
38630         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
38631
38632 2007-07-24  Ben Pfaff  <blp@gnu.org>
38633
38634         Improve name: "count-one-bits" is better than "popcount".
38635         * MODULES.html.sh: Update name.
38636         * lib/popcount.h: Renamed lib/count-one-bits.h.
38637         (popcount): Renamed count_one_bits.
38638         (popcountl): Renamed count_one_bits_l.
38639         (popcountll): Renamed count_one_bits_ll.
38640         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
38641         * modules/popcount: Renamed module/count-one-bits.
38642         * modules/popcount-tests: Renamed module/count-one-bits-tests.
38643         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
38644
38645 2007-07-23  Ben Pfaff  <blp@gnu.org>
38646
38647         * lib/popcount.h (popcount32): Reduce size of constants, to allow
38648         better code generation, and add U to large constants to avoid
38649         warnings, in non-GCC case.
38650         Suggested by Bruno Haible.
38651
38652 2007-07-23  Ben Pfaff  <blp@gnu.org>
38653
38654         * lib/popcount.h: Use verify_true instead of if...abort.
38655         * modules/popcount: Depend on verify module.
38656         Suggested by Jim Meyering.
38657
38658 2007-07-23  Bruno Haible  <bruno@clisp.org>
38659
38660         * gnulib-tool (func_import): Create a .cvsignore file also when the
38661         directory is not yet in CVS but the toplevel directory is. When
38662         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
38663         Reported by Karl Berry.
38664
38665 2007-07-22  Ben Pfaff  <blp@gnu.org>
38666
38667         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
38668         case.
38669         Suggested by Eric Blake.
38670
38671 2007-07-22  Ben Pfaff  <blp@gnu.org>
38672
38673         New module: popcount.
38674         * MODULES.html.sh: Add popcount.
38675         * modules/popcount: New file.
38676         * modules/popcount-tests: New file.
38677         * tests/test-popcount.c: New file.
38678         * lib/popcount.h: New file.
38679         * m4/popcount.m4: New file.
38680
38681 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
38682
38683         * build-aux/announce-gen: Update to GPLv3.
38684
38685         * build-aux/config.guess: Update from config.
38686
38687 2007-07-21  Bruno Haible  <bruno@clisp.org>
38688
38689         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
38690         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
38691
38692 2007-07-20  Jim Meyering  <jim@meyering.net>
38693
38694         * check-module: Diagnose a self-dependency.
38695
38696 2007-07-19  Bruno Haible  <bruno@clisp.org>
38697
38698         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
38699         empty.
38700         Reported by Eric Blake.
38701
38702 2007-07-18  Bruno Haible  <bruno@clisp.org>
38703
38704         * gnulib-tool: New options --po-base, --po-domain.
38705         (func_usage): Document them.
38706         (pobase, po_domain): New variables.
38707         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
38708         DEFAULT_TEXT_DOMAIN.
38709         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
38710         (func_import): Consider pobase and po_domain. Create a po/ directory.
38711         (func_create_testdir): Set pobase and po_domain to empty.
38712         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
38713         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
38714
38715 2007-07-18  Bruno Haible  <bruno@clisp.org>
38716
38717         * gnulib-tool (func_get_automake_snippet): Synthesize also an
38718         EXTRA_DIST augmentation for files in build-aux/.
38719
38720 2007-07-16  Bruno Haible  <bruno@clisp.org>
38721
38722         * modules/lseek (License): Use the synonymous term "LGPLv2+".
38723         * modules/getdelim (License): Likewise.
38724
38725 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38726
38727         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
38728         * modules/d-type (License): Likewise.
38729         * modules/extensions (License): Likewise.
38730         * modules/fnmatch (License): Likewise.
38731         * modules/fseeko (License): Likewise.
38732         * modules/getaddrinfo (License): Likewise.
38733         * modules/getline (License): Likewise.
38734         * modules/getlogin_r (License): Likewise.
38735         * modules/getpass (License): Likewise.
38736         * modules/gettimeofday (License): Likewise.
38737         * modules/glob (License): Likewise.
38738         * modules/inet_ntop (License): Likewise.
38739         * modules/malloc (License): Likewise.
38740         * modules/malloca (License): Likewise.
38741         * modules/memmem (License): Likewise.
38742         * modules/mempcpy (License): Likewise.
38743         * modules/memset (License): Likewise.
38744         * modules/minmax (License): Likewise.
38745         * modules/mktime (License): Likewise.
38746         * modules/netinet_in (License): Likewise.
38747         * modules/pathmax (License): Likewise.
38748         * modules/poll (License): Likewise.
38749         * modules/regex (License): Likewise.
38750         * modules/snprintf (License): Likewise.
38751         * modules/stdbool (License): Likewise.
38752         * modules/stdint (License): Likewise.
38753         * modules/stdio (License): Likewise.
38754         * modules/strcase (License): Likewise.
38755         * modules/strcasestr (License): Likewise.
38756         * modules/strdup (License): Likewise.
38757         * modules/string (License): Likewise.
38758         * modules/strndup (License): Likewise.
38759         * modules/strnlen (License): Likewise.
38760         * modules/strpbrk (License): Likewise.
38761         * modules/strptime (License): Likewise.
38762         * modules/strsep (License): Likewise.
38763         * modules/sys_select (License): Likewise.
38764         * modules/sys_socket (License): Likewise.
38765         * modules/sys_stat (License): Likewise.
38766         * modules/sys_time (License): Likewise.
38767         * modules/time (License): Likewise.
38768         * modules/time_r (License): Likewise.
38769         * modules/timegm (License): Likewise.
38770         * modules/unistd (License): Likewise.
38771         * modules/vsnprintf (License): Likewise.
38772         * modules/wctype (License): Likewise.
38773
38774 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38775
38776         * modules/argz (License): LGPLv2+.
38777
38778 2007-07-15  Karl Berry  <karl@gnu.org>
38779
38780         * doc/gnulib.texi: revise node structure per new fdl.texi.
38781
38782 2007-07-14  Bruno Haible  <bruno@clisp.org>
38783
38784         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
38785         the output file.
38786         * lib/uniname/uninames.h: Regenerated.
38787
38788 2007-07-14  Karl Berry  <karl@gnu.org>
38789
38790         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
38791         omitting sectioning and index commands.
38792
38793 2007-07-13  Bruno Haible  <bruno@clisp.org>
38794
38795         New gnulib-tool option --more-symlinks.
38796         * gnulib-tool (func_usage): Document --more-symlinks.
38797         (do_copyrights): New variable.
38798         Recognize option --more-symlinks.
38799         (func_import): Don't add a copyright notice transform to
38800         sed_transform_lib_file if do_copyrights is empty.
38801
38802 2007-07-13  Bruno Haible  <bruno@clisp.org>
38803
38804         * lib/vasnprintf.c (decimal_point_char): Define also if
38805         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
38806         && !NEED_PRINTF_DIRECTIVE_A.
38807         Reported by Clemens Koller <clemens.koller@anagramm.de> via
38808         Gary V. Vaughan <gary@gnu.org>.
38809
38810 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
38811
38812         * lib/inttypes_.h: Undo previous change, since it was fixed
38813         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
38814
38815 2007-07-13  Bruno Haible  <bruno@clisp.org>
38816
38817         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
38818         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
38819
38820 2007-07-13  Jim Meyering  <jim@meyering.net>
38821
38822         df: Don't fail for Tru64's "file-on-file mount".
38823         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
38824         so we fall through and use statfs instead.  Details here:
38825         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
38826         Reported by Albert Chin.
38827
38828 2007-07-13  Bruno Haible  <bruno@clisp.org>
38829
38830         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
38831         * modules/configmake (License): Likewise.
38832         * modules/gettext (License): Likewise.
38833         * modules/gettext-h (License): Likewise.
38834         * modules/include_next (License): Likewise.
38835         * modules/link-warning (License): Likewise.
38836         * modules/localcharset (License): Likewise.
38837         * modules/localename (License): Likewise.
38838         * modules/lock (License): Likewise.
38839         * modules/relocatable-lib-lgpl (License): Likewise.
38840         * modules/size_max (License): Likewise.
38841         * modules/vasnprintf (License): Likewise.
38842         * modules/wchar (License): Likewise.
38843         * modules/xsize (License): Likewise.
38844
38845 2007-07-13  Bruno Haible  <bruno@clisp.org>
38846
38847         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
38848         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
38849
38850 2007-07-12  Bruno Haible  <bruno@clisp.org>
38851
38852         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
38853         in the modules files.
38854
38855 2007-07-11  Karl Berry  <karl@gnu.org>
38856
38857         * MODULES.html.sh (func_module): use
38858          sed -e '\|^'"${includefile}"'$|d'
38859          instead of /.../d, to avoid errors on $includefile's containing /.
38860
38861 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
38862
38863         * gnulib-tool (func_import): Avoid duplication of --avoid
38864         statements
38865         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
38866         names to `_' in variable names.
38867
38868 2007-07-10  Eric Blake  <ebb9@byu.net>
38869
38870         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
38871         * NEWS: Document this change.
38872
38873 2007-07-08  Bruno Haible  <bruno@clisp.org>
38874
38875         Update to Unicode 5.0.
38876         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
38877         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
38878         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
38879         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
38880         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
38881         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
38882         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
38883         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
38884         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
38885         U+10A3F, U+1D242..U+1D244.
38886         (nonspacing_table_ind): Update.
38887         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
38888         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
38889
38890 2007-07-08  Bruno Haible  <bruno@clisp.org>
38891
38892         Update to Unicode 5.0.
38893         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
38894         code transform. Extend the name index field of unicode_name_to_code and
38895         unicode_code_to_name from 16 to 24 bits.
38896         * lib/uniname/uniname.c (unicode_character_name,
38897         unicode_name_character): Add the range 0x12xxx to the code transform.
38898         * lib/uniname/uninames.h: Regenerated.
38899         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
38900
38901 2007-07-07  Bruno Haible  <bruno@clisp.org>
38902
38903         * modules/wcwidth-tests: New file.
38904         * tests/test-wcwidth.c: New file.
38905
38906         Work around MacOS X wcwidth() bug.
38907         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
38908         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
38909         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
38910         original wcwidth in non-UTF-8 locales.
38911         * modules/wcwidth (Depends-on): Add localcharset, streq,
38912         uniwidth/width.
38913         * doc/functions/wcwidth.texi: Update.
38914
38915 2007-07-07  Bruno Haible  <bruno@clisp.org>
38916
38917         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
38918         (wcwidth): New declaration.
38919         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
38920         macros.
38921         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
38922         here. Prepare for creating <wchar.h> unconditionally.
38923         * modules/wchar (Depends-on): Add link-warning.
38924         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
38925         REPLACE_WCWIDTH, and GL_LINK_WARNING.
38926         * lib/wcwidth.h: Remove file.
38927         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
38928         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
38929         * modules/wcwidth (Files): Remove lib/wcwidth.h.
38930         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
38931         (Include): Replace wcwidth.h with <wchar.h>.
38932         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
38933         * lib/mbchar.h: Don't include wcwidth.h.
38934         * lib/mbswidth.c: Likewise.
38935         * NEWS: Mention the change.
38936
38937 2007-07-07  Bruno Haible  <bruno@clisp.org>
38938
38939         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
38940         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
38941         definition with an external declaration.
38942         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
38943         defined as a function. Remove AC_C_INLINE requirement.
38944         * modules/wcwidth (Files): Add lib/wcwidth.c.
38945         (Makefile.am): Remove redundant statement.
38946
38947 2007-07-07  Bruno Haible  <bruno@clisp.org>
38948
38949         * MODULES.html.sh (Unicode string functions): Add the new modules.
38950
38951         * tests/uniwidth/test-u32-strwidth.c: New file.
38952         * modules/uniwidth/u32-strwidth-tests: New file.
38953
38954         * lib/uniwidth/u32-strwidth.c: New file.
38955         * modules/uniwidth/u32-strwidth: New file.
38956
38957         * tests/uniwidth/test-u16-strwidth.c: New file.
38958         * modules/uniwidth/u16-strwidth-tests: New file.
38959
38960         * lib/uniwidth/u16-strwidth.c: New file.
38961         * modules/uniwidth/u16-strwidth: New file.
38962
38963         * tests/uniwidth/test-u8-strwidth.c: New file.
38964         * modules/uniwidth/u8-strwidth-tests: New file.
38965
38966         * lib/uniwidth/u8-strwidth.c: New file.
38967         * modules/uniwidth/u8-strwidth: New file.
38968
38969         * tests/uniwidth/test-u32-width.c: New file.
38970         * modules/uniwidth/u32-width-tests: New file.
38971
38972         * lib/uniwidth/u32-width.c: New file.
38973         * modules/uniwidth/u32-width: New file.
38974
38975         * tests/uniwidth/test-u16-width.c: New file.
38976         * modules/uniwidth/u16-width-tests: New file.
38977
38978         * lib/uniwidth/u16-width.c: New file.
38979         * modules/uniwidth/u16-width: New file.
38980
38981         * tests/uniwidth/test-u8-width.c: New file.
38982         * modules/uniwidth/u8-width-tests: New file.
38983
38984         * lib/uniwidth/u8-width.c: New file.
38985         * modules/uniwidth/u8-width: New file.
38986
38987         * tests/uniwidth/test-uc_width.c: New file.
38988         * modules/uniwidth/width-tests: New file.
38989
38990         * lib/uniwidth/width.c: New file, from GNU libiconv.
38991         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
38992         * modules/uniwidth/width: New file.
38993
38994         * lib/uniwidth.h: New file, from GNU libiconv.
38995         * modules/uniwidth/base: New file.
38996
38997 2007-07-07  Bruno Haible  <bruno@clisp.org>
38998
38999         * lib/uniname.h: New file, from GNU gettext.
39000         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
39001         * lib/uniname/uninames.h: New file, from GNU gettext.
39002         * lib/uniname/uniname.c: New file, from GNU gettext.
39003         * tests/uniname/test-uninames.sh: New file.
39004         * tests/uniname/test-uninames.c: New file, from GNU gettext.
39005         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
39006         * modules/uniname/base: New file.
39007         * modules/uniname/uniname: New file.
39008         * modules/uniname/uniname-tests: New file.
39009         * MODULES.html.sh (Unicode string functions): Add the new modules.
39010
39011 2007-07-06  Bruno Haible  <bruno@clisp.org>
39012
39013         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
39014
39015 2007-07-06  Bruno Haible  <bruno@clisp.org>
39016
39017         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
39018         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
39019         includes <cygwin/sys_time.h> which includes <sys/select.h> which
39020         include <sys/time.h>.
39021         Reported by Eric Blake.
39022
39023 2007-07-06  Eric Blake  <ebb9@byu.net>
39024
39025         Fix testing canonicalize on cygwin.
39026         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
39027         Revert patch from 2007-06-19.
39028         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
39029         canonicalize module is also in use.
39030         * tests/test-canonicalize.c: New file.
39031         * tests/test-canonicalize.sh: Likewise.
39032         * modules/canonicalize-tests: Likewise.
39033
39034 2007-07-06  Jim Meyering  <jim@meyering.net>
39035
39036         * lib/getugroups.c (getugroups): Detect getgrent failure.
39037         Adjust comment to reflect reality: this function may return -1.
39038
39039 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
39040
39041         * build-aux/bootstrap (TP_URL,get_translations): Update to use
39042         the new TP address.
39043         (usage): Fix typo
39044         (gnulib_mk): New variable.
39045
39046 2007-07-05  Jim Meyering  <jim@meyering.net>
39047
39048         Don't let endgrent clobber errno, no matter how improbable.
39049         * lib/getugroups.c (getugroups): Save and restore errno around
39050         endgrent call.
39051
39052         Close the group DB even when failing with 2^31 or more members.
39053         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
39054
39055 2007-07-04  Jim Meyering  <jim@meyering.net>
39056
39057         * lib/getugroups.h: New file.
39058         * lib/getugroups.c: Include "getugroups.h".
39059         Remove uses of "register" keyword.
39060         Move local variable, "cp", down into scope where used.
39061         Give "username" parameter the "const" attribute.
39062         * modules/getugroups (Files): Add lib/getugroups.h
39063
39064 2007-07-04  Karl Berry  <karl@gnu.org>
39065
39066         * MODULES.html.sh (func_all_modules): Complete rename of
39067         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
39068
39069 2007-07-02  Bruno Haible  <bruno@clisp.org>
39070
39071         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
39072         mode, when inttypes.h comes from gnulib.
39073         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39074
39075 2007-07-02  Simon Josefsson  <simon@josefsson.org>
39076
39077         * NEWS: Mention lgpl module name change.
39078
39079         * modules/lgpl-2.1: Renamed from lgpl.
39080
39081         * NEWS: Mention gpl module name change.
39082
39083         * modules/gpl-3.0: New file, based on gpl-2.0.
39084
39085         * modules/gpl-2.0: Renamed from gpl.
39086
39087         * modules/gpl: Fix filename, doc/gpl.texi is now found at
39088         doc/gpl-2.0.texi.
39089
39090 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
39091
39092         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
39093         #define __STDC_LIMIT_MACROS temporarily while including
39094         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
39095         Problem reported by Joel E. Denny in
39096         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
39097
39098 2007-07-01  Bruno Haible  <bruno@clisp.org>
39099
39100         * lib/unistdio.h: New file.
39101         * lib/unistdio/u-asnprintf.h: New file.
39102         * lib/unistdio/u-asprintf.h: New file.
39103         * lib/unistdio/u-printf-args.c: New file.
39104         * lib/unistdio/u-printf-args.h: New file.
39105         * lib/unistdio/u-printf-parse.h: New file.
39106         * lib/unistdio/u-snprintf.h: New file.
39107         * lib/unistdio/u-sprintf.h: New file.
39108         * lib/unistdio/u-vasprintf.h: New file.
39109         * lib/unistdio/u-vsnprintf.h: New file.
39110         * lib/unistdio/u-vsprintf.h: New file.
39111         * lib/unistdio/ulc-asnprintf.c: New file.
39112         * lib/unistdio/ulc-asprintf.c: New file.
39113         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
39114         * lib/unistdio/ulc-printf-parse.c: New file.
39115         * lib/unistdio/ulc-snprintf.c: New file.
39116         * lib/unistdio/ulc-sprintf.c: New file.
39117         * lib/unistdio/ulc-vasnprintf.c: New file.
39118         * lib/unistdio/ulc-vasprintf.c: New file.
39119         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
39120         * lib/unistdio/ulc-vsnprintf.c: New file.
39121         * lib/unistdio/ulc-vsprintf.c: New file.
39122         * lib/unistdio/u8-asnprintf.c: New file.
39123         * lib/unistdio/u8-asprintf.c: New file.
39124         * lib/unistdio/u8-printf-parse.c: New file.
39125         * lib/unistdio/u8-snprintf.c: New file.
39126         * lib/unistdio/u8-sprintf.c: New file.
39127         * lib/unistdio/u8-vasnprintf.c: New file.
39128         * lib/unistdio/u8-vasprintf.c: New file.
39129         * lib/unistdio/u8-vsnprintf.c: New file.
39130         * lib/unistdio/u8-vsprintf.c: New file.
39131         * lib/unistdio/u8-u8-asnprintf.c: New file.
39132         * lib/unistdio/u8-u8-asprintf.c: New file.
39133         * lib/unistdio/u8-u8-snprintf.c: New file.
39134         * lib/unistdio/u8-u8-sprintf.c: New file.
39135         * lib/unistdio/u8-u8-vasnprintf.c: New file.
39136         * lib/unistdio/u8-u8-vasprintf.c: New file.
39137         * lib/unistdio/u8-u8-vsnprintf.c: New file.
39138         * lib/unistdio/u8-u8-vsprintf.c: New file.
39139         * lib/unistdio/u16-asnprintf.c: New file.
39140         * lib/unistdio/u16-asprintf.c: New file.
39141         * lib/unistdio/u16-printf-parse.c: New file.
39142         * lib/unistdio/u16-snprintf.c: New file.
39143         * lib/unistdio/u16-sprintf.c: New file.
39144         * lib/unistdio/u16-vasnprintf.c: New file.
39145         * lib/unistdio/u16-vasprintf.c: New file.
39146         * lib/unistdio/u16-vsnprintf.c: New file.
39147         * lib/unistdio/u16-vsprintf.c: New file.
39148         * lib/unistdio/u16-u16-asnprintf.c: New file.
39149         * lib/unistdio/u16-u16-asprintf.c: New file.
39150         * lib/unistdio/u16-u16-snprintf.c: New file.
39151         * lib/unistdio/u16-u16-sprintf.c: New file.
39152         * lib/unistdio/u16-u16-vasnprintf.c: New file.
39153         * lib/unistdio/u16-u16-vasprintf.c: New file.
39154         * lib/unistdio/u16-u16-vsnprintf.c: New file.
39155         * lib/unistdio/u16-u16-vsprintf.c: New file.
39156         * lib/unistdio/u32-asnprintf.c: New file.
39157         * lib/unistdio/u32-asprintf.c: New file.
39158         * lib/unistdio/u32-printf-parse.c: New file.
39159         * lib/unistdio/u32-snprintf.c: New file.
39160         * lib/unistdio/u32-sprintf.c: New file.
39161         * lib/unistdio/u32-vasnprintf.c: New file.
39162         * lib/unistdio/u32-vasprintf.c: New file.
39163         * lib/unistdio/u32-vsnprintf.c: New file.
39164         * lib/unistdio/u32-vsprintf.c: New file.
39165         * lib/unistdio/u32-u32-asnprintf.c: New file.
39166         * lib/unistdio/u32-u32-asprintf.c: New file.
39167         * lib/unistdio/u32-u32-snprintf.c: New file.
39168         * lib/unistdio/u32-u32-sprintf.c: New file.
39169         * lib/unistdio/u32-u32-vasnprintf.c: New file.
39170         * lib/unistdio/u32-u32-vasprintf.c: New file.
39171         * lib/unistdio/u32-u32-vsnprintf.c: New file.
39172         * lib/unistdio/u32-u32-vsprintf.c: New file.
39173         * tests/unistdio/test-ulc-asnprintf1.c: New file.
39174         * tests/unistdio/test-ulc-asnprintf1.h: New file.
39175         * tests/unistdio/test-ulc-printf1.h: New file.
39176         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
39177         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
39178         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
39179         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
39180         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
39181         * tests/unistdio/test-ulc-vasprintf1.c: New file.
39182         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
39183         * tests/unistdio/test-ulc-vsprintf1.c: New file.
39184         * tests/unistdio/test-u8-asnprintf1.c: New file.
39185         * tests/unistdio/test-u8-asnprintf1.h: New file.
39186         * tests/unistdio/test-u8-printf1.h: New file.
39187         * tests/unistdio/test-u8-vasnprintf1.c: New file.
39188         * tests/unistdio/test-u8-vasnprintf2.c: New file.
39189         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
39190         * tests/unistdio/test-u8-vasnprintf3.c: New file.
39191         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
39192         * tests/unistdio/test-u8-vasprintf1.c: New file.
39193         * tests/unistdio/test-u8-vsnprintf1.c: New file.
39194         * tests/unistdio/test-u8-vsprintf1.c: New file.
39195         * tests/unistdio/test-u16-asnprintf1.c: New file.
39196         * tests/unistdio/test-u16-asnprintf1.h: New file.
39197         * tests/unistdio/test-u16-printf1.h: New file.
39198         * tests/unistdio/test-u16-vasnprintf1.c: New file.
39199         * tests/unistdio/test-u16-vasnprintf2.c: New file.
39200         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
39201         * tests/unistdio/test-u16-vasnprintf3.c: New file.
39202         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
39203         * tests/unistdio/test-u16-vasprintf1.c: New file.
39204         * tests/unistdio/test-u16-vsnprintf1.c: New file.
39205         * tests/unistdio/test-u16-vsprintf1.c: New file.
39206         * tests/unistdio/test-u32-asnprintf1.c: New file.
39207         * tests/unistdio/test-u32-asnprintf1.h: New file.
39208         * tests/unistdio/test-u32-printf1.h: New file.
39209         * tests/unistdio/test-u32-vasnprintf1.c: New file.
39210         * tests/unistdio/test-u32-vasnprintf2.c: New file.
39211         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
39212         * tests/unistdio/test-u32-vasnprintf3.c: New file.
39213         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
39214         * tests/unistdio/test-u32-vasprintf1.c: New file.
39215         * tests/unistdio/test-u32-vsnprintf1.c: New file.
39216         * tests/unistdio/test-u32-vsprintf1.c: New file.
39217         * modules/unistdio/base: New file.
39218         * modules/unistdio/u-printf-args: New file.
39219         * modules/unistdio/ulc-asnprintf: New file.
39220         * modules/unistdio/ulc-asprintf: New file.
39221         * modules/unistdio/ulc-fprintf: New file.
39222         * modules/unistdio/ulc-printf-parse: New file.
39223         * modules/unistdio/ulc-snprintf: New file.
39224         * modules/unistdio/ulc-sprintf: New file.
39225         * modules/unistdio/ulc-vasnprintf: New file.
39226         * modules/unistdio/ulc-vasprintf: New file.
39227         * modules/unistdio/ulc-vfprintf: New file.
39228         * modules/unistdio/ulc-vsnprintf: New file.
39229         * modules/unistdio/ulc-vsprintf: New file.
39230         * modules/unistdio/u8-asnprintf: New file.
39231         * modules/unistdio/u8-asprintf: New file.
39232         * modules/unistdio/u8-printf-parse: New file.
39233         * modules/unistdio/u8-snprintf: New file.
39234         * modules/unistdio/u8-sprintf: New file.
39235         * modules/unistdio/u8-vasnprintf: New file.
39236         * modules/unistdio/u8-vasprintf: New file.
39237         * modules/unistdio/u8-vsnprintf: New file.
39238         * modules/unistdio/u8-vsprintf: New file.
39239         * modules/unistdio/u8-u8-asnprintf: New file.
39240         * modules/unistdio/u8-u8-asprintf: New file.
39241         * modules/unistdio/u8-u8-snprintf: New file.
39242         * modules/unistdio/u8-u8-sprintf: New file.
39243         * modules/unistdio/u8-u8-vasnprintf: New file.
39244         * modules/unistdio/u8-u8-vasprintf: New file.
39245         * modules/unistdio/u8-u8-vsnprintf: New file.
39246         * modules/unistdio/u8-u8-vsprintf: New file.
39247         * modules/unistdio/u16-asnprintf: New file.
39248         * modules/unistdio/u16-asprintf: New file.
39249         * modules/unistdio/u16-printf-parse: New file.
39250         * modules/unistdio/u16-snprintf: New file.
39251         * modules/unistdio/u16-sprintf: New file.
39252         * modules/unistdio/u16-vasnprintf: New file.
39253         * modules/unistdio/u16-vasprintf: New file.
39254         * modules/unistdio/u16-vsnprintf: New file.
39255         * modules/unistdio/u16-vsprintf: New file.
39256         * modules/unistdio/u16-u16-asnprintf: New file.
39257         * modules/unistdio/u16-u16-asprintf: New file.
39258         * modules/unistdio/u16-u16-snprintf: New file.
39259         * modules/unistdio/u16-u16-sprintf: New file.
39260         * modules/unistdio/u16-u16-vasnprintf: New file.
39261         * modules/unistdio/u16-u16-vasprintf: New file.
39262         * modules/unistdio/u16-u16-vsnprintf: New file.
39263         * modules/unistdio/u16-u16-vsprintf: New file.
39264         * modules/unistdio/u32-asnprintf: New file.
39265         * modules/unistdio/u32-asprintf: New file.
39266         * modules/unistdio/u32-printf-parse: New file.
39267         * modules/unistdio/u32-snprintf: New file.
39268         * modules/unistdio/u32-sprintf: New file.
39269         * modules/unistdio/u32-vasnprintf: New file.
39270         * modules/unistdio/u32-vasprintf: New file.
39271         * modules/unistdio/u32-vsnprintf: New file.
39272         * modules/unistdio/u32-vsprintf: New file.
39273         * modules/unistdio/u32-u32-asnprintf: New file.
39274         * modules/unistdio/u32-u32-asprintf: New file.
39275         * modules/unistdio/u32-u32-snprintf: New file.
39276         * modules/unistdio/u32-u32-sprintf: New file.
39277         * modules/unistdio/u32-u32-vasnprintf: New file.
39278         * modules/unistdio/u32-u32-vasprintf: New file.
39279         * modules/unistdio/u32-u32-vsnprintf: New file.
39280         * modules/unistdio/u32-u32-vsprintf: New file.
39281         * modules/unistdio/ulc-asnprintf-tests: New file.
39282         * modules/unistdio/ulc-vasnprintf-tests: New file.
39283         * modules/unistdio/ulc-vasprintf-tests: New file.
39284         * modules/unistdio/ulc-vsnprintf-tests: New file.
39285         * modules/unistdio/ulc-vsprintf-tests: New file.
39286         * modules/unistdio/u8-asnprintf-tests: New file.
39287         * modules/unistdio/u8-vasnprintf-tests: New file.
39288         * modules/unistdio/u8-vasprintf-tests: New file.
39289         * modules/unistdio/u8-vsnprintf-tests: New file.
39290         * modules/unistdio/u8-vsprintf-tests: New file.
39291         * modules/unistdio/u16-asnprintf-tests: New file.
39292         * modules/unistdio/u16-vasnprintf-tests: New file.
39293         * modules/unistdio/u16-vasprintf-tests: New file.
39294         * modules/unistdio/u16-vsnprintf-tests: New file.
39295         * modules/unistdio/u16-vsprintf-tests: New file.
39296         * modules/unistdio/u32-asnprintf-tests: New file.
39297         * modules/unistdio/u32-vasnprintf-tests: New file.
39298         * modules/unistdio/u32-vasprintf-tests: New file.
39299         * modules/unistdio/u32-vsnprintf-tests: New file.
39300         * modules/unistdio/u32-vsprintf-tests: New file.
39301         * MODULES.html.sh (Unicode string functions): Add the new modules.
39302
39303 2007-07-01  Bruno Haible  <bruno@clisp.org>
39304
39305         * lib/sprintf.c (sprintf): Limit the available length estimation,
39306         to avoid address wraparound.
39307         * lib/vsprintf.c (vsprintf): Likewise.
39308         * modules/sprintf-posix (Dependencies): Add stdint.
39309         * modules/vsprintf-posix (Dependencies): Likewise.
39310
39311 2007-07-01  Bruno Haible  <bruno@clisp.org>
39312
39313         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
39314         Windows PATH as well. Conservative double-quoting. Comments.
39315
39316 2007-07-01  Bruno Haible  <bruno@clisp.org>
39317             Eric Blake  <ebb9@byu.net>
39318             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39319
39320         * gnulib-tool (self_abspathname): Fix algorithm to cope with
39321         empty components in $PATH, denoting '.'.
39322
39323 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39324
39325         * gnulib-tool: Fix indentation.
39326         (func_create_megatestdir): Likewise.
39327         Report by Bruno Haible.
39328
39329 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39330
39331         Sync from Automake.
39332         * build-aux/gnupload: Fix shell portability issues with for loops.
39333         Report by Karl Berry.
39334
39335 2007-06-29  Simon Josefsson  <simon@josefsson.org>
39336
39337         * build-aux/maint.mk (POURL): Use translationproject.org.
39338
39339 2007-06-27  Simon Josefsson  <simon@josefsson.org>
39340             Bruno Haible  <bruno@clisp.org>
39341
39342         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
39343         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
39344         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
39345         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
39346         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
39347
39348 2007-06-27  Bruno Haible  <bruno@clisp.org>
39349
39350         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
39351         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
39352
39353 2007-06-26  Karl Berry  <karl@gnu.org>
39354
39355         * MODULES.html.sh: remove xreadlink-with-size.
39356
39357 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39358
39359         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
39360         method that I hope also handles the double-include problem noted
39361         by Bruno Haible in
39362         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
39363
39364 2007-06-23  Bruno Haible  <bruno@clisp.org>
39365
39366         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39367         Don't let the 'mostlyclean' target fail if the last subdirectory could
39368         not be removed.
39369         Reported by Karl Berry.
39370
39371 2007-06-23  Bruno Haible  <bruno@clisp.org>
39372
39373         * gnulib-tool (echo): Add a speedier workaround for ksh.
39374         * tests/test-echo.sh: Likewise.
39375
39376 2007-06-23  Bruno Haible  <bruno@clisp.org>
39377
39378         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
39379         * tests/test-echo.sh: Likewise.
39380
39381 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39382
39383         * gnulib-tool (IFS): Initialize early, so we don't set it to
39384         empty later.
39385         (self_abspathname): Rewrite algorithm to set it, reindent.
39386         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
39387         (func_create_megatestdir): Merge some sed scripts.
39388
39389 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39390
39391         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
39392         exposed by Sun Studio 11 cc on Solaris 8.
39393
39394 2007-06-22  Bruno Haible  <bruno@clisp.org>
39395
39396         * gnulib-tool (echo): Ensure the echo primitive does not interpret
39397         backslashes.
39398         * tests/test-echo.sh: New file.
39399
39400 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39401
39402         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
39403         simplify `sed_replace_build_aux' scripts, they are portable but
39404         echoing them with `echo' is not.
39405         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
39406
39407 2007-06-21  Karl Berry  <karl@gnu.org>
39408
39409         * config/srclist.txt: guess we can't handle the licenses via
39410         srclist at the moment.
39411
39412 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39413
39414         * MODULES.html.sh: Add include_next.
39415         * modules/include_next: New file.
39416
39417 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39418
39419         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
39420         INCLUDE_NEXT.
39421         (gl_CHECK_NEXT_HEADERS): New macro.
39422         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
39423         the obsolescent gl_ABSOLUTE_HEADER.
39424         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
39425         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
39426         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39427         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39428         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
39429         * m4/math_h.m4 (gl_MATH_H): Likewise.
39430         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
39431         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39432         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
39433         * m4/stdint.m4 (gl_STDINT_H): Likewise.
39434         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
39435         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
39436         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
39437         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39438         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
39439         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
39440         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39441         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39442         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
39443         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
39444         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39445         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39446         * m4/inttypes.m4 (gl_INTTYPES_H): Define
39447         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
39448         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
39449         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
39450         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
39451         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
39452         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
39453         * lib/float_.h: Likewise.
39454         * lib/inttypes_.h: Likewise.
39455         * lib/math_.h: Likewise.
39456         * lib/search_.h: Likewise.
39457         * lib/signal_.h: Likewise.
39458         * lib/stdint_.h: Likewise.
39459         * lib/stdio_.h: Likewise.
39460         * lib/stdlib_.h: Likewise.
39461         * lib/string_.h: Likewise.
39462         * lib/sys_stat_.h: Likewise.
39463         * lib/sys_time_.h: Likewise.
39464         * lib/time_.h: Likewise.
39465         * lib/unistd_.h: Likewise.
39466         * lib/wchar_.h: Likewise.
39467         * lib/wctype_.h: Likewise.
39468         * lib/dirent_.h: Likewise.
39469         * lib/iconv_.h: Likewise.
39470         * lib/locale_.h: Likewise.
39471         * lib/netinet_in_.h: Likewise.
39472         * lib/sys_select_.h: Likewise.
39473         * lib/sys_socket_.h: Likewise.
39474         * lib/sysexits_.h: Likewise.
39475         * modules/fcntl (Depends-on): Depend on include_next, not
39476         absolute_header.
39477         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
39478         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
39479         * modules/fchdir: Likewise.
39480         * modules/float: Likewise.
39481         * modules/iconv_open: Likewise.
39482         * modules/inttypes: Likewise.
39483         * modules/locale: Likewise.
39484         * modules/math: Likewise.
39485         * modules/netinet_in: Likewise.
39486         * modules/search: Likewise.
39487         * modules/signal: Likewise.
39488         * modules/stdint: Likewise.
39489         * modules/stdio: Likewise.
39490         * modules/stdlib: Likewise.
39491         * modules/string: Likewise.
39492         * modules/sys_select: Likewise.
39493         * modules/sys_socket: Likewise.
39494         * modules/sys_stat: Likewise.
39495         * modules/sys_time: Likewise.
39496         * modules/sysexits: Likewise.
39497         * modules/time: Likewise.
39498         * modules/unistd: Likewise.
39499         * modules/wchar: Likewise.
39500         * modules/wctype: Likewise.
39501         * modules/sys_stat: Change maintainer to "all".
39502         * modules/unistd: Likewise.
39503
39504 2007-06-20  Karl Berry  <karl@gnu.org>
39505
39506         * config/srclist.txt: track www changes in license files.
39507
39508 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
39509
39510         * build-aux/bootstrap: Remove stray dot.
39511         Make sure build_aux settings are honored when linking
39512         gnulib_extra_files.
39513
39514 2007-06-19  Eric Blake  <ebb9@byu.net>
39515
39516         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
39517         Allow compilation on cygwin.
39518
39519 2007-06-19  Jim Meyering  <jim@meyering.net>
39520
39521         xreadlink-with-size: Remove module.  No longer used.
39522         Ex-callers now use xreadlink or mreadlink-with-size.
39523         * modules/xreadlink-with-size: Remove module.
39524         * lib/xreadlink-with-size.c: Remove file.
39525         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
39526         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
39527         just before the function definition *is* accurate.
39528
39529         Eliminate one way canonicalize_filename_mode could exit.
39530         * lib/canonicalize.c (canonicalize_filename_mode):
39531         Use mreadlink_with_size, not xreadlink_with_size.
39532
39533 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
39534
39535         Detect porting problems to FreeBSD/arm, which has time_t wider than
39536         long int.  Original problem reported for GNU diff by Xin Li in
39537         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
39538         * modules/getdate (Depends-on): Add intprops, verify.
39539         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
39540         is an integer type no wider than long int.
39541
39542 2007-06-18  Jim Meyering  <jim@meyering.net>
39543
39544         New module: mreadlink-with-size.
39545         * MODULES.html.sh: Add mreadlink-with-size.
39546         * modules/mreadlink-with-size: New module
39547         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
39548         not xreadlink-with-size.
39549         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
39550
39551 2007-06-16  Bruno Haible  <bruno@clisp.org>
39552
39553         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
39554         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
39555         Reported by Gary V. Vaughan <gary@gnu.org>.
39556
39557 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
39558
39559         Revamp lchown so that it lives in unistd.h where it belongs.
39560         * lib/lchown.h: Remove.
39561         * lib/dirchownmod.c: Don't include lib/lchown.h.
39562         * lib/fchownat.c: Likewise.
39563         * lib/openat.c: Likewise.
39564         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
39565         does not follow symlinks.
39566         (EOPNOTSUPP): Define if not defined.
39567         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
39568         is defined to 0.
39569         (lchown): New decl.
39570         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
39571         Do not check for lchown decl.
39572         Set REPLACE_LCHOWN.
39573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
39574         REPLACE_LCHOWN.
39575         * modules/chown: Make it clear it follows symlinks.
39576         * modules/lchown: Make it clear it doesn't follow symlinks.
39577         (Files): Remove lib/lchown.h
39578         (Depends-on): Add unistd.
39579         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
39580         (Include): Include <unistd.h>, not "lchown.h".
39581         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
39582         REPLACE_LCHOWN.
39583
39584 2007-06-15  Jim Meyering  <jim@meyering.net>
39585
39586         Change license (GPL to LGPL) of fsusage and dependents.
39587         * modules/fsusage (License): Change to LGPL.
39588         * modules/full-read (License): Likewise.
39589         * modules/full-write (License): Likewise.
39590         * modules/safe-read (License): Likewise.
39591         * modules/safe-write (License): Likewise.
39592
39593 2007-06-14  Ben Pfaff  <blp@gnu.org>
39594
39595         Missing part of allocsa -> malloca transition.
39596         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
39597         gl_MALLOCA.
39598
39599 2007-06-12  Bruno Haible  <bruno@clisp.org>
39600
39601         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
39602         to ia64, x86_64, i386.
39603         Reported by Eric Blake.
39604
39605 2007-06-12  Bruno Haible  <bruno@clisp.org>
39606
39607         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
39608         cross-compiling to x86_64.
39609
39610 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
39611
39612         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
39613         glitch reported by Ralf Wildenhues in
39614         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
39615
39616         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
39617         Vin Shelton.
39618
39619 2007-06-11  Bruno Haible  <bruno@clisp.org>
39620
39621         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
39622         replacement string.
39623         Reported by Eric Blake.
39624
39625 2007-06-10  Bruno Haible  <bruno@clisp.org>
39626
39627         Prepare vasnprintf code for use with Unicode strings.
39628         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
39629         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
39630         TYPE_U32_STRING.
39631         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
39632         a_u32_string variants.
39633         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
39634         * lib/printf-args.c: Don't include config.h and the specification
39635         header if PRINTF_FETCHARGS is already defined.
39636         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
39637         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
39638         TYPE_U16_STRING, TYPE_U32_STRING.
39639         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
39640         u16_directive, u16_directives, u32_directive, u32_directives): New
39641         types.
39642         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
39643         New declarations.
39644         * lib/printf-parse.c: Don't include config.h and the specification
39645         header if PRINTF_PARSE is already defined. Eliminate the set of
39646         parameters for WIDE_CHAR_VERSION; the user of this file must provide
39647         them now. Include c-ctype.h.
39648         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
39649         directive and CHAR_T_ONLY_ASCII.
39650         * lib/vasnprintf.c: Don't include config.h and the specification header
39651         if VASNPRINTF is already defined.
39652         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
39653         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
39654         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
39655         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
39656         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
39657         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
39658         code accordingly.
39659         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
39660         pad_ourselves also in this case, with the 'c' and 's' directives, and
39661         with a different notion of "width".
39662         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
39663
39664 2007-06-10  Bruno Haible  <bruno@clisp.org>
39665
39666         * modules/unistr/u32-mbsnlen: New file.
39667         * lib/unistr/u32-mbsnlen.c: New file.
39668
39669         * modules/unistr/u16-mbsnlen: New file.
39670         * lib/unistr/u16-mbsnlen.c: New file.
39671
39672         * modules/unistr/u8-mbsnlen: New file.
39673         * lib/unistr/u8-mbsnlen.c: New file.
39674
39675         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
39676         declarations.
39677
39678 2007-06-10  Bruno Haible  <bruno@clisp.org>
39679
39680         * lib/string_.h (mbsnlen): New declaration.
39681         * lib/mbsnlen.c: New file.
39682         * m4/mbsnlen.m4: New file.
39683         * modules/mbsnlen: New file.
39684         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
39685         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
39686         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
39687
39688 2007-06-10  Bruno Haible  <bruno@clisp.org>
39689
39690         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
39691
39692 2007-06-10  Bruno Haible  <bruno@clisp.org>
39693
39694         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
39695         * lib/mbuiter.h: Likewise.
39696
39697 2007-06-10  Bruno Haible  <bruno@clisp.org>
39698
39699         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
39700         declaration.
39701
39702 2007-06-10  Karl Berry  <karl@gnu.org>
39703
39704         * config/srclist.txt: remove gettext entries, Bruno prefers
39705         to update individually.
39706
39707 2007-06-10  Bruno Haible  <bruno@clisp.org>
39708
39709         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
39710         'maxlen'. Ensure only length + width bytes are allocated, not
39711         length + 1 + width.
39712
39713 2007-06-09  Bruno Haible  <bruno@clisp.org>
39714
39715         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
39716         (CHAR_T): Remove macro.
39717         (VASNPRINTF): Update.
39718
39719 2007-06-09  Bruno Haible  <bruno@clisp.org>
39720
39721         * MODULES.html.sh (Unicode string functions): Add the new modules.
39722
39723         * modules/uniconv/u32-conv-to-enc: New file.
39724         * lib/uniconv/u32-conv-to-enc.c: New file.
39725         * modules/uniconv/u32-conv-to-enc-tests: New file.
39726         * tests/uniconv/test-u32-conv-to-enc.c: New file.
39727
39728         * modules/uniconv/u16-conv-to-enc: New file.
39729         * lib/uniconv/u16-conv-to-enc.c: New file.
39730         * lib/uniconv/u-conv-to-enc.h: New file.
39731         * modules/uniconv/u16-conv-to-enc-tests: New file.
39732         * tests/uniconv/test-u16-conv-to-enc.c: New file.
39733
39734         * modules/uniconv/u8-conv-to-enc: New file.
39735         * lib/uniconv/u8-conv-to-enc.c: New file.
39736         * modules/uniconv/u8-conv-to-enc-tests: New file.
39737         * tests/uniconv/test-u8-conv-to-enc.c: New file.
39738
39739         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
39740         u32_conv_to_encoding): New declarations.
39741
39742 2007-06-09  Bruno Haible  <bruno@clisp.org>
39743
39744         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
39745
39746 2007-06-09  Bruno Haible  <bruno@clisp.org>
39747
39748         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
39749         * modules/malloca: Renamed from modules/allocsa, updated.
39750         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
39751         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
39752         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
39753         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
39754         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
39755         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
39756         * modules/xmalloca: Renamed from modules/xallocsa, updated.
39757         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
39758         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
39759         * modules/c-strcasestr (Depends-on): Update.
39760         * lib/c-strcasestr.c: Update.
39761         * modules/c-strstr (Depends-on): Update.
39762         * lib/c-strstr.c: Update.
39763         * modules/canonicalize-lgpl (Depends-on): Update.
39764         * lib/canonicalize-lgpl.c: Update.
39765         * modules/clean-temp (Depends-on): Update.
39766         * lib/clean-temp.c: Update.
39767         * modules/csharpcomp (Depends-on): Update.
39768         * lib/csharpcomp.c: Update.
39769         * modules/csharpexec (Depends-on): Update.
39770         * lib/csharpexec.c: Update.
39771         * modules/javacomp (Depends-on): Update.
39772         * lib/javacomp.c: Update.
39773         * modules/javaexec (Depends-on): Update.
39774         * lib/javaexec.c: Update.
39775         * modules/mbscasestr (Depends-on): Update.
39776         * lib/mbscasestr.c: Update.
39777         * modules/mbsstr (Depends-on): Update.
39778         * lib/mbsstr.c: Update.
39779         * modules/setenv (Depends-on): Update.
39780         * lib/setenv.c: Update.
39781         * modules/strcasestr (Depends-on): Update.
39782         * lib/strcasestr.c: Update.
39783         * modules/striconveha (Depends-on): Update.
39784         * lib/striconveha.c: Update.
39785         * modules/relocatable-prog-wrapper (Files): Update.
39786         * lib/relocwrapper.c: Update.
39787         * build-aux/install-reloc: Update.
39788         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
39789
39790 2007-06-08  Bruno Haible  <bruno@clisp.org>
39791
39792         Port to uClibc.
39793         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
39794         * lib/fpurge.c (fpurge): Likewise.
39795         * lib/freading.c (freading): Likewise.
39796         * lib/fseeko.c (rpl_fseeko): Likewise.
39797         * lib/fseterr.c (fseterr): Likewise.
39798         * lib/fwriting.c (fwriting): Likewise.
39799         * tests/test-fflush.c (main): Avoid a failure on uClibc.
39800
39801 2007-06-08  Bruno Haible  <bruno@clisp.org>
39802
39803         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
39804         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
39805         * modules/gettext (Files): Add m4/intlmacosx.m4.
39806
39807 2007-06-07  Bruno Haible  <bruno@clisp.org>
39808
39809         * modules/localename-tests: New file.
39810         * tests/test-localename.c: New file.
39811
39812         New module 'localename'.
39813         * lib/localename.h: New file.
39814         * lib/localename.c: New file, from GNU gettext.
39815         * m4/localename.m4: New file.
39816         * modules/localename: New file.
39817
39818 2007-06-07  Bruno Haible  <bruno@clisp.org>
39819
39820         Work around the lack of <wchar.h> on some builds of uClibc.
39821         * doc/headers/wchar.texi: Update.
39822         * lib/wchar_.h: Include <wchar.h> only if it exists.
39823         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
39824         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
39825         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
39826         doesn't exist.
39827         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
39828         * modules/mbfile (Depends-on): Add wchar.
39829         * modules/mbiter (Depends-on): Likewise.
39830         * modules/mbuiter (Depends-on): Likewise.
39831         Reported by Simon Josefsson.
39832
39833 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
39834
39835         Work around problem reported by Steven M. Schweda in
39836         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
39837         Tru64 5.1B with the Compaq compiler environment installed declares
39838         an 'isblank' function but does not define it in the C library.
39839         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
39840         * lib/regex_internal.h (isblank): Likewise.
39841         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
39842         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39843
39844 2007-06-05  Bruno Haible  <bruno@clisp.org>
39845
39846         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
39847         ia64.
39848         * modules/printf-safe: New file.
39849         * modules/fprintf-posix (Depends-on): Add printf-safe.
39850         * modules/printf-posix (Depends-on): Likewise.
39851         * modules/snprintf-posix (Depends-on): Likewise.
39852         * modules/sprintf-posix (Depends-on): Likewise.
39853         * modules/vasnprintf-posix (Depends-on): Likewise.
39854         * modules/vasprintf-posix (Depends-on): Likewise.
39855         * modules/vfprintf-posix (Depends-on): Likewise.
39856         * modules/vprintf-posix (Depends-on): Likewise.
39857         * modules/vsnprintf-posix (Depends-on): Likewise.
39858         * modules/vsprintf-posix (Depends-on): Likewise.
39859         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
39860         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
39861         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
39862         "no" on i386, x86_64, ia64.
39863         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
39864         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39865         on i386, x86_64, ia64.
39866         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
39867         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39868         on i386, x86_64, ia64.
39869         * tests/test-vasnprintf-posix.c: Include float.h.
39870         (LDBL80_WORDS): New macro.
39871         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39872         on i386, x86_64, ia64.
39873         * tests/test-vasprintf-posix.c: Include float.h.
39874         (LDBL80_WORDS): New macro.
39875         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39876         on i386, x86_64, ia64.
39877         * tests/test-snprintf-posix.c: Include float.h.
39878         * tests/test-sprintf-posix.c: Likewise.
39879         * tests/test-vsnprintf-posix.c: Likewise.
39880         * tests/test-vsprintf-posix.c: Likewise.
39881
39882 2007-06-05  Bruno Haible  <bruno@clisp.org>
39883
39884         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
39885         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
39886         non-IEEE numbers on i386, x86_64, ia64.
39887         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
39888         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
39889         * tests/test-isnanl.h: Include float.h.
39890         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
39891
39892 2007-06-05  Bruno Haible  <bruno@clisp.org>
39893
39894         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
39895         also the %a / %A. Handle the %a / %A code before this extra handling.
39896
39897 2007-06-05  Bruno Haible  <bruno@clisp.org>
39898
39899         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
39900         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
39901
39902 2007-06-05  Bruno Haible  <bruno@clisp.org>
39903
39904         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
39905         typo in variable name.
39906
39907 2007-06-05  Eric Blake  <ebb9@byu.net>
39908
39909         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
39910         Reported by Simon Josefsson.
39911
39912 2007-06-04  Bruno Haible  <bruno@clisp.org>
39913
39914         Avoid test failures on some PowerPC platforms.
39915         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
39916         Define differently for PowerPC.
39917         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
39918         Reported by Gary V. Vaughan <gary@gnu.org>.
39919
39920 2007-06-02  Bruno Haible  <bruno@clisp.org>
39921
39922         Fix test-stdint failure on FreeBSD/ia64.
39923         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
39924         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
39925         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
39926         * doc/headers/stdint.texi: Update.
39927
39928 2007-06-01  Bruno Haible  <bruno@clisp.org>
39929
39930         * tests/test-binary-io.c (main): Pass a third argument to open().
39931         Reported by Gary V. Vaughan <gary@gnu.org>.
39932
39933 2007-06-01  Bruno Haible  <bruno@clisp.org>
39934
39935         * doc/functions/frexpl.texi: Update for mingw.
39936
39937 2007-06-01  Bruno Haible  <bruno@clisp.org>
39938
39939         * tests/test-lseek.c (main): Disable test of errno for invalid third
39940         argument.
39941         * doc/functions/lseek.texi: Update.
39942         Reported by Gary V. Vaughan <gary@gnu.org>.
39943
39944 2007-05-28  Bruno Haible  <bruno@clisp.org>
39945
39946         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
39947
39948 2007-05-31  Eric Blake  <ebb9@byu.net>
39949
39950         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
39951         cross compiling.
39952
39953 2007-05-30  Eric Blake  <ebb9@byu.net>
39954         and Bruno Haible  <bruno@clisp.org>
39955
39956         Work around mingw test failures exposed by m4-1.4.9b.
39957         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
39958         * tests/test-unistd.c: Disable uid_t and git_t tests for the
39959         moment.
39960
39961 2007-05-30  Bruno Haible  <bruno@clisp.org>
39962
39963         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
39964         assuming that they are closed. Needed on HP-UX 11.
39965
39966 2007-05-29  Bruno Haible  <bruno@clisp.org>
39967
39968         Fix a problem with #include_next.
39969         * lib/dirent_.h: Split the double-inclusion guard.
39970         * lib/fcntl_.h: Likewise.
39971         * lib/float_.h: Likewise.
39972         * lib/iconv_.h: Likewise.
39973         * lib/inttypes_.h: Likewise.
39974         * lib/locale_.h: Likewise.
39975         * lib/math_.h: Likewise.
39976         * lib/netinet_in_.h: Likewise.
39977         * lib/search_.h: Likewise.
39978         * lib/signal_.h: Likewise.
39979         * lib/stdint_.h: Likewise.
39980         * lib/stdio_.h: Likewise.
39981         * lib/stdlib_.h: Likewise.
39982         * lib/string_.h: Likewise.
39983         * lib/sys_select_.h: Likewise.
39984         * lib/sys_socket_.h: Likewise.
39985         * lib/sys_stat_.h: Likewise.
39986         * lib/sys_time_.h: Likewise.
39987         * lib/sysexits_.h: Likewise.
39988         * lib/time_.h: Likewise.
39989         * lib/unistd_.h: Likewise.
39990         * lib/wchar_.h: Likewise.
39991         * lib/wctype_.h: Likewise.
39992
39993 2007-05-29  Bruno Haible  <bruno@clisp.org>
39994
39995         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
39996         for the moment.
39997
39998 2007-05-29  Bruno Haible  <bruno@clisp.org>
39999
40000         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
40001         invocation.
40002         Reported by Eric Blake.
40003
40004 2007-05-29  Bruno Haible  <bruno@clisp.org>
40005
40006         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
40007         compiling case.
40008
40009 2007-05-29  Eric Blake  <ebb9@byu.net>
40010             Bruno Haible  <bruno@clisp.org>
40011
40012         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
40013         cross compiles.
40014
40015 2007-05-28  Eric Blake  <ebb9@byu.net>
40016
40017         * modules/closein-tests (test_closein_LDADD): Support test on
40018         cygwin with libtool.
40019
40020 2007-05-28  Bruno Haible  <bruno@clisp.org>
40021
40022         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
40023         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40024         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40025         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40026         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40027         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40028         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40029         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40030         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40031
40032 2007-05-28  Eric Blake  <ebb9@byu.net>
40033
40034         Unconditionally include <config.h> in unit tests.
40035         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
40036         * tests/test-allocsa.c, tests/test-arcfour.c,
40037         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
40038         tests/test-array_list.c, tests/test-array_oset.c,
40039         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
40040         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
40041         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
40042         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
40043         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
40044         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
40045         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
40046         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
40047         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
40048         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
40049         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
40050         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
40051         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
40052         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
40053         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
40054         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
40055         test-md5.c, test-memmem.c, test-printf-posix.c,
40056         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
40057         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
40058         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
40059         test-strcasestr.c, test-striconv.c, test-striconveh.c,
40060         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
40061         test-vasnprintf-posix2.c, test-vasnprintf.c,
40062         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
40063         test-vfprintf-posix.c, test-vprintf-posix.c,
40064         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
40065         test-xvasprintf.c: Likewise.
40066
40067 2007-05-28  Bruno Haible  <bruno@clisp.org>
40068
40069         * gnulib-tool (func_import): Remember the --with-tests command-line
40070         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
40071         Reported by Eric Blake.
40072
40073 2007-05-28  Bruno Haible  <bruno@clisp.org>
40074
40075         * modules/ftell-tests: New file.
40076         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
40077         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
40078
40079         * lib/ftell.c: New file.
40080         * modules/ftell: New file.
40081         * m4/ftell.m4: New file.
40082         * doc/functions/ftell.texi: Update.
40083         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
40084         REPLACE_FTELL.
40085         * lib/stdio_.h (rpl_ftell): New declaration.
40086         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
40087         REPLACE_FTELL.
40088
40089 2007-05-28  Eric Blake  <ebb9@byu.net>
40090
40091         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
40092
40093 2007-05-28  Bruno Haible  <bruno@clisp.org>
40094
40095         * modules/fseek-tests: New file.
40096         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
40097         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
40098
40099         * lib/fseek.c: New file.
40100         * modules/fseek: New file.
40101         * m4/fseek.m4: New file.
40102         * doc/functions/fseek.texi: Update.
40103         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
40104         REPLACE_FSEEK.
40105         * lib/stdio_.h (rpl_fseek): New declaration.
40106         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
40107         REPLACE_FSEEK.
40108
40109 2007-05-28  Bruno Haible  <bruno@clisp.org>
40110
40111         * lib/stdio_.h (fflush): More comments.
40112
40113 2007-05-28  Bruno Haible  <bruno@clisp.org>
40114
40115         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
40116         runtime test.
40117
40118 2007-05-28  Eric Blake  <ebb9@byu.net>
40119
40120         Improve lseek module.
40121         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
40122         * lib/unistd_.h (lseek): Scale back link warning message.
40123         * tests/test-lseek.c: Beef up test.
40124         * tests/test-lseek.sh: Exercise more facets of lseek.
40125         Reported by Bruno Haible.
40126
40127 2007-05-28  Bruno Haible  <bruno@clisp.org>
40128
40129         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
40130         to define.
40131
40132 2007-05-27  Bruno Haible  <bruno@clisp.org>
40133
40134         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
40135
40136 2007-05-27  Bruno Haible  <bruno@clisp.org>
40137
40138         * modules/openmp: New file.
40139         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
40140         Noah Misch.
40141
40142 2007-05-26  Bruno Haible  <bruno@clisp.org>
40143
40144         * modules/chdir-long (Depends-on): Add fchdir.
40145         * modules/chdir-safer (Depends-on): Likewise.
40146         * modules/fts (Depends-on): Likewise.
40147         * modules/fts-lgpl (Depends-on): Likewise.
40148         * modules/openat (Depends-on): Likewise.
40149         * modules/savewd (Depends-on): Likewise.
40150
40151 2007-05-24  Eric Blake  <ebb9@byu.net>
40152
40153         Fix lseek on mingw.
40154         * modules/lseek: New module.
40155         * m4/lseek.m4: New file.
40156         * lib/lseek.c: New file.
40157         * modules/lseek-tests: New file.
40158         * tests/test-lseek.c: New file.
40159         * tests/test-lseek.sh: New file.
40160         * MODULES.html.sh: Document lseek module.
40161         * modules/fflush (Depends-on): Add lseek, fseeko.
40162         * modules/fseeko (Depends-on): Likewise.
40163         * modules/ftello (Depends-on): Likewise.
40164         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
40165         broken.
40166         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
40167         broken.
40168         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
40169         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
40170         * lib/ftello.c (rpl_ftello): Likewise.
40171         * tests/test-fseeko.c (main): Test this.
40172         * tests/test-fseeko.sh: Likewise.
40173         * tests/test-ftello.c (main): Likewise.
40174         * tests/test-ftello.sh: Likewise.
40175         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
40176         implies replacing fseek.
40177         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
40178         HAVE_FTELLO.
40179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
40180         * modules/unistd (Makefile.am): Likewise.
40181         * lib/unistd_.h (lseek): Declare a replacement.
40182         * doc/functions/lseek.texi (lseek): Document this fix.
40183         * doc/functions/fseek.texi (fseek): Likewise.
40184         * doc/functions/ftell.texi (ftell): Likewise.
40185
40186 2007-05-24  Bruno Haible  <bruno@clisp.org>
40187
40188         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
40189         in the printed representation of a NaN.
40190         * tests/test-vasprintf-posix.c (test_function): Likewise.
40191         * tests/test-snprintf-posix.h (test_function): Likewise.
40192         * tests/test-sprintf-posix.h (test_function): Likewise.
40193         Reported by Eric Blake.
40194
40195 2007-05-23  Eric Blake  <ebb9@byu.net>
40196
40197         Fix fseeko/ftello on cygwin 1.5.24.
40198         * doc/functions/fseeko.texi (fseeko): Document the fix.
40199         * doc/functions/ftello.texi (ftello): Document the fix.
40200         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
40201         * doc/functions/stdout.text (stdout): New file.
40202         * doc/functions/stderr.text (stderr): New file.
40203         * doc/gnulib.texi (Function Substitutes): Use new files.
40204         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
40205         prior to 1.7.0.
40206         * tests/test-ftello.c (main): Likewise for ftello.
40207         * tests/test-fseeko.sh: New file.
40208         * tests/test-ftello.sh: New file.
40209         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
40210         with seekable stdin.
40211         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
40212         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
40213         (gl_REPLACE_FSEEKO): New macro.
40214         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
40215         * modules/fseeko (Files): Distribute fseeko.c.
40216         * modules/ftello (Files): Distribute ftello.c.
40217         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
40218         mode.
40219         * lib/ftello.c (rpl_ftello): New file.
40220         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
40221         fseeko, ftello.
40222         (gl_STDIN_LARGE_OFFSET): New macro.
40223         * modules/stdio (Makefile.am): Perform the replacement.
40224         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
40225
40226 2007-05-23  Bruno Haible  <bruno@clisp.org>
40227
40228         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
40229         GNULIB_POSIXCHECK is defined.
40230
40231 2007-05-21  Bruno Haible  <bruno@clisp.org>
40232
40233         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
40234         Check also the output for NaN arguments. When cross-compiling, guess
40235         no on IRIX.
40236         * lib/vasnprintf.c: Update comments.
40237         * tests/test-vasnprintf-posix.c (strisnan): New function.
40238         (test_function): Use it.
40239         * tests/test-vasprintf-posix.c (strisnan): New function.
40240         (test_function): Use it.
40241         * tests/test-snprintf-posix.h (strisnan): New function.
40242         (test_function): Use it.
40243         * tests/test-sprintf-posix.h (strisnan): New function.
40244         (test_function): Use it.
40245         Reported by Eric Blake.
40246
40247 2007-05-20  Bruno Haible  <bruno@clisp.org>
40248
40249         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
40250         numbers that fails on BeOS.
40251         * doc/functions/frexpl.texi: Update.
40252
40253 2007-05-20  Jim Meyering  <jim@meyering.net>
40254
40255         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
40256         forced upon us by glibc-2.6.
40257
40258 2007-05-20  Bruno Haible  <bruno@clisp.org>
40259
40260         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
40261         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
40262         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
40263         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
40264         NEED_PRINTF_INFINITE.
40265         (is_infinitel): New function.
40266         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
40267         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
40268         gl_PREREQ_VASNPRINTF_INFINITE.
40269         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
40270         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40271         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
40272         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
40273         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
40274         gl_PREREQ_VASNPRINTF_INFINITE.
40275         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40276         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40277         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40278         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40279         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40280         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40281         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40282         * doc/functions/fprintf.texi: Update.
40283         * doc/functions/printf.texi: Update.
40284         * doc/functions/snprintf.texi: Update.
40285         * doc/functions/sprintf.texi: Update.
40286         * doc/functions/vfprintf.texi: Update.
40287         * doc/functions/vprintf.texi: Update.
40288         * doc/functions/vsnprintf.texi: Update.
40289         * doc/functions/vsprintf.texi: Update.
40290
40291 2007-05-20  Bruno Haible  <bruno@clisp.org>
40292
40293         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
40294         was not found in libc.
40295         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
40296
40297 2007-05-20  Bruno Haible  <bruno@clisp.org>
40298
40299         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
40300         printed as "-nan" instead of "nan".
40301         * tests/test-vasprintf-posix.c (test_function): Likewise.
40302         * tests/test-snprintf-posix.h (test_function): Likewise.
40303         * tests/test-sprintf-posix.h (test_function): Likewise.
40304         Needed for HP-UX 11.
40305
40306 2007-05-20  Jim Meyering  <jim@meyering.net>
40307
40308         Fix buggy test for the fchownat-deref bug.
40309         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
40310         symlink required for the run-test.  Without it, this test would
40311         always declare that fchownat doesn't work, and client code would
40312         unnecessarily use the replacement function with fixed libc.
40313         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
40314         Reported by Greg Schafer.
40315
40316 2007-05-19  Bruno Haible  <bruno@clisp.org>
40317
40318         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
40319         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
40320         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
40321         Needed for IRIX 6.5 and Solaris 2.5.1.
40322
40323 2007-05-19  Bruno Haible  <bruno@clisp.org>
40324
40325         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
40326         (test_function): Skip tests involving -0.0 on platforms where
40327         -0.0 = 0.0.
40328         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
40329         (test_function): Skip tests involving -0.0 on platforms where
40330         -0.0 = 0.0.
40331         * tests/test-snprintf-posix.h (have_minus_zero): New function.
40332         (test_function): Skip tests involving -0.0 on platforms where
40333         -0.0 = 0.0.
40334         * tests/test-sprintf-posix.h (have_minus_zero): New function.
40335         (test_function): Skip tests involving -0.0 on platforms where
40336         -0.0 = 0.0.
40337         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
40338         tests.
40339         * tests/test-printf-posix.h (test_function): Likewise.
40340         * tests/test-printf-posix.output: Remove all -0.0 related results.
40341         Needed for IRIX 6.5.
40342
40343 2007-05-19  Bruno Haible  <bruno@clisp.org>
40344
40345         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
40346         printed as "nan0x7fffffff" instead of "nan".
40347         * tests/test-vasprintf-posix.c (test_function): Likewise.
40348         * tests/test-snprintf-posix.h (test_function): Likewise.
40349         * tests/test-sprintf-posix.h (test_function): Likewise.
40350         * tests/test-fprintf-posix.h (NaN): Remove macro.
40351         (test_function): Remove all NaN related tests.
40352         * tests/test-printf-posix.h (NaN): Remove macro.
40353         (test_function): Remove all NaN related tests.
40354         * tests/test-printf-posix.output: Remove all NaN related results.
40355         Needed for IRIX 6.5.
40356
40357 2007-05-19  Bruno Haible  <bruno@clisp.org>
40358
40359         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
40360         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
40361
40362 2007-05-19  Bruno Haible  <bruno@clisp.org>
40363
40364         * lib/float_.h: New file.
40365         * m4/float_h.m4: New file.
40366         * modules/float: New file.
40367         * modules/isnanl (Dependencies): Add float.
40368         * modules/isnanl-nolibm (Dependencies): Likewise.
40369         * modules/mathl (Dependencies): Likewise.
40370         * modules/printf-frexpl (Dependencies): Likewise.
40371         * modules/signbit (Dependencies): Likewise.
40372         * modules/vasnprintf (Dependencies): Likewise.
40373         * doc/headers/float.texi: Update.
40374
40375 2007-05-19  Jim Meyering  <jim@meyering.net>
40376
40377         * lib/utimens.c (gl_futimens): Rename from futimens,
40378         now that glibc-2.6 declares futimens.
40379         * lib/utimens.h: Likewise.
40380
40381 2007-05-19  Bruno Haible  <bruno@clisp.org>
40382
40383         Avoid test failures on mingw.
40384         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
40385         * tests/test-printf-posix.sh: Likewise.
40386         * tests/test-vfprintf-posix.sh: Likewise.
40387         * tests/test-vprintf-posix.sh: Likewise.
40388
40389 2007-05-19  Bruno Haible  <bruno@clisp.org>
40390
40391         Fix *printf result for NaN, Inf, -0.0 on mingw.
40392         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
40393         * lib/vasnprintf.c: Include math.h and isnan.h.
40394         (is_infinite_or_zero): New function.
40395         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
40396         values in the %f, %F, %e, %E, %g, %G directives.
40397         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
40398         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40399         gl_PRINTF_INFINITE and test its result. Invoke
40400         gl_PREREQ_VASNPRINTF_INFINITE.
40401         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40402         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40403         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40404         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40405         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40406         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40407         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40408         * doc/functions/fprintf.texi: Update.
40409         * doc/functions/printf.texi: Update.
40410         * doc/functions/snprintf.texi: Update.
40411         * doc/functions/sprintf.texi: Update.
40412         * doc/functions/vfprintf.texi: Update.
40413         * doc/functions/vprintf.texi: Update.
40414         * doc/functions/vsnprintf.texi: Update.
40415         * doc/functions/vsprintf.texi: Update.
40416
40417 2007-05-19  Bruno Haible  <bruno@clisp.org>
40418
40419         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
40420         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
40421         Instead of multiplying with 10^k, set extra_zeroes to k.
40422         (scale10_round_long_double): Remove function.
40423
40424 2007-05-18  Bruno Haible  <bruno@clisp.org>
40425
40426         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
40427         introduced on 2007-05-06.
40428
40429 2007-05-18  Bruno Haible  <bruno@clisp.org>
40430
40431         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
40432         %g directives.
40433         * tests/test-vasprintf-posix.c (test_function): Likewise.
40434         * tests/test-snprintf-posix.h (test_function): Likewise.
40435         * tests/test-sprintf-posix.h (test_function): Likewise.
40436
40437 2007-05-18  Bruno Haible  <bruno@clisp.org>
40438
40439         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
40440         (strmatch): New function.
40441         (test_function): Test the %f directive on numbers of various exponents.
40442         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
40443         (strmatch): New function.
40444         (test_function): Test the %f directive on numbers of various exponents.
40445         * tests/test-snprintf-posix.h (strmatch): New function.
40446         (test_function): Test the %f directive on numbers of various exponents.
40447         * tests/test-sprintf-posix.h (strmatch): New function.
40448         (test_function): Test the %f directive on numbers of various exponents.
40449         * tests/test-snprintf-posix.c (SIZEOF): New macro.
40450         * tests/test-sprintf-posix.c (SIZEOF): New macro.
40451         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
40452         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
40453
40454 2007-05-18  Bruno Haible  <bruno@clisp.org>
40455
40456         Add support for 'long double' number output.
40457         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
40458         * lib/vasnprintf.c: Include math.h and float+.h.
40459         (mp_limb_t): New type.
40460         (GMP_LIMB_BITS): New macro.
40461         (mp_twolimb_t): New type.
40462         (GMP_TWOLIMB_BITS): New macro.
40463         (mpn_t): New type.
40464         (multiply, divide, convert_to_decimal, decode_long_double,
40465         scale10_round_long_double, scale10_round_decimal_long_double,
40466         floorlog10l): New functions.
40467         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
40468         for the %f, %F, %e, %E, %g, %G directives.
40469         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
40470         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40471         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
40472         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
40473         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40474         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40475         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40476         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40477         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40478         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40479         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40480         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
40481         * modules/snprintf-posix (Depends-on): Likewise.
40482         * modules/sprintf-posix (Depends-on): Likewise.
40483         * modules/vasnprintf-posix (Depends-on): Likewise.
40484         * modules/vasprintf-posix (Depends-on): Likewise.
40485         * modules/vfprintf-posix (Depends-on): Likewise.
40486         * modules/vsnprintf-posix (Depends-on): Likewise.
40487         * modules/vsprintf-posix (Depends-on): Likewise.
40488         * modules/vasnprintf (Files): Add lib/float+.h.
40489         * doc/functions/fprintf.texi: Update.
40490         * doc/functions/printf.texi: Update.
40491         * doc/functions/snprintf.texi: Update.
40492         * doc/functions/sprintf.texi: Update.
40493         * doc/functions/vfprintf.texi: Update.
40494         * doc/functions/vprintf.texi: Update.
40495         * doc/functions/vsnprintf.texi: Update.
40496         * doc/functions/vsprintf.texi: Update.
40497
40498 2007-05-18  Bruno Haible  <bruno@clisp.org>
40499
40500         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
40501
40502 2007-05-18  Bruno Haible  <bruno@clisp.org>
40503
40504         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
40505         for printing 64-bit integers. Needed for mingw.
40506
40507 2007-05-18  Bruno Haible  <bruno@clisp.org>
40508
40509         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
40510         gl_FUNC_FREXPL_WORKS.
40511         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
40512
40513 2007-05-18  Bruno Haible  <bruno@clisp.org>
40514
40515         * modules/frexpl-nolibm-tests: New file.
40516
40517         * modules/frexpl-nolibm: New file.
40518         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
40519
40520 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
40521
40522         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
40523         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
40524         GCC 4.2, which otherwise issues a lot of warnings.
40525         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
40526         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
40527         Likewise.
40528         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
40529         * modules/iconv_open (iconv.h): Likewise.
40530         * modules/locale (locale.h): Likewise.
40531         * modules/netinet_in (netinet/in.h): Likewise.
40532         * modules/sys_select (sys_select.h): Likewise.
40533         * modules/sys_socket (sys/socket.h): Likewise.
40534         * modules/sys_stat (sys/stat.h): Likewise.
40535         * modules/sysexits (sysexits.h): Likewise.
40536         * modules/unistd (unistd.h): Likewise.
40537
40538 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40539
40540         * modules/closein-tests (Makefile.am): Distribute
40541         `test-closein.sh'.
40542
40543 2007-05-17  Bruno Haible  <bruno@clisp.org>
40544
40545         * tests/test-printf-posix.output: Renamed from
40546         tests/test-fprintf-posix.out.
40547         * modules/fprintf-posix-tests: Update.
40548         * modules/printf-posix-tests: Update.
40549         * modules/vfprintf-posix-tests: Update.
40550         * modules/vprintf-posix-tests: Update.
40551         * tests/test-fprintf-posix.sh: Update.
40552         * tests/test-printf-posix.sh: Update.
40553         * tests/test-vfprintf-posix.sh: Update.
40554         * tests/test-vprintf-posix.sh: Update.
40555         Reported by Ralf Wildenhues.
40556
40557 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
40558
40559         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
40560         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
40561         GCC 4.2, which otherwise issues a lot of warnings.
40562         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
40563         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
40564         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
40565         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
40566         it should no longer be needed.
40567         * lib/string_.h: Likewise.
40568         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
40569         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
40570         * modules/inttypes (inttypes.h): Likewise.
40571         * modules/math (math.h): Likewise.
40572         * modules/search (search.h): Likewise.
40573         * modules/signal (signal.h): Likewise.
40574         * modules/stdint (stdint.h): Likewise.
40575         * modules/stdio (stdio.h): Likewise.
40576         * modules/stdlib (stdlib.h): Likewise.
40577         * modules/string (string.h): Likewise.
40578         * modules/sys_time (sys/time.h): Likewise.
40579         * modules/time (time.h): Likewise.
40580         * modules/wchar (wchar.h): Likewise.
40581         * modules/wctype (wtype.h): Likewise.
40582
40583 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40584
40585         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
40586
40587 2007-05-13  Bruno Haible  <bruno@clisp.org>
40588
40589         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
40590         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40591         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
40592         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40593         (gl_PREREQ_STRTOK_R): Don't require it here.
40594
40595 2007-05-13  Bruno Haible  <bruno@clisp.org>
40596
40597         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
40598         when used in C++ mode.
40599
40600 2007-05-12  Bruno Haible  <bruno@clisp.org>
40601
40602         * lib/linebuffer.h: Tweak doc.
40603         * lib/linebuffer.c: Likewise.
40604
40605 2007-05-12  James Youngman  <jay@gnu.org>
40606
40607         * lib/linebuffer.c (readlinebuffer_delim): New function,
40608         like readlinebuffer, but use a caller-specified delimiter.
40609         (readlinebuffer): Just call readlinebuffer_delim with '\n'
40610         as the delimiter.
40611         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
40612
40613 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40614
40615         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
40616         * modules/openat (Files): Remove openat-die.c.
40617         (Depends-on): Add openat-die.
40618         * modules/openat-die: New module.
40619
40620 2007-05-06  Bruno Haible  <bruno@clisp.org>
40621
40622         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
40623         Update with info about Cygwin.
40624         * doc/functions/fprintf.texi: Update.
40625         * doc/functions/printf.texi: Update.
40626         * doc/functions/snprintf.texi: Update.
40627         * doc/functions/sprintf.texi: Update.
40628         * doc/functions/vfprintf.texi: Update.
40629         * doc/functions/vprintf.texi: Update.
40630         * doc/functions/vsnprintf.texi: Update.
40631         * doc/functions/vsprintf.texi: Update.
40632         Reported by Eric Blake.
40633
40634 2007-05-06  Bruno Haible  <bruno@clisp.org>
40635
40636         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
40637         padding ourselves for the floating-point directives.
40638         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
40639         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
40640         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40641         gl_PRINTF_FLAG_ZERO and test its result. Invoke
40642         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
40643         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40644         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
40645         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40646         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40647         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40648         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40649         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40650         * tests/test-snprintf-posix.h (test_function): Also check the width
40651         and some flags in the %f directive.
40652         * tests/test-sprintf-posix.h (test_function): Likewise.
40653         * tests/test-vasnprintf-posix.c (test_function): Likewise.
40654         * tests/test-vasprintf-posix.c (test_function): Likewise.
40655         * doc/functions/fprintf.texi: Update.
40656         * doc/functions/printf.texi: Update.
40657         * doc/functions/snprintf.texi: Update.
40658         * doc/functions/sprintf.texi: Update.
40659         * doc/functions/vfprintf.texi: Update.
40660         * doc/functions/vprintf.texi: Update.
40661         * doc/functions/vsnprintf.texi: Update.
40662         * doc/functions/vsprintf.texi: Update.
40663
40664 2007-05-06  Bruno Haible  <bruno@clisp.org>
40665
40666         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
40667         pass the ' flag character to sprintf or snprintf.
40668         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
40669         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
40670         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40671         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
40672         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
40673         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40674         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
40675         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40676         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40677         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40679         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40680         * tests/test-snprintf-posix.h (test_function): Also check the grouping
40681         flag.
40682         * tests/test-sprintf-posix.h (test_function): Likewise.
40683         * tests/test-vasnprintf-posix.c (test_function): Likewise.
40684         * tests/test-vasprintf-posix.c (test_function): Likewise.
40685         * doc/functions/fprintf.texi: Update.
40686         * doc/functions/printf.texi: Update.
40687         * doc/functions/snprintf.texi: Update.
40688         * doc/functions/sprintf.texi: Update.
40689         * doc/functions/vfprintf.texi: Update.
40690         * doc/functions/vprintf.texi: Update.
40691         * doc/functions/vsnprintf.texi: Update.
40692         * doc/functions/vsprintf.texi: Update.
40693
40694 2007-05-01  Bruno Haible  <bruno@clisp.org>
40695
40696         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
40697
40698 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
40699
40700         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
40701         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
40702
40703 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
40704
40705         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
40706         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
40707         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
40708
40709 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
40710
40711         * lib/argp-help.c (struct hol_entry): New member `ord'.
40712         (HOL_ENTRY_PTRCMP): Use ord for comparison
40713         (hol_sort): Initialize ord.
40714
40715 2007-05-01  Bruno Haible  <bruno@clisp.org>
40716
40717         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
40718         Reported by Eric Blake.
40719         * doc/gnulib.texi (Function Substitutes): Update.
40720
40721 2007-05-01  Bruno Haible  <bruno@clisp.org>
40722
40723         * doc/functions.texi: Remove file, now redundant through
40724         doc/functions/*.texi.
40725
40726 2007-05-01  Bruno Haible  <bruno@clisp.org>
40727
40728         * modules/argp (Depends-on): Add sleep.
40729
40730 2007-05-01  Bruno Haible  <bruno@clisp.org>
40731
40732         * modules/sleep-tests: New file.
40733         * tests/test-sleep.c: New file.
40734
40735         * modules/sleep: New file.
40736         * lib/sleep.c: New file.
40737         * m4/sleep.m4: New file.
40738         * lib/unistd_.h (sleep): New declaration.
40739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
40740         HAVE_SLEEP.
40741         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
40742         * doc/functions/sleep.texi: Document the sleep module.
40743
40744 2007-05-01  Bruno Haible  <bruno@clisp.org>
40745
40746         * lib/sigprocmask.h: Remove file.
40747         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
40748         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
40749         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
40750         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
40751         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
40752         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
40753         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
40754         HAVE_SIGSET_T as a shell variable.
40755         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
40756         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
40757         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
40758         (Depends-on): Add signal. Remove verify.
40759         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
40760         (Include): Mention <signal.h> instead of sigprocmask.h.
40761         * NEWS: Mention the change.
40762         * lib/fatal-signal.c: Don't include sigprocmask.h.
40763
40764 2007-05-01  Bruno Haible  <bruno@clisp.org>
40765
40766         * modules/signal: New file.
40767         * lib/signal_.h: New file.
40768         * m4/signal_h.m4: New file.
40769
40770 2007-05-01  Bruno Haible  <bruno@clisp.org>
40771
40772         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
40773         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
40774         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
40775         HAVE_WCTYPE_CTMP_BUG into wctype.h.
40776
40777 2007-05-01  Bruno Haible  <bruno@clisp.org>
40778
40779         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
40780         configure time.
40781         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
40782         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
40783         * modules/sys_stat (Makefile.am): Substitute their values into
40784         sys/stat.h.
40785
40786 2007-05-01  Bruno Haible  <bruno@clisp.org>
40787
40788         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
40789         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
40790         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
40791
40792 2007-05-01  Bruno Haible  <bruno@clisp.org>
40793
40794         * doc/header/assert.texi: Undo last change: don't mention the gnulib
40795         'assert' module here.
40796
40797 2007-05-01  Bruno Haible  <bruno@clisp.org>
40798
40799         * doc/functions/*.texi: New files.
40800         * doc/functions/google-ranking.txt: New file.
40801         * doc/gnulib.texi (Function Substitutes): New chapter.
40802         (ctime, inet_ntoa): Remove sections.
40803         * doc/ctime.texi: Remove file.
40804         * doc/inet_ntoa.texi: Remove file.
40805         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
40806         dependencies.
40807         (%.info): New rule, specifying a --reference-limit.
40808
40809 2007-05-01  Bruno Haible  <bruno@clisp.org>
40810
40811         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
40812
40813 2007-05-01  Bruno Haible  <bruno@clisp.org>
40814
40815         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
40816         the portability of 'mkdir' to mingw systems.
40817
40818 2007-05-01  Bruno Haible  <bruno@clisp.org>
40819
40820         * doc/headers/google-ranking.txt: New file.
40821
40822 2007-04-30  Eric Blake  <ebb9@byu.net>
40823
40824         Prefer fseeko to fseek.
40825         * modules/getpass (Depends-on): Add fseeko.
40826         * lib/getpass.c (getpass): Use fseeko, not fseek.
40827
40828 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
40829
40830         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
40831         assumes the sorting is stable, while most qsort implementations
40832         are not.  Use argument addresses to ensure they never compare as
40833         equal.
40834
40835         * tests/test-argp-2.sh (usage-indent test): Fix output
40836         (func_compare): Restore diff options
40837         * tests/test-argp.c: Restore #include "progname.h"
40838
40839 2007-04-29  Bruno Haible  <bruno@clisp.org>
40840
40841         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
40842         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40843         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
40844         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40845         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
40846         (configure.ac): Define CHECK_SNPRINTF_POSIX.
40847         (TESTS, check_PROGRAMS): Add test-snprintf.
40848         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
40849         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
40850         (TESTS, check_PROGRAMS): Add test-vsnprintf.
40851         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
40852         assertions that fail on HP-UX, OSF/1, or IRIX.
40853         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
40854
40855 2007-04-29  Bruno Haible  <bruno@clisp.org>
40856
40857         * MODULES.html.sh (posix_functions): Remove 'contents'.
40858
40859 2007-04-29  Karl Berry  <karl@gnu.org>
40860
40861         * config/srclist.txt (gendocs_template_min): new entry.
40862
40863 2007-04-29  Bruno Haible  <bruno@clisp.org>
40864
40865         Work around fpurge bug on BSD systems.
40866         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
40867         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
40868         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
40869         fpurge to rpl_fpurge if the system already has this function.
40870         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
40871         the case where the system already has this function. Correct invariants
40872         on BSD systems.
40873         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
40874         BSD systems.
40875
40876 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40877
40878         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
40879         proposed by Sven Verdoolaege.
40880
40881         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
40882         options.
40883         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
40884         (usage and help tests): Update
40885
40886 2007-04-29  Bruno Haible  <bruno@clisp.org>
40887
40888         * tests/test-fflush.c (main): Use a file of size 17, not 10.
40889         Print more information in case of failure. Disable a test on BeOS.
40890
40891 2007-04-29  Bruno Haible  <bruno@clisp.org>
40892
40893         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
40894         This helps debugging on systems on which no gdb is available.
40895
40896 2007-04-29  Bruno Haible  <bruno@clisp.org>
40897
40898         * lib/freading.h: Improve comments.
40899         * lib/fwriting.h: Likewise.
40900         * tests/test-freading.c (main): Don't check freading immediately after
40901         repositioning. Needed for glibc.
40902
40903 2007-04-29  Bruno Haible  <bruno@clisp.org>
40904
40905         * lib/freading.c (freading): Trivial simplification.
40906
40907 2007-04-28  Bruno Haible  <bruno@clisp.org>
40908
40909         * tests/test-fwriting.c (main): Also test the interaction between
40910         fflush and fwriting.
40911         * modules/fwriting-tests (Depends-on): Add fflush.
40912
40913         * tests/test-freading.c (main): Also test the interaction between
40914         fflush and freading.
40915         * modules/freading-tests (Depends-on): Add fflush.
40916
40917 2007-04-28  Bruno Haible  <bruno@clisp.org>
40918
40919         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
40920         fseeko and ftello.
40921         Suggested by Eric Blake.
40922
40923 2007-04-28  Jim Meyering  <jim@meyering.net>
40924
40925         Avoid false-negative in gl_STDINT_H's C99 conformance test.
40926         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
40927         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
40928
40929 2007-04-27  Eric Blake  <ebb9@byu.net>
40930
40931         * doc/headers/assert.texi (assert.h): Document assert module use.
40932
40933 2007-04-27  Bruno Haible  <bruno@clisp.org>
40934
40935         * doc/headers/*.texi: New files.
40936         * doc/gnulib.texi (Header File Substitutes): New chapter.
40937         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
40938         dependencies.
40939         (standards.info ,standards.html, standards.dvi): Update dependencies.
40940         (mostlyclean, clean): New targets.
40941
40942 2007-04-27  Bruno Haible  <bruno@clisp.org>
40943
40944         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
40945         * modules/sysexits (Files, Makefile.am): Update.
40946
40947         * lib/sys_socket_.h: Renamed from lib/socket_.h.
40948         * modules/sys_socket (Files, Makefile.am): Update.
40949
40950         * lib/sys_stat_.h: Renamed from lib/stat_.h.
40951         * modules/sys_stat (Files, Makefile.am): Update.
40952
40953 2007-04-27  Eric Blake  <ebb9@byu.net>
40954
40955         * lib/freading.h: Improve comments.
40956         * lib/fwriting.h: Likewise.
40957         * lib/fflush.c: Likewise.
40958
40959         Fix closein for mingw.
40960         * modules/closein-tests: Add tests for closein.
40961         * tests/test-closein.c: New file.
40962         * tests/test-closein.sh: Likewise.
40963         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
40964         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
40965
40966 2007-04-27  Bruno Haible  <bruno@clisp.org>
40967
40968         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
40969         version is < 6.
40970         * lib/math_.h [__DECC]: Likewise.
40971         * lib/stdio_.h [__DECC]: Likewise.
40972         * lib/stdlib_.h [__DECC]: Likewise.
40973         * lib/string_.h [__DECC]: Likewise.
40974         * lib/time_.h [__DECC]: Likewise.
40975         * lib/wchar_.h [__DECC]: Likewise.
40976         * lib/wctype_.h [__DECC]: Likewise.
40977
40978 2007-04-27  Bruno Haible  <bruno@clisp.org>
40979
40980         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
40981
40982 2007-04-27  Bruno Haible  <bruno@clisp.org>
40983
40984         * lib/fflush.c: Add comments.
40985         * modules/fpurge-tests (Depends-on): Add fflush.
40986         * modules/freadable-tests (Depends-on): Likewise.
40987         * modules/fwritable-tests (Depends-on): Likewise.
40988
40989 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
40990
40991         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
40992         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
40993         Report by Bruno Haible <bruno@clisp.org>.
40994
40995 2007-04-26  Eric Blake  <ebb9@byu.net>
40996
40997         Fix fflush on mingw.
40998         * modules/fflush (Depends-on): Add freading.
40999         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
41000         but unread data.
41001
41002 2007-04-26  Eric Blake  <ebb9@byu.net>
41003         and Bruno Haible  <bruno@clisp.org>
41004
41005         Implement freading and fwriting.
41006         * lib/freading.c: New file.
41007         * lib/freading.h: Likewise.
41008         * m4/freading.m4: Likewise.
41009         * modules/freading: Likewise.
41010         * modules/freading-tests: Likewise.
41011         * tests/test-freading.c: Likewise.
41012         * lib/fwriting.c: New file.
41013         * lib/fwriting.h: Likewise.
41014         * m4/fwriting.m4: Likewise.
41015         * modules/fwriting: Likewise.
41016         * modules/fwriting-tests: Likewise.
41017         * tests/test-fwriting.c: Likewise.
41018         * MODULES.html.sh (File stream based Input/Output): Mention them.
41019
41020 2007-04-26  Bruno Haible  <bruno@clisp.org>
41021
41022         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
41023         'long' when we assume it.
41024         Suggested by Eric Blake.
41025
41026 2007-04-26  Bruno Haible  <bruno@clisp.org>
41027
41028         Ensure fseeko, ftello are declared on glibc systems.
41029         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
41030         * modules/fseeko (configure.ac-early): Likewise.
41031         * modules/ftello (configure.ac-early): Likewise.
41032         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
41033         AC_FUNC_FSEEKO for this.
41034         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
41035         (gl_CHECK_FSEEKO): Remove macro.
41036
41037 2007-04-26  Bruno Haible  <bruno@clisp.org>
41038
41039         * tests/test-fflush.c (main): Also check the ftell result after
41040         fflush and fseek/fseeko.
41041         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
41042         file descriptor position cache in the stream.
41043         * lib/fseeko.c (rpl_fseeko): Likewise.
41044
41045 2007-04-26  Bruno Haible  <bruno@clisp.org>
41046
41047         * modules/fflush-tests (Depends-on): Add fseeko.
41048
41049 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
41050             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41051
41052         * lib/argz_.h: ensure error_t definition is obtained in same
41053         mechanism system argz.h would have.
41054         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
41055         argz facilities are known bad.  Err on the side of caution if
41056         cross-compiling.
41057
41058 2007-04-25  Eric Blake  <ebb9@byu.net>
41059
41060         * lib/fpurge.c (includes): Use stdlib.h for free.
41061         * tests/test-fflush.c (main): Also test fflush-fseeko.
41062
41063 2007-04-25  Bruno Haible  <bruno@clisp.org>
41064
41065         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
41066         * lib/fseeko.c: New file.
41067         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
41068         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
41069         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
41070         gl_FUNC_FSEEKO.
41071         (gl_FUNC_FSEEKO): Invoke it.
41072         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
41073         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
41074         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
41075
41076 2007-04-25  Bruno Haible  <bruno@clisp.org>
41077
41078         * modules/fflush (Depends-on): Add ftello.
41079
41080 2007-04-25  Bruno Haible  <bruno@clisp.org>
41081
41082         * modules/ftello-tests: New file.
41083         * tests/test-ftello.c: New file.
41084
41085         * modules/ftello: New file.
41086         * m4/ftello.m4: New file.
41087         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
41088         HAVE_FTELLO.
41089         * lib/stdio_.h (ftello): New declaration.
41090         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
41091         HAVE_FTELLO.
41092
41093 2007-04-25  Bruno Haible  <bruno@clisp.org>
41094
41095         * modules/fseeko-tests: New file.
41096         * tests/test-fseeko.c: New file.
41097
41098         * modules/fseeko: New file.
41099         * m4/fseeko.m4: New file.
41100         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
41101         HAVE_FSEEKO.
41102         * lib/stdio_.h (fseeko): New declaration.
41103         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
41104         HAVE_FSEEKO.
41105
41106 2007-04-25  Bruno Haible  <bruno@clisp.org>
41107
41108         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
41109
41110 2007-04-25  Bruno Haible  <bruno@clisp.org>
41111
41112         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
41113         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
41114         * tests/test-unistd.c: Likewise.
41115         * tests/test-fcntl.c: Likewise.
41116
41117 2007-04-23  Eric Blake  <ebb9@byu.net>
41118
41119         * lib/fflush.c: Fix missing include.
41120         Reported by Bruno Haible.
41121
41122 2007-04-23  Bruno Haible  <bruno@clisp.org>
41123
41124         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
41125         Reported by Eric Blake.
41126
41127 2007-04-23  Bruno Haible  <bruno@clisp.org>
41128
41129         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
41130
41131 2007-04-23  Bruno Haible  <bruno@clisp.org>
41132
41133         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
41134
41135 2007-04-23  Bruno Haible  <bruno@clisp.org>
41136
41137         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
41138         Needed on HP-UX 11.
41139
41140 2007-04-16  Eric Blake  <ebb9@byu.net>
41141
41142         Make fflush rely on fpurge.
41143         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
41144         open coding all variants.
41145         * modules/fflush (Depends-on): Add fpurge and unistd.
41146         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
41147         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
41148
41149         Fix --with-tests compilation on cygwin.
41150         * modules/argmatch-tests (Makefile.am): List gnulib library first
41151         in LDADD.
41152         * modules/argp-tests (Makefile.am): Likewise.
41153         * modules/array-list-tests (Makefile.am): Likewise.
41154         * modules/array-oset-tests (Makefile.am): Likewise.
41155         * modules/avltree-list-tests (Makefile.am): Likewise.
41156         * modules/avltree-oset-tests (Makefile.am): Likewise.
41157         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41158         * modules/carray-list-tests (Makefile.am): Likewise.
41159         * modules/dirname-tests (Makefile.am): Likewise.
41160         * modules/frexp-tests (Makefile.am): Likewise.
41161         * modules/isnanl-tests (Makefile.am): Likewise.
41162         * modules/linked-list-tests (Makefile.am): Likewise.
41163         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41164         * modules/lock-tests (Makefile.am): Likewise.
41165         * modules/rbtree-list-tests (Makefile.am): Likewise.
41166         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41167         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41168         * modules/tls-tests (Makefile.am): Likewise.
41169         * modules/tsearch-tests (Makefile.am): Likewise.
41170         * modules/xvasprintf-tests (Makefile.am): Likewise.
41171
41172         Fix fpurge for cygwin.
41173         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
41174         value.
41175         * modules/fpurge-tests (Depends-on): Clean up trash.
41176
41177 2007-04-16  Simon Josefsson  <simon@josefsson.org>
41178
41179         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
41180
41181         * m4/autobuild.m4: Re-indent.
41182
41183 2007-04-13  Bruno Haible  <bruno@clisp.org>
41184
41185         * modules/fpurge-tests: New file.
41186         * tests/test-fpurge.c: New file.
41187
41188         * modules/fpurge: New file.
41189         * lib/fpurge.h: New file.
41190         * lib/fpurge.c: New file.
41191         * m4/fpurge.m4: New file.
41192
41193 2007-04-13  Bruno Haible  <bruno@clisp.org>
41194
41195         * modules/fbufmode-tests: New file.
41196         * tests/test-fbufmode.c: New file.
41197
41198         * modules/fbufmode: New file.
41199         * lib/fbufmode.h: New file.
41200         * lib/fbufmode.c: New file.
41201         * m4/fbufmode.m4: New file.
41202
41203 2007-04-13  Bruno Haible  <bruno@clisp.org>
41204
41205         * modules/fwritable-tests: New file.
41206         * tests/test-fwritable.c: New file.
41207
41208         * modules/fwritable: New file.
41209         * lib/fwritable.h: New file.
41210         * lib/fwritable.c: New file.
41211         * m4/fwritable.m4: New file.
41212
41213 2007-04-13  Bruno Haible  <bruno@clisp.org>
41214
41215         * modules/freadable-tests: New file.
41216         * tests/test-freadable.c: New file.
41217
41218         * modules/freadable: New file.
41219         * lib/freadable.h: New file.
41220         * lib/freadable.c: New file.
41221         * m4/freadable.m4: New file.
41222
41223 2007-04-13  Bruno Haible  <bruno@clisp.org>
41224
41225         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
41226         MOSTLYCLEANFILES.
41227
41228 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
41229
41230         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
41231         gzip bootstrap.conf to avoid dragging in i18n machinery.
41232         (gnulib_tool_option): Use it.
41233
41234 2007-04-13  Bruno Haible  <bruno@clisp.org>
41235
41236         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
41237         %F directives.
41238         * tests/test-vasprintf-posix.c (test_function): Likewise.
41239         * tests/test-snprintf-posix.h (test_function): Likewise.
41240         * tests/test-sprintf-posix.h (test_function): Likewise.
41241         * tests/test-fprintf-posix.h (test_function): Likewise.
41242         * tests/test-printf-posix.h (test_function): Likewise.
41243         * tests/test-fprintf-posix.out: Likewise.
41244
41245 2007-04-13  Bruno Haible  <bruno@clisp.org>
41246
41247         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
41248         * modules/tls-tests (configure.ac): Likewise.
41249         Reported by Arto C. Nirkko <anirkko@insel.ch>.
41250
41251 2007-04-13  Bruno Haible  <bruno@clisp.org>
41252
41253         * lib/tls.c (glthread_tls_get): Fix return type.
41254         Patch by Arto C. Nirkko <anirkko@insel.ch>.
41255
41256 2007-04-12  Eric Blake  <ebb9@byu.net>
41257
41258         * modules/gettime (Depends-on): Remove gettime.
41259         Reported by Dmitry V. Levin.
41260
41261 2007-04-12  Bruno Haible  <bruno@clisp.org>
41262
41263         * modules/fflush (Include): Mention <stdio.h>.
41264         * modules/strtoimax (Include): Mention <inttypes.h>.
41265         * modules/strtoumax (Include): Likewise.
41266
41267 2007-04-12  Eric Blake  <ebb9@byu.net>
41268
41269         * .cvsignore: New file.
41270         * .gitignore: Likewise.
41271
41272 2007-04-12  Bruno Haible  <bruno@clisp.org>
41273
41274         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
41275         not before, since $(LDADD) often contains libgnu.a.
41276         * modules/striconv-tests (test_striconv_LDADD): Likewise.
41277         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
41278         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
41279         Needed on Cygwin.
41280
41281 2007-04-12  Eric Blake  <ebb9@byu.net>
41282
41283         Work around glibc's failure to flush stdin on fclose.
41284         * lib/closein.c (close_stdin): Flush stdin before closing.
41285
41286         Work around glibc's failure to reset seekable stdin on exit.
41287         * modules/closein: New module.
41288         * lib/closein.c: New file.
41289         * lib/closein.h: Likewise.
41290         * m4/closein.m4: Likewise.
41291         * MODULES.html.sh (File stream based Input/Output): Document it.
41292
41293 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41294
41295         * gnulib-tool: Rename generated 'autobuild' script to
41296         'do-autobuild' in --create-megatestdir output.
41297
41298         * doc/gnulib.texi (Build robot for gnulib): Fix.
41299
41300 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41301
41302         * modules/sysexits (Depends-on): Add absolute-header.
41303
41304 2007-04-12  Eric Blake  <ebb9@byu.net>
41305
41306         No need to preserve errno on success.
41307         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
41308         Reported by Bruno Haible.
41309
41310 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41311
41312         * MODULES.html.sh (Support for maintaining and releasing
41313         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
41314
41315 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41316
41317         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
41318
41319 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41320
41321         * modules/autobuild: New module.
41322
41323         * m4/autobuild.m4: New file.
41324
41325 2007-04-11  Bruno Haible  <bruno@clisp.org>
41326
41327         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
41328         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
41329         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
41330         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
41331         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41332         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41333         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41334         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41335         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41336         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41337         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
41338         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41339         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41340         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
41341         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41342         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41343         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
41344         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41345         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41346         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
41347         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41348         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41349         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
41350         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41351         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41352         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
41353         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41354         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41355         Reported by Eric Blake.
41356
41357 2007-04-11  Bruno Haible  <bruno@clisp.org>
41358
41359         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
41360
41361 2007-04-10  Bruno Haible  <bruno@clisp.org>
41362
41363         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
41364         for NaN and Infinity. Needed on FreeBSD 6.1.
41365         * tests/test-vasnprintf-posix.c (test_function): Undo last change
41366         regarding results for "%010a" of Infinity and NaN.
41367         * tests/test-vasprintf-posix.c (test_function): Likewise.
41368         * tests/test-snprintf-posix.h (test_function): Likewise.
41369         * tests/test-sprintf-posix.h (test_function): Likewise.
41370         * tests/test-fprintf-posix.h (test_function): Likewise.
41371         * tests/test-printf-posix.h (test_function): Likewise.
41372         * tests/test-fprintf-posix.out: Likewise.
41373
41374 2007-04-10  Bruno Haible  <bruno@clisp.org>
41375
41376         * modules/locale-tests: New file.
41377         * tests/test-locale.c: New file.
41378
41379         * modules/locale: New file.
41380         * lib/locale_.h: New file.
41381         * m4/locale_h.m4: New file.
41382
41383 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
41384             Bruno Haible  <bruno@clisp.org>
41385
41386         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
41387         be determined, test for availability of the copysignf, copysign,
41388         copysignl functions.
41389         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
41390         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
41391         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
41392
41393 2007-04-09  Eric Blake  <ebb9@byu.net>
41394
41395         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
41396         * modules/stdio (Makefile.am): Support fflush.
41397         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41398         * modules/fflush: New file.
41399         * lib/fflush.c: Likewise.
41400         * m4/fflush.m4: Likewise.
41401         * modules/fflush-tests: New test.
41402         * tests/test-fflush.c: Likewise.
41403         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
41404
41405 2007-04-06  Bruno Haible  <bruno@clisp.org>
41406
41407         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
41408         (VASNPRINTF): Use signbit for faster determination whether to print a
41409         minus sign.
41410         * modules/vasnprintf (Files): Remove lib/float+.h.
41411         * modules/fprintf-posix (Depends-on): Add signbit.
41412         * modules/snprintf-posix (Depends-on): Likewise.
41413         * modules/sprintf-posix (Depends-on): Likewise.
41414         * modules/vasnprintf-posix (Depends-on): Likewise.
41415         * modules/vasprintf-posix (Depends-on): Likewise.
41416         * modules/vfprintf-posix (Depends-on): Likewise.
41417         * modules/vsnprintf-posix (Depends-on): Likewise.
41418         * modules/vsprintf-posix (Depends-on): Likewise.
41419
41420 2007-04-06  Bruno Haible  <bruno@clisp.org>
41421
41422         * tests/test-frexp.c (main): Test also the sign bit of zero results.
41423         * tests/test-frexpl.c (main): Likewise.
41424         * tests/test-ldexpl.c (main): Likewise.
41425         * modules/frexp-tests (Depends-on): Add signbit.
41426         * modules/frexpl-tests (Depdends-on): Likewise.
41427         * modules/ldexpl-tests (Depdends-on): Likewise.
41428
41429 2007-04-06  Bruno Haible  <bruno@clisp.org>
41430
41431         * modules/signbit-tests: New file.
41432         * tests/test-signbit.c: New file.
41433
41434         * modules/signbit: New file.
41435         * lib/signbitf.c: New file.
41436         * lib/signbitd.c: New file.
41437         * lib/signbitl.c: New file.
41438         * m4/signbit.m4: New file.
41439         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
41440         (signbit): New macro.
41441         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
41442         REPLACE_SIGNBIT.
41443         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
41444         REPLACE_FREXPL into math.h.
41445
41446 2007-04-06  Bruno Haible  <bruno@clisp.org>
41447
41448         * modules/isnanf-nolibm-tests: New file.
41449         * tests/test-isnanf.c: New file.
41450
41451         * modules/isnanf-nolibm: New file.
41452         * lib/isnanf.h: New file.
41453         * lib/isnanf.c: New file.
41454         * lib/isnan.c: Consider the USE_FLOAT macro.
41455         * m4/isnanf.m4: New file.
41456
41457 2007-04-06  Bruno Haible  <bruno@clisp.org>
41458
41459         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
41460         (Link): New section.
41461
41462         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
41463
41464 2007-04-06  Bruno Haible  <bruno@clisp.org>
41465
41466         Assume the 'long double' type.
41467         * m4/longdouble.m4: Remove file.
41468         * config/srclist.txt: Don't mention longdouble.m4.
41469         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
41470         * lib/float+.h: Likewise.
41471         * lib/frexp.c: Likewise.
41472         * lib/printf-args.h: Likewise.
41473         * lib/printf-args.c: Likewise.
41474         * lib/printf-frexp.c: Likewise.
41475         * lib/printf-parse.c: Likewise.
41476         * lib/vasnprintf.c: Likewise.
41477         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
41478         * m4/intl.m4: Likewise.
41479         * m4/isnanl.m4: Likewise.
41480         * m4/printf.m4: Likewise.
41481         * m4/printf-frexpl.m4: Likewise.
41482         * m4/vasnprintf.m4: Likewise.
41483         * modules/allocsa (Files): Remove m4/longdouble.m4.
41484         * modules/gettext (Files): Likewise.
41485         * modules/relocatable-prog-wrapper (Files): Likewise.
41486         * modules/vasnprintf (Files): Likewise.
41487         * modules/isnanl (Files): Likewise.
41488         (Include): Simplify.
41489         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
41490         (Include): Simplify.
41491         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
41492         (Include): Simplify.
41493         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
41494         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41495         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
41496         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41497         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
41498         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41499         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
41500         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41501         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
41502         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41503         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
41504         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41505         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
41506         * tests/test-isnanl.c: Likewise.
41507         * tests/test-snprintf-posix.h: Likewise.
41508         * tests/test-sprintf-posix.h: Likewise.
41509         * tests/test-vasnprintf-posix.c: Likewise.
41510         * tests/test-vasnprintf-posix2.c: Likewise.
41511         * tests/test-vasprintf-posix.c: Likewise.
41512
41513 2007-04-06  Bruno Haible  <bruno@clisp.org>
41514
41515         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
41516         * lib/math_.h [__DECC]: Include the overridden include file through
41517         #include_next, outside the double-inclusion guard.
41518         * lib/stdio_.h [__DECC]: Likewise.
41519         * lib/stdlib_.h [__DECC]: Likewise.
41520         * lib/string_.h [__DECC]: Likewise.
41521         * lib/time_.h [__DECC]: Likewise.
41522         * lib/wchar_.h [__DECC]: Likewise.
41523         * lib/wctype_.h [__DECC]: Likewise.
41524         * lib/inttypes_.h [__DECC]: Likewise.
41525         Reported by Albert Chin <china@thewrittenword.com> in
41526         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
41527
41528 2007-04-04  Eric Blake  <ebb9@byu.net>
41529
41530         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
41531         1.5.x.
41532
41533 2007-04-04  Bruno Haible  <bruno@clisp.org>
41534
41535         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
41536         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
41537
41538 2007-04-04  Bruno Haible  <bruno@clisp.org>
41539
41540         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
41541         results for "%010a" of Infinity and NaN.
41542         * tests/test-vasprintf-posix.c (test_function): Likewise.
41543         * tests/test-snprintf-posix.h (test_function): Likewise.
41544         * tests/test-sprintf-posix.h (test_function): Likewise.
41545         * tests/test-fprintf-posix.h (test_function): Remove these tests.
41546         * tests/test-printf-posix.h (test_function): Likewise.
41547         * tests/test-fprintf-posix.out: Update.
41548         Needed for FreeBSD 6.1.
41549
41550 2007-04-04  Bruno Haible  <bruno@clisp.org>
41551
41552         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
41553         directly used by the gnulib modules nor by gnulib-tool.
41554
41555 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
41556
41557         * DEPENDENCIES: Give overall description of version dependency
41558         desirability.  Use more-typical names for apps.
41559         Add shell, coreutils, diffutils, grep, tar, gzip.
41560
41561 2007-04-04  Simon Josefsson  <simon@josefsson.org>
41562
41563         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
41564
41565 2007-04-04  Karl Berry  <karl@gnu.org>
41566
41567         * MODULES.html.sh (func_module): missing '.
41568
41569 2007-04-03  Bruno Haible  <bruno@clisp.org>
41570
41571         * modules/argmatch-tests (Makefile.am): New variable
41572         test_argmatch_LDADD.
41573         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
41574         * modules/array-list-tests (Makefile.am): New variable
41575         test_array_list_LDADD.
41576         * modules/array-oset-tests (Makefile.am): New variable
41577         test_array_oset_LDADD.
41578         * modules/avltree-list-tests (Makefile.am): New variable
41579         test_avltree_list_LDADD.
41580         * modules/avltree-oset-tests (Makefile.am): New variable
41581         test_avltree_oset_LDADD.
41582         * modules/avltreehash-list-tests (Makefile.am): New variable
41583         test_avltreehash_list_LDADD.
41584         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
41585         test_canonicalize_lgpl_LDADD.
41586         * modules/carray-list-tests (Makefile.am): New variable
41587         test_carray_list_LDADD.
41588         * modules/dirname-tests (Makefile.am): New variable
41589         test_dirname_LDADD.
41590         * modules/linked-list-tests (Makefile.am): New variable
41591         test_linked_list_LDADD.
41592         * modules/linkedhash-list-tests (Makefile.am): New variable
41593         test_linkedhash_list_LDADD.
41594         * modules/rbtree-list-tests (Makefile.am): New variable
41595         test_rbtree_list_LDADD.
41596         * modules/rbtree-oset-tests (Makefile.am): New variable
41597         test_rbtree_oset_LDADD.
41598         * modules/rbtreehash-list-tests (Makefile.am): New variable
41599         test_rbtreehash_list_LDADD.
41600         * modules/xvasprintf-tests (Makefile.am): New variable
41601         test_xvasprintf_LDADD.
41602         Reported by Eric Blake.
41603
41604 2007-04-03  Eric Blake  <ebb9@byu.net>
41605
41606         * DEPENDENCIES: Weaken m4 requirements.
41607
41608 2007-04-03  Bruno Haible  <bruno@clisp.org>
41609
41610         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
41611         * modules/isnanl-tests (configure.ac): Likewise.
41612
41613 2007-04-03  Ben Pfaff  <blp@gnu.org>
41614
41615         * modules/iconv_open: Add $(srcdir)/ to source directory
41616         references in Makefile fragments that call gperf, to fix VPATH
41617         builds.
41618
41619 2007-04-03  Bruno Haible  <bruno@clisp.org>
41620
41621         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
41622         * lib/ldexpl.c: Undo last change.
41623
41624 2007-04-03  Bruno Haible  <bruno@clisp.org>
41625
41626         * modules/printf-frexpl (Depends-on): Undo last change.
41627         (Files): Add m4/ldexpl.m4.
41628
41629 2007-04-03  Bruno Haible  <bruno@clisp.org>
41630
41631         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
41632         * modules/isnanl (Link): New section.
41633
41634         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
41635         * modules/frexp (Link): New section.
41636
41637         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
41638         * modules/frexpl (Link): New section.
41639
41640         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
41641         * modules/ldexpl (Link): New section.
41642
41643 2007-04-03  Bruno Haible  <bruno@clisp.org>
41644
41645         * modules/TEMPLATE-EXTENDED: New file.
41646         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
41647
41648 2007-04-03  Bruno Haible  <bruno@clisp.org>
41649
41650         * DEPENDENCIES: New file.
41651         Suggested by Simon Josefsson.
41652
41653 2007-04-03  Bruno Haible  <bruno@clisp.org>
41654
41655         * doc/gnulib.texi: Escape @.
41656
41657 2007-04-03  James Youngman  <jay@gnu.org>
41658         and Paul Eggert  <eggert@cs.ucla.edu>
41659
41660         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
41661         birthtime on all systems that have birthtime, not just those which
41662         use st_birthtimensec rather than st_birthtim.  Putting zero in
41663         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
41664         that the birth time is not available for files on an NFS mount.
41665
41666 2007-04-03  Simon Josefsson  <simon@josefsson.org>
41667
41668         * modules/memxor: Move back from crypto/, suggested by Bruno.
41669         * modules/crypto/hmac-sha1: Fix memxor dependency.
41670
41671         * modules/crypto/gc: Moved from ../.
41672
41673 2007-04-02  Eric Blake  <ebb9@byu.net>
41674
41675         * lib/ldexpl.c (includes): Avoid libm.
41676
41677         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
41678
41679 2007-04-02  Bruno Haible  <bruno@clisp.org>
41680
41681         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
41682         on IRIX.
41683
41684 2007-04-02  Bruno Haible  <bruno@clisp.org>
41685
41686         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
41687         x86 or x86_64 platforms running MacOS X.
41688         Reported by Ryan Schmidt <@ryandesign.com>.
41689
41690 2007-04-02  Bruno Haible  <bruno@clisp.org>
41691
41692         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
41693         i386.
41694
41695 2007-04-01  Simon Josefsson  <simon@josefsson.org>
41696
41697         * modules/crypto/arcfour: Moved from ../.
41698         * modules/crypto/arcfour-tests: Moved from ../.
41699         * modules/crypto/arctwo: Moved from ../.
41700         * modules/crypto/arctwo-tests: Moved from ../.
41701         * modules/crypto/des: Moved from ../.
41702         * modules/crypto/des-tests: Moved from ../.
41703         * modules/crypto/gc-arcfour: Moved from ../.
41704         * modules/crypto/gc-arcfour-tests: Moved from ../.
41705         * modules/crypto/gc-arctwo: Moved from ../.
41706         * modules/crypto/gc-arctwo-tests: Moved from ../.
41707         * modules/crypto/gc-des: Moved from ../.
41708         * modules/crypto/gc-des-tests: Moved from ../.
41709         * modules/crypto/gc-hmac-md5: Moved from ../.
41710         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
41711         * modules/crypto/gc-hmac-sha1: Moved from ../.
41712         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
41713         * modules/crypto/gc-md2: Moved from ../.
41714         * modules/crypto/gc-md2-tests: Moved from ../.
41715         * modules/crypto/gc-md4: Moved from ../.
41716         * modules/crypto/gc-md4-tests: Moved from ../.
41717         * modules/crypto/gc-md5: Moved from ../.
41718         * modules/crypto/gc-md5-tests: Moved from ../.
41719         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
41720         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
41721         * modules/crypto/gc-random: Moved from ../.
41722         * modules/crypto/gc-rijndael: Moved from ../.
41723         * modules/crypto/gc-rijndael-tests: Moved from ../.
41724         * modules/crypto/gc-sha1: Moved from ../.
41725         * modules/crypto/gc-sha1-tests: Moved from ../.
41726         * modules/crypto/gc-tests: Moved from ../.
41727         * modules/crypto/hmac-md5: Moved from ../.
41728         * modules/crypto/hmac-md5-tests: Moved from ../.
41729         * modules/crypto/hmac-sha1: Moved from ../.
41730         * modules/crypto/hmac-sha1-tests: Moved from ../.
41731         * modules/crypto/md2: Moved from ../.
41732         * modules/crypto/md2-tests: Moved from ../.
41733         * modules/crypto/md4: Moved from ../.
41734         * modules/crypto/md4-tests: Moved from ../.
41735         * modules/crypto/md5: Moved from ../.
41736         * modules/crypto/md5-tests: Moved from ../.
41737         * modules/crypto/memxor: Moved from ../.
41738         * modules/crypto/rijndael: Moved from ../.
41739         * modules/crypto/rijndael-tests: Moved from ../.
41740         * modules/crypto/sha1: Moved from ../.
41741
41742 2007-03-30  James Youngman  <jay@gnu.org>
41743
41744         * tests/test-stat-time.c (prepare_test): use chmod() rather than
41745         rename() to change the ctime of a file (because ctime is unaffected
41746         by rename on jfs2 on AIX 5.1).
41747         (main): Start by doing cleanup, in case a previous run failed leaving
41748         test files behind.
41749
41750 2007-03-31  Bruno Haible  <bruno@clisp.org>
41751
41752         Support old proprietary implementations of iconv.
41753         * modules/iconv_open: New file.
41754         * lib/iconv_.h: New file.
41755         * m4/iconv_h.m4: New file.
41756         * lib/iconv_open.c: New file.
41757         * lib/iconv_open-aix.gperf: New file.
41758         * lib/iconv_open-hpux.gperf: New file.
41759         * lib/iconv_open-irix.gperf: New file.
41760         * lib/iconv_open-osf.gperf: New file.
41761         * m4/iconv_open.m4: New file.
41762         * modules/linebreak (Depends-on): Add iconv_open.
41763         * modules/striconv (Depends-on): Likewise.
41764         * modules/striconveh (Depends-on): Likewise.
41765         * modules/unicodeio (Depends-on): Likewise.
41766         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
41767         (iconv_t)(-1).
41768         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
41769         conversion if cd is (iconv_t)(-1).
41770         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
41771         is not possible.
41772
41773 2007-03-31  Bruno Haible  <bruno@clisp.org>
41774
41775         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
41776         work on Solaris either. Protect also second use of "autodetect_jp".
41777
41778 2007-03-31  Bruno Haible  <bruno@clisp.org>
41779
41780         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
41781         the function is not present.
41782
41783 2007-03-31  Bruno Haible  <bruno@clisp.org>
41784
41785         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
41786         the function is not present.
41787
41788 2007-03-31  Bruno Haible  <bruno@clisp.org>
41789
41790         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
41791         a bug in HP-UX iconv_open().
41792
41793 2007-03-31  Bruno Haible  <bruno@clisp.org>
41794
41795         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
41796         (Mathematics <math.h>): New section, add fpieee.
41797         (Input/output <stdio.h>): Add fseterr.
41798         (Mathematics <math.h>): New section, add printf-frexp.
41799         (Container data structures): Add sublist.
41800         (Core language properties): Add fpucw, inline.
41801         (Functions for greatest-width integer types <inttypes.h>): Add
41802         imaxabs, imaxdiv, inttypes.
41803         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
41804         isnanl-nolibm, ldexp.
41805         (Mathematics <math.h>): New section, add printf-frexpl.
41806         (Support for systems lacking POSIX:2001): Add fprintf-posix,
41807         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
41808         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
41809         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
41810         (Unicode string functions): Add unistr/u*-mbtoucr.
41811         (Java): Add javacomp-script, javaexec-script.
41812         (C#): Add csharpcomp-script, csharpexec-script.
41813         (Support for building libraries and executables): Add havelib,
41814         relocatable-*.
41815         (Support for maintaining and releasing projects): Renamed from
41816         'Support for maintaining and release projects'. Add announce-gen.
41817
41818 2007-03-31  Bruno Haible  <bruno@clisp.org>
41819
41820         * README: Talk primarily about git.
41821         (git and CVS): Renamed from CVS.
41822         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
41823         gnulib is available through git.
41824         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
41825
41826 2007-03-30  Bruno Haible  <bruno@clisp.org>
41827
41828         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
41829         * lib/poll_.h: Likewise.
41830         * lib/stat_.h: Likewise.
41831         * lib/sys_time_.h: Likewise.
41832         * lib/sysexit_.h: Likewise.
41833         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
41834         * lib/stdbool_.h: Likewise.
41835         * lib/byteswap_.h: Add double-inclusion guard.
41836
41837 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
41838
41839         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
41840
41841 2007-03-30  Karl Berry  <karl@gnu.org>
41842
41843         * config/srclist-update: double space after USA in the license
41844         substitution, since that's how it's usually (?) written.
41845
41846 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41847
41848         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
41849         reported by Bruno Haible.
41850
41851 2007-03-29  Bruno Haible  <bruno@clisp.org>
41852
41853         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
41854         a bug in AIX iconv().
41855
41856 2007-03-29  Bruno Haible  <bruno@clisp.org>
41857
41858         * modules/ldexpl-tests: New file.
41859         * tests/test-ldexpl.c: New file.
41860
41861 2007-03-29  Bruno Haible  <bruno@clisp.org>
41862
41863         * lib/ldexpl.c: Include fpucw.h.
41864         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
41865         multiplication.
41866         * modules/ldexpl (Depends-on): Add fpucw.
41867
41868 2007-03-29  Bruno Haible  <bruno@clisp.org>
41869
41870         * modules/ldexpl: New file.
41871         * m4/ldexpl.m4: New file.
41872         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
41873         set.
41874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
41875         REPLACE_LDEXPL.
41876         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
41877         REPLACE_LDEXPL.
41878         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
41879         gl_FUNC_LDEXPL_WORKS.
41880         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
41881         * modules/mathl (Files): Remove lib/ldexpl.c.
41882         (Depends-on): Add ldexpl.
41883
41884 2007-03-29  Bruno Haible  <bruno@clisp.org>
41885
41886         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
41887
41888 2007-03-29  Bruno Haible  <bruno@clisp.org>
41889
41890         * tests/test-striconveh.c (main): Don't assume that a direct conversion
41891         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
41892         and possibly also HP-UX.
41893         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
41894         work on AIX, IRIX, HP-UX, OSF/1.
41895         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41896         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41897         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41898         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41899         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
41900         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41901
41902 2007-03-29  Bruno Haible  <bruno@clisp.org>
41903
41904         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
41905
41906 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
41907
41908         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
41909         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
41910
41911 2007-03-29  Eric Blake  <ebb9@byu.net>
41912
41913         * lib/acl-internal.h: Remove redundant include.
41914         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
41915         Cygwin when a file is locked.
41916
41917 2007-03-29  Bruno Haible  <bruno@clisp.org>
41918
41919         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
41920         file.
41921         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
41922
41923 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
41924
41925         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
41926         try to remove a parent directory if the child couldn't be removed
41927         (except for the first rmdir, which could fail because the child
41928         doesn't exist).  Problem reported by Jeff Blaine in
41929         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
41930
41931 2007-03-28  Bruno Haible  <bruno@clisp.org>
41932
41933         * lib/striconveh.c (utf8conv_carefully): New function.
41934         (mem_cd_iconveh_internal): Invoke it.
41935
41936 2007-03-28  Bruno Haible  <bruno@clisp.org>
41937
41938         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
41939         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
41940         input.
41941         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
41942         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
41943         unistr/u8-uctomb.
41944
41945 2007-03-28  Bruno Haible  <bruno@clisp.org>
41946
41947         * modules/unistr/u8-mbtoucr: New file.
41948         * lib/unistr/u8-mbtoucr.c: New file.
41949         * modules/unistr/u16-mbtoucr: New file.
41950         * lib/unistr/u16-mbtoucr.c: New file.
41951         * modules/unistr/u16-mbtoucr: New file.
41952         * lib/unistr/u16-mbtoucr.c: New file.
41953         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
41954
41955 2007-03-27  Simon Josefsson  <simon@josefsson.org>
41956             Bruno Haible  <bruno@clisp.org>
41957
41958         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
41959         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
41960         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
41961
41962         * m4/stdio_h.m4: Add stubs for vasprintf too.
41963
41964         * modules/stdio: Support vasprintf in sed command.
41965
41966         * modules/vasprintf: Depend on stdio for prototypes.  Remove
41967         vasprintf.h.  Add stdio module indicator.
41968
41969         * lib/stdio_.h: Declare asprintf and vasprintf, based on
41970         vasprintf.h.
41971
41972         * lib/vasprintf.h: File removed.
41973
41974         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
41975         * lib/vasprintf.c: Ditto.
41976         * lib/xvasprintf.c: Ditto.
41977         * tests/test-vasprintf-posix.c: Ditto.
41978         * tests/test-vasprintf.c: Ditto.
41979
41980 2007-03-27  Bruno Haible  <bruno@clisp.org>
41981
41982         Make vasnprintf multithread-safe.
41983         * lib/vasnprintf.c (decimal_point_char): New function.
41984         (VASNPRINTF): Use it.
41985         Suggested by Simon Josefsson.
41986
41987 2007-03-27  Eric Blake  <ebb9@byu.net>
41988
41989         Support sub-second birthtime on cygwin.
41990         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
41991         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
41992         (get_stat_birthtime): Also work with st_birthtim.
41993
41994 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
41995
41996         * lib/stat-time.h (USE_BIRTHTIME): Remove.
41997         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
41998         (get_stat_birthtime_ns): Do not try to use "spare" fields.
41999         (get_stat_birthtime_ns): Simplify compile-time tests.
42000         (get_stat_birthtime): Change the API to look like
42001         get_stat_mtime etc., except return a negative tv_nsec on error.
42002         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
42003         Don't check for "spare" fields.
42004         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
42005         or for struct stat.st_birthtime, as these tests aren't used.
42006         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
42007
42008 2007-03-27  Bruno Haible  <bruno@clisp.org>
42009
42010         * lib/stat-time.h: Include <sys/stat.h>.
42011
42012 2007-03-27  James Youngman  <jay@gnu.org>
42013
42014         * lib/stat-time.h (get_stat_birthtime): New function for
42015           retrieving st_birthtime as provided by UFS2 (hence *BSD).
42016         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
42017           and its variants.
42018         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
42019         * modules/stat-time-test: New file.
42020         * tests/test-stat-time.c: New test, devised by Bruno Haible.
42021
42022 2007-03-26  Bruno Haible  <bruno@clisp.org>
42023
42024         Better support of signalling NaNs.
42025         * lib/atanl.c: Include isnanl.h.
42026         (atanl): Perform test for NaN at the beginning of the function and
42027         through a call to isnanl.
42028         * lib/cosl.c: Include isnanl.h.
42029         (cosl): Perform test for NaN at the beginning of the function and
42030         through a call to isnanl.
42031         * lib/ldexpl.c: Include isnanl.h.
42032         (ldexpl): Perform test for NaN through a call to isnanl.
42033         * lib/logl.c: Include isnanl.h.
42034         (logl): Perform test for NaN at the beginning of the function and
42035         through a call to isnanl.
42036         * lib/sinl.c: Include isnanl.h.
42037         (sinl): Perform test for NaN at the beginning of the function and
42038         through a call to isnanl.
42039         * lib/sqrtl.c: Include isnanl.h.
42040         (sqrtl): Perform test for NaN at the beginning of the function and
42041         through a call to isnanl.
42042         * lib/tanl.c: Include isnanl.h.
42043         (tanl): Perform test for NaN at the beginning of the function and
42044         through a call to isnanl.
42045         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
42046         * modules/mathl (Depends-on): Add isnanl.
42047
42048 2007-03-26  Eric Blake  <ebb9@byu.net>
42049
42050         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
42051         regression in logic sense of previous patch.
42052
42053 2007-03-26  Bruno Haible  <bruno@clisp.org>
42054
42055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
42056         unportable shell command "if ! ...".
42057         Reported by Ralf Wildenhues.
42058
42059 2007-03-25  Bruno Haible  <bruno@clisp.org>
42060
42061         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
42062         <sysexits.h> file, and only add EX_CONFIG.
42063         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
42064         absolute file name and whether it is sufficient. Substitute also
42065         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
42066         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
42067         ABSOLUTE_SYSEXITS_H into sysexits.h.
42068
42069 2007-03-25  Bruno Haible  <bruno@clisp.org>
42070
42071         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
42072         hints is NULL.
42073
42074 2007-03-25  Bruno Haible  <bruno@clisp.org>
42075
42076         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
42077         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
42078
42079 2007-03-25  Bruno Haible  <bruno@clisp.org>
42080
42081         * lib/vasnprintf.c: Include langinfo.h.
42082         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
42083         multithread-safe.
42084         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
42085         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
42086         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42087         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42088         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42089         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42090         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42091         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
42092         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42093         Reported by Simon Josefsson.
42094
42095 2007-03-25  Bruno Haible  <bruno@clisp.org>
42096
42097         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
42098         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
42099         * modules/vasnprintf (Depends-on): Add stdint.
42100
42101 2007-03-25  Bruno Haible  <bruno@clisp.org>
42102
42103         * modules/fpieee: New file.
42104         * m4/fpieee.m4: New file.
42105         * modules/isnan-nolibm (Depends-on): Add fpieee.
42106         * modules/isnanl-nolibm (Depends-on): Add fpieee.
42107         * modules/isnanl (Depends-on): Add fpieee.
42108
42109 2007-03-25  Bruno Haible  <bruno@clisp.org>
42110
42111         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
42112
42113 2007-03-25  Bruno Haible  <bruno@clisp.org>
42114
42115         Avoid test failures on IRIX 6.5.
42116         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
42117         (main): Use it.
42118         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
42119         macros.
42120         (main): Use them.
42121
42122 2007-03-25  Bruno Haible  <bruno@clisp.org>
42123
42124         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
42125         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
42126         exists but doesn't work.
42127         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
42128         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
42129         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
42130         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
42131
42132 2007-03-25  Bruno Haible  <bruno@clisp.org>
42133
42134         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
42135         returns inf. Needed on IRIX 6.5.
42136
42137 2007-03-25  Bruno Haible  <bruno@clisp.org>
42138
42139         * tests/test-frexpl.c: Include isnanl-nolibm.h.
42140         (main): Use isnanl instead of x != x idiom.
42141         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
42142
42143         * tests/test-frexp.c: Include isnan.h.
42144         (main): Use isnan instead of x != x idiom.
42145         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
42146
42147 2007-03-25  Bruno Haible  <bruno@clisp.org>
42148
42149         * tests/test-frexp.c (NaN): New function/macro.
42150         (main): Use it instead of 0.0 / 0.0.
42151         * tests/test-isnan.c (NaN): New function/macro.
42152         (main): Use it instead of 0.0 / 0.0.
42153         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
42154         (test_function): Use it instead of 0.0 / 0.0.
42155         * tests/test-vasprintf-posix.c (NaN): New function/macro.
42156         (test_function): Use it instead of 0.0 / 0.0.
42157         * tests/test-snprintf-posix.h (NaN): New function/macro.
42158         (test_function): Use it instead of 0.0 / 0.0.
42159         * tests/test-sprintf-posix.h (NaN): New function/macro.
42160         (test_function): Use it instead of 0.0 / 0.0.
42161         * tests/test-fprintf-posix.h (NaN): New function/macro.
42162         (test_function): Use it instead of 0.0 / 0.0.
42163         * tests/test-printf-posix.h (NaN): New function/macro.
42164         (test_function): Use it instead of 0.0 / 0.0.
42165
42166         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
42167
42168 2007-03-25  Bruno Haible  <bruno@clisp.org>
42169
42170         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
42171
42172 2007-03-25  Bruno Haible  <bruno@clisp.org>
42173
42174         * lib/regexec.c (merge_state_with_log): Make static.
42175
42176 2007-03-25  Bruno Haible  <bruno@clisp.org>
42177
42178         * lib/trigl.c (kernel_rem_pio2): Make static.
42179
42180 2007-03-25  Bruno Haible  <bruno@clisp.org>
42181
42182         * lib/sincosl.c (sincosl_table): Make static.
42183
42184 2007-03-25  Bruno Haible  <bruno@clisp.org>
42185
42186         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
42187         if the compiler does not support C99.
42188
42189 2007-03-25  Bruno Haible  <bruno@clisp.org>
42190
42191         * modules/time (Makefile.am): Ensure all rule action lines start with a
42192         tab.
42193
42194 2007-03-24  Bruno Haible  <bruno@clisp.org>
42195
42196         * modules/tsearch-tests: New file.
42197         * tests/test-tsearch.sh: New file.
42198         * tests/test-tsearch.c: New file, mostly copied from glibc.
42199
42200         * modules/search-tests: New file.
42201         * tests/test-search.c: New file.
42202
42203         * modules/search: New file.
42204         * lib/search_.h: New file, incorporating lib/tsearch.h.
42205         * m4/search_h.m4: New file.
42206         * lib/tsearch.h: Remove file.
42207         * lib/tsearch.c: Include search.h instead of tsearch.h.
42208         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
42209         HAVE_TSEARCH.
42210         * modules/tsearch (Files): Remove lib/tsearch.h.
42211         (Depends-on): Add search.
42212         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
42213         (Include): Change tsearch.h into search.h.
42214
42215 2007-03-24  Bruno Haible  <bruno@clisp.org>
42216
42217         * modules/fpucw: New file.
42218         * lib/fpucw.h: New file.
42219         * lib/frexp.c: Include fpucw.h.
42220         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
42221         (FUNC): Use them.
42222         * lib/printf-frexp.c: Include fpucw.h.
42223         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
42224         (FUNC): Use them.
42225         * lib/vasnprintf.c: Include fpucw.h.
42226         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
42227         'long double' calculations.
42228         * tests/test-frexpl.c: Include fpucw.h.
42229         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
42230         * tests/test-printf-frexpl.c: Include fpucw.h.
42231         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
42232         * modules/frexpl (Depends-on): Add fpucw.
42233         * modules/printf-frexpl (Depends-on): Likewise.
42234         * modules/fprintf-posix (Depends-on): Likewise.
42235         * modules/snprintf-posix (Depends-on): Likewise.
42236         * modules/sprintf-posix (Depends-on): Likewise.
42237         * modules/vasnprintf-posix (Depends-on): Likewise.
42238         * modules/vasprintf-posix (Depends-on): Likewise.
42239         * modules/vfprintf-posix (Depends-on): Likewise.
42240         * modules/vsnprintf-posix (Depends-on): Likewise.
42241         * modules/vsprintf-posix (Depends-on): Likewise.
42242         * modules/frexpl-tests (Depends-on): Likewise.
42243         * modules/printf-frexpl-tests (Depends-on): Likewise.
42244
42245 2007-03-24  Bruno Haible  <bruno@clisp.org>
42246
42247         * lib/float+.h: New file.
42248         * lib/isnan.c: Include float+.h.
42249         (SIZE): New macro.
42250         (FUNC): Compare only SIZE bytes of the value.
42251         * lib/vasnprintf.c: Include float+.h.
42252         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
42253         SIZEOF_LDBL or SIZEOF_DBL bytes.
42254         * modules/isnan-nolibm (Files): Add lib/float+.h.
42255         * modules/isnanl-nolibm (Files): Add lib/float+.h.
42256         * modules/isnanl (Files): Add lib/float+.h.
42257         * modules/vasnprintf (Files): Add lib/float+.h.
42258
42259 2007-03-24  Bruno Haible  <bruno@clisp.org>
42260
42261         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
42262         include isnanl-nolibm.h.
42263
42264 2007-03-24  Bruno Haible  <bruno@clisp.org>
42265
42266         * tests/test-read-file.c (main): Don't produce spurious output for
42267         expected situations. Make the test fail if it encountered unexpected
42268         results.
42269
42270 2007-03-24  Bruno Haible  <bruno@clisp.org>
42271
42272         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
42273         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
42274
42275 2007-03-24  Bruno Haible  <bruno@clisp.org>
42276
42277         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
42278
42279 2007-03-24  Bruno Haible  <bruno@clisp.org>
42280
42281         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
42282         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
42283
42284         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
42285         * modules/utf8-ucs4: Turn into a symbolic link to module
42286         unistr/u8-mbtouc.
42287
42288         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
42289         utf8-ucs4-unsafe.
42290         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
42291         unistr/u8-mbtouc-unsafe.
42292
42293         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
42294         * modules/utf16-ucs4: Turn into a symbolic link to module
42295         unistr/u16-mbtouc.
42296
42297         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
42298         utf16-ucs4-unsafe.
42299         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
42300         unistr/u16-mbtouc-unsafe.
42301
42302         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
42303         * modules/ucs4-utf8: Turn into a symbolic link to module
42304         unistr/u8-ubtomb.
42305
42306         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
42307         * modules/ucs4-utf16: Turn into a symbolic link to module
42308         unistr/u16-ubtomb.
42309
42310 2007-03-24  Bruno Haible  <bruno@clisp.org>
42311
42312         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
42313         Enable the function only if HAVE_INLINE.
42314         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
42315         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
42316         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
42317         Enable the function only if HAVE_INLINE.
42318         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
42319         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
42320         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
42321         Enable the function only if HAVE_INLINE.
42322         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
42323         Enable the function only if HAVE_INLINE.
42324         * modules/utf8-ucs4: Update.
42325         * modules/utf8-ucs4-unsafe: Update.
42326         * modules/utf16-ucs4: Update.
42327         * modules/utf16-ucs4-unsafe: Update.
42328         * modules/ucs4-utf8: Update.
42329         * modules/ucs4-utf16: Update.
42330
42331 2007-03-24  Bruno Haible  <bruno@clisp.org>
42332
42333         * lib/utf8-ucs4.h: Remove file.
42334         * lib/utf8-ucs4-unsafe.h: Remove file.
42335         * lib/utf16-ucs4.h: Remove file.
42336         * lib/utf16-ucs4-unsafe.h: Remove file.
42337         * lib/ucs4-utf8.h: Remove file.
42338         * lib/ucs4-utf16.h: Remove file.
42339         * lib/unistr.h: Include their previous contents.
42340         * m4/utf-ucs4.m4: Remove file.
42341         * m4/ucs4-utf.m4: Remove file.
42342         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
42343         (Depends-on): Add unistr/base.
42344         (configure.ac): Remove gl_UTF_UCS4.
42345         (Makefile.am): Update.
42346         (Include): Change to unistr.h.
42347         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
42348         (Depends-on): Add unistr/base.
42349         (configure.ac): Remove gl_UTF_UCS4.
42350         (Makefile.am): Update.
42351         (Include): Change to unistr.h.
42352         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
42353         (Depends-on): Add unistr/base.
42354         (configure.ac): Remove gl_UTF_UCS4.
42355         (Makefile.am): Update.
42356         (Include): Change to unistr.h.
42357         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
42358         (Depends-on): Add unistr/base.
42359         (configure.ac): Remove gl_UTF_UCS4.
42360         (Makefile.am): Update.
42361         (Include): Change to unistr.h.
42362         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
42363         (Depends-on): Add unistr/base.
42364         (configure.ac): Remove gl_UCS4_UTF.
42365         (Makefile.am): Update.
42366         (Include): Change to unistr.h.
42367         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
42368         (Depends-on): Add unistr/base.
42369         (configure.ac): Remove gl_UCS4_UTF.
42370         (Makefile.am): Update.
42371         (Include): Change to unistr.h.
42372         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
42373         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
42374         utf8-ucs4-unsafe.h.
42375         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
42376         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
42377         utf16-ucs4-unsafe.h.
42378         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
42379         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
42380         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
42381         * lib/unistr/u8-strchr.c: Likewise.
42382         * lib/unistr/u8-strrchr.c: Likewise.
42383         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
42384         * lib/unistr/u16-strchr.c: Likewise.
42385         * lib/unistr/u16-strrchr.c: Likewise.
42386         * lib/striconveh.c: Update.
42387         * lib/linebreak.c: Update.
42388
42389 2007-03-24  Bruno Haible  <bruno@clisp.org>
42390
42391         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
42392         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
42393
42394 2007-03-22  Bruno Haible  <bruno@clisp.org>
42395
42396         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
42397
42398 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
42399
42400         * MODULES.html.sh (File system functions): New module write-any-file.
42401         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
42402         * m4/write-any-file.m4: New files.
42403
42404 2007-03-23  Eric Blake  <ebb9@byu.net>
42405
42406         * gnulib-tool: Rearrange space-tab sequences, since some editors
42407         like to eat them.
42408
42409 2007-03-23  Eric Blake  <ebb9@byu.net>
42410
42411         * lib/version-etc.c (version_etc_va): Update license wording to
42412         be more concise.  Recommended by Richard Stallman.
42413
42414 2007-03-22  Bruno Haible  <bruno@clisp.org>
42415
42416         * lib/poll.c (MSG_PEEK): New fallback definition.
42417
42418 2007-03-22  Bruno Haible  <bruno@clisp.org>
42419
42420         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
42421         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
42422         (main): Update.
42423         Fixes a compilation error on BeOS.
42424
42425 2007-03-22  Bruno Haible  <bruno@clisp.org>
42426
42427         * modules/frexpl-tests: New file.
42428         * tests/test-frexpl.c: New file.
42429
42430         * modules/frexpl: New file.
42431         * m4/frexpl.m4: New file.
42432         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
42433         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
42434         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
42435         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
42436         (Depends-on): Add frexpl. Remove isnanl-nolibm.
42437         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
42438
42439 2007-03-22  Bruno Haible  <bruno@clisp.org>
42440
42441         * lib/frexpl.c: Share code with lib/frexp.c.
42442         * modules/mathl (Files): Add lib/frexp.c.
42443         (Depends-on): Add isnanl-nolibm.
42444
42445 2007-03-22  Bruno Haible  <bruno@clisp.org>
42446
42447         * modules/printf-frexp (Files): Add m4/frexp.m4.
42448         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
42449         only if the found frexp function actually works.
42450
42451 2007-03-22  Bruno Haible  <bruno@clisp.org>
42452
42453         * lib/frexp.c: Remove older implementation that uses divisions.
42454
42455 2007-03-21  Bruno Haible  <bruno@clisp.org>
42456
42457         * modules/frexp-tests: New file.
42458         * tests/test-frexp.c: New file.
42459
42460         * modules/frexp: New file.
42461         * lib/frexp.c: New file.
42462         * m4/frexp.m4: New file.
42463         * lib/math_.h (frexp): New declaration.
42464         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
42465         REPLACE_FREXP.
42466         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
42467
42468 2007-03-21  Bruno Haible  <bruno@clisp.org>
42469
42470         * modules/isnanl-tests: New file.
42471         * tests/test-isnanl.c: New file.
42472
42473         * modules/isnanl: New file.
42474         * lib/isnanl.h: New file.
42475         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
42476         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
42477         gl_FUNC_ISNANL_WORKS.
42478         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
42479         New macros.
42480
42481 2007-03-21  Bruno Haible  <bruno@clisp.org>
42482
42483         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
42484         lib/isnanl.h.
42485         (Include): Update.
42486         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
42487         * lib/vasnprintf.c: Update.
42488         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
42489         tests/test-isnanl.h, remove tests/test-isnanl.c.
42490         (Makefile.am): Update.
42491         * tests/test-isnanl-nolibm.c: New file.
42492         * tests/test-isnanl.h: New file.
42493         * tests/test-isnanl.c: Remove file.
42494
42495 2007-03-21  Jim Meyering  <jim@meyering.net>
42496
42497         When trying to open ".", treat ESTALE like EACCES.
42498         * lib/savewd.c (savewd_save): Resort to forking not just upon
42499         failure with EACCES, but also when errno is ESTALE.
42500
42501 2007-03-20  Bruno Haible  <bruno@clisp.org>
42502
42503         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
42504         Needed on AIX 5.1. Reported by Matthew Woehlke.
42505
42506 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42507
42508         Suggestions by Bruno Haible:
42509         * lib/acl-internal.h: Include "gettext.h" rather than rolling
42510         our own.
42511         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
42512         * modules/acl (Depends-on): Add gettext.
42513
42514 2007-03-19  Bruno Haible  <bruno@clisp.org>
42515
42516         * modules/iconvme: Remove file.
42517         * lib/iconvme.h: Remove file.
42518         * lib/iconvme.c: Remove file.
42519         * m4/iconvme.m4: Remove file.
42520
42521 2007-03-19  Bruno Haible  <bruno@clisp.org>
42522
42523         * doc/relocatable-maint.texi: Break long shell script line.
42524         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
42525
42526 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42527
42528         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
42529         handle file_has_acl.
42530         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
42531         * lib/acl.c: Move header inclusions and related macro defns into
42532         lib/acl-internal.h.
42533         (S_ISLNK): Remove defn, since that's now done for us.
42534         (file_has_acl): Move to lib/file-has-acl.c.
42535         Call acl_trivial if available.  This is the crucial part of the fix.
42536         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
42537         shared within the library.  Rewrite a bit, partly to make it compatible
42538         with the GNU coding style.
42539         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
42540         Remove unnecessary double-quotes.
42541         Don't test for acl_to_text; the build will catch that.
42542         Replace acl_entries if it doesn't exist and it is needed.
42543         Check for -lsec and acl_trivial (as used on Solaris 10).
42544         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
42545         lib/file-has-acl.c.
42546         (Depends-on): Add sys_stat, for S_ISLNK.
42547
42548 2007-03-19  Ben Pfaff  <blp@gnu.org>
42549
42550         * doc/gnulib.texi: Fix typos.
42551         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
42552
42553 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42554
42555         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
42556         If size is zero here, buf must be zero.
42557
42558 2007-03-19  Simon Josefsson  <simon@josefsson.org>
42559
42560         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
42561         <bruno@clisp.org>.
42562
42563 2007-03-18  Bruno Haible  <bruno@clisp.org>
42564
42565         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
42566         Suggested by Eric Blake.
42567
42568 2007-03-18  Ben Pfaff  <blp@gnu.org>
42569
42570         * doc/relocatable.texi: Recommend using as prefix a directory
42571         that does not exist and will never be created.  Based on
42572         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
42573         and others.
42574
42575 2007-03-17  Bruno Haible  <bruno@clisp.org>
42576
42577         * lib/fchownat.c: Include lchown.h.
42578
42579 2007-03-17  Bruno Haible  <bruno@clisp.org>
42580
42581         Fix endless loop when the given allocated size was > INT_MAX.
42582         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
42583         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
42584         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
42585         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
42586         * lib/sprintf.c (sprintf): Likewise.
42587
42588 2007-03-17  Bruno Haible  <bruno@clisp.org>
42589
42590         * tests/test-argp-2.sh (func_compare): Output a context diff.
42591
42592 2007-03-17  Bruno Haible  <bruno@clisp.org>
42593
42594         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
42595         locale's decimal-point character.
42596
42597 2007-03-17  Bruno Haible  <bruno@clisp.org>
42598
42599         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
42600         before comparing it. Needed because on some platforms (e.g. x86) a
42601         'long double' occupies less bytes than sizeof (long double).
42602
42603 2007-03-17  Bruno Haible  <bruno@clisp.org>
42604
42605         * tests/test-crc.c (main): Make printf statements 64-bit clean.
42606         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
42607         * tests/test-getaddrinfo.c (simple): Likewise.
42608         * tests/test-read-file.c (main): Likewise.
42609
42610 2007-03-17  Bruno Haible  <bruno@clisp.org>
42611
42612         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
42613
42614 2007-03-17  Bruno Haible  <bruno@clisp.org>
42615
42616         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
42617         unused variable.
42618
42619 2007-03-17  Bruno Haible  <bruno@clisp.org>
42620
42621         * tests/test-c-strcasecmp.c: Include c-strcase.h.
42622         * tests/test-c-strncasecmp.c: Likewise.
42623
42624 2007-03-17  Bruno Haible  <bruno@clisp.org>
42625
42626         * modules/stdlib (Depends-on): Add unistd.
42627         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
42628         Needed for MacOS X 10.3.
42629
42630 2007-03-17  Bruno Haible  <bruno@clisp.org>
42631
42632         * lib/unistr/u-strdup.h: Include <stdlib.h>.
42633
42634 2007-03-17  Bruno Haible  <bruno@clisp.org>
42635
42636         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
42637
42638 2007-03-17  Bruno Haible  <bruno@clisp.org>
42639
42640         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
42641         to reflect files copied from gnulib (with or without modifications).
42642         Suggested by Jim Meyering.
42643
42644 2007-03-17  Eric Blake  <ebb9@byu.net>
42645
42646         * NEWS: Document stdlib change from 2007-02-18.
42647
42648 2007-03-17  Jim Meyering  <jim@meyering.net>
42649
42650         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
42651         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
42652         someone uses a name containing shell meta-characters.
42653         Reported by Alfred M. Szmidt.
42654
42655         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
42656
42657 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
42658
42659         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
42660         and copy gettext configuration files only if configure.ac contains
42661         a use of AM_GNU_GETTEXT_VERSION.
42662
42663 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
42664
42665         * build-aux/bootstrap (gnulib_name): New variable.
42666         (gnulib_tool_options): Use it.
42667
42668 2007-03-13  Simon Josefsson  <simon@josefsson.org>
42669
42670         * tests/test-des.c: Use new namespace.
42671
42672 2007-03-15  Bruno Haible  <bruno@clisp.org>
42673
42674         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
42675         Reported by James Youngman <jay@gnu.org>.
42676
42677 2007-03-15  Bruno Haible  <bruno@clisp.org>
42678
42679         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
42680         declared prototype. Needed with cc on OSF/1 5.1.
42681
42682 2007-03-15  Bruno Haible  <bruno@clisp.org>
42683
42684         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
42685         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
42686         (struct gl_list_implementation): Add dispose_fn argument to the
42687         'create_empty', 'create' methods.
42688         (struct gl_list_impl_base): Add field 'dispose_fn'.
42689         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
42690         argument.
42691         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
42692         dispose_fn argument.
42693         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
42694         dispose_fn on the dropped values.
42695         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
42696         dispose_fn argument.
42697         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
42698         dropped values.
42699         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
42700         (gl_tree_remove_node): Call dispose_fn on the dropped value.
42701         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
42702         (gl_tree_remove_node): Call dispose_fn on the dropped value.
42703         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
42704         argument.
42705         (gl_tree_list_free): Call dispose_fn on the dropped values.
42706         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
42707         the dropped values.
42708         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42709         Add dispose_fn argument.
42710         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
42711         Call dispose_fn on the dropped values.
42712         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
42713         Add dispose_fn argument.
42714         (gl_sublist_create): Initialize the 'dispose_fn' field.
42715         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
42716         * tests/test-array_list.c (main): Update.
42717         * tests/test-carray_list.c (main): Update.
42718         * tests/test-avltree_list.c (main): Update.
42719         * tests/test-rbtree_list.c (main): Update.
42720         * tests/test-avltreehash_list.c (main): Update.
42721         * tests/test-rbtreehash_list.c (main): Update.
42722         * tests/test-linked_list.c (main): Update.
42723         * tests/test-linkedhash_list.c (main): Update.
42724         * tests/test-array_oset.c (main): Update.
42725
42726 2007-03-15  Bruno Haible  <bruno@clisp.org>
42727
42728         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
42729         (gl_oset_create_empty): Add dispose_fn argument.
42730         (struct gl_oset_implementation): Add dispose_fn argument to
42731         'create_empty' method.
42732         (struct gl_oset_impl_base): Add dispose_fn field.
42733         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
42734         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
42735         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
42736         values.
42737         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
42738         (gl_tree_oset_free): Call dispose_fn on the dropped values.
42739         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
42740         dropped value.
42741         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
42742         dropped value.
42743         * tests/test-array_oset.c (main): Update.
42744         * tests/test-avltree_oset.c (main): Update.
42745         * tests/test-rbtree_oset.c (main): Update.
42746         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
42747
42748 2007-03-13  Bruno Haible  <bruno@clisp.org>
42749
42750         * tests/test-stdbool.c (i): Update after last patch.
42751
42752 2007-03-12  Bruno Haible  <bruno@clisp.org>
42753
42754         * lib/quotearg.c: Include <wctype.h> early, before the definition of
42755         the iswprint macro. Needed on Solaris 2.5.1.
42756
42757 2007-03-12  Bruno Haible  <bruno@clisp.org>
42758
42759         * tests/test-printf-frexp.c (main): Declare x as volatile.
42760
42761 2007-03-12  Simon Josefsson  <simon@josefsson.org>
42762
42763         * doc/gnulib.texi (Build robot for gnulib): New section.
42764
42765 2007-03-12  Jim Meyering  <jim@meyering.net>
42766
42767         * build-aux/bootstrap: New file.
42768         * build-aux/bootstrap.conf: New file, from coreutils.
42769
42770 2007-03-11  Bruno Haible  <bruno@clisp.org>
42771
42772         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
42773
42774 2007-03-12  Simon Josefsson  <simon@josefsson.org>
42775
42776         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
42777         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
42778         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
42779
42780 2007-03-11  Bruno Haible  <bruno@clisp.org>
42781
42782         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
42783         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
42784
42785 2007-03-11  Bruno Haible  <bruno@clisp.org>
42786
42787         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
42788         formula. Needed for SunPRO C 5.0.
42789
42790 2007-03-11  Bruno Haible  <bruno@clisp.org>
42791
42792         * modules/long-options (Depends-on): Add getopt.
42793
42794 2007-03-11  Bruno Haible  <bruno@clisp.org>
42795
42796         * modules/modechange (Depends-on): Add stdbool.
42797
42798 2007-03-11  Bruno Haible  <bruno@clisp.org>
42799
42800         * modules/i-ring (Depends-on): Add stdbool.
42801
42802 2007-03-11  Bruno Haible  <bruno@clisp.org>
42803
42804         * modules/gc-des (Depends-on): Add stdbool.
42805
42806 2007-03-11  Bruno Haible  <bruno@clisp.org>
42807
42808         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
42809
42810 2007-03-11  Bruno Haible  <bruno@clisp.org>
42811
42812         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
42813
42814 2007-03-11  Bruno Haible  <bruno@clisp.org>
42815
42816         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
42817
42818 2007-03-11  Bruno Haible  <bruno@clisp.org>
42819
42820         * lib/vasnprintf.c (sprintf): Undefine.
42821
42822 2007-03-11  Bruno Haible  <bruno@clisp.org>
42823
42824         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
42825         initializers in SunPRO C and Compaq C compilers.
42826
42827 2007-03-11  Bruno Haible  <bruno@clisp.org>
42828
42829         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
42830         decrementing code ANSI C compliant.
42831
42832 2007-03-11  Bruno Haible  <bruno@clisp.org>
42833
42834         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
42835         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
42836
42837 2007-03-11  Bruno Haible  <bruno@clisp.org>
42838
42839         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
42840         <stdbool.h> substitute doesn't pass.
42841
42842 2007-03-11  Bruno Haible  <bruno@clisp.org>
42843
42844         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
42845
42846 2007-03-11  Bruno Haible  <bruno@clisp.org>
42847
42848         * gnulib-tool (func_create_megatestdir): Create also an autobuild
42849         script, for submission to autobuild.josefsson.org.
42850
42851 2007-03-10  Bruno Haible  <bruno@clisp.org>
42852
42853         * modules/canonicalize-lgpl-tests: New file.
42854         * tests/test-canonicalize-lgpl.sh: New file.
42855         * tests/test-canonicalize-lgpl.c: New file.
42856
42857         * modules/c-strcase-tests: New file.
42858         * tests/test-c-strcase.sh: New file.
42859         * tests/test-c-strcasecmp.c: New file.
42860         * tests/test-c-strncasecmp.c: New file.
42861
42862         * modules/atexit-tests: New file.
42863         * tests/test-atexit.sh: New file.
42864         * tests/test-atexit.c: New file.
42865
42866 2007-03-10  Bruno Haible  <bruno@clisp.org>
42867
42868         * tests/test-binary-io.sh: Use temporary filenames that are not so
42869         likely to clash with those of other tests (in a parallel make).
42870         * tests/test-binary-io.c: Likewise.
42871
42872 2007-03-10  Bruno Haible  <bruno@clisp.org>
42873
42874         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
42875         fallback; use #error instead.
42876         Suggested by Simon Josefsson.
42877
42878 2007-03-10  Bruno Haible  <bruno@clisp.org>
42879
42880         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
42881         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
42882         first and the last.
42883
42884 2007-03-10  Bruno Haible  <bruno@clisp.org>
42885
42886         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
42887
42888 2007-03-10  Bruno Haible  <bruno@clisp.org>
42889
42890         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
42891         "make distcheck".
42892         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
42893         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
42894         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
42895
42896 2007-03-10  Bruno Haible  <bruno@clisp.org>
42897
42898         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
42899         variable.
42900         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
42901         variable.
42902
42903 2007-03-09  Eric Blake  <ebb9@byu.net>
42904         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
42905
42906         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
42907         types are not being provided by gnulib.
42908         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
42909         types are supported.
42910
42911 2007-03-10  Bruno Haible  <bruno@clisp.org>
42912
42913         * lib/stdio_.h (__attribute__): New macro.
42914         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
42915         vsprintf): Specify __attribute__ __format__ for GCC.
42916         Suggested by Eric Blake.
42917
42918 2007-03-09  Bruno Haible  <bruno@clisp.org>
42919
42920         * modules/printf-posix-tests: New file.
42921         * tests/test-printf-posix.sh: New file.
42922         * tests/test-printf-posix.c: New file.
42923
42924         * modules/printf-posix: New file.
42925         * lib/printf.c: New file.
42926         * m4/printf-posix-rpl.m4: New file.
42927         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
42928         REPLACE_PRINTF.
42929         * lib/stdio_.h (printf): New declaration.
42930         (format, __format__, ____printf____, ____scanf____, ____strftime____,
42931         ____strfmon____): New macros.
42932         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
42933         REPLACE_PRINTF.
42934
42935 2007-03-09  Bruno Haible  <bruno@clisp.org>
42936
42937         * tests/test-vasnprintf-posix2.sh: New file.
42938         * tests/test-vasnprintf-posix2.c: New file.
42939         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
42940         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
42941         (Makefile.am): Activate test-vasnprintf-posix2.sh.
42942
42943         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
42944         a locale dependent decimal point, rather than always '.'.
42945
42946 2007-03-09  Eric Blake  <ebb9@byu.net>
42947
42948         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
42949         spite of platforms like Tandem/NSK that define it to -1.
42950
42951 2007-03-08  Bruno Haible  <bruno@clisp.org>
42952
42953         * modules/vprintf-posix-tests: New file.
42954         * tests/test-vprintf-posix.sh: New file.
42955         * tests/test-vprintf-posix.c: New file.
42956         * tests/test-printf-posix.h: New file.
42957
42958         * modules/vprintf-posix: New file.
42959         * lib/vprintf.c: New file.
42960         * m4/vprintf-posix.m4: New file.
42961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
42962         REPLACE_VPRINTF.
42963         * lib/stdio_.h (vprintf): New declaration.
42964         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
42965         REPLACE_VPRINTF.
42966
42967 2007-03-08  Bruno Haible  <bruno@clisp.org>
42968
42969         * modules/fprintf-posix-tests: New file.
42970         * tests/test-fprintf-posix.sh: New file.
42971         * tests/test-fprintf-posix.c: New file.
42972
42973         * modules/fprintf-posix: New file.
42974         * lib/fprintf.c: New file.
42975         * m4/fprintf-posix.m4: New file.
42976         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
42977         REPLACE_FPRINTF.
42978         * lib/stdio_.h (fprintf): New declaration.
42979         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
42980         REPLACE_FPRINTF.
42981
42982 2007-03-08  Bruno Haible  <bruno@clisp.org>
42983
42984         * modules/vfprintf-posix-tests: New file.
42985         * tests/test-vfprintf-posix.sh: New file.
42986         * tests/test-vfprintf-posix.c: New file.
42987         * tests/test-fprintf-posix.h: New file.
42988         * tests/test-fprintf-posix.out: New file.
42989
42990         * modules/vfprintf-posix: New file.
42991         * lib/vfprintf.c: New file.
42992         * m4/vfprintf-posix.m4: New file.
42993         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
42994         REPLACE_VFPRINTF.
42995         * lib/stdio_.h (vfprintf): New declaration.
42996         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
42997         REPLACE_VFPRINTF.
42998
42999 2007-03-08  Bruno Haible  <bruno@clisp.org>
43000
43001         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
43002
43003 2007-03-08  Bruno Haible  <bruno@clisp.org>
43004
43005         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
43006         instead of 'expr' invocations.
43007         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43008         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43009         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43010         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43011         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43012         Suggested by Paul Eggert.
43013
43014 2007-03-08  Bruno Haible  <bruno@clisp.org>
43015
43016         * modules/fseterr-tests: New file.
43017         * tests/test-fseterr.c: New file.
43018
43019         * modules/fseterr: New file.
43020         * lib/fseterr.h: New file.
43021         * lib/fseterr.c: New file.
43022
43023 2007-03-08  Bruno Haible  <bruno@clisp.org>
43024
43025         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
43026         * lib/getopt_.h: Likewise.
43027         * lib/mbswidth.h: Likewise.
43028         * lib/setenv.h: Likewise.
43029         * lib/vasnprintf.h: Likewise.
43030         * lib/vasprintf.h: Likewise.
43031         * lib/verror.h: Likewise.
43032         * lib/xsetenv.h: Likewise.
43033         * lib/xvasprintf.h: Likewise.
43034
43035 2007-03-08  Jim Meyering  <jim@meyering.net>
43036
43037         * users.txt: Add parted.
43038
43039         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
43040
43041 2007-03-07  Bruno Haible  <bruno@clisp.org>
43042
43043         * m4/printf.m4: Make the shell script snippets copy&pastable.
43044
43045 2007-03-02  Bruno Haible  <bruno@clisp.org>
43046
43047         * lib/netinet_in_.h: New file.
43048         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
43049         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
43050         * modules/netinet_in (Files): Add lib/netinet_in_.h.
43051         (Depends-on): Add absolute-header.
43052         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
43053         into netinet/in.h.
43054
43055 2007-03-03  Bruno Haible  <bruno@clisp.org>
43056
43057         * lib/sys_select_.h: New file.
43058         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
43059         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
43060         * modules/sys_select (Files): Add lib/sys_select_.h.
43061         (Depends-on): Add absolute-header.
43062         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
43063         into sys/select.h.
43064
43065 2007-03-02  Bruno Haible  <bruno@clisp.org>
43066
43067         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
43068         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
43069         values.
43070         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
43071         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
43072         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
43073         * modules/sys_socket (Depends-on): Add absolute-header.
43074         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
43075         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
43076         (Include): Remove requirement of inclusion of <sys/types.h>.
43077
43078 2007-03-02  Bruno Haible  <bruno@clisp.org>
43079
43080         * lib/byteswap_.h (bswap_32): Fix formula.
43081
43082 2007-03-06  Bruno Haible  <bruno@clisp.org>
43083
43084         * modules/sprintf-posix-tests: New file.
43085         * tests/test-sprintf-posix.c: New file.
43086
43087         * modules/sprintf-posix: New file.
43088         * lib/sprintf.c: New file.
43089         * m4/sprintf-posix.m4: New file.
43090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
43091         REPLACE_SPRINTF.
43092         * lib/stdio_.h (sprintf): New declaration.
43093         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
43094         REPLACE_SPRINTF.
43095
43096 2007-03-06  Bruno Haible  <bruno@clisp.org>
43097
43098         * modules/vsprintf-posix-tests: New file.
43099         * tests/test-vsprintf-posix.c: New file.
43100         * tests/test-sprintf-posix.h: New file.
43101
43102         * modules/vsprintf-posix: New file.
43103         * lib/vsprintf.c: New file.
43104         * m4/vsprintf-posix.m4: New file.
43105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
43106         REPLACE_VSPRINTF.
43107         * lib/stdio_.h (vsprintf): New declaration.
43108         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
43109         REPLACE_VSPRINTF.
43110
43111 2007-03-06  Bruno Haible  <bruno@clisp.org>
43112
43113         * modules/vsnprintf (Depend-on): Remove minmax.
43114
43115 2007-03-06  Bruno Haible  <bruno@clisp.org>
43116
43117         * modules/snprintf-posix-tests: New file.
43118         * tests/test-snprintf-posix.c: New file.
43119
43120         * modules/snprintf-posix: New file.
43121         * m4/snprintf-posix.m4: New file.
43122         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
43123         gl_FUNC_SNPRINTF.
43124         (gl_FUNC_SNPRINTF): Invoke it.
43125         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
43126         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
43127         is set.
43128         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
43129
43130 2007-03-06  Bruno Haible  <bruno@clisp.org>
43131
43132         * modules/vsnprintf-posix-tests: New file.
43133         * tests/test-vsnprintf-posix.c: New file.
43134         * tests/test-snprintf-posix.h: New file.
43135
43136         * modules/vsnprintf-posix: New file.
43137         * m4/vsnprintf-posix.m4: New file.
43138         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
43139         gl_FUNC_VSNPRINTF.
43140         (gl_FUNC_VSNPRINTF): Invoke it.
43141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
43142         * lib/stdio_.h (vsnprintf): Define as a replacement if
43143         REPLACE_VSNPRINTF is set.
43144         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
43145
43146 2007-03-06  Bruno Haible  <bruno@clisp.org>
43147
43148         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
43149         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
43150
43151 2007-03-06  Bruno Haible  <bruno@clisp.org>
43152
43153         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
43154         (asinl): Declare also if HAVE_DECL_ASINL is set.
43155         (atanl): Declare also if HAVE_DECL_ATANL is set.
43156         (ceill): Declare also if HAVE_DECL_CEILL is set.
43157         (cosl): Declare also if HAVE_DECL_COSL is set.
43158         (expl): Declare also if HAVE_DECL_EXPL is set.
43159         (floorl): Declare also if HAVE_DECL_FLOORL is set.
43160         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
43161         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
43162         (logl): Declare also if HAVE_DECL_LOGL is set.
43163         (sinl): Declare also if HAVE_DECL_SINL is set.
43164         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
43165         (tanl): Declare also if HAVE_DECL_TANL is set.
43166         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
43167         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
43168         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
43169         declaration of frexpl, ldexpl.
43170         * modules/printf-frexpl (Depends-on): Add math.
43171         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
43172
43173 2007-03-05  Bruno Haible  <bruno@clisp.org>
43174
43175         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
43176         frexpl and ldexpl are declared.
43177         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
43178
43179 2007-03-05  Bruno Haible  <bruno@clisp.org>
43180
43181         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
43182         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
43183
43184 2007-03-05  Bruno Haible  <bruno@clisp.org>
43185
43186         * lib/stdio_.h: Include <stddef.h>.
43187
43188 2007-03-05  Bruno Haible  <bruno@clisp.org>
43189
43190         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
43191
43192 2007-03-05  Bruno Haible  <bruno@clisp.org>
43193
43194         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
43195         NetBSD 4, from Ralf Wildenhues.
43196
43197 2007-03-04  Bruno Haible  <bruno@clisp.org>
43198
43199         * lib/vasprintf.h: Update #if logic for the case when the functions
43200         exist but are overridden.
43201
43202 2007-03-04  Bruno Haible  <bruno@clisp.org>
43203
43204         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
43205         implementations: glibc-2.4 and MacOS X 10.3.
43206         * tests/test-vasnprintf-posix.c (test_function): Test also the case
43207         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
43208         * tests/test-vasprintf-posix.c (test_function): Likewise.
43209
43210 2007-03-04  Bruno Haible  <bruno@clisp.org>
43211
43212         * modules/vasprintf-posix-tests: New file.
43213         * tests/test-vasprintf-posix.c: New file.
43214
43215         * modules/vasprintf-posix: New file.
43216         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
43217         defined.
43218         * m4/vasprintf-posix.m4: New file.
43219         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
43220         gl_FUNC_VASPRINTF.
43221         (gl_FUNC_VASPRINTF): Invoke it.
43222         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
43223         here.
43224         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
43225
43226 2007-03-04  Bruno Haible  <bruno@clisp.org>
43227
43228         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
43229         REPLACE_GETTIMEOFDAY.
43230         * modules/sys_time (Makefile.am): Likewise.
43231         * m4/sys_time_h.m4: Likewise.
43232         * m4/gettimeofday.m4: Likewise.
43233
43234 2007-03-04  Bruno Haible  <bruno@clisp.org>
43235
43236         * modules/vasnprintf-posix-tests: New file.
43237         * tests/test-vasnprintf-posix.c: New file.
43238
43239         * modules/vasnprintf-posix: New file.
43240         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
43241         printf-frexpl.h.
43242         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
43243         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
43244         REPLACE_VASNPRINTF is defined.
43245         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
43246         gl_FUNC_VASNPRINTF.
43247         (gl_FUNC_VASNPRINTF): Invoke it.
43248         * m4/vasnprintf-posix.m4: New file.
43249         * m4/printf.m4: New file.
43250
43251 2007-03-04  Bruno Haible  <bruno@clisp.org>
43252
43253         Compile progreloc.c only if --enable-relocatable is specified.
43254         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
43255         if --enable-relocatable was specified.
43256         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
43257         lib_SOURCES.
43258
43259 2007-03-04  Jim Meyering  <jim@meyering.net>
43260
43261         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
43262         Use it consistently, rather than enumerating errno constants.
43263
43264 2007-03-04  Bruno Haible  <bruno@clisp.org>
43265
43266         * modules/xvasprintf-tests: New file.
43267         * tests/test-xvasprintf.c: New file.
43268
43269         * modules/vasprintf-tests: New file.
43270         * tests/test-vasprintf.c: New file.
43271
43272         * modules/vasnprintf-tests: New file.
43273         * tests/test-vasnprintf.c: New file.
43274
43275         * modules/vsnprintf-tests: New file.
43276         * tests/test-vsnprintf.c: New file.
43277
43278         * modules/snprintf-tests: New file.
43279         * tests/test-snprintf.c: New file.
43280
43281 2007-03-04  Bruno Haible  <bruno@clisp.org>
43282
43283         Compile relocatable.c only if --enable-relocatable is specified.
43284         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
43285         gl_RELOCATABLE_LIBRARY.
43286         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
43287         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
43288         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
43289         gl_RELOCATABLE_LIBRARY.
43290         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
43291         (Makefile.am): Remove lib_SOURCES.
43292         * modules/relocatable-lib-lgpl (configure.ac): Invoke
43293         gl_RELOCATABLE_LIBRARY.
43294         (Makefile.am): Remove lib_SOURCES.
43295         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
43296         always.
43297         * modules/relocatable-prog-wrapper (configure.ac): Invoke
43298         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
43299
43300 2007-03-04  Bruno Haible  <bruno@clisp.org>
43301
43302         * modules/argmatch-tests: New file.
43303         * tests/test-argmatch.c: New file.
43304
43305         * tests/test-allocsa.c (main): Halve the number of loop runs.
43306
43307         * modules/alloca-opt-tests: New file.
43308         * tests/test-alloca-opt.c: New file.
43309
43310 2007-03-04  Jim Meyering  <jim@meyering.net>
43311
43312         Work around difference between Linux ACLs and Solaris 10 ZFS.
43313         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
43314         for EINVAL.
43315
43316 2007-03-03  Bruno Haible  <bruno@clisp.org>
43317
43318         * modules/relocatable-prog (Depends-on): Add back progreloc's
43319         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
43320
43321 2007-03-03  Bruno Haible  <bruno@clisp.org>
43322
43323         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
43324         * modules/relocatable-lib: New file.
43325
43326 2007-03-03  Bruno Haible  <bruno@clisp.org>
43327
43328         * modules/relocatable-prog: Renamed from modules/relocatable.
43329         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
43330
43331 2007-03-03  Bruno Haible  <bruno@clisp.org>
43332
43333         * modules/relocatable-script (Files): Add doc/relocatable.texi,
43334         m4/relocatable-lib.m4.
43335         (Depends-on): Remove 'relocatable'.
43336         (configure.ac): Add gl_RELOCATABLE_NOP.
43337
43338 2007-03-03  Bruno Haible  <bruno@clisp.org>
43339
43340         * modules/relocatable-prog-wrapper: New file.
43341         * modules/relocatable (Depends-on): Add it. Remove all other
43342         dependencies except progname.
43343         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
43344
43345         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
43346         (gl_FUNC_STRERROR): Nop.
43347         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
43348
43349         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
43350         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
43351
43352         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
43353         (gl_FUNC_READLINK): Update.
43354
43355         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
43356
43357 2007-03-03  Bruno Haible  <bruno@clisp.org>
43358
43359         * lib/xreadlink.c: Include <unistd.h> unconditionally.
43360         * modules/xreadlink (Depends-on): Add unistd.
43361         * modules/xreadlink-with-size (Depends-on): Likewise.
43362
43363 2007-03-03  Bruno Haible  <bruno@clisp.org>
43364
43365         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
43366         extracted from gt_FUNC_SETENV.
43367         (gt_FUNC_SETENV): Remove macro.
43368         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
43369         remove gt_FUNC_SETENV.
43370
43371 2007-03-03  Bruno Haible  <bruno@clisp.org>
43372
43373         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
43374         ENABLE_RELOCATABLE here.
43375         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
43376
43377 2007-03-03  Bruno Haible  <bruno@clisp.org>
43378
43379         * modules/rbtreehash-list-tests (Depends-on): Add progname.
43380         * tests/test-rbtreehash_list.c: Include progname.h.
43381         (main): Call set_program_name.
43382
43383         * modules/rbtree-oset-tests (Depends-on): Add progname.
43384         * tests/test-rbtree_oset.c: Include progname.h.
43385         (main): Call set_program_name.
43386
43387         * modules/rbtree-list-tests (Depends-on): Add progname.
43388         * tests/test-rbtree_list.c: Include progname.h.
43389         (main): Call set_program_name.
43390
43391         * modules/linked-list-tests (Depends-on): Add progname.
43392         * tests/test-linked_list.c: Include progname.h.
43393         (main): Call set_program_name.
43394
43395 2007-03-03  Bruno Haible  <bruno@clisp.org>
43396
43397         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
43398         All uses of __restrict changed to _Restrict_.
43399         * lib/glob_.h (__restrict): Remove macro.
43400
43401 2007-03-02  Bruno Haible  <bruno@clisp.org>
43402
43403         * modules/gettext (configure.ac): Require gettext infrastructure
43404         from version 0.16.1.
43405
43406 2007-03-02  Bruno Haible  <bruno@clisp.org>
43407
43408         * modules/linkedhash-list-tests (Depends-on): Add progname.
43409         * tests/test-linkedhash_list.c: Include progname.h.
43410         (main): Call set_program_name.
43411
43412         * modules/carray-list-tests (Depends-on): Add progname.
43413         * tests/test-carray_list.c: Include progname.h.
43414         (main): Call set_program_name.
43415
43416         * modules/avltreehash-list-tests (Depends-on): Add progname.
43417         * tests/test-avltreehash_list.c: Include progname.h.
43418         (main): Call set_program_name.
43419
43420         * modules/avltree-oset-tests (Depends-on): Add progname.
43421         * tests/test-avltree_oset.c: Include progname.h.
43422         (main): Call set_program_name.
43423
43424         * modules/avltree-list-tests (Depends-on): Add progname.
43425         * tests/test-avltree_list.c: Include progname.h.
43426         (main): Call set_program_name.
43427
43428         * modules/array-oset-tests (Depends-on): Add progname.
43429         * tests/test-array_oset.c: Include progname.h.
43430         (main): Call set_program_name.
43431
43432         * modules/array-list-tests (Depends-on): Add progname.
43433         * tests/test-array_list.c: Include progname.h.
43434         (main): Call set_program_name.
43435
43436         * modules/argp-tests (Depends-on): Add progname.
43437         * tests/test-argp.c: Include argp.h first. Include progname.h.
43438         (main): Call set_program_name.
43439
43440 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
43441
43442         * doc/gnulib-tool.texi (Initial import): Reword description of
43443         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
43444         limited effect even if defined after the first system include.
43445
43446 2007-03-01  Bruno Haible  <bruno@clisp.org>
43447
43448         * build-aux/config.libpath: Update to libtool-1.5.22.
43449         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43450
43451 2007-03-01  Bruno Haible  <bruno@clisp.org>
43452
43453         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
43454         foo_CFLAGS.
43455         Reported by Ralf Wildenhues.
43456
43457 2007-03-01  Bruno Haible  <bruno@clisp.org>
43458
43459         * build-aux/install-reloc: Remove object files left over by some
43460         compilers.
43461         Reported by Ralf Wildenhues.
43462
43463 2007-03-01  Bruno Haible  <bruno@clisp.org>
43464
43465         * build-aux/install-reloc: Break long lines.
43466
43467 2007-03-01  Bruno Haible  <bruno@clisp.org>
43468
43469         * doc/relocatable.texi: Document that it may not work on OpenBSD.
43470         Reported by Ralf Wildenhues.
43471
43472 2007-03-01  Bruno Haible  <bruno@clisp.org>
43473
43474         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
43475         include ordering constraints.
43476
43477 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43478
43479         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
43480         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
43481         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
43482         as another example.
43483         * lib/time_.h: Fix misspelling.
43484         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
43485         Require gl_HEADER_TIME_H_DEFAULTS.
43486         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
43487         * m4/time_r.m4 (gl_TIME_R): Likewise.
43488         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
43489
43490 2007-03-01  Bruno Haible  <bruno@clisp.org>
43491
43492         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
43493         * m4/utimens.m4 (gl_UTIMENS): Likewise.
43494
43495 2007-03-01  Jim Meyering  <jim@meyering.net>
43496
43497         * modules/xreadlink (Maintainer): Add my name.
43498         * modules/xreadlink-with-size (Depends-on): Alphabetize.
43499
43500 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
43501             Bruno Haible  <bruno@clisp.org>
43502
43503         * build-aux/install-reloc: Compile also c-ctype.c.
43504         * build-aux/relocatable.sh.in: New file.
43505         * doc/relocatable.texi: New file.
43506         * doc/relocatable-maint.texi: New file.
43507         * doc/gnulib.texi: Include relocatable-maint.texi.
43508         * lib/progreloc.c: Include unistd.h unconditionally.
43509         * lib/relocwrapper.c: Include unistd.h unconditionally.
43510         Include c-ctype.h.
43511         (add_dotbin): Use c_tolower.
43512         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
43513         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
43514         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
43515         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
43516         to m4/relocatable-lib.m4.
43517         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
43518         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
43519         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
43520         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
43521         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
43522         * modules/relocatable: New file.
43523         * modules/relocatable-lib: New file.
43524         * modules/relocatable-script: New file.
43525
43526 2007-02-28  Bruno Haible  <bruno@clisp.org>
43527
43528         Import --enable-relocatable infrastructure.
43529         * build-aux/config.libpath: New file, from GNU gettext.
43530         * build-aux/install-reloc: New file, from GNU gettext.
43531         * build-aux/reloc-ldflags: New file, from GNU gettext.
43532         * lib/relocatable.h: New file, from GNU gettext.
43533         * lib/relocatable.c: New file, from GNU gettext.
43534         * lib/relocwrapper.c: New file, from GNU gettext.
43535         * m4/relocatable.m4: New file, from GNU gettext.
43536
43537 2007-02-28  Bruno Haible  <bruno@clisp.org>
43538
43539         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
43540
43541         * modules/xreadlink: New file, from GNU gettext with modifications.
43542         * lib/xreadlink.c: New file, from GNU gettext.
43543         * lib/xreadlink.h: Add comments.
43544         (xreadlink): New declaration.
43545
43546         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
43547         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
43548         lib/xreadlink-with-size.c.
43549         (configure.ac): Remove gl_XREADLINK invocation.
43550         (Makefile.am): Augment lib_SOURCES.
43551         * m4/xreadlink.m4: Remove file.
43552         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
43553         (xreadlink_with_size): Renamed from xreadink.
43554         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
43555         * modules/canonicalize (Depends-on): Replace xreadlink with
43556         xreadlink-with-size.
43557         * lib/canonicalize.c (canonicalize_filename_mode): Update.
43558
43559 2007-02-25  Jim Meyering  <jim@meyering.net>
43560
43561         * build-aux/announce-gen: When complaining about excess arguments,
43562         list them.
43563
43564 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
43565
43566         * README: Document signed integer overflow situation more
43567         accurately.
43568
43569 2007-02-25  Bruno Haible  <bruno@clisp.org>
43570
43571         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
43572         'a' or 'A' conversion.
43573
43574 2007-02-25  Bruno Haible  <bruno@clisp.org>
43575
43576         * modules/filename: Renamed from modules/pathname.
43577         (Files): Replace lib/pathname.h with lib/filename.h. Replace
43578         lib/concatpath.c with lib/concat-filename.c.
43579         (Makefile.am): Update.
43580         (Include): Replace pathname.h with filename.h.
43581         * lib/filename.h: Renamed from lib/pathname.h.
43582         (concatenated_filename): Renamed from concatenated_pathname.
43583         * lib/concat-filename.c: Renamed from lib/concatpath.c.
43584         (concatenated_filename): Renamed from concatenated_pathname.
43585         * lib/findprog.c: Include filename.h instead of pathname.h.
43586         (find_in_path): Update.
43587         * lib/javacomp.c: Include filename.h instead of pathname.h.
43588         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
43589         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
43590         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
43591         is_oldgcj_14_13_usable, is_javac_usable): Update.
43592         * lib/javaexec.c: Include filename.h instead of pathname.h.
43593         (execute_java_class): Update.
43594         * modules/findprog: Update.
43595         * modules/javacomp: Update.
43596         * modules/javaexec: Update.
43597         * MODULES.html.sh (File system functions): Add 'filename', remove
43598         'pathname'.
43599
43600 2007-02-25  Bruno Haible  <bruno@clisp.org>
43601
43602         * modules/printf-frexpl-tests: New file.
43603         * tests/test-printf-frexpl.c: New file.
43604
43605         * modules/printf-frexpl: New file.
43606         * lib/printf-frexpl.h: New file.
43607         * lib/printf-frexpl.c: New file.
43608         * m4/printf-frexpl.m4: New file.
43609
43610 2007-02-25  Bruno Haible  <bruno@clisp.org>
43611
43612         * modules/printf-frexp-tests: New file.
43613         * tests/test-printf-frexp.c: New file.
43614
43615         * modules/printf-frexp: New file.
43616         * lib/printf-frexp.h: New file.
43617         * lib/printf-frexp.c: New file.
43618         * m4/printf-frexp.m4: New file.
43619
43620 2007-02-25  Bruno Haible  <bruno@clisp.org>
43621
43622         Assume automake >= 1.10 for the tests.
43623         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
43624         * modules/arctwo-tests: Likewise.
43625         * modules/argp-tests: Likewise.
43626         * modules/avltree-list-tests: Likewise.
43627         * modules/avltree-oset-tests: Likewise.
43628         * modules/avltreehash-list-tests: Likewise.
43629         * modules/carray-list-tests: Likewise.
43630         * modules/crc-tests: Likewise.
43631         * modules/des-tests: Likewise.
43632         * modules/gc-arcfour-tests: Likewise.
43633         * modules/gc-arctwo-tests: Likewise.
43634         * modules/gc-des-tests: Likewise.
43635         * modules/gc-hmac-md5-tests: Likewise.
43636         * modules/gc-hmac-sha1-tests: Likewise.
43637         * modules/gc-md2-tests: Likewise.
43638         * modules/gc-md4-tests: Likewise.
43639         * modules/gc-md5-tests: Likewise.
43640         * modules/gc-pbkdf2-sha1-tests: Likewise.
43641         * modules/gc-rijndael-tests: Likewise.
43642         * modules/gc-sha1-tests: Likewise.
43643         * modules/gc-tests: Likewise.
43644         * modules/getaddrinfo-tests: Likewise.
43645         * modules/hmac-md5-tests: Likewise.
43646         * modules/hmac-sha1-tests: Likewise.
43647         * modules/linked-list-tests: Likewise.
43648         * modules/linkedhash-list-tests: Likewise.
43649         * modules/lock-tests: Likewise.
43650         * modules/md2-tests: Likewise.
43651         * modules/md4-tests: Likewise.
43652         * modules/md5-tests: Likewise.
43653         * modules/rbtree-list-tests: Likewise.
43654         * modules/rbtree-oset-tests: Likewise.
43655         * modules/rbtreehash-list-tests: Likewise.
43656         * modules/read-file-tests: Likewise.
43657         * modules/rijndael-tests: Likewise.
43658         * modules/stdint-tests: Likewise.
43659         * modules/tls-tests: Likewise.
43660
43661 2007-02-24  Bruno Haible  <bruno@clisp.org>
43662
43663         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
43664         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
43665         function; instead check whether isnan with a double argument links.
43666         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
43667         function; instead check whether isnan with a 'long double' argument
43668         links.
43669         Reported by Eric Blake <ebb9@byu.net>.
43670
43671 2007-02-24  Bruno Haible  <bruno@clisp.org>
43672
43673         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
43674         defined.
43675         * lib/isnanl.c: Remove all code. Just include isnan.c.
43676         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
43677
43678 2007-02-25  Jim Meyering  <jim@meyering.net>
43679
43680         Avoid conflicting types for 'unsetenv' on FreeBSD.
43681         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
43682         conflicting with FreeBSD's (5.0 and 6.1) function declaration
43683         in stdlib.h.
43684
43685 2007-02-24  Bruno Haible  <bruno@clisp.org>
43686
43687         * modules/isnanl-nolibm-tests: New file.
43688         * tests/test-isnanl.c: New file.
43689
43690         * modules/isnanl-nolibm: New file.
43691         * lib/isnanl.h: New file.
43692         * lib/isnanl.c: New file.
43693         * m4/isnanl.m4: New file.
43694
43695 2007-02-24  Bruno Haible  <bruno@clisp.org>
43696
43697         * modules/isnan-nolibm-tests: New file.
43698         * tests/test-isnan.c: New file.
43699
43700         * modules/isnan-nolibm: New file.
43701         * lib/isnan.h: New file.
43702         * lib/isnan.c: New file.
43703         * m4/isnan.m4: New file.
43704
43705 2007-02-24  Bruno Haible  <bruno@clisp.org>
43706
43707         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
43708         assume that an exponent fits in 20 bits.
43709
43710 2007-02-24  Jim Meyering  <jim@meyering.net>
43711
43712         * m4/regex.m4: Update the description of the configure-time option,
43713         --without-included-regex, to state accurately what the defaults are,
43714         and perhaps to give people an idea why using this option is risky.
43715
43716 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43717
43718         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
43719         loops on small arguments.  This attempts to avoid the problem
43720         Bruno Haible reported for AIX 4.3.2 in
43721         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
43722
43723 2007-02-23  Bruno Haible  <bruno@clisp.org>
43724
43725         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
43726         Needed for help2man.
43727
43728 2007-02-23  Karl Berry  <karl@gnu.org>
43729
43730         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
43731         exists, foo.h should be cvs-ignored, not committed.
43732
43733 2007-02-23  Eric Blake  <ebb9@byu.net>
43734
43735         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
43736         * lib/stat-time.h (includes): Likewise.
43737         * lib/utimecmp.c (includes): Likewise.
43738         * lib/utimens.h (includes): Likewise.
43739         * lib/getdate.y (includes): Also include "timespec.h" for use
43740         internal to the module.
43741         * modules/utimens (Depends-on): Revert yesterday's patch.
43742         * modules/nanosleep (Depends-on): Add missing dependency.
43743
43744 2007-02-22  Bruno Haible  <bruno@clisp.org>
43745
43746         * lib/glob.c: Don't include getlogin_r.h.
43747
43748 2007-02-22  Jim Meyering  <jim@meyering.net>
43749
43750         * modules/utimens (Depends-on): Add timespec, required for
43751         utimens.h's inclusion of timespec.h.
43752
43753 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
43754
43755         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
43756         long unreadable paths in GNU/Linux.  Problem reported by Andreas
43757         Schwab in
43758         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
43759         I'll try to think of a better way to fix the Solaris problem.
43760
43761         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
43762         like glibc; on Solaris 10, it fails with errno == EINVAL.
43763         POSIX says the behavior is unspecified if the first argument is NULL,
43764         so play it safe and never pass NULL to the system getcwd.
43765
43766 2007-02-21  Jim Meyering  <jim@meyering.net>
43767
43768         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
43769         of gettimeofday.  It would conflict with the one now always
43770         provided via sys_time_.h.  Reported by Matthew Woehlke, as
43771         an IRIX 6.5 build failure.
43772
43773 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43774
43775         Minor fixups to port to Solaris 10 with Sun C 5.8.
43776         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
43777         * modules/getcwd (Depends-on): Add dirfd.
43778         * lib/putenv.c (putenv): #undef it.
43779         (rpl_putenv): New decl.
43780         (malloc, free): Include <stdlib.h> rather than prototyping separately.
43781
43782 2007-02-20  Bruno Haible  <bruno@clisp.org>
43783
43784         * modules/stdio-tests: New file.
43785         * tests/test-stdio.c: New file.
43786
43787         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
43788         (Depends-on): Add stdio.
43789         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
43790         (Include): Use <stdio.h> instead of vsnprintf.h.
43791         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
43792         HAVE_DECL_VSNPRINTF.
43793         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
43794
43795         * modules/snprintf (Files): Remove lib/snprintf.h.
43796         (Depends-on): Add stdio.
43797         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
43798         (Include): Use <stdio.h> instead of snprintf.h.
43799         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
43800         HAVE_DECL_SNPRINTF.
43801         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
43802         * lib/getaddrinfo.c: Likewise.
43803
43804         * modules/stdio: New file.
43805         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
43806         * lib/snprintf.h: Remove file.
43807         * lib/vsnprintf.h: Remove file.
43808         * lib/.cppi-disable: Remove snprintf.h.
43809         * m4/stdio_h.m4: New file.
43810         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
43811
43812 2007-02-20  Jim Meyering  <jim@meyering.net>
43813
43814         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
43815         used by e.g., mingw.  From Bruno Haible.
43816
43817 2007-02-19  Bruno Haible  <bruno@clisp.org>
43818
43819         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
43820         warnings.
43821         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43822
43823 2007-02-19  Bruno Haible  <bruno@clisp.org>
43824
43825         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
43826         from mingw users.
43827
43828 2007-02-19  Bruno Haible  <bruno@clisp.org>
43829
43830         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
43831         warnings.
43832         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
43833
43834 2007-02-19  Jim Meyering  <jim@meyering.net>
43835
43836         Don't use FD after a successful "fdopendir (fd)".
43837         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
43838         Reset it by calling dirfd on the just-obtained DIR*.
43839
43840         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
43841         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
43842
43843 2007-02-18  Bruno Haible  <bruno@clisp.org>
43844
43845         * lib/readlink.c: Include <unistd.h>.
43846         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
43847         HAVE_READLINK.
43848         * modules/readlink (Depends-on): Add unistd.
43849         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43850         (Include): Add <unistd.h>.
43851
43852         * lib/getlogin_r.h: Remove file.
43853         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
43854         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
43855         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
43856         HAVE_DECL_GETLOGIN_R.
43857         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
43858         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43859         (Include): Use <unistd.h> instead of getlogin_r.h.
43860
43861         * lib/getcwd.h: Remove file.
43862         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
43863         * lib/xgetcwd.c: Likewise.
43864         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
43865         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
43866         * modules/getcwd (Files): Remove lib/getcwd.h.
43867         (Depends-on): Add unistd.
43868         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43869         (Include): Use <unistd.h> instad of getcwd.h.
43870
43871         * lib/ftruncate.c: Include <unistd.h> first.
43872         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
43873         Set HAVE_FTRUNCATE.
43874         * modules/ftruncate (Depends-on): Add unistd.
43875         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43876
43877         * lib/fchdir.c: Include <unistd.h> first.
43878         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
43879         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
43880         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
43881         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43882         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
43883
43884         * lib/dup2.c: Include <unistd.h> first.
43885         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
43886         HAVE_DUP2.
43887         * modules/dup2 (Depends-on): Add unistd.
43888         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43889
43890         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
43891         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
43892         REPLACE_CHOWN. Don't define chown as a macro here.
43893         * modules/chown (Depends-on): Add unistd.
43894         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43895
43896         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
43897         Add definition for GL_LINK_WARNING.
43898         (chown, dup2): New declarations.
43899         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
43900         link warning.
43901         (ftruncate): New declaration.
43902         (getcwd): New declaration, taken from old getcwd.h.
43903         (getlogin_r): New declaration, taken from old getlogin_r.h.
43904         (readlink): New declaration.
43905         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
43906         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
43907         (gl_PREREQ_UNISTD): Remove macro.
43908         (gl_UNISTD_MODULE_INDICATOR): New macro.
43909         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
43910         many new variables. Don't set UNISTD_H.
43911         * modules/unistd (Description): Change.
43912         (Depends-on): Add link-warning.
43913         (configure.ac): Update.
43914         (Makefile.am): Create unistd.h always. Substitute many new variables
43915         into it.
43916
43917 2007-02-18  Bruno Haible  <bruno@clisp.org>
43918
43919         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
43920         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
43921         HAVE_GETSUBOPT.
43922         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
43923         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
43924         * lib/getsubopt.h: Remove file.
43925         * modules/getsubopt (Files): Remove lib/getsubopt.h.
43926         (Depends-on): Add stdlib.
43927         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43928         (Includes): Use <stdlib.h> instead of getsubopt.h.
43929         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
43930         Set HAVE_GETSUBOPT.
43931         * lib/getsubopt.c: Don't include getsubopt.h.
43932
43933 2007-02-18  Bruno Haible  <bruno@clisp.org>
43934
43935         * modules/fchdir (Depends-on): Add dup2.
43936
43937 2007-02-18  Bruno Haible  <bruno@clisp.org>
43938
43939         * lib/stdlib_.h: Handle glibc's special invocation convention
43940         specially.
43941
43942 2007-02-18  Bruno Haible  <bruno@clisp.org>
43943
43944         * modules/stdlib-tests: New file.
43945         * tests/test-stdlib.c: New file.
43946
43947         * modules/mkstemp (Files): Remove lib/mkstemp.h.
43948         (Depends-on): Add stdlib.
43949         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43950         (Includes): Use <stdlib.h> instead of mkstemp.h.
43951         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
43952         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
43953         * lib/mkstemp.c: Don't include mkstemp.h.
43954         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
43955         * lib/stdlib--.h: Don't include mkstemp.h.
43956
43957         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
43958         (Depends-on): Add stdlib.
43959         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43960         (Includes): Use <stdlib.h> instead of mkdtemp.h.
43961         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
43962         HAVE_MKDTEMP.
43963         * lib/mkdtemp.c: Don't include mkdtemp.h.
43964         * lib/clean-temp.c: Don't include mkdtemp.h.
43965
43966         * modules/exit (Files): Remove lib/exit.h.
43967         (Depends-on): Add stdlib.
43968         (Makefile.am): Remove lib_SOURCES.
43969         (Include): Use <stdlib.h> instead of exit.h.
43970         * lib/argmatch.c: Don't include exit.h.
43971         * lib/execute.c: Likewise.
43972         * lib/pagealign_alloc.c: Likewise.
43973         * lib/pipe.c: Likewise.
43974         * lib/wait-process.c: Likewise.
43975         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
43976         * lib/exitfail.c: Likewise.
43977         * lib/savewd.c: Likewise.
43978         * lib/xsetenv.c: Likewise.
43979
43980         * modules/stdlib: New file.
43981         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
43982         and extra comments about mkstemp().
43983         * lib/exit.h: Remove file.
43984         * lib/mkdtemp.h: Remove file.
43985         * lib/mkstemp.h: Remove file.
43986         * m4/stdlib_h.m4: New file.
43987         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
43988
43989 2007-02-18  Bruno Haible  <bruno@clisp.org>
43990
43991         * modules/math-tests: New file.
43992         * tests/test-math.c: New file.
43993
43994         * modules/math: New file.
43995         * modules/mathl (Files): Remove lib/mathl.h.
43996         (Depends-on): Add math.
43997         (Makefile.am): Don't mention mathl.h.
43998         (Include): Use <math.h> instead of mathl.h.
43999         * lib/math_.h: New file.
44000         * lib/mathl.h: Remove file.
44001         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
44002         mathl.h.
44003         * lib/asinl.c: Likewise.
44004         * lib/atanl.c: Likewise.
44005         * lib/ceill.c: Likewise.
44006         * lib/cosl.c: Likewise.
44007         * lib/expl.c: Likewise.
44008         * lib/floorl.c: Likewise.
44009         * lib/frexpl.c: Likewise.
44010         * lib/ldexpl.c: Likewise.
44011         * lib/logl.c: Likewise.
44012         * lib/sincosl.c: Likewise.
44013         * lib/sinl.c: Likewise.
44014         * lib/sqrtl.c: Likewise.
44015         * lib/tanl.c: Likewise.
44016         * lib/trigl.c: Likewise.
44017         * m4/math_h.m4: New file.
44018         * MODULES.html.sh (Mathematics): Add math.
44019
44020 2007-02-17  Bruno Haible  <bruno@clisp.org>
44021
44022         * modules/wctype-tests: New file.
44023         * tests/test-wctype.c: New file.
44024
44025         * modules/wchar-tests: New file.
44026         * tests/test-wchar.c: New file.
44027
44028         * modules/unistd-tests: New file.
44029         * tests/test-unistd.c: New file.
44030
44031         * modules/time-tests: New file.
44032         * tests/test-time.c: New file.
44033
44034         * modules/sysexits-tests: New file.
44035         * tests/test-sysexits.c: New file.
44036
44037         * modules/sys_time-tests: New file.
44038         * tests/test-sys_time.c: New file.
44039
44040         * modules/sys_stat-tests: New file.
44041         * tests/test-sys_stat.c: New file.
44042
44043         * modules/sys_socket-tests: New file.
44044         * tests/test-sys_socket.c: New file.
44045
44046         * modules/sys_select-tests: New file.
44047         * tests/test-sys_select.c: New file.
44048
44049         * modules/string-tests: New file.
44050         * tests/test-string.c: New file.
44051
44052         * modules/stdbool-tests: New file.
44053         * tests/test-stdbool.c: New file.
44054
44055         * modules/netinet_in-tests: New file.
44056         * tests/test-netinet_in.c: New file.
44057
44058         * modules/inttypes-tests: New file.
44059         * tests/test-inttypes.c: New file.
44060
44061         * modules/fcntl-tests: New file.
44062         * tests/test-fcntl.c: New file.
44063
44064         * modules/byteswap-tests: New file.
44065         * tests/test-byteswap.c: New file.
44066
44067         * modules/arpa_inet-tests: New file.
44068         * tests/test-arpa_inet.c: New file.
44069
44070 2007-02-17  Bruno Haible  <bruno@clisp.org>
44071
44072         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
44073         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
44074         if the corresponding module is not enabled. Emit link warnings if
44075         the function is used nevertheless.
44076         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
44077         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
44078         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
44079         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
44080         * modules/inttypes (Depends-on): Add link-warning.
44081         (Makefile.am): Copy the contents of build-aux/link-warning.h into
44082         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
44083         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
44084         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
44085         * modules/imaxdiv (configure.ac): Likewise.
44086         * modules/strtoimax (configure.ac): Likewise.
44087         * modules/strtoumax (configure.ac): Likewise.
44088
44089 2007-02-17  Bruno Haible  <bruno@clisp.org>
44090
44091         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
44092         gl_STRING_MODULE_INDICATOR_DEFAULTS.
44093         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
44094         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
44095
44096 2007-02-17  Bruno Haible  <bruno@clisp.org>
44097
44098         * modules/link-warning: New file.
44099         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
44100         * lib/string_.h (GL_LINK_WARNING): Remove definition.
44101         * modules/string (Depends-on): Add link-warning.
44102         (Makefile.am): Copy the contents of build-aux/link-warning.h into
44103         string.h.
44104         * MODULES.html.sh (Support for building libraries and executables): Add
44105         link-warning.
44106
44107 2007-02-17  Bruno Haible  <bruno@clisp.org>
44108
44109         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
44110         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
44111         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
44112         long lines.
44113
44114 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
44115             Bruno Haible  <bruno@clisp.org>
44116
44117         * modules/tmpfile: New file.
44118         * lib/tmpfile.c: New file.
44119         * m4/tmpfile.m4: New file.
44120         * MODULES.html.sh (func_all_modules): New section "Input/output".
44121
44122 2007-02-15  Bruno Haible  <bruno@clisp.org>
44123
44124         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
44125         (supports_delete_on_close): New function.
44126         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
44127
44128 2007-02-14  Bruno Haible  <bruno@clisp.org>
44129
44130         * modules/mbspcasecmp-tests: New file.
44131         * tests/test-mbspcasecmp.sh: New file.
44132         * tests/test-mbspcasecmp.c: New file.
44133
44134         New module mbspcasecmp.
44135         * modules/mbspcasecmp: New file.
44136         * lib/mbspcasecmp.c: New file.
44137         * lib/string_.h (strncasecmp): Change warning message.
44138         (mbspcasecmp): New declaration.
44139         * m4/mbspcasecmp.m4: New file.
44140         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44141         GNULIB_MBSPCASECMP.
44142         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
44143         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
44144
44145 2007-02-14  Bruno Haible  <bruno@clisp.org>
44146
44147         * modules/mbsncasecmp-tests: New file.
44148         * tests/test-mbsncasecmp.sh: New file.
44149         * tests/test-mbsncasecmp.c: New file.
44150
44151         New module mbsncasecmp.
44152         * modules/mbsncasecmp: New file.
44153         * lib/mbsncasecmp.c: New file.
44154         * lib/string_.h (mbsncasecmp): New declaration.
44155         * m4/mbsncasecmp.m4: New file.
44156         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44157         GNULIB_MBSNCASECMP.
44158         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
44159         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
44160
44161 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
44162
44163         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
44164         Verify that it doesn't overlap with our flags.
44165         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
44166         do not have the desired effect in multibyte locales; instead, use
44167         mbscasecmp.
44168         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
44169         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
44170         we don't require GNU fnmatch ourselves (if our users require it, they
44171         should do so explicitly).
44172
44173         Fix regex code so it doesn't rely on strcasecmp.
44174         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
44175         Otherwise, include gnulib's langinfo.h.
44176         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
44177         undesirable behavior in non-C locales.  Instead, rely on localecharset.
44178         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
44179         * modules/regex (FILES): Remove m4/codeset.m4.
44180         (Depends-on): Add localcharset.  Remove strcase.
44181
44182 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44183
44184         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
44185         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
44186
44187 2007-02-13  Bruno Haible  <bruno@clisp.org>
44188
44189         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
44190         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44191
44192 2007-02-12  Bruno Haible  <bruno@clisp.org>
44193
44194         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
44195         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
44196         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
44197         time warning rather than a link error.
44198
44199 2007-02-12  Bruno Haible  <bruno@clisp.org>
44200
44201         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
44202         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44203         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44204
44205 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
44206
44207         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
44208         args, not 2.
44209
44210 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
44211
44212         New module 'time', so that apps can include <time.h> as per
44213         POSIX and GNU instead of separate include files like time_r.h
44214         and timegm.h.  This implementation tries out a simpler approach
44215         for replacing decls in standard include files (as compared to
44216         the string module), somewhat as an experiment.
44217
44218         * config/srclist.txt: Comment out mktime.c for now.
44219         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
44220         since it doesn't apply any more.  Use generic wording instead.
44221         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
44222         'time'.
44223         * lib/time_.h, m4/time_h.m4, modules/time: New files.
44224         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
44225         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
44226         Don't include <sys/types.h>; no longer needed since we assume C89.
44227         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
44228         * lib/strftime.c: Likewise.
44229         * lib/time_r.c: Likewise.
44230         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
44231         * lib/nanosleep.c: Include <time.h> first, to check interface.
44232         * lib/strptime.c: Likewise.
44233         * lib/time_r.c: Likewise.
44234         * lib/timegm.c: Likewise.
44235         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
44236         needed.
44237         * lib/timegm.c: Don't include timegm.h; no longer needed.
44238         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
44239         time.h now handles any problems in that area.
44240         (struct timespec, nanosleep): Remove; time.h now arranges for these.
44241         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
44242         that time.h defines struct timespec.
44243         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
44244         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
44245         handles that.
44246         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
44247         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
44248         needed.  Set REPLACE_LOCALTIME.
44249         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
44250         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
44251         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
44252         nanosleep; time_h.m4 now does that.  Don't require
44253         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
44254         module handles this now.
44255         * modules/getdate (Depends-on): Remove timespec.  Add time.
44256         * modules/nanosleep (Depends-on): Likewise.
44257         * modules/stat-time (Depends-on): Likewise.
44258         * modules/nanosleep (Include): Include time.h, not timespec.h.
44259         * modules/strptime (Files): Remove lib/strptime.h.
44260         (Depends-on): Add extensions, time.
44261         (Include): Include time.h, not strptime.h.
44262         * modules/time_r (Files): Remove lib/time_r.h.
44263         (Depends-on): Add time.
44264         (Include): Include time.h, not time_r.h.
44265         * modules/timegm: Likewise.
44266         * modules/timespec (Description): Now does timespec-related decls
44267         of our own, instead of struct timespec itself.
44268         (Depends-on): Add time; remove extensions.
44269         (Maintainer): Add self.
44270         * modules/utimecmp (Depends-on): Add time; remove timespec.
44271         * modules/utimens (Depends-on): Likewise.
44272         * modules/xnanosleep (Depends-on): Likewise.
44273
44274 2007-02-11  Bruno Haible  <bruno@clisp.org>
44275
44276         * lib/c-strstr.c: Include allocsa.h.
44277         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44278         * lib/c-strcasestr.c: Include allocsa.h.
44279         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44280         * lib/strcasestr.c: Include allocsa.h.
44281         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44282         * lib/mbsstr.c: Include allocsa.h.
44283         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
44284         allocsa/freesa instead of malloc/free.
44285         * lib/mbscasestr.c: Include allocsa.h.
44286         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
44287         allocsa/freesa instead of malloc/free.
44288         * modules/c-strstr (Depends-on): Add allocsa.
44289         * modules/c-strcasestr (Depends-on): Likewise.
44290         * modules/strcasestr (Depends-on): Likewise.
44291         * modules/mbsstr (Depends-on): Likewise.
44292         * modules/mbscasestr (Depends-on): Likewise.
44293
44294 2007-02-11  Bruno Haible  <bruno@clisp.org>
44295
44296         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
44297
44298         * modules/mbsspn-tests: New file.
44299         * tests/test-mbsspn.sh: New file.
44300         * tests/test-mbsspn.c: New file.
44301
44302 2007-02-11  Bruno Haible  <bruno@clisp.org>
44303
44304         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
44305
44306         * modules/mbspbrk-tests: New file.
44307         * tests/test-mbspbrk.sh: New file.
44308         * tests/test-mbspbrk.c: New file.
44309
44310 2007-02-11  Bruno Haible  <bruno@clisp.org>
44311
44312         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
44313         unneeded cast.
44314
44315         * modules/mbscspn-tests: New file.
44316         * tests/test-mbscspn.sh: New file.
44317         * tests/test-mbscspn.c: New file.
44318
44319 2007-02-11  Bruno Haible  <bruno@clisp.org>
44320
44321         * modules/mbscasecmp-tests: New file.
44322         * tests/test-mbscasecmp.sh: New file.
44323         * tests/test-mbscasecmp.c: New file.
44324
44325 2007-02-11  Bruno Haible  <bruno@clisp.org>
44326
44327         Ensure O(n) worst-case complexity of mbscasestr.
44328         * lib/mbscasestr.c: Include stdbool.h.
44329         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
44330         functions.
44331         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
44332         the bookkeeping indicates that it's worth it.
44333         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
44334
44335         * modules/mbscasestr-tests: New file.
44336         * tests/test-mbscasestr1.c: New file.
44337         * tests/test-mbscasestr2.sh: New file.
44338         * tests/test-mbscasestr2.c: New file.
44339         * tests/test-mbscasestr3.sh: New file.
44340         * tests/test-mbscasestr3.c: New file.
44341         * tests/test-mbscasestr4.sh: New file.
44342         * tests/test-mbscasestr4.c: New file.
44343         * m4/locale-tr.m4: New file.
44344
44345 2007-02-11  Bruno Haible  <bruno@clisp.org>
44346
44347         Ensure O(n) worst-case complexity of mbsstr.
44348         * lib/mbsstr.c: Include stdbool.h.
44349         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
44350         functions.
44351         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
44352         bookkeeping indicates that it's worth it.
44353         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
44354
44355         * modules/mbsstr-tests: New file.
44356         * tests/test-mbsstr1.c: New file.
44357         * tests/test-mbsstr2.sh: New file.
44358         * tests/test-mbsstr2.c: New file.
44359         * tests/test-mbsstr3.sh: New file.
44360         * tests/test-mbsstr3.c: New file.
44361         * m4/locale-fr.m4: New file.
44362
44363 2007-02-11  Bruno Haible  <bruno@clisp.org>
44364
44365         * lib/mbsrchr.c (mbsrchr): Fix bug.
44366
44367         * modules/mbsrchr-tests: New file.
44368         * tests/test-mbsrchr.sh: New file.
44369         * tests/test-mbsrchr.c: New file.
44370
44371 2007-02-11  Bruno Haible  <bruno@clisp.org>
44372
44373         * lib/mbschr.c (mbschr): Fix bug.
44374
44375         * modules/mbschr-tests: New file.
44376         * tests/test-mbschr.sh: New file.
44377         * tests/test-mbschr.c: New file.
44378         * m4/locale-zh.m4: New file.
44379
44380 2007-02-11  Bruno Haible  <bruno@clisp.org>
44381
44382         Support for copying multibyte string iterators.
44383         * lib/mbiter.h: Include <string.h>.
44384         (mbiter_multi_copy): New function.
44385         (mbi_copy): New macro.
44386         * lib/mbuiter.h: Include <string.h>.
44387         (mbuiter_multi_copy): New function.
44388         (mbui_copy): New macro.
44389
44390 2007-02-11  Bruno Haible  <bruno@clisp.org>
44391
44392         New module mbslen.
44393         * modules/mbslen: New file.
44394         * lib/mbslen.c: New file.
44395         * lib/string_.h (mbslen): New declaration.
44396         * m4/mbslen.m4: New file.
44397         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44398         GNULIB_MBSLEN.
44399         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
44400         * MODULES.html.sh (Internationalization functions): Add mbslen.
44401
44402 2007-02-11  Bruno Haible  <bruno@clisp.org>
44403
44404         Ensure O(n) worst-case complexity of strcasestr substitute.
44405         * lib/strcasestr.c: Include stdbool.h.
44406         (knuth_morris_pratt): New function.
44407         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
44408         bookkeeping indicates that it's worth it.
44409         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
44410
44411         * modules/strcasestr-tests: New file.
44412         * tests/test-strcasestr.c: New file.
44413
44414 2007-02-11  Bruno Haible  <bruno@clisp.org>
44415
44416         Ensure O(n) worst-case complexity of c_strcasestr.
44417         * lib/c-strcasestr.c: Include stdbool.h, string.h.
44418         (knuth_morris_pratt): New function.
44419         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
44420         the bookkeeping indicates that it's worth it.
44421         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
44422
44423         * modules/c-strcasestr-tests: New file.
44424         * tests/test-c-strcasestr.c: New file.
44425
44426 2007-02-11  Bruno Haible  <bruno@clisp.org>
44427
44428         Ensure O(n) worst-case complexity of c_strstr.
44429         * lib/c-strstr.c: Include stdbool.h, string.h.
44430         (knuth_morris_pratt): New function.
44431         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
44432         bookkeeping indicates that it's worth it.
44433         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
44434
44435         * lib/c-strstr.c: Complete rewrite for maintainability.
44436
44437         * modules/c-strstr-tests: New file.
44438         * tests/test-c-strstr.c: New file.
44439
44440 2007-02-11  Bruno Haible  <bruno@clisp.org>
44441
44442         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
44443         5.2.1 and earlier, whereby \055 was treated just like the range
44444         delimiter '-'.
44445         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
44446
44447 2007-02-08  Bruno Haible  <bruno@clisp.org>
44448
44449         * modules/regex (Depends-on): Add stdbool.
44450         Reported by Dalibor Topic <robilad@kaffe.org>.
44451
44452 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
44453
44454         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
44455         Prefer returning from main to exiting from it.
44456         Remove unnecessary parens after sizeof.
44457
44458 2007-02-05  Bruno Haible  <bruno@clisp.org>
44459
44460         New module mbssep.
44461         * modules/mbssep: New file.
44462         * lib/mbssep.c: New file.
44463         * lib/string_.h (strsep): Add a conditional link warning.
44464         (mbssep): New declaration.
44465         * m4/mbssep.m4: New file.
44466         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44467         GNULIB_MBSSEP.
44468         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
44469         * MODULES.html.sh (Internationalization functions): Add mbssep.
44470
44471 2007-02-05  Bruno Haible  <bruno@clisp.org>
44472
44473         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
44474         Optimize search in case of 1 delimiter.
44475
44476 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
44477
44478         * lib/acl.h: Include sys/types.h before sys/acl.h.
44479
44480 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
44481
44482         Merge upstream fix for glibc bugzilla #3957:
44483
44484         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
44485
44486         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
44487         bit for RE_HAT_LISTS_NOT_NEWLINE.
44488         (build_charclass_op): Remove bogus comment.
44489
44490 2007-02-05  Simon Josefsson  <simon@josefsson.org>
44491
44492         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
44493
44494 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
44495
44496         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
44497         * lib/memmem.c [!defined _LIBC]: Include config.h.
44498
44499 2007-02-04  Bruno Haible  <bruno@clisp.org>
44500
44501         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
44502         warning message.
44503
44504 2007-02-04  Bruno Haible  <bruno@clisp.org>
44505
44506         New module mbstok_r.
44507         * modules/mbstok_r: New file.
44508         * lib/mbstok_r.c: New file.
44509         * lib/string_.h (strtok_r): Change argument names to match the
44510         comments. Add a conditional link warning.
44511         (mbstok_r): New declaration.
44512         * m4/mbstok_r.m4: New file.
44513         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44514         GNULIB_MBSTOK_R.
44515         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
44516         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
44517
44518 2007-02-04  Bruno Haible  <bruno@clisp.org>
44519
44520         New module mbsspn.
44521         * modules/mbsspn: New file.
44522         * lib/mbsspn.c: New file.
44523         * lib/string_.h (strspn): Add a conditional link warning.
44524         (mbsspn): New declaration.
44525         * m4/mbsspn.m4: New file.
44526         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44527         GNULIB_MBSSPN.
44528         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
44529         * MODULES.html.sh (Internationalization functions): Add mbsspn.
44530
44531 2007-02-04  Bruno Haible  <bruno@clisp.org>
44532
44533         New module mbspbrk.
44534         * modules/mbspbrk: New file.
44535         * lib/mbspbrk.c: New file.
44536         * lib/string_.h (strpbrk): Add a conditional link warning.
44537         (mbspbrk): New declaration.
44538         * m4/mbspbrk.m4: New file.
44539         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44540         GNULIB_MBSPBRK.
44541         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
44542         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
44543
44544 2007-02-04  Bruno Haible  <bruno@clisp.org>
44545
44546         New module mbscspn.
44547         * modules/mbscspn: New file.
44548         * lib/mbscspn.c: New file.
44549         * lib/string_.h (strcspn): Add a conditional link warning.
44550         (mbscspn): New declaration.
44551         * m4/mbscspn.m4: New file.
44552         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44553         GNULIB_MBSCSPN.
44554         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
44555         * MODULES.html.sh (Internationalization functions): Add mbscspn.
44556
44557 2007-02-04  Bruno Haible  <bruno@clisp.org>
44558
44559         New module mbscasestr, reduced goal of strcasestr.
44560         * modules/mbscasestr: New file.
44561         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
44562         (mbscasestr): Renamed from strcasestr.
44563         * lib/strcasestr.c: Don't include mbuiter.h.
44564         (strcasestr): Remove support for multibyte locales.
44565         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
44566         Change the conditional link warning.
44567         (mbscasestr): New declaration.
44568         * m4/mbscasestr.m4: New file.
44569         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
44570         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
44571         REPLACE_STRCASESTR.
44572         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
44573         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44574         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
44575         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
44576         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
44577         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
44578         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
44579         (Depends-on): Remove mbuiter.
44580         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
44581
44582 2007-02-04  Bruno Haible  <bruno@clisp.org>
44583
44584         Simplify handling of strncasecmp.
44585         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
44586         the conditional link warning.
44587         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44588         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
44589         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
44590         * modules/strcase (configure.ac): Don't invoke
44591         gl_STRING_MODULE_INDICATOR.
44592         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
44593
44594 2007-02-04  Bruno Haible  <bruno@clisp.org>
44595
44596         New module mbscasecmp, reduced goal of strcasecmp.
44597         * modules/mbscasecmp: New file.
44598         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
44599         (mbscasecmp): Renamed from strcasecmp.
44600         * lib/strcasecmp.c: Don't include mbuiter.h.
44601         (strcasecmp): Remove support for multibyte locales.
44602         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
44603         Change the conditional link warning.
44604         (mbscasecmp): New declaration.
44605         * m4/mbscasecmp.m4: New file.
44606         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
44607         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
44608         REPLACE_STRCASECMP.
44609         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
44610         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44611         GNULIB_MBSCASECMP.
44612         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
44613         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
44614         * modules/strcase (Files): Remove m4/mbrtowc.m4.
44615         (Depends-on): Remove mbuiter.
44616         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
44617
44618 2007-02-04  Bruno Haible  <bruno@clisp.org>
44619
44620         New module mbsstr. Remove module strstr.
44621         * modules/mbsstr: New file.
44622         * modules/strstr: Remove file.
44623         * lib/mbsstr.c: Renamed from lib/strstr.c.
44624         (mbsstr): Renamed from strstr.
44625         * lib/string_.h (strstr): Remove declaration. Change the conditional
44626         link warning.
44627         (mbsstr): New declaration.
44628         * m4/mbsstr.m4: New file.
44629         * m4/strstr.m4: Remove file.
44630         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
44631         REPLACE_STRSTR.
44632         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
44633         Don't initialize GNULIB_STRSTR.
44634         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
44635         substitute GNULIB_STRSTR and REPLACE_STRSTR.
44636         * MODULES.html.sh (Internationalization functions): Add mbsstr.
44637         (Support for systems lacking ANSI C 89): Remove strstr.
44638
44639 2007-02-04  Bruno Haible  <bruno@clisp.org>
44640
44641         New module mbsrchr.
44642         * modules/mbsrchr: New file.
44643         * lib/mbsrchr.c: New file.
44644         * lib/string_.h (strrchr): Add a conditional link warning.
44645         (mbsrchr): New declaration.
44646         * m4/mbsrchr.m4: New file.
44647         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44648         GNULIB_MBSRCHR.
44649         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
44650         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
44651
44652 2007-02-04  Bruno Haible  <bruno@clisp.org>
44653
44654         New module mbschr.
44655         * modules/mbschr: New file.
44656         * lib/mbschr.c: New file.
44657         * lib/string_.h (strchr): Add a conditional link warning.
44658         (mbschr): New declaration.
44659         * m4/mbschr.m4: New file.
44660         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44661         GNULIB_MBSCHR.
44662         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
44663         * MODULES.html.sh (Internationalization functions): Add mbschr.
44664
44665 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
44666
44667         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
44668
44669         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
44670
44671 2007-02-04  Bruno Haible  <bruno@clisp.org>
44672
44673         New module description section 'configure.ac-early'.
44674         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
44675         (func_get_autoconf_early_snippet): New function.
44676         (func_import, func_create_testdir): Use it. Remove special cases for
44677         modules 'extensions' and 'lock'.
44678         * modules/extensions (configure.ac-early): Require
44679         gl_USE_SYSTEM_EXTENSIONS.
44680         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
44681
44682 2007-02-04  Bruno Haible  <bruno@clisp.org>
44683
44684         Make use of gcj-4.3's -fsource and -ftarget option.
44685         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
44686         and if so try the options -fsource and -ftarget.
44687         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
44688         source_version, ftarget_option, target_version arguments.
44689         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
44690         (is_envjavac_oldgcj_14_14_usable): Renamed from
44691         is_envjavac_gcj_14_14_usable.
44692         (is_envjavac_oldgcj_14_13_usable): Renamed from
44693         is_envjavac_gcj_14_13_usable.
44694         (is_gcj_present): Update.
44695         (is_gcj_43, is_gcj43_usable): New functions.
44696         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
44697         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
44698         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
44699         try the options -fsource and -ftarget.
44700
44701 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
44702
44703         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
44704         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
44705         larger value.
44706
44707 2007-02-03  Jim Meyering  <jim@meyering.net>
44708
44709         Give tools a better chance to allocate space for very large buffers.
44710         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
44711
44712         Make pwd and readlink work also when run with an unreadable parent dir
44713         on systems with openat support.
44714         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
44715         provided getcwd function, even when we have openat support.
44716         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
44717
44718 2007-02-02  Bruno Haible  <bruno@clisp.org>
44719
44720         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
44721         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
44722         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
44723         portability problems if one of these functions is only used on specific
44724         platforms.
44725         Reported by Paul Eggert.
44726
44727 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
44728
44729         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
44730         is causing more trouble than it's curing.
44731         * lib/regex_internal.h (__mempcpy): Remove.
44732         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
44733         (and make the code a tad smaller to boot).
44734         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
44735
44736 2007-02-02  Jim Meyering  <jim@meyering.net>
44737
44738         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
44739         section, not in the Makefile.am: one.
44740
44741 2007-02-02  Eric Blake  <ebb9@byu.net>
44742
44743         * lib/strchrnul.c: Always include config.h first.
44744
44745         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
44746         gnulib strstr is not necessary here.
44747
44748 2007-02-02  Simon Josefsson  <simon@josefsson.org>
44749
44750         * m4/socklen.m4: Fix typo.
44751
44752 2007-02-02  Eric Blake  <ebb9@byu.net>
44753
44754         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
44755         * modules/netinet_in (Makefile.am): Likewise.
44756
44757 2007-02-01  Bruno Haible  <bruno@clisp.org>
44758
44759         * lib/string_.h (GL_LINK_WARNING): New macro.
44760         (strcasecmp, strstr, strcasestr): If provided by the system,
44761         conditionally define as a macro that leads to a warning instead of to
44762         an error.
44763         (strncasecmp): Conditionally define as a macro that leads to a warning.
44764
44765 2007-02-01  Karl Berry  <karl@gnu.org>
44766
44767         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
44768
44769 2007-02-01  Bruno Haible  <bruno@clisp.org>
44770
44771         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
44772         renamings.
44773
44774 2007-02-01  Eric Blake  <ebb9@byu.net>
44775
44776         * modules/regex (Depends-on): Revert dependence on mempcpy.
44777         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
44778         module's definition of mempcpy.
44779         Reported by Paul Eggert.
44780
44781 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
44782
44783         * lib/string_.h: If the gnulib module XYZ is not present, undefine
44784         the symbol XYZ before redefining it.  This fixes a problem with
44785         programs that don't use XYZ, when compiled on systems that define
44786         XYZ to something else.
44787
44788 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
44789
44790         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
44791         occurs when "mkdir -m foo" creates a setgid directory that is (1)
44792         writeable to group or other and (2) is intended to have a special
44793         mode bit that is set or cleared.  In such a case, the directory
44794         should be neither group- nor other-writeable until the special
44795         mode bits are right.
44796
44797 2007-01-31  Eric Blake  <ebb9@byu.net>
44798
44799         * modules/mountlist (Depends-on): Add strstr.
44800
44801         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
44802         bug.
44803         * modules/string (Makefile.am): Remove redundant replacement.
44804         * modules/regex (Depends-on): Add mempcpy.
44805
44806 2007-01-31  Bruno Haible  <bruno@clisp.org>
44807
44808         New module description field 'Link'.
44809         * gnulib-tool (func_usage): Document --extract-link-directive.
44810         (sed_extract_prog): Recognize 'Link' directive.
44811         (func_get_link_directive): New function.
44812         (func_import): Show summary of link directives.
44813         Handle --extract-link-directive option.
44814         * modules/acl (Link): New section.
44815         * modules/clock-time (Link): New section.
44816         * modules/euidaccess (Link): New section.
44817         * modules/gettext (Link): New section.
44818         * modules/iconv (Link): New section.
44819         * modules/lock (Link): New section.
44820         * modules/nanosleep (Link): New section.
44821         * modules/readline (Link): New section.
44822
44823 2007-01-27  Bruno Haible  <bruno@clisp.org>
44824
44825         Enforce the use of gnulib modules for unportable <string.h> functions.
44826         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
44827         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
44828         (gl_HEADER_STRING_H_BODY): Require it.
44829         * lib/string_.h: If the gnulib module XYZ is not present, redefine
44830         the symbol XYZ to one that gives a link error.
44831         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
44832         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
44833         * modules/mempcpy (configure.ac): Likewise.
44834         * modules/memrchr (configure.ac): Likewise.
44835         * modules/stpcpy (configure.ac): Likewise.
44836         * modules/stpncpy (configure.ac): Likewise.
44837         * modules/strcase (configure.ac): Likewise.
44838         * modules/strcasestr (configure.ac): Likewise.
44839         * modules/strchrnul (configure.ac): Likewise.
44840         * modules/strdup (configure.ac): Likewise.
44841         * modules/strndup (configure.ac): Likewise.
44842         * modules/strnlen (configure.ac): Likewise.
44843         * modules/strpbrk (configure.ac): Likewise.
44844         * modules/strsep (configure.ac): Likewise.
44845         * modules/strstr (configure.ac): Likewise.
44846         * modules/strtok_r (configure.ac): Likewise.
44847
44848 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
44849
44850         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
44851
44852 2007-01-30  Jim Meyering  <jim@meyering.net>
44853
44854         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
44855
44856 2007-01-29  Bruno Haible  <bruno@clisp.org>
44857
44858         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
44859         * lib/execute.c: Likewise.
44860         * lib/pipe.c: Likewise.
44861         * lib/printf-args.h: Likewise.
44862         * lib/printf-args.c: Likewise.
44863         * lib/printf-parse.c: Likewise.
44864         * lib/vasnprintf.c: Likewise.
44865
44866 2007-01-29  Eric Blake  <ebb9@byu.net>
44867
44868         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
44869         declaration.
44870
44871 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
44872
44873         * lib/strptime.h (strptime): Use 'restrict' for args where
44874         POSIX requires this.
44875         * lib/strptime.c (strptime): Likewise.
44876         Change license notice from LGPL to GPL, since gnulib-tool will
44877         change this as needed.
44878         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
44879         defined.
44880         Include "strptime.h" first, to check interface.
44881         Do not #undef _LIBC and _NL_CURRENT.
44882         Do not include <stdlib.h>; no longer needed.
44883         Include "time_r.h" and declare ptime_locale_status
44884         only if _LIBC is not defined.
44885         (__P): Remove unused macro.
44886         (match_string): Bring back glibc version, but use it only if _LIBC
44887         is defined.
44888         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
44889         Remove unnecessary assertion and abort() call.
44890         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
44891         * m4/strptime.m4: Fix serial number comment.
44892         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
44893         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
44894         (Depends-on): Add time_r.
44895
44896 2007-01-29  Bruno Haible  <bruno@clisp.org>
44897
44898         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44899         strptime.
44900         * modules/strptime (Depends-on): Add stdbool.
44901         * lib/strptime.h: Include <time.h> always. Add comments.
44902
44903 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44904
44905         * modules/strptime: New file.
44906         * lib/strptime.h: New file.
44907         * lib/strptime.c: New file.
44908         * m4/strptime.m4: New file.
44909
44910 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
44911
44912         * MODULES.html.sh: New module mpsort.
44913         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
44914
44915         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
44916         a circularity problem with HP-UX ia64 reported by Bob Proulx in
44917         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
44918         All uses changed.
44919         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
44920         All uses changed.
44921         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
44922         to _Restrict_.
44923         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
44924         the parameter matches the prototype.
44925
44926 2007-01-28  Jim Meyering  <jim@meyering.net>
44927
44928         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
44929         sys/time.h here, reverting that part of the previous patch:
44930         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
44931
44932 2007-01-28  Bruno Haible  <bruno@clisp.org>
44933
44934         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
44935         value of $(SYS_TIME_H).
44936         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
44937         remove it conditionally, too. [added by Jim Meyering]
44938         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
44939         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
44940         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
44941         GETTIMEOFDAY_REPLACEMENT to 1.
44942
44943 2007-01-28  Bruno Haible  <bruno@clisp.org>
44944
44945         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
44946         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
44947         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
44948         Set UNISTD_H instead of UNISTD_H2.
44949         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
44950
44951 2007-01-28  Bruno Haible  <bruno@clisp.org>
44952
44953         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
44954         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
44955
44956 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44957
44958         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
44959         (func_create_testdir): Ensure C locale for `grep' and `tr'
44960         character ranges.
44961         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
44962         ACLOCAL_AMFLAGS parsing state machine.
44963
44964 2007-01-27  Bruno Haible  <bruno@clisp.org>
44965
44966         * modules/unistr/base: Update.
44967
44968 2007-01-27  Bruno Haible  <bruno@clisp.org>
44969
44970         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
44971         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
44972         * modules/unistr/u32-mbtouc-unsafe: Renamed from
44973         modules/unistr/u32-mbtouc.
44974         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
44975         * lib/unistr.h: Update.
44976         * lib/linebreak.c: Update.
44977         * modules/unistr/u32-mbtouc: Renamed from
44978         modules/unistr/u32-mbtouc-safe.
44979         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
44980         * lib/unistr.h: Update.
44981         * lib/unistr/u32-to-u8.c: Update.
44982         * lib/unistr/u32-to-u16.c: Update.
44983
44984 2007-01-27  Bruno Haible  <bruno@clisp.org>
44985
44986         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
44987         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
44988         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
44989         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
44990         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
44991         * modules/unistr/u16-mbtouc-unsafe: Renamed from
44992         modules/unistr/u16-mbtouc.
44993         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
44994         * lib/unistr.h: Update.
44995         * lib/linebreak.c: Update.
44996         * modules/linebreak: Update.
44997         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
44998         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
44999         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
45000         * modules/unistr/u16-mbtouc: Renamed from
45001         modules/unistr/u16-mbtouc-safe.
45002         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
45003         * lib/unistr.h: Update.
45004         * lib/unistr/u16-to-u8.c: Update.
45005         * modules/unistr/u16-to-u8: Update.
45006         * lib/unistr/u16-to-u32.c: Update.
45007         * modules/unistr/u16-to-u32: Update.
45008
45009 2007-01-27  Bruno Haible  <bruno@clisp.org>
45010
45011         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
45012         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
45013         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
45014         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
45015         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
45016         * modules/unistr/u8-mbtouc-unsafe: Renamed from
45017         modules/unistr/u8-mbtouc.
45018         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
45019         * lib/unistr.h: Update.
45020         * lib/striconveh.c: Update.
45021         * modules/striconveh: Update.
45022         * lib/linebreak.c: Update.
45023         * modules/linebreak: Update.
45024         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
45025         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
45026         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
45027         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
45028         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
45029         * lib/unistr.h: Update.
45030         * lib/striconveh.c: Update.
45031         * modules/striconveh: Update.
45032         * lib/unistr/u8-to-u16.c: Update.
45033         * modules/unistr/u8-to-u16: Update.
45034         * lib/unistr/u8-to-u32.c: Update.
45035         * modules/unistr/u8-to-u32: Update.
45036
45037 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45038
45039         Sync from Libtool.
45040         * lib/argz.c: Do not include strings.h nor memory.h, include
45041         string.h unconditionally.  Patch by Simon Josefsson.
45042
45043 2007-01-27  Bruno Haible  <bruno@clisp.org>
45044
45045         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
45046         from gl_HEADER_STRING_H_BODY.
45047         (gl_HEADER_STRING_H_BODY): Require it.
45048         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
45049         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
45050         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
45051         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
45052         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45053         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
45054         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45055         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
45056         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
45057         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45058         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
45059         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
45060         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
45061         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45062         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45063
45064 2007-01-27  Bruno Haible  <bruno@clisp.org>
45065
45066         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
45067         check_PROGRAMS into noinst_PROGRAMS.
45068         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
45069         check_PROGRAMS in this case.
45070         (func_import): Set for_test to false.
45071         (func_create_testdir): Set for_test to true.
45072
45073 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
45074             Bruno Haible  <bruno@clisp.org>
45075
45076         * modules/strcasestr (Files): Remove lib/strcasestr.h.
45077         (Depends-on): Add string.
45078         (Includes): Use <string.h> instead of strcasestr.h.
45079         * modules/string (Makefile.am): Also substitute the value of
45080         REPLACE_STRCASESTR.
45081         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
45082         assume strcasestr is declared in <string.h> not <strings.h>. Also
45083         set REPLACE_STRCASESTR.
45084         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
45085         REPLACE_STRCASESTR.
45086         * lib/strcasestr.h: Remove file.
45087         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
45088         * lib/string_.h (strcasestr): New declaration.
45089
45090 2007-01-27  Bruno Haible  <bruno@clisp.org>
45091
45092         * lib/string_.h: Use 'extern'.
45093
45094 2007-01-27  Jim Meyering  <jim@meyering.net>
45095
45096         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
45097         of set-but-not-used local, "q".
45098
45099         * lib/mempcpy.c: Include <config.h> before <string.h>.
45100         This fixes a compilation error on HP-UX, due to the system's
45101         "restrict"-using mempcpy prototype.
45102
45103 2007-01-26  Bruno Haible  <bruno@clisp.org>
45104
45105         Small optimization.
45106         * lib/javacomp.c: Include c-strstr.h.
45107          (is_envjavac_gcj): Use c_strstr instead of strstr.
45108         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
45109
45110 2007-01-26  Bruno Haible  <bruno@clisp.org>
45111
45112         * MODULES.html.sh (Unicode string functions): Add the new modules.
45113
45114         * modules/uniconv/u32-strconv-to-locale: New file.
45115         * lib/uniconv/u32-strconv-to-locale.c: New file.
45116
45117         * modules/uniconv/u16-strconv-to-locale: New file.
45118         * lib/uniconv/u16-strconv-to-locale.c: New file.
45119
45120         * modules/uniconv/u8-strconv-to-locale: New file.
45121         * lib/uniconv/u8-strconv-to-locale.c: New file.
45122
45123         * modules/uniconv/u32-strconv-from-locale: New file.
45124         * lib/uniconv/u32-strconv-from-locale.c: New file.
45125
45126         * modules/uniconv/u16-strconv-from-locale: New file.
45127         * lib/uniconv/u16-strconv-from-locale.c: New file.
45128
45129         * modules/uniconv/u8-strconv-from-locale: New file.
45130         * lib/uniconv/u8-strconv-from-locale.c: New file.
45131
45132         * modules/uniconv/u32-strconv-to-enc: New file.
45133         * lib/uniconv/u32-strconv-to-enc.c: New file.
45134         * modules/uniconv/u32-strconv-to-enc-tests: New file.
45135         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
45136
45137         * modules/uniconv/u16-strconv-to-enc: New file.
45138         * lib/uniconv/u16-strconv-to-enc.c: New file.
45139         * lib/uniconv/u-strconv-to-enc.h: New file.
45140         * modules/uniconv/u16-strconv-to-enc-tests: New file.
45141         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
45142
45143         * modules/uniconv/u8-strconv-to-enc: New file.
45144         * lib/uniconv/u8-strconv-to-enc.c: New file.
45145         * modules/uniconv/u8-strconv-to-enc-tests: New file.
45146         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
45147
45148         * modules/uniconv/u32-strconv-from-enc: New file.
45149         * lib/uniconv/u32-strconv-from-enc.c: New file.
45150         * modules/uniconv/u32-strconv-from-enc-tests: New file.
45151         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
45152
45153         * modules/uniconv/u16-strconv-from-enc: New file.
45154         * lib/uniconv/u16-strconv-from-enc.c: New file.
45155         * modules/uniconv/u16-strconv-from-enc-tests: New file.
45156         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
45157
45158         * modules/uniconv/u8-strconv-from-enc: New file.
45159         * lib/uniconv/u8-strconv-from-enc.c: New file.
45160         * lib/uniconv/u-strconv-from-enc.h: New file.
45161         * modules/uniconv/u8-strconv-from-enc-tests: New file.
45162         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
45163
45164         * modules/uniconv/u32-conv-from-enc: New file.
45165         * lib/uniconv/u32-conv-from-enc.c: New file.
45166         * modules/uniconv/u32-conv-from-enc-tests: New file.
45167         * tests/uniconv/test-u32-conv-from-enc.c: New file.
45168
45169         * modules/uniconv/u16-conv-from-enc: New file.
45170         * lib/uniconv/u16-conv-from-enc.c: New file.
45171         * lib/uniconv/u-conv-from-enc.h: New file.
45172         * modules/uniconv/u16-conv-from-enc-tests: New file.
45173         * tests/uniconv/test-u16-conv-from-enc.c: New file.
45174
45175         * modules/uniconv/u8-conv-from-enc: New file.
45176         * lib/uniconv/u8-conv-from-enc.c: New file.
45177         * modules/uniconv/u8-conv-from-enc-tests: New file.
45178         * tests/uniconv/test-u8-conv-from-enc.c: New file.
45179
45180         * modules/uniconv/base: New file.
45181         * lib/uniconv.h: New file.
45182
45183 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
45184
45185         * doc/gnulib-tool.texi (Initial import): Update to match current
45186         behavior with strdup module.
45187         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
45188         * lib/memmem.h: Remove; all uses removed.  This is now done
45189         by <string.h>.
45190         * lib/mempcpy.h: Likewise.
45191         * lib/memrchr.h: Likewise.
45192         * lib/stpcpy.h: Likewise.
45193         * lib/stpncpy.h: Likewise.
45194         * lib/strcase.h: Likewise.
45195         * lib/strchrnul.h: Likewise.
45196         * lib/strdup.h: Likewise.
45197         * lib/strndup.h: Likewise.
45198         * lib/strnlen.h: Likewise.
45199         * lib/strpbrk.h: Likewise.
45200         * lib/strsep.h: Likewise.
45201         * lib/strstr.h: Likewise.
45202         * lib/strtok_r.h: Likewise.
45203         * lib/string_.h: New file.
45204         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
45205         Rely on <string.h> instead.
45206         * lib/canon-host.c: Likewise.
45207         * lib/chdir-long.c: Likewise.
45208         * lib/concatpath.c: Likewise.
45209         * lib/exclude.c: Likewise.
45210         * lib/fchdir.c: Likewise.
45211         * lib/getaddrinfo.c: Likewise.
45212         * lib/getcwd.c: Likewise.
45213         * lib/getsubopt.c: Likewise.
45214         * lib/glob.c: Likewise.
45215         * lib/hard-locale.c: Likewise.
45216         * lib/iconvme.c: Likewise.
45217         * lib/javacomp.c: Likewise.
45218         * lib/mempcpy.c: Likewise.
45219         * lib/memrchr.c: Likewise.
45220         * lib/regex_internal.h: Likewise.
45221         * lib/stpncpy.c: Likewise.
45222         * lib/strcasecmp.c: Likewise.
45223         * lib/strchrnul.c: Likewise.
45224         * lib/strdup.c: Likewise.
45225         * lib/striconv.c: Likewise.
45226         * lib/striconveh.c: Likewise.
45227         * lib/striconveha.c: Likewise.
45228         * lib/strncasecmp.c: Likewise.
45229         * lib/strndup.c: Likewise.
45230         * lib/strnlen.c: Likewise.
45231         * lib/strsep.c: Likewise.
45232         * lib/strstr.c: Likewise.
45233         * lib/strtok_r.c: Likewise.
45234         * lib/userspec.c: Likewise.
45235         * lib/w32spawn.h: Likewise.
45236         * lib/xstrndup.c: Likewise.
45237         * lib/mountlist.c (strstr): Remove decl.
45238         * m4/string_h.m4: New file.
45239         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
45240         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
45241         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
45242         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
45243         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
45244         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
45245         Set REPLACE_STRCASECMP if necessary.
45246         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
45247         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
45248         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
45249         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
45250         HAVE_DECL_STRDUP if necessary.
45251         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
45252         since gl_FUNC_STRNDUP does that now.
45253         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
45254         Check for decl here...
45255         (gl_PREREQ_STRNLEN): ... not here.
45256         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
45257         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
45258         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
45259         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
45260         necessary.
45261         * modules/string: New file.
45262         * modules/memmem (Files): Remove special-purpose include file.
45263         (Depends-on): Add string.
45264         (Include): Include <string.h>, not the removed file.
45265         * modules/mempcpy: Likewise.
45266         * modules/memrchr: Likewise.
45267         * modules/stpcpy: Likewise.
45268         * modules/stpncpy: Likewise.
45269         * modules/strcase: Likewise.
45270         * modules/strchrnul: Likewise.
45271         * modules/strdup: Likewise.
45272         * modules/strndup: Likewise.
45273         * modules/strnlen: Likewise.
45274         * modules/strpbrk: Likewise.
45275         * modules/strsep: Likewise.
45276         * modules/strstr: Likewise.
45277         * modules/strtok_r: Likewise.
45278         * tests/test-dirname.c: Don't include "strdup.h", since
45279         <string.h> now suffices.
45280         * tests/test-memmem.c: Don't include "memmem.h", since
45281         <string.h> now suffices.
45282
45283 2007-01-25  Bruno Haible  <bruno@clisp.org>
45284
45285         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
45286         *resultp is 0.
45287
45288         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
45289         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
45290         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
45291         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
45292
45293         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
45294         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
45295         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
45296         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
45297         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
45298         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
45299
45300 2007-01-24  Bruno Haible  <bruno@clisp.org>
45301
45302         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
45303         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
45304         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
45305         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
45306         gl_FUNC_FTS_CORE.
45307         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
45308         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
45309         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
45310         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
45311         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
45312         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
45313         gl_FUNC_FCHOWNAT.
45314         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
45315         gl_FUNC_STRFTIME.
45316         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
45317         Reported by Ralf Wildenhues.
45318
45319 2007-01-24  Bruno Haible  <bruno@clisp.org>
45320
45321         Drop AC_REQUIRE calls that are redundant with the module dependencies.
45322         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
45323         gl_GETADDRINFO.
45324         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
45325         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
45326         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
45327
45328 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
45329
45330         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
45331         Don't use 'exit'; just return from 'main'.
45332         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
45333
45334         * lib/fnmatch_.h: Readjust white space and comments to match
45335         glibc, to avoid spurious diffs.
45336
45337 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45338
45339         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
45340         2004-12-01 change by Jakub Jelinek, since this code won't compile
45341         if !LIBC.  Problem reported by Bob Proulx.
45342
45343 2007-01-23  Bruno Haible  <bruno@clisp.org>
45344
45345         * lib/striconveh.c: Include c-strcaseeq.h.
45346         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
45347         * modules/striconveh (Depends-on): Add c-strcaseeq.
45348
45349 2007-01-23  Bruno Haible  <bruno@clisp.org>
45350
45351         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
45352
45353         * modules/c-strcaseeq: New file.
45354         * lib/c-strcaseeq.h: New file.
45355
45356         * modules/streq: New file.
45357         * lib/streq.h: New file.
45358
45359 2007-01-23  Bruno Haible  <bruno@clisp.org>
45360
45361         * modules/striconveha-tests: New file.
45362         * tests/test-striconveha.c: New file.
45363
45364         * lib/striconveha.h: Include <stdbool.h>.
45365         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
45366         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
45367         (mem_iconveha_notranslit): Renamed from mem_iconveha.
45368         (mem_iconveha): New function.
45369         (str_iconveha_notranslit): Renamed from str_iconveha.
45370         (str_iconveha): New function.
45371         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
45372         c-strcase.
45373
45374 2007-01-23  Bruno Haible  <bruno@clisp.org>
45375
45376         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
45377         encodings without forgiving before trying any encoding with handler.
45378         (str_iconveha): Try all encodings without forgiving before trying any
45379         encoding with handler.
45380
45381 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45382
45383         Import the following changes from libc.
45384
45385         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
45386
45387         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
45388
45389         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
45390
45391         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
45392         normal_bracket label.
45393
45394         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
45395
45396         [BZ #361]
45397         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
45398         to normal_bracket after fetching the next character.
45399
45400 2007-01-22  Bruno Haible  <bruno@clisp.org>
45401
45402         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
45403         argument.
45404         * lib/striconveh.c (iconv_carefully_1): New function.
45405         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
45406         argument.
45407         (str_cd_iconveh): Update.
45408         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
45409         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
45410         * tests/test-striconveh.c (MAGIC): New macro.
45411         (new_offsets): New function.
45412         (main): Test call with and without offsets.
45413
45414 2007-01-22  Bruno Haible  <bruno@clisp.org>
45415
45416         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
45417         * modules/sys_select (Makefile.am): Likewise.
45418         * modules/sys_socket (Makefile.am): Likewise.
45419         * modules/sys_time (Makefile.am): Likewise.
45420
45421 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
45422
45423         * modules/gettimeofday (License): Change from GPL to LGPL, since
45424         gettimeofday is a library function.
45425
45426 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45427
45428         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
45429
45430 2007-01-21  Bruno Haible  <bruno@clisp.org>
45431
45432         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
45433
45434 2007-01-21  Bruno Haible  <bruno@clisp.org>
45435
45436         * modules/striconveha: New file.
45437         * lib/striconveha.h: New file.
45438         * lib/striconveha.c: New file.
45439         * MODULES.html.sh (Internationalization functions): Add striconveha.
45440         * lib/striconv.c (str_iconv): Optimize the case of an empty input
45441         string.
45442         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
45443
45444 2007-01-21  Bruno Haible  <bruno@clisp.org>
45445
45446         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
45447         * lib/striconveh.c (str_iconveh): Likewise.
45448
45449 2007-01-21  Bruno Haible  <bruno@clisp.org>
45450
45451         * lib/striconveh.h (mem_iconveh): New declaration.
45452         * lib/striconveh.c (mem_iconveh): New function.
45453         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
45454
45455 2007-01-21  Bruno Haible  <bruno@clisp.org>
45456
45457         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
45458
45459         * lib/striconveh.h (mem_cd_iconveh): Change specification.
45460         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
45461         original result buffer.
45462         (str_cd_iconveh): Update.
45463         * tests/test-striconveh.c (main): Update.
45464
45465         * lib/striconv.h (mem_cd_iconv): Change specification.
45466         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
45467         result buffer.
45468         (str_cd_iconv): Update.
45469         * tests/test-striconv.c (main): Update.
45470
45471 2007-01-21  Bruno Haible  <bruno@clisp.org>
45472
45473         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
45474
45475 2007-01-20  Jim Meyering  <jim@meyering.net>
45476
45477         * lib/userspec.c (parse_with_separator): If a user or group string
45478         starts with "+", skip the corresponding name-to-ID look-up, since
45479         such a look-up must fail: user and group names may not include "+".
45480
45481 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
45482
45483         * lib/poll.c: Include sys/time.h and time.h unconditionally,
45484         since we now assume the sys_time module.
45485         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
45486         check for sys/time.h; no longer needed.
45487         * modules/poll (Depends-on): Depend on sys_time.
45488
45489 2007-01-18  Bruno Haible  <bruno@clisp.org>
45490
45491         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
45492         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
45493
45494         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
45495         gettimeofday.
45496
45497         * tests/test-gettimeofday.c: Include <time.h>.
45498         (dummy): Remove variable.
45499
45500         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
45501         gl_HEADER_SYS_TIME_H.
45502         (gl_HEADER_SYS_TIME_H): New macro.
45503
45504         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
45505         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45506         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
45507         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
45508         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45509         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
45510         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
45511         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45512         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
45513         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
45514         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45515
45516         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
45517         last change; it caused a compilation error when cross-compiling to
45518         Cygwin.
45519
45520 2007-01-18  Jim Meyering  <jim@meyering.net>
45521
45522         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
45523         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
45524         than the race-prone "test -d sys || mkdir sys".
45525         (configure.ac): Use AC_PROG_MKDIR_P.
45526         * modules/sys_select: Likewise.
45527         * modules/sys_socket: Likewise.
45528         * modules/sys_time: Likewise.
45529
45530 2007-01-18  Eric Blake  <ebb9@byu.net>
45531
45532         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
45533         replace gettimeofday.
45534         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
45535         name, to avoid infinite recursion.
45536
45537 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
45538
45539         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
45540         module sys_time.
45541         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
45542         assume timespec.h defines struct timeval.
45543         * lib/settime.c: Likewise.
45544         * lib/utimens.c: Likewise.
45545         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
45546         since we now assume the gettimeofday module.
45547         * lib/tempname.c (__gen_tempname): Likewise.
45548         * lib/gettimeofday.h: Remove.
45549         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
45550         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
45551         Include <time.h>, for 'time()'.
45552         (localtime_buffer_addr): Also use this workaround if
45553         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
45554         to simplify the uses.  All uses changed.
45555         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
45556         that #undef is inside {}, and 'const' follows type name consistently.
45557         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
45558         (gettimeofday): Do not use the maximum possible value for
45559         tv->tv_usec, since that might break usages other than ls.c.
45560         Instead, we'll leave ls.c alone.  This undoes today's patch
45561         by Bruno.  Add a compile-time warning for 1s-clock resolution;
45562         we've never observed the problem but might as well keep the
45563         canary.
45564         * lib/nanosleep.c: Include timespec.h first, for interface check.
45565         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
45566         now assume the sys_time module.
45567         * lib/tempname.c: Likewise.
45568         * lib/timespec.h: Likewise.
45569         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
45570         needed.
45571         * lib/strftime.c: Likewise.
45572         * lib/timespec.h: Likewise.
45573         * lib/posixtm.c: Include posixtm.h first, for interface check.
45574         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
45575         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
45576         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
45577         * lib/sys_time_.h: New file.
45578         * lib/timespec.h (struct timespec): Use long int, not long.
45579         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
45580         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
45581         Remove obsolescent call to AC_HEADER_TIME.
45582         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
45583         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45584         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
45585         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
45586         Likewise.
45587         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
45588         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
45589         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
45590         into the sys_time module.  Check for gettimeofday just once.
45591         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
45592         for gettimeofday signature to just check the signature.  Merely
45593         compile it, since linking doesn't test signature.  Improve test for
45594         whether gettimeofday.o is actually needed.
45595         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
45596         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
45597         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
45598         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45599         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
45600         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
45601         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
45602         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
45603         than worrying about sys/time.h.
45604         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45605         Don't bother worrying about TIME_WITH_SYS_TIME.
45606         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45607         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
45608         * m4/sys_time_h.m4: New file.
45609         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
45610         Don't include sys/time.h.  Return from main rather than exiting.
45611         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
45612         all uses changed.
45613         * modules/gethrxtime (Depends-on): Add sys_time.
45614         * modules/gettime (Depends-on): Likewise.
45615         * modules/gettimeofday (Depends-on): Likewise.
45616         * modules/nanosleep (Depends-on): Likewise.
45617         * modules/settime (Depends-on): Likewise.
45618         * modules/tempname (Depends-on): Likewise.
45619         * modules/utimens (Depends-on): Likewise.
45620         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
45621         (Include:) Change back to <sys/time.h>.
45622         (Maintainer:) Add self.
45623         * modules/sys_time: New file.
45624         * modules/tempname (Depends-on): Add gettimeofday.
45625         * tests/test-gettimeofday.c: Include <sys/time.h>
45626         rather than gettimeofday.h.
45627
45628 2007-01-17  Bruno Haible  <bruno@clisp.org>
45629
45630         * gnulib-tool (func_get_license): Revert last patch. Instead, let
45631         the license default to GPL.
45632         (func_create_testdir): Don't complain if a module is LGPL and its
45633         tests module depends on GPLed modules.
45634
45635 2007-01-17  Bruno Haible  <bruno@clisp.org>
45636
45637         * lib/gettimeofday.c (gettimeofday): Add code for the case
45638         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
45639         maximum possible value for tv->tv_usec, rather than the minimum one.
45640
45641 2005-10-08  Martin Lambers  <marlam@marlam.de>
45642 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45643 2007-01-16  Bruno Haible  <bruno@clisp.org>
45644
45645         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
45646         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
45647         gl_FUNC_GETTIMEOFDAY.
45648         (Include): Add gettimeofday.h.
45649         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
45650         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
45651         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
45652         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
45653         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
45654         * lib/gettimeofday.h: New file.
45655         * lib/gettimeofday.c: Include <sys/timeb.h>.
45656         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
45657         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45658         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
45659         fall back on time().
45660
45661         * tests/test-gettimeofday.c: New file.
45662         * modules/gettimeofday-tests: New file.
45663
45664 2007-01-16  Eric Blake  <ebb9@byu.net>
45665
45666         * modules/fnmatch (Depends-on): Depend on wchar.
45667         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
45668         * m4/fnmatch.m4: Likewise.
45669         * modules/mbchar (Makefile.am): Assume <wchar.h>.
45670         * m4/mbchar.m4: Likewise.
45671         * modules/mbswidth (Depends-on): Depend on wchar.
45672         * lib/mbswidth.c: Assume <wchar.h>.
45673         * m4/mbswidth.m4: Likewise.
45674         * modules/quotearg (Depends-on): Depend on wchar.
45675         * lib/quotearg.c: Assume <wchar.h>.
45676         * m4/quotearg.m4: Likewise.
45677         * modules/regex (Depends-on): Depend on wchar.
45678         * lib/regex_internal.h: Assume <wchar.h>.
45679         * m4/regex.m4: Likewise.
45680         * modules/stdint (Depends-on): Depend on wchar.
45681         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
45682         * m4/stdint.m4: Likewise.
45683         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
45684         * modules/strftime (Depends-on): Depend on wchar.
45685         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
45686         * modules/strtol (Depends-on): Depend on wchar.
45687         * lib/strtol.c: Assume <wchar.h>.
45688         * modules/wcwidth (Depends-on): Depend on wchar.
45689         * lib/wcwidth.h: Assume <wchar.h>.
45690         * m4/wcwidth.m4: Likewise.
45691
45692 2007-01-16  Bruno Haible  <bruno@clisp.org>
45693
45694         * modules/csharpexec-script: New, created from...
45695         * modules/csharpexec: ... this.
45696
45697 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
45698
45699         * modules/javaexec-script: New, created from...
45700         * modules/javaexec: ... this.
45701
45702 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45703
45704         * modules/poll (Dependencies): Add sys_select.
45705
45706 2007-01-15  Jim Meyering  <jim@meyering.net>
45707
45708         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
45709         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
45710         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
45711         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
45712
45713 2007-01-15  Bruno Haible  <bruno@clisp.org>
45714
45715         * modules/striconveh: New file.
45716         * lib/striconveh.h: New file.
45717         * lib/striconveh.c: New file.
45718         * MODULES.html.sh (Internationalization functions): Add striconveh.
45719
45720         * modules/striconveh-tests: New file.
45721         * tests/test-striconveh.c: New file.
45722
45723 2007-01-15  Bruno Haible  <bruno@clisp.org>
45724
45725         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
45726         not from GNU libiconv or GNU libc.
45727
45728 2007-01-15  Bruno Haible  <bruno@clisp.org>
45729
45730         * doc/gnulib-intro.texi (Copyright): Explain the different license
45731         terms for module descriptions, autoconf macros, tests, documentation.
45732
45733 2007-01-14  Bruno Haible  <bruno@clisp.org>
45734
45735         * modules/striconv-tests: New file.
45736         * tests/test-striconv.c: New file.
45737
45738 2007-01-14  Bruno Haible  <bruno@clisp.org>
45739
45740         * modules/iconv-tests: New file.
45741         * tests/test-iconv.c: New file.
45742
45743 2007-01-14  Bruno Haible  <bruno@clisp.org>
45744
45745         * gnulib-tool (func_get_license): For test modules, use the license of
45746         the main module.
45747
45748 2007-01-14  Bruno Haible  <bruno@clisp.org>
45749
45750         * modules/iconv (Include): Clarify that <iconv.h> can only be included
45751         if iconv is found to exist.
45752
45753 2007-01-14  Bruno Haible  <bruno@clisp.org>
45754
45755         * modules/c-ctype-tests: New file.
45756         * tests/test-c-ctype.c: New file.
45757
45758 2007-01-14  Bruno Haible  <bruno@clisp.org>
45759
45760         * modules/binary-io-tests: New file.
45761         * tests/test-binary-io.sh: New file.
45762         * tests/test-binary-io.c: New file.
45763
45764 2007-01-14  Bruno Haible  <bruno@clisp.org>
45765
45766         * modules/array-oset-tests: New file.
45767         * tests/test-array_oset.c: New file.
45768
45769 2007-01-14  Bruno Haible  <bruno@clisp.org>
45770
45771         * modules/array-list-tests: New file.
45772         * tests/test-array_list.c: New file.
45773
45774 2007-01-14  Bruno Haible  <bruno@clisp.org>
45775
45776         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
45777         and make.
45778         Reported by Simon Josefsson in
45779         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
45780
45781 2007-01-14  Bruno Haible  <bruno@clisp.org>
45782
45783         * modules/allocsa-tests: New file.
45784         * tests/test-allocsa.c: New file.
45785
45786 2007-01-14  Bruno Haible  <bruno@clisp.org>
45787
45788         * modules/fchdir (Depends-on): Add absolute-header.
45789         * modules/unistd (Depends-on): Likewise.
45790
45791 2006-12-30  Bruno Haible  <bruno@clisp.org>
45792
45793         * modules/fchdir: New file.
45794         * modules/unistd (Files): Add lib/unistd_.h.
45795         (Makefile.am): Generate unistd.h from unistd_.h.
45796         * lib/fchdir.c: New file.
45797         * lib/dirent_.h: New file.
45798         * lib/unistd_.h: New file.
45799         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
45800         * m4/fchdir.m4: New file.
45801         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
45802         (gl_HEADER_UNISTD): Invoke it.
45803         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
45804         function.
45805         * lib/backupfile.c (opendir, closedir): Undefine.
45806         * lib/chown.c (open, close): Undefine.
45807         * lib/clean-temp.c (open, close): Undefine.
45808         * lib/copy-file.c (open, close): Undefine.
45809         * lib/execute.c (open, close): Undefine.
45810         * lib/fsusage.c (open, close): Undefine.
45811         * lib/gc-gnulib.c (open, close): Undefine.
45812         * lib/getcwd.c (opendir, closedir): Undefine.
45813         * lib/glob.c (opendir, closedir): Undefine.
45814         * lib/javacomp.c (open, close): Undefine.
45815         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
45816         * lib/openat-proc.c (open, close): Undefine.
45817         * lib/pagealign_alloc.c (open, close): Undefine.
45818         * lib/pipe.c (open, close): Undefine.
45819         * lib/progreloc.c (open, close): Undefine.
45820         * lib/savedir.c (opendir, closedir): Undefine.
45821         * lib/utime.c (open, close): Undefine.
45822         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
45823
45824 2007-01-10  Bruno Haible  <bruno@clisp.org>
45825
45826         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
45827
45828 2007-01-12  Eric Blake  <ebb9@byu.net>
45829
45830         Provide a robust <wchar.h>.  Further simplifications are now
45831         possible in other modules, but not included here.
45832         * modules/wchar: New module.
45833         * m4/wchar.m4: New file.
45834         * lib/wchar_.h: Likewise.
45835         * modules/mbchar (Depends-on): Depend on wchar, as the first use
45836         of the new module.
45837         * MODULES.html.sh (Extended multibyte and wide character utilities):
45838         New section.
45839
45840 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
45841
45842         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
45843         to a reasonable default for memory allocation.
45844         (xreadlink): Don't allocate a huge buffer, to work around a buggy
45845         file system that reports garbage st_size values for symlinks.
45846         Problem reported by Liyang Hu.
45847
45848 2007-01-11  Simon Josefsson  <simon@josefsson.org>
45849
45850         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
45851         Emacs .#* auto-save files).
45852
45853 2007-01-11  Bruno Haible  <bruno@clisp.org>
45854
45855         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
45856         directory.
45857
45858 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45859
45860         Use @...@ consistently in lib/wctype_.h.
45861         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
45862         on it being set to 1 or 0.
45863         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
45864         go back to AC_SUBSTing it.
45865         * modules/wctype (Makefile.am): Undo previous change.
45866
45867 2007-01-10  Eric Blake  <ebb9@byu.net>
45868
45869         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
45870         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
45871         * modules/wctype (Makefile.am): Likewise.
45872         Reported by Chris McGuire.
45873
45874 2007-01-10  Jim Meyering  <jim@meyering.net>
45875
45876         fts.c: a small readability/maintainability improvement
45877         * lib/fts.c (fts_read): Make this code slightly more readable and
45878         maintainable by hoisting the "sp->fts_cur = p" assignments to
45879         immediately follow the statements that set P.  Derived from
45880         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
45881
45882 2007-01-10  Eric Blake  <ebb9@byu.net>
45883
45884         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
45885         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
45886         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45887         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45888         Reported by Chris McGuire.
45889
45890 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45891
45892         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
45893         in sed script.
45894
45895 2007-01-09  Bruno Haible  <bruno@clisp.org>
45896
45897         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
45898         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
45899         variables.
45900         (func_module): Use them.
45901
45902 2007-01-09  Bruno Haible  <bruno@clisp.org>
45903
45904         * modules/unistr/base: New file.
45905         * lib/unistr.h: New file.
45906
45907         * modules/unistr/u8-to-u16: New file.
45908         * lib/unistr/u8-to-u16.c: New file.
45909
45910         * modules/unistr/u8-to-u32: New file.
45911         * lib/unistr/u8-to-u32.c: New file.
45912
45913         * modules/unistr/u16-to-u8: New file.
45914         * lib/unistr/u16-to-u8.c: New file.
45915
45916         * modules/unistr/u16-to-u32: New file.
45917         * lib/unistr/u16-to-u32.c: New file.
45918
45919         * modules/unistr/u32-to-u8: New file.
45920         * lib/unistr/u32-to-u8.c: New file.
45921
45922         * modules/unistr/u32-to-u16: New file.
45923         * lib/unistr/u32-to-u16.c: New file.
45924
45925         * modules/unistr/u8-check: New file.
45926         * modules/unistr/u16-check: New file.
45927         * modules/unistr/u32-check: New file.
45928         * lib/unistr/u8-check.c: New file.
45929         * lib/unistr/u16-check.c: New file.
45930         * lib/unistr/u32-check.c: New file.
45931
45932         * modules/unistr/u8-chr: New file.
45933         * modules/unistr/u16-chr: New file.
45934         * modules/unistr/u32-chr: New file.
45935         * lib/unistr/u8-chr.c: New file.
45936         * lib/unistr/u16-chr.c: New file.
45937         * lib/unistr/u32-chr.c: New file.
45938
45939         * modules/unistr/u8-cmp: New file.
45940         * modules/unistr/u16-cmp: New file.
45941         * modules/unistr/u32-cmp: New file.
45942         * lib/unistr/u8-cmp.c: New file.
45943         * lib/unistr/u16-cmp.c: New file.
45944         * lib/unistr/u32-cmp.c: New file.
45945
45946         * modules/unistr/u8-cpy: New file.
45947         * modules/unistr/u16-cpy: New file.
45948         * modules/unistr/u32-cpy: New file.
45949         * lib/unistr/u8-cpy.c: New file.
45950         * lib/unistr/u16-cpy.c: New file.
45951         * lib/unistr/u32-cpy.c: New file.
45952         * lib/unistr/u-cpy.h: New file.
45953
45954         * modules/unistr/u8-cpy-alloc: New file.
45955         * modules/unistr/u16-cpy-alloc: New file.
45956         * modules/unistr/u32-cpy-alloc: New file.
45957         * lib/unistr/u8-cpy-alloc.c: New file.
45958         * lib/unistr/u16-cpy-alloc.c: New file.
45959         * lib/unistr/u32-cpy-alloc.c: New file.
45960         * lib/unistr/u-cpy-alloc.h: New file.
45961
45962         * modules/unistr/u8-endswith: New file.
45963         * modules/unistr/u16-endswith: New file.
45964         * modules/unistr/u32-endswith: New file.
45965         * lib/unistr/u8-endswith.c: New file.
45966         * lib/unistr/u16-endswith.c: New file.
45967         * lib/unistr/u32-endswith.c: New file.
45968         * lib/unistr/u-endswith.h: New file.
45969
45970         * modules/unistr/u8-mblen: New file.
45971         * modules/unistr/u16-mblen: New file.
45972         * modules/unistr/u32-mblen: New file.
45973         * lib/unistr/u8-mblen.c: New file.
45974         * lib/unistr/u16-mblen.c: New file.
45975         * lib/unistr/u32-mblen.c: New file.
45976
45977         * modules/unistr/u8-mbtouc: New file.
45978         * modules/unistr/u16-mbtouc: New file.
45979         * modules/unistr/u32-mbtouc: New file.
45980         * lib/unistr/u8-mbtouc.c: New file.
45981         * lib/unistr/u16-mbtouc.c: New file.
45982         * lib/unistr/u32-mbtouc.c: New file.
45983
45984         * modules/unistr/u8-mbtouc-safe: New file.
45985         * modules/unistr/u16-mbtouc-safe: New file.
45986         * modules/unistr/u32-mbtouc-safe: New file.
45987         * lib/unistr/u8-mbtouc-safe.c: New file.
45988         * lib/unistr/u16-mbtouc-safe.c: New file.
45989         * lib/unistr/u32-mbtouc-safe.c: New file.
45990
45991         * modules/unistr/u8-move: New file.
45992         * modules/unistr/u16-move: New file.
45993         * modules/unistr/u32-move: New file.
45994         * lib/unistr/u8-move.c: New file.
45995         * lib/unistr/u16-move.c: New file.
45996         * lib/unistr/u32-move.c: New file.
45997         * lib/unistr/u-move.h: New file.
45998
45999         * modules/unistr/u8-next: New file.
46000         * modules/unistr/u16-next: New file.
46001         * modules/unistr/u32-next: New file.
46002         * lib/unistr/u8-next.c: New file.
46003         * lib/unistr/u16-next.c: New file.
46004         * lib/unistr/u32-next.c: New file.
46005
46006         * modules/unistr/u8-prev: New file.
46007         * modules/unistr/u16-prev: New file.
46008         * modules/unistr/u32-prev: New file.
46009         * lib/unistr/u8-prev.c: New file.
46010         * lib/unistr/u16-prev.c: New file.
46011         * lib/unistr/u32-prev.c: New file.
46012
46013         * modules/unistr/u8-set: New file.
46014         * modules/unistr/u16-set: New file.
46015         * modules/unistr/u32-set: New file.
46016         * lib/unistr/u8-set.c: New file.
46017         * lib/unistr/u16-set.c: New file.
46018         * lib/unistr/u32-set.c: New file.
46019         * lib/unistr/u-set.h: New file.
46020
46021         * modules/unistr/u8-startswith: New file.
46022         * modules/unistr/u16-startswith: New file.
46023         * modules/unistr/u32-startswith: New file.
46024         * lib/unistr/u8-startswith.c: New file.
46025         * lib/unistr/u16-startswith.c: New file.
46026         * lib/unistr/u32-startswith.c: New file.
46027         * lib/unistr/u-startswith.h: New file.
46028
46029         * modules/unistr/u8-stpcpy: New file.
46030         * modules/unistr/u16-stpcpy: New file.
46031         * modules/unistr/u32-stpcpy: New file.
46032         * lib/unistr/u8-stpcpy.c: New file.
46033         * lib/unistr/u16-stpcpy.c: New file.
46034         * lib/unistr/u32-stpcpy.c: New file.
46035         * lib/unistr/u-stpcpy.h: New file.
46036
46037         * modules/unistr/u8-stpncpy: New file.
46038         * modules/unistr/u16-stpncpy: New file.
46039         * modules/unistr/u32-stpncpy: New file.
46040         * lib/unistr/u8-stpncpy.c: New file.
46041         * lib/unistr/u16-stpncpy.c: New file.
46042         * lib/unistr/u32-stpncpy.c: New file.
46043         * lib/unistr/u-stpncpy.h: New file.
46044
46045         * modules/unistr/u8-strcat: New file.
46046         * modules/unistr/u16-strcat: New file.
46047         * modules/unistr/u32-strcat: New file.
46048         * lib/unistr/u8-strcat.c: New file.
46049         * lib/unistr/u16-strcat.c: New file.
46050         * lib/unistr/u32-strcat.c: New file.
46051         * lib/unistr/u-strcat.h: New file.
46052
46053         * modules/unistr/u8-strchr: New file.
46054         * modules/unistr/u16-strchr: New file.
46055         * modules/unistr/u32-strchr: New file.
46056         * lib/unistr/u8-strchr.c: New file.
46057         * lib/unistr/u16-strchr.c: New file.
46058         * lib/unistr/u32-strchr.c: New file.
46059
46060         * modules/unistr/u8-strcmp: New file.
46061         * modules/unistr/u16-strcmp: New file.
46062         * modules/unistr/u32-strcmp: New file.
46063         * lib/unistr/u8-strcmp.c: New file.
46064         * lib/unistr/u16-strcmp.c: New file.
46065         * lib/unistr/u32-strcmp.c: New file.
46066
46067         * modules/unistr/u8-strcpy: New file.
46068         * modules/unistr/u16-strcpy: New file.
46069         * modules/unistr/u32-strcpy: New file.
46070         * lib/unistr/u8-strcpy.c: New file.
46071         * lib/unistr/u16-strcpy.c: New file.
46072         * lib/unistr/u32-strcpy.c: New file.
46073         * lib/unistr/u-strcpy.h: New file.
46074
46075         * modules/unistr/u8-strcspn: New file.
46076         * modules/unistr/u16-strcspn: New file.
46077         * modules/unistr/u32-strcspn: New file.
46078         * lib/unistr/u8-strcspn.c: New file.
46079         * lib/unistr/u16-strcspn.c: New file.
46080         * lib/unistr/u32-strcspn.c: New file.
46081         * lib/unistr/u-strcspn.h: New file.
46082
46083         * modules/unistr/u8-strdup: New file.
46084         * modules/unistr/u16-strdup: New file.
46085         * modules/unistr/u32-strdup: New file.
46086         * lib/unistr/u8-strdup.c: New file.
46087         * lib/unistr/u16-strdup.c: New file.
46088         * lib/unistr/u32-strdup.c: New file.
46089         * lib/unistr/u-strdup.h: New file.
46090
46091         * modules/unistr/u8-strlen: New file.
46092         * modules/unistr/u16-strlen: New file.
46093         * modules/unistr/u32-strlen: New file.
46094         * lib/unistr/u8-strlen.c: New file.
46095         * lib/unistr/u16-strlen.c: New file.
46096         * lib/unistr/u32-strlen.c: New file.
46097         * lib/unistr/u-strlen.h: New file.
46098
46099         * modules/unistr/u8-strmblen: New file.
46100         * modules/unistr/u16-strmblen: New file.
46101         * modules/unistr/u32-strmblen: New file.
46102         * lib/unistr/u8-strmblen.c: New file.
46103         * lib/unistr/u16-strmblen.c: New file.
46104         * lib/unistr/u32-strmblen.c: New file.
46105
46106         * modules/unistr/u8-strmbtouc: New file.
46107         * modules/unistr/u16-strmbtouc: New file.
46108         * modules/unistr/u32-strmbtouc: New file.
46109         * lib/unistr/u8-strmbtouc.c: New file.
46110         * lib/unistr/u16-strmbtouc.c: New file.
46111         * lib/unistr/u32-strmbtouc.c: New file.
46112
46113         * modules/unistr/u8-strncat: New file.
46114         * modules/unistr/u16-strncat: New file.
46115         * modules/unistr/u32-strncat: New file.
46116         * lib/unistr/u8-strncat.c: New file.
46117         * lib/unistr/u16-strncat.c: New file.
46118         * lib/unistr/u32-strncat.c: New file.
46119         * lib/unistr/u-strncat.h: New file.
46120
46121         * modules/unistr/u8-strncmp: New file.
46122         * modules/unistr/u16-strncmp: New file.
46123         * modules/unistr/u32-strncmp: New file.
46124         * lib/unistr/u8-strncmp.c: New file.
46125         * lib/unistr/u16-strncmp.c: New file.
46126         * lib/unistr/u32-strncmp.c: New file.
46127
46128         * modules/unistr/u8-strncpy: New file.
46129         * modules/unistr/u16-strncpy: New file.
46130         * modules/unistr/u32-strncpy: New file.
46131         * lib/unistr/u8-strncpy.c: New file.
46132         * lib/unistr/u16-strncpy.c: New file.
46133         * lib/unistr/u32-strncpy.c: New file.
46134         * lib/unistr/u-strncpy.h: New file.
46135
46136         * modules/unistr/u8-strnlen: New file.
46137         * modules/unistr/u16-strnlen: New file.
46138         * modules/unistr/u32-strnlen: New file.
46139         * lib/unistr/u8-strnlen.c: New file.
46140         * lib/unistr/u16-strnlen.c: New file.
46141         * lib/unistr/u32-strnlen.c: New file.
46142         * lib/unistr/u-strnlen.h: New file.
46143
46144         * modules/unistr/u8-strpbrk: New file.
46145         * modules/unistr/u16-strpbrk: New file.
46146         * modules/unistr/u32-strpbrk: New file.
46147         * lib/unistr/u8-strpbrk.c: New file.
46148         * lib/unistr/u16-strpbrk.c: New file.
46149         * lib/unistr/u32-strpbrk.c: New file.
46150         * lib/unistr/u-strpbrk.h: New file.
46151
46152         * modules/unistr/u8-strrchr: New file.
46153         * modules/unistr/u16-strrchr: New file.
46154         * modules/unistr/u32-strrchr: New file.
46155         * lib/unistr/u8-strrchr.c: New file.
46156         * lib/unistr/u16-strrchr.c: New file.
46157         * lib/unistr/u32-strrchr.c: New file.
46158
46159         * modules/unistr/u8-strspn: New file.
46160         * modules/unistr/u16-strspn: New file.
46161         * modules/unistr/u32-strspn: New file.
46162         * lib/unistr/u8-strspn.c: New file.
46163         * lib/unistr/u16-strspn.c: New file.
46164         * lib/unistr/u32-strspn.c: New file.
46165         * lib/unistr/u-strspn.h: New file.
46166
46167         * modules/unistr/u8-strstr: New file.
46168         * modules/unistr/u16-strstr: New file.
46169         * modules/unistr/u32-strstr: New file.
46170         * lib/unistr/u8-strstr.c: New file.
46171         * lib/unistr/u16-strstr.c: New file.
46172         * lib/unistr/u32-strstr.c: New file.
46173         * lib/unistr/u-strstr.h: New file.
46174
46175         * modules/unistr/u8-strtok: New file.
46176         * modules/unistr/u16-strtok: New file.
46177         * modules/unistr/u32-strtok: New file.
46178         * lib/unistr/u8-strtok.c: New file.
46179         * lib/unistr/u16-strtok.c: New file.
46180         * lib/unistr/u32-strtok.c: New file.
46181         * lib/unistr/u-strtok.h: New file.
46182
46183         * modules/unistr/u8-uctomb: New file.
46184         * modules/unistr/u16-uctomb: New file.
46185         * modules/unistr/u32-uctomb: New file.
46186         * lib/unistr/u8-uctomb.c: New file.
46187         * lib/unistr/u16-uctomb.c: New file.
46188         * lib/unistr/u32-uctomb.c: New file.
46189
46190         * MODULES.html.sh (Unicode string functions): Add the new modules.
46191
46192 2007-01-08  Bruno Haible  <bruno@clisp.org>
46193
46194         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
46195         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
46196         subdirectories.
46197
46198 2007-01-08  Karl Berry  <karl@gnu.org>
46199
46200         * doc/error.texi: mention that main() fns must set program_name
46201         when progname is used.
46202
46203 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
46204
46205         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
46206         WCTYPE_H is empty, for the benefit of builds from non-distclean
46207         directories.  Problem reported by Eric Blake in
46208         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
46209
46210 2007-01-08  Bruno Haible  <bruno@clisp.org>
46211
46212         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
46213         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
46214         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
46215         PROVIDE_CANONICALIZE_FILENAME_MODE.
46216         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
46217
46218 2007-01-08  Bruno Haible  <bruno@clisp.org>
46219
46220         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
46221         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
46222         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
46223         * lib/fts.c: Likewise.
46224         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
46225
46226 2006-12-25  Bruno Haible  <bruno@clisp.org>
46227
46228         * modules/utf8-ucs4-safe: New file.
46229         * lib/utf8-ucs4-safe.h: New file.
46230         * lib/unistr/utf8-ucs4-safe.c: New file.
46231
46232         * modules/utf16-ucs4-safe: New file.
46233         * lib/utf16-ucs4-safe.h: New file.
46234         * lib/unistr/utf16-ucs4-safe.c: New file.
46235
46236         * MODULES.html.sh (Unicode string functions): Add the new modules.
46237
46238 2007-01-08  Bruno Haible  <bruno@clisp.org>
46239
46240         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
46241         (Depends-on): Add unitypes.
46242         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
46243         (u8_mbtouc_aux): Move out to separate file.
46244         (u8_mbtouc): Use ucs4_t, uint8_t types.
46245         * lib/unistr/utf8-ucs4.c: New file.
46246
46247         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
46248         (Depends-on): Add unitypes.
46249         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
46250         (u16_mbtouc_aux): Move out to separate file.
46251         (u16_mbtouc): Use ucs4_t, uint16_t types.
46252         * lib/unistr/utf16-ucs4.c: New file.
46253
46254         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
46255         (Depends-on): Add unitypes.
46256         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
46257         (u8_uctomb_aux): Move out to separate file.
46258         (u8_uctomb): Use ucs4_t, uint8_t types.
46259         * lib/unistr/ucs4-utf8.c: New file.
46260
46261         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
46262         (Depends-on): Add unitypes.
46263         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
46264         (u16_uctomb_aux): Move out to separate file.
46265         (u16_uctomb): Use ucs4_t, uint16_t types.
46266         * lib/unistr/ucs4-utf16.c: New file.
46267
46268 2006-12-25  Bruno Haible  <bruno@clisp.org>
46269
46270         * modules/unitypes: New file.
46271         * lib/unitypes.h: New file.
46272         * MODULES.html.sh (func_all_modules): New section "Unicode string
46273         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
46274         this section. Add unitypes.
46275
46276 2007-01-08  Bruno Haible  <bruno@clisp.org>
46277
46278         Avoid variable names that conflict with those from libtool.
46279         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
46280         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
46281         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
46282         library_names_spec to acl_library_names_spec, hardcode_* to
46283         acl_hardcode_*.
46284         Reported by Ralf Wildenhues.
46285
46286 2007-01-08  Bruno Haible  <bruno@clisp.org>
46287
46288         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
46289         definition.
46290         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
46291         definition.
46292         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
46293         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
46294         definition.
46295         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
46296         definition.
46297         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
46298         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
46299         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
46300         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
46301         definition.
46302         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
46303         definition.
46304         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
46305         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
46306         GC_USE_<algorithm>.
46307         * lib/gc-libgcrypt.c: Likewise.
46308         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
46309         * modules/gc-arctwo (configure.ac): Likewise.
46310         * modules/gc-des (configure.ac): Likewise.
46311         * modules/gc-hmac-md5 (configure.ac): Likewise.
46312         * modules/gc-hmac-sha1 (configure.ac): Likewise.
46313         * modules/gc-md2 (configure.ac): Likewise.
46314         * modules/gc-md4 (configure.ac): Likewise.
46315         * modules/gc-md5 (configure.ac): Likewise.
46316         * modules/gc-random (configure.ac): Likewise.
46317         * modules/gc-rijndael (configure.ac): Likewise.
46318         * modules/gc-sha1 (configure.ac): Likewise.
46319
46320 2007-01-08  Bruno Haible  <bruno@clisp.org>
46321
46322         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
46323         macro definition.
46324         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
46325         definition.
46326         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
46327         definition.
46328         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
46329         * modules/fcntl-safer (configure.ac): Likewise.
46330         * modules/fopen-safer (configure.ac): Likewise.
46331         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
46332         GNULIB_FWRITEERROR macro definition.
46333
46334 2007-01-08  Bruno Haible  <bruno@clisp.org>
46335
46336         * m4/gnulib-common.m4: New file.
46337         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
46338         (func_get_filelist): Add m4/gnulib-common.m4.
46339
46340 2007-01-08  Bruno Haible  <bruno@clisp.org>
46341
46342         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
46343         command.
46344
46345 2007-01-08  Jim Meyering  <jim@meyering.net>
46346
46347         Use a more robust test for a "can't happen" condition.
46348         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
46349         narrowed the st_size value.  Presuming the "can't happen" condition
46350         is true, that narrowing could conceivably convert an invalid st_size
46351         value into a valid one.  Instead, use a change based on Matthew
46352         Woehlke's original patch.
46353
46354         Slight readability improvement: use an assert-like macro
46355         in place of literal "abort ()" uses.
46356         * lib/fts.c (fts_assert): Define.
46357         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
46358         Use this macro instead of a bare 'abort'.
46359
46360 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
46361
46362         Don't worry about using IRIX 5.3's wctype.h broken definitions;
46363         simply work around them.
46364         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
46365         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
46366         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
46367         declaring.
46368         Don't bother to define as macros, since the standard doesn't require it.
46369         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
46370         longer worry about IRIX 5.3.
46371         (HAVE_WCTYPE_CTMP_BUG): Remove.
46372
46373 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46374
46375         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
46376         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
46377         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46378         Problems reported by Georg Schwarz for IRIX 5.3.
46379
46380         * gnulib-tool (autoconf_minversion): Take the maximum version number
46381         found, not the minimum.  Problem reported by James Youngman.
46382
46383 2007-01-03  Karl Berry  <karl@gnu.org>
46384
46385         * doc/error.texi: new file, explaining interaction with progname.
46386         * doc/gnulib.texi: include it.  Update copyright.
46387
46388 2007-01-03  Simon Josefsson  <simon@josefsson.org>
46389
46390         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
46391         AC_CANONICAL_HOST, to improve autobuild outputs.
46392
46393 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
46394             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
46395
46396         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
46397         sockets, server sockets, and other file descriptors.  Count errors
46398         to compute the return value.  Reorder the code a bit to be easier
46399         to follow.  Don't set event bits that were not requested (except
46400         POLLERR and POLLHUP).
46401
46402 2007-01-01  Bruno Haible  <bruno@clisp.org>
46403
46404         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
46405
46406 2007-01-03  Jim Meyering  <jim@meyering.net>
46407
46408         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
46409
46410 2007-01-02  Bruno Haible  <bruno@clisp.org>
46411
46412         * modules/settime (Include): Require timespec.h.
46413         * modules/nanosleep (Include): Likewise.
46414
46415 2007-01-01  Bruno Haible  <bruno@clisp.org>
46416
46417         * gnulib-tool (func_emit_copyright_notice): Bump year.
46418         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
46419
46420 2007-01-01  Bruno Haible  <bruno@clisp.org>
46421
46422         Improve support for OpenBSD.
46423         * build-aux/config.rpath (libname_spec): Export.
46424         (library_names_spec): New variable. Export.
46425         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
46426         library_names_spec from the config.rpath output. Locate shared library
46427         through the name pattern in library_names_spec.
46428
46429 2007-01-01  Eric Blake  <ebb9@byu.net>
46430
46431         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
46432
46433 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
46434
46435         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
46436         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
46437         assume the C locale, and avoid an "eval" that could cause trouble.
46438         Problem with SORT reported by Bob Proulx.
46439
46440         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
46441         Define.  Trivial patch from Henning Nielsen Lund, originally
46442         sent to bug-grep@gnu.org today.
46443
46444 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
46445
46446         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
46447         struct stat.  Problem reported by Henning Nielsen Lund.
46448         * lib/acl.c: Include acl.h first, to check interface.  Don't
46449         bother to include sys/types.h and sys/stat.h again.
46450
46451 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
46452
46453         Import the following change from libc; problem reported by
46454         Sven Verdoolaege.
46455
46456         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
46457
46458         [BZ #1373]
46459         * lib/argp.h: Remove __NTH for __argp_usage inline function.
46460
46461 2006-12-28  Jim Meyering  <jim@meyering.net>
46462
46463         * build-aux/announce-gen: Do not assume that the package
46464         builds any of tar.gz, tar.bz2, and .xdelta files.
46465         Suggestion from Simon Josefsson.
46466
46467 2006-12-28  Simon Josefsson  <simon@josefsson.org>
46468
46469         * modules/announce-gen: New file.
46470
46471 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
46472
46473         * lib/mbchar.h: Just include <wctype.h>; the wctype module
46474         handles its gotchas now.
46475         * lib/mbswidth.c: Likewise.
46476         * lib/wcwidth.h: Likewise.
46477         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
46478         and iswcntrl; the wctype module does this stuff now.
46479         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46480         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46481         * modules/mbchar (Depends-on): Add wctype.
46482         * modules/mbswidth (Depends-on): Likewise.
46483         * modules/wcwidth (Depends-on): Likewise.
46484
46485 2006-12-27  Eric Blake  <ebb9@byu.net>
46486
46487         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
46488         module uses more than what <wctype.h> is required to provide.
46489
46490 2006-12-26  Eric Blake  <ebb9@byu.net>
46491
46492         * gnulib-tool (sed_extract_prog): Avoid space-tab.
46493
46494 2006-12-26  Eric Blake  <ebb9@byu.net>
46495
46496         * modules/absolute-header: New module.
46497         * modules/fcntl (Depends-on): Depend on it.
46498         * modules/inttypes (Depends-on): Likewise.
46499         * modules/stdint (Depends-on): Likewise.
46500         * modules/sys_stat (Depends-on): Likewise.
46501         * modules/wctype (Depends-on): Likewise.
46502         * MODULES.html.sh (Support for building libraries and
46503         executables): Document it.
46504
46505 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
46506
46507         * gnulib-tool (SED): Remove, undoing previous change.
46508         The problem was that it broke coreutils on Solaris, because
46509         "sed --posix" leaked into a makefile.
46510         (sed): New alias, if 'alias' and GNU sed.
46511
46512 2006-12-24  Jim Meyering  <jim@meyering.net>
46513
46514         Work around an fchownat bug in glibc-2.4:
46515         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
46516         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
46517         in spite of the -P option.
46518         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
46519         New macros.
46520         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
46521         * modules/openat (Files): Add lib/fchownat.c.
46522         * lib/openat.c (fchownat): Don't define here.  Move to...
46523         * lib/fchownat.c: ...this new file.
46524
46525 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46526
46527         Fix bug reported by Bruno Haible in
46528         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
46529         where quotearg.c didn't compile on Mac OS X 10.2 because it
46530         lacks <wchar.h> and wint_t.
46531         * lib/wctype_.h (__wctype_wint_t): New type.
46532         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
46533         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
46534         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
46535         Arg is now of type __wctype_wint_t, not wint_t.
46536         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
46537         substitute HAVE_WINT_T.
46538         * modules/wctype (Files): Add m4/wint_t.m4.
46539         (wctype.h): Substitute HAVE_WINT_T.
46540
46541 2006-12-23  Bruno Haible  <bruno@clisp.org>
46542
46543         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
46544
46545 2006-12-23  Bruno Haible  <bruno@clisp.org>
46546
46547         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
46548         S_ISLNK.
46549         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
46550         mingw.
46551
46552 2006-12-22  Bruno Haible  <bruno@clisp.org>
46553
46554         * lib/copy-file.c: Include acl.h.
46555         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
46556         Close the file descriptors only after being done with copy_acl.
46557         * modules/copy-file (Depends-on): Add acl.
46558
46559 2006-12-22  Bruno Haible  <bruno@clisp.org>
46560
46561         * gnulib-tool (SED): New variable.
46562         Use $SED instead of sed everywhere.
46563
46564 2006-12-22  Bruno Haible  <bruno@clisp.org>
46565
46566         * modules/no-c++: New file.
46567         * m4/no-c++.m4: New file.
46568         * MODULES.html.sh (Support for building libraries and executables):
46569         Add no-c++.
46570
46571 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
46572
46573         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
46574         Include <limits.h>, and use its INT_MAX to rewrite the
46575         j loop so that it does not overflow 'int'.  Problem reported by
46576         Ralf Wildenhues in
46577         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
46578         Play it safe by shifting left by 1 rather than multiplying by 2,
46579         as GCC is less likely to optimize this away when the value
46580         is signed (when it assumes overflow leads to undefined behavior).
46581         Also, don't assume time_t uses two's complement.
46582
46583 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
46584
46585         * MODULES.html.sh: New module wctype.
46586         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
46587         * lib/fnmatch.c: Don't bother to include <wchar.h> before
46588         <wctype.h>, since the new wctype module should fix this.
46589         * lib/quotearg.c: Include <wctype.h> unconditionally, since
46590         the wctype module should arrange for it.
46591         * lib/regex_internal.h: Likewise.
46592         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
46593         since the wctype module should handle this now.
46594         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
46595         * modules/fnmatch (Depends-on): Add wctype.
46596         * modules/quotearg (Depends-on): Likewise.
46597         * modules/regex (Depends-on): Likewise.
46598
46599 2006-12-19  Bruno Haible  <bruno@clisp.org>
46600
46601         * lib/strdup.h [C++]: Wrap definitions in extern "C".
46602         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
46603
46604 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46605
46606         * modules/savewd (Depends-on): Fix dependency on fcntl.
46607
46608 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46609
46610         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
46611         conforms to C99, rather than relying on the user's environment
46612         setting of STDINT_H.
46613
46614 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46615         and Eric Blake  <ebb9@byu.net>
46616
46617         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
46618         This is more consistent with the other defines here.
46619         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
46620         Port to z/OS.  Problem reported by Paul Gilmartin.
46621         Change local vars to use gl_ prefix rather than ac_.
46622         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
46623         with other defines.
46624         * modules/double-slash-root: New module.
46625         * modules/dirname (Files): Remove m4/double-slash-root.m4.
46626         (Depends-on): Add double-slash-root.
46627         * MODULES.html.sh (File system functions): Mention new module.
46628
46629 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
46630
46631         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
46632         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
46633         This is for the benefit of gzip, which doesn't do i18n.
46634
46635 2006-12-12  Jim Meyering  <jim@meyering.net>
46636
46637         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
46638         Reported by Andreas Schwab <schwab@suse.de>.
46639
46640 2006-12-12  Bruno Haible  <bruno@clisp.org>
46641
46642         Merge these changes.
46643         2006-09-05  Bruno Haible  <bruno@clisp.org>
46644         * lib/iconvme.c (iconv_string): No need to save and restore errno when
46645         iconv_alloc succeeded.
46646         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
46647         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
46648         test for " && dest " at the end - dest is always != NULL there. Call
46649         iconv with 4xNULL arguments initially, to reset the state. Call iconv
46650         with 2xNULL arguments, also to flush the state storage. Handle the
46651         IRIX iconv behaviour. Realloc the final result, to throw away unused
46652         memory.
46653
46654 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
46655
46656         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
46657         and fchmodat unconditionally, since glibc 2.4 has them.
46658         Problem reported by Arkadiusz Miskiewicz.
46659
46660 2006-12-10  Bruno Haible  <bruno@clisp.org>
46661
46662         * gnulib-tool (func_import): Show the include files only for those
46663         modules that are copied and specified.
46664         Reported by Karl Berry.
46665
46666 2006-12-08  Jim Meyering  <jim@meyering.net>
46667
46668         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
46669         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
46670
46671         * build-aux/announce-gen: Add two new options, both optional:
46672         --bootstrap-tools=TOOL_LIST
46673               a comma-separated list of tools, e.g.,
46674               autoconf,automake,bison,gnulib
46675         --gnulib-snapshot-date=DATE
46676               if gnulib is in the bootstrap tool list,
46677               then report this as the snapshot date.
46678               If not specified, use the current date/time.
46679               If you specify a date here, be sure it's UTC.
46680
46681 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46682
46683         * tests/test-argp-2.sh: Fix test to match actual output.
46684         (func_compare): Fix sed script to be portable.
46685
46686 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
46687
46688         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
46689         workaround for this case.  It is not autoconfigured now; offhand
46690         it's hard to see how to autoconfigure it.
46691
46692 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
46693
46694         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
46695         a directory that is about to be chowned.  Such a directory's
46696         initial file permissions should permit the owner only and this
46697         should not be changed until after the chown, since the group and
46698         other bits would be incorrect if they granted permission before
46699         the chown.
46700
46701         Fix porting problem for iswctype reported by Georg Schwarz in:
46702         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
46703         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
46704         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
46705         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
46706         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46707
46708 2006-12-03  Jim Meyering  <jim@meyering.net>
46709
46710         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
46711         p->fts_statp may not yet be defined.
46712         (fts_read): Instead, set it in the caller, once p->fts_statp is
46713         sure to be defined, and corresponds to a top-level directory.
46714         This bug made du -x fail.  Here's the coreutils test case:
46715         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
46716         Reported by Mike Frysinger.
46717
46718 2006-12-01  Jim Meyering  <jim@meyering.net>
46719
46720         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
46721         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
46722         Reported by Simon Josefsson.
46723
46724 2006-11-30  Jim Meyering  <jim@meyering.net>
46725
46726         * m4/warning.m4: Use the all-permissive copyright notice
46727         recommended by RMS (rather than LGPL).
46728         * m4/vararrays.m4: Likewise.
46729         * m4/flexmember.m4: Likewise.
46730
46731 2006-11-29  Bruno Haible  <bruno@clisp.org>
46732
46733         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46734         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
46735         using +=.
46736         Reported by Simon Josefsson <simon@josefsson.org>.
46737
46738 2006-11-28  James Youngman <jay@gnu.org>
46739
46740         * README: Advise users that they might find the bug-gnulib@gnu.org
46741         and autotools-announce@gnu.org mailing lists useful.
46742
46743 2006-11-28  Bruno Haible  <bruno@clisp.org>
46744
46745         * m4/ptrdiff_max.m4: Remove file.
46746
46747 2006-11-21  Bruno Haible  <bruno@clisp.org>
46748
46749         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
46750         _AC_COMPUTE_INT.
46751         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46752         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
46753         _AC_COMPUTE_INT.
46754         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46755         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
46756         _AC_COMPUTE_INT.
46757         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46758
46759 2006-11-28  Jim Meyering  <jim@meyering.net>
46760
46761         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
46762         warning from "gcc -Wshadow" about shadowing the builtin.
46763
46764 2006-11-27  Bruno Haible  <bruno@clisp.org>
46765
46766         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
46767         _AC_COMPUTE_INT.
46768         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46769
46770 2006-11-27  Bruno Haible  <bruno@clisp.org>
46771             Paul Eggert  <eggert@cs.ucla.edu>
46772
46773         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
46774
46775 2006-11-26  Bruno Haible  <bruno@clisp.org>
46776
46777         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46778         noinst_LTLIBRARIES.
46779
46780 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
46781             Bruno Haible  <bruno@clisp.org>
46782
46783         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
46784         if compiling with "gcc -ansi".
46785
46786 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
46787
46788         Fix some incompatibilities with gcc -ansi -pedantic.
46789         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
46790         if compiling pedantically with GCC, unless it's C99 or later.
46791         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
46792         it mishandles gcc -ansi -pedantic as well.
46793         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
46794         if gcc -pedantic.
46795         * lib/regexec.c (check_node_accept_bytes): Don't use auto
46796         initializers for struct if -pedantic, unless it's C99 or later.
46797
46798 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
46799
46800         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
46801         Don't close an fd more than once. Identical atimes indicate
46802         success, not failure.
46803
46804 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
46805
46806         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
46807
46808 2006-11-23  Jim Meyering  <jim@meyering.net>
46809
46810         * build-aux/announce-gen: New file.  From coreutils.
46811
46812 2006-11-22  Jim Meyering  <jim@meyering.net>
46813
46814         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
46815         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
46816         (fts_read): Use a temporary to narrow the overused st_size member
46817         before using it in a switch statement.  Reported by Matthew Woehlke.
46818
46819         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
46820         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
46821
46822 2006-11-20  Bruno Haible  <bruno@clisp.org>
46823
46824         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
46825         changequote instead of pairs of brackets.
46826         Reported by Andreas Schwab <schwab@suse.de>.
46827
46828 2006-11-21  Jim Meyering  <jim@meyering.net>
46829
46830         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
46831         so as to remain compatible with older compilers.
46832         Patch from Michael Deutschmann.
46833
46834 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46835
46836         * MODULES.html.sh (File system functions): Add openat.
46837
46838         * lib/openat.h (rpl_fstatat): New macro, if
46839         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
46840         (fstatat): Define to rpl_fstatat under the same conditions,
46841         unless COMPILING_FSTATAT.
46842         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
46843         seems to have the bug.
46844         * lib/fstatat.c: New file.
46845         * modules/openat (Files): Add it.
46846
46847 2006-11-20  Bruno Haible  <bruno@clisp.org>
46848
46849         * Makefile: New file.
46850
46851 2006-11-20  Jim Meyering  <jim@meyering.net>
46852
46853         The beginnings of syntax-related checks for gnulib.
46854         * lib/Makefile: New file.
46855         * lib/t-idcache: New script.  Ensure that the two halves of
46856         idcache.c stay in sync.
46857
46858         * lib/idcache.c: Adjust comments in user- and group- portions to
46859         be more accurate, and to be consistent with one another.
46860
46861 2006-11-20  Jim Meyering  <jim@meyering.net>
46862
46863         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
46864         continue using the flexible array member (thus, this module performs
46865         half as many malloc calls), with the addition that...
46866         (getgroup, getuser): Consistently record a non-match via an empty
46867         "name" string, and map an empty string match to a NULL return value.
46868         * modules/idcache (Depends-on): Re-add flexmember.
46869
46870         * lib/idcache.c (getuser): Remove all uses of the register keyword.
46871         (getuidbyname, getgroup, getgidbyname): Likewise.
46872
46873         Use cleaner syntax: NULL rather than 0.
46874         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
46875
46876 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46877
46878         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
46879         It mishandled the case where the group was missing.
46880         Problem reported by Greg Schafer.
46881         * modules/idcache: Likewise.
46882
46883 2006-11-18  Jim Meyering  <jim@meyering.net>
46884
46885         * check-module (%exempt_header): Add exception for some
46886         conditionally-included headers.
46887
46888         * modules/i-ring (Depends-on): Add verify.
46889         (License): Change to LGPL.
46890
46891 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46892
46893         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
46894         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
46895         and inttostr.h.  Use snprintf rather than uinttostr, so that
46896         LGPLed code doesn't depend on GPLed.
46897
46898 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46899
46900         * modules/inline (License): Change from GPL to LGPL.
46901
46902 2006-11-17  Jim Meyering  <jim@meyering.net>
46903
46904         * modules/d-type (License): Switch to LGPL.
46905
46906 2006-11-15  Bruno Haible  <bruno@clisp.org>
46907
46908         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
46909
46910 2006-11-15  Eric Blake  <ebb9@byu.net>
46911
46912         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
46913         the module dependency.
46914
46915 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46916             Bruno Haible  <bruno@clisp.org>
46917
46918         * gnulib-tool (func_create_testdir): Add license consistency check.
46919
46920 2006-11-15  Eric Blake  <ebb9@byu.net>
46921
46922         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
46923         random "(cached)" in configure output.
46924
46925 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46926
46927         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
46928         test for conforming inttypes.h is both announced and cached.
46929
46930         * MODULES.html.sh (seen_modules, seen_files): New variables.
46931         (func_module): Rewrite to use a few less gnulib-tool and sed
46932         invocations.  Avoid a couple of quadratic algorithms for ...
46933         (missed_modules, missed_files): ... these, with ...
46934         (func_append, func_tmpdir): ... these new functions, from
46935         gnulib-tool.  Analogously, install traps for cleanup.
46936
46937         * tests/test-gc.c (main): Remove unused variables.
46938         * tests/test-read-file.c: Include stdlib.h, for 'free'.
46939
46940 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
46941
46942         * modules/inttostr (License): Change to LGPL.
46943
46944 2006-11-14  Eric Blake  <ebb9@byu.net>
46945
46946         * modules/tempname (License): Change to LGPL.
46947
46948 2006-11-14  Eric Blake  <ebb9@byu.net>
46949
46950         * doc/functions.texi (Function Portability): *printf functions on
46951         Cygwin now understand all POSIX size specifiers.
46952
46953 2006-11-14  Bruno Haible  <bruno@clisp.org>
46954
46955         * modules/c-ctype (License): Change to LGPL.
46956
46957 2006-11-12  Bruno Haible  <bruno@clisp.org>
46958
46959         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
46960         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
46961         for GNOME libraries, for which the include files are installed in
46962         subdirectories of $prefix/include.
46963
46964 2006-11-12  Bruno Haible  <bruno@clisp.org>
46965
46966         * m4/lib-link.m4: Require at least autoconf-2.54.
46967         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
46968         name to underscores for the --with option.
46969
46970 2006-11-13  Bruno Haible  <bruno@clisp.org>
46971
46972         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
46973         the tests directory.
46974         Reported by Ralf Wildenhues.
46975
46976 2006-11-13  Bruno Haible  <bruno@clisp.org>
46977
46978         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
46979         (func_emit_initmacro_end): Undo the override here.
46980         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
46981         Works around the famous automake error in coreutils.
46982
46983 2006-11-13  Eric Blake  <ebb9@byu.net>
46984
46985         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
46986         element, not its node.
46987
46988 2006-11-12  Bruno Haible  <bruno@clisp.org>
46989
46990         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
46991         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
46992
46993 2006-11-12  Bruno Haible  <bruno@clisp.org>
46994
46995         * gnulib-tool: New option --local-symlink.
46996         (func_usage): Document it.
46997         (lsymbolic): New variable.
46998         (func_import, func_create_testdir): If --symlink was not specified,
46999         test whether --local-symlink was specified and the file comes from
47000         the local_gnulib_dir.
47001
47002 2006-11-12  Bruno Haible  <bruno@clisp.org>
47003
47004         * gnulib-tool (func_ln): New function.
47005         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
47006
47007 2006-11-12  Bruno Haible  <bruno@clisp.org>
47008
47009         Finish support for source files in subdirectories.
47010         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
47011         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
47012         AUTOMAKE_OPTIONS.
47013         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
47014
47015 2006-11-12  Bruno Haible  <bruno@clisp.org>
47016
47017         * gnulib-tool (func_get_automake_snippet): Synthesize also an
47018         EXTRA_lib_SOURCES augmentation.
47019         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
47020
47021 2006-11-12  Jim Meyering  <jim@meyering.net>
47022
47023         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
47024         file descriptors.  This also averts a failure on systems with
47025         native openat support when a traversed directory lacks "x" access.
47026         * lib/fts_.h: Include "i-ring.h"
47027         (struct FTS) [fts_fd_ring]: New member.
47028         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
47029         (FCHDIR): Add parentheses.
47030         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
47031         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
47032         When descending, rather than simply closing the previous
47033         fts_cwd_fd value, push that file descriptor onto the ring.
47034         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
47035         (fts_open): Initialize the new fd_ring member.
47036         (fts_close): Clear the ring.
47037         (fts_safe_changedir): When possible, use our new fd_ring to skip
47038         the diropen and fstat and dev/ino comparison that would normally
47039         accompany a virtual `chdir ("..")'.
47040
47041         * modules/fts (Depends-on): Add i-ring.
47042         * modules/i-ring: New module.
47043         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
47044         * m4/i-ring.m4: New file.
47045
47046 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47047
47048         * gnulib-tool (func_create_testdir): Fix replacement of
47049         `build-aux' in configure.ac.  Run autotools in gltests
47050         subdirectory.
47051         (func_create_testdir, func_create_megatestdir, test): There is
47052         no need for '--force' in most autotool invocations in a new
47053         tree.  Actually fail the whole test if any of the tools, or the
47054         configure or make stages fail.
47055
47056         Sync from Automake.
47057         * build-aux/gnupload: Revert last change.  Add pointer to upload
47058         instructions of the GNU Maintenance Instructions.
47059         Suggestion by Karl Berry.
47060
47061 2006-11-10  Jim Meyering  <jim@meyering.net>
47062
47063         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
47064
47065 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
47066
47067         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
47068         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
47069         (bind_textdomain_codeset) [! ENABLE_NLS]:
47070         Evaluate all the arguments.  That way, callers get compatible behavior
47071         if the arguments have side effects.  Also, it avoids some GCC
47072         diagnostics in some cases; Joel E. Denny reported problems when Bison
47073         was configured with --enable-gcc-warnigs.
47074
47075 2006-11-10  Jim Meyering  <jim@meyering.net>
47076
47077         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
47078         relevant options in CFLAGS (like -O, -fno-inline) are taken into
47079         account.
47080
47081 2006-11-10  Jim Meyering  <jim@meyering.net>
47082
47083         * modules/inline: New file/module.
47084         * modules/xalloc (Files): Remove m4/inline.m4.
47085         (Depends-on): Add inline, instead.
47086         * modules/oset: Likewise.
47087         * modules/list: Likewise.
47088
47089 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
47090
47091         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
47092         Problem reported by Matthew Woehlke.
47093
47094 2006-11-09  Bruno Haible  <bruno@clisp.org>
47095
47096         * lib/tempname.c (gen_tempname): Remove variant that invokes
47097         __gen_tempname.
47098         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
47099         __gen_tempname.
47100
47101 2006-11-08  Bruno Haible  <bruno@clisp.org>
47102
47103         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
47104         to 'yes' instead of 'cross-compiling'.
47105
47106 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
47107
47108         * lib/quotearg.h (quotearg_free): New decl.
47109         * lib/quotearg.c (quotearg_free): New function.
47110         (slot0, nslots, slotvec0, slotvec):
47111         Now file-scope so that quotearg_free can get at them.
47112
47113 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47114
47115         Sync from Automake.
47116         * build-aux/gnupload: Add missing 'gnu' to example URL.
47117         Report by Karl Berry.
47118
47119 2006-11-08  Bruno Haible  <bruno@clisp.org>
47120
47121         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
47122         Suggested by Paul Eggert.
47123
47124 2006-11-08  Jim Meyering  <jim@meyering.net>
47125
47126         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
47127         It's already included if !_LIBC.
47128         (fts_safe_changedir): Add a comment.
47129
47130 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47131
47132         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
47133         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
47134         Matthew Woehlke.
47135
47136         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
47137         definitions up, to avoid colliding with change below.
47138         (static_inline) [HAVE_INLINE]: New macro.
47139         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
47140         Provide extern decls when !HAVE_INLINE.  Do not define unless
47141         static_inline is defined, either by us or by xmalloc.c.  Use
47142         static_inline rather than static inline.
47143         (XCALLOC): Optimize sizeof(T) = 1 case.
47144         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
47145
47146 2006-11-07  Bruno Haible  <bruno@clisp.org>
47147
47148         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
47149         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
47150         AC_C_INLINE.
47151         * modules/xalloc (Files): Add m4/inline.m4.
47152
47153 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47154
47155         * README: Fix typo.
47156         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
47157         (Miscellanous Notes): ...from this.
47158
47159 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47160
47161         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
47162         Mention that offsetof should be used instead of sizeof.
47163         From Bruno Haible.
47164
47165 2006-11-07  Bruno Haible  <bruno@clisp.org>
47166
47167         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
47168
47169 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
47170
47171         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
47172         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
47173         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
47174         (gl_tree_add_before, gl_tree_add_after):
47175         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
47176         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
47177         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
47178         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
47179         (gl_linked_add_after, gl_linked_add_at): Likewise.
47180         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
47181         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
47182         (gl_tree_add_before, gl_tree_add_after): Likewise.
47183         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
47184         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
47185         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
47186
47187 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47188
47189         * lib/gl_oset.h: Use C comment style, not C++ comment style.
47190
47191 2006-11-06  Bruno Haible  <bruno@clisp.org>
47192
47193         * m4/inline.m4: New file.
47194         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
47195         * modules/list (Files): Add m4/inline.m4.
47196         * modules/oset (Files): Likewise.
47197
47198 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
47199
47200         * lib/idcache.c: Include <stddef.h>, for offsetof.
47201         (struct userid.name): Change from char * to a flexible array member.
47202         All uses changed.
47203         * modules/idcache (Depends-on): Add flexmember.
47204
47205         * MODULES.html.sh (Core language properties): New module flexmember.
47206         * modules/flexmember, m4/flexmember.m4: New files.
47207
47208         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
47209         inline functions that are identical with the old xnmalloc_inline,
47210         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
47211         that we can avoid some unnecessary integer multiplications and
47212         divisions in the common case where the element size is known at
47213         compile time.
47214         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
47215         needed.
47216         (xnboundedmalloc): Remove.
47217         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
47218         arguments, for consistency with rest of this header.
47219         (xcharalloc): Rewrite using XNMALLOC.
47220         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
47221         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
47222         versions have been moved to lib/xalloc.h and renamed to be the
47223         non-*_inline versions.
47224         (xmalloc, xrealloc): Implement without reference to the xnmalloc
47225         and xnrealloc functions, since those functions are now inline and
47226         now call us.
47227         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
47228         renaming described above.
47229         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
47230         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
47231         captures the dependency in AC_C_INLINE.
47232
47233         New module canonicalize-lgpl, proposed by Charles Wilson in
47234         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
47235         with a few small changes afterwards.
47236         * MODULES.html.sh (File system functions): New module
47237         canonicalize-lgpl.
47238         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
47239         and canonicalize_file_name.
47240         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
47241         * modules/canonicalize-lgpl: New files.
47242
47243 2006-11-05  Bruno Haible  <bruno@clisp.org>
47244
47245         * gnulib-tool (func_import, func_create_testdir): Create directories
47246         also for files in subdirectories of lib/.
47247
47248 2006-11-05  Bruno Haible  <bruno@clisp.org>
47249
47250         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
47251         ANSI C compliant.
47252
47253 2006-11-03  Bruno Haible  <bruno@clisp.org>
47254
47255         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
47256         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
47257         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
47258         (xnboundedmalloc): New inline function.
47259         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
47260         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
47261         xmalloc.
47262         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
47263         xmalloc.
47264         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
47265         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
47266         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
47267         xmalloc.
47268         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
47269         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
47270         xmalloc.
47271         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
47272         gl_tree_add_after): Use XMALLOC instead of xmalloc.
47273         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
47274         xmalloc.
47275         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
47276         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
47277         gl_tree_add_after): Use XMALLOC instead of xmalloc.
47278         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
47279         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
47280         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
47281         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
47282
47283 2006-11-03  Bruno Haible  <bruno@clisp.org>
47284
47285         * lib/c-ctype.h [C++]: Define functions without name mangling.
47286         * lib/fwriteerror.h [C++]: Likewise.
47287         * lib/gcd.h [C++]: Likewise.
47288         * lib/linebreak.h [C++]: Likewise.
47289
47290 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
47291
47292         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
47293         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
47294         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
47295         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
47296         Check for functions and headers just once.
47297         Check for declaration of canonicalize_file_name.
47298         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
47299
47300 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
47301
47302         * gnulib-tool (func_import): Fix typo in actioncmd.
47303
47304 2006-11-02  Bruno Haible  <bruno@clisp.org>
47305
47306         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
47307         newline sequence in the Makefile.am snippet as a space, like "make"
47308         does.
47309         Reported by Roger Persson <perrog@gmail.com>.
47310
47311 2006-11-01  Bruno Haible  <bruno@clisp.org>
47312
47313         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
47314         already declared in <string.h>.
47315         * lib/strcase.h (strncasecmp): Don't declare it if yes.
47316
47317 2006-11-01  Bruno Haible  <bruno@clisp.org>
47318
47319         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
47320         * lib/strcase.h: Include <string.h>.
47321         (strcasecmp): Define to rpl_strcasecmp here.
47322
47323 2006-11-01  Bruno Haible  <bruno@clisp.org>
47324
47325         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
47326
47327 2006-11-01  Eric Blake  <ebb9@byu.net>
47328
47329         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
47330
47331         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
47332
47333 2006-10-29  Bruno Haible  <bruno@clisp.org>
47334
47335         Make it compile in C++ mode.
47336         * lib/full-write.c (full_rw): Add a cast.
47337
47338 2006-11-01  Bruno Haible  <bruno@clisp.org>
47339
47340         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
47341         be POSIX compliant.
47342         Reported by Roger Persson <perrog@gmail.com>.
47343
47344 2006-11-01  Eric Blake  <ebb9@byu.net>
47345
47346         * lib/getopt_.h: Fix comments.
47347
47348 2006-10-31  Eric Blake  <ebb9@byu.net>
47349
47350         * modules/tmpdir (Depends-on): Add sys_stat.
47351         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
47352         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
47353         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
47354         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
47355         tempname.
47356
47357 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
47358
47359         Avoid some C++ diagnostics reported by Bruno Haible.
47360         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
47361         xmalloc.
47362         (quotearg_alloc): Use xcharalloc rather than xmalloc.
47363         (struct slotvec): Move to top level.
47364         (quotearg_n_options): Rewrite to avoid xmalloc.
47365         * lib/xalloc.h (xcharalloc): New function.
47366         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
47367         [defined __cplusplus]: Add function template that provides result
47368         type propagation.  This part of the change is from Bruno Haible.
47369
47370 2006-10-29  Bruno Haible  <bruno@clisp.org>
47371
47372         Make it compile in C++ mode.
47373         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
47374         * lib/strnlen1.c (strnlen1): Cast memchr result.
47375         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
47376         * lib/clean-temp.c (string_equals, string_hash): Add casts.
47377         (create_temp_dir): Rename local variable 'template'.
47378         (compile_csharp_using_sscli): Add cast.
47379         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
47380         * lib/findprog.c (find_in_path): Likewise.
47381         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
47382         * lib/wait-process.c (register_slave_subprocess): Likewise.
47383
47384 2006-10-22  Bruno Haible  <bruno@clisp.org>
47385
47386         * modules/tsearch: New file.
47387         * lib/tsearch.h: New file.
47388         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
47389         * m4/tsearch.m4: New file.
47390         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
47391
47392 2006-10-29  Eric Blake  <ebb9@byu.net>
47393
47394         * lib/arcfour.c: Assume config.h.
47395         * lib/arctwo.c: Likewise.
47396         * lib/base64.c: Likewise.
47397         * lib/check-version.c: Likewise.
47398         * lib/crc.c: Likewise.
47399         * lib/des.c: Likewise.
47400         * lib/gc-gnulib.c: Likewise.
47401         * lib/gc-libgcrypt.c: Likewise.
47402         * lib/gc-pbkdf2-sha1.c: Likewise.
47403         * lib/getaddrinfo.c: Likewise.
47404         * lib/getdelim.c: Likewise.
47405         * lib/getline.c: Likewise.
47406         * lib/hmac-md5.c: Likewise.
47407         * lib/hmac-sha1.c: Likewise.
47408         * lib/iconvme.c: Likewise.
47409         * lib/md2.c: Likewise.
47410         * lib/md4.c: Likewise.
47411         * lib/memxor.c: Likewise.
47412         * lib/read-file.c: Likewise.
47413         * lib/readline.c: Likewise.
47414         * lib/rijndael-alg-fst.c: Likewise.
47415         * lib/rijndael-api-fst.c: Likewise.
47416         * lib/xgetdomainname.c: Likewise.
47417
47418 2006-10-28  Eric Blake  <ebb9@byu.net>
47419
47420         * lib/xstrndup.c: Assume config.h.
47421
47422 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
47423
47424         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
47425         stat-macros.h is now for our own macros, whereas stat_h is for
47426         macros in the <sys/stat.h> name space.
47427         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
47428         (STAT_MACROS_H): Remove.
47429         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
47430         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
47431         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
47432         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
47433         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
47434         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
47435         Move these macros to ...
47436         * lib/stat_.h: here.  Don't include stat-macros.h.
47437         * lib/canonicalize.c: Don't include stat-macros.h.
47438         * lib/chown.c: Likewise.
47439         * lib/euidaccess.c: Likewise.
47440         * lib/file-type.c: Likewise.
47441         * lib/filemode.c: Likewise.
47442         * lib/glob.c: Likewise.
47443         * lib/isapipe.c: Likewise.
47444         * lib/lchown.c: Likewise.
47445         * lib/lstat.c: Likewise.
47446         * lib/mkdir-p.c: Likewise.
47447         * lib/rmdir.c: Likewise.
47448         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
47449         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
47450         unless mkdir isn't declared, to speed up 'configure'.
47451         Always create sys/stat.h, since it's unlikely any real sys/stat.h
47452         would define all the S_* symbols.
47453         * modules/canonicalize (Depends-on):
47454         Depend on sys_stat, not stat-macros.
47455         * modules/chown: Likewise.
47456         * modules/euidaccess: Likewise.
47457         * modules/filemode: Likewise.
47458         * modules/file-type: Likewise.
47459         * modules/glob: Likewise.
47460         * modules/isapipe: Likewise.
47461         * modules/lchown: Likewise.
47462         * modules/lstat: Likewise.
47463         * modules/mkancesdirs: Likewise.
47464         * modules/rmdir: Likewise.
47465         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
47466         * modules/modechange: Likewise.
47467         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
47468         (configure.ac): Remove gl_STAT_MACROS.
47469         * modules/sys_stat (Depends-on): Remove stat-macros.
47470
47471 2006-10-27  Bruno Haible  <bruno@clisp.org>
47472
47473         * m4/signed.m4: Remove file.
47474         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
47475         invocation.
47476         * modules/vasnprintf (Files): Remove m4/signed.m4.
47477
47478 2006-10-27  Bruno Haible  <bruno@clisp.org>
47479
47480         Update to GNU gettext 0.16.
47481         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
47482         m4/inttypes-h.m4, m4/signed.m4.
47483         * m4/gettext.m4: Update to GNU gettext 0.16.
47484         * m4/intl.m4: New file, from GNU gettext.
47485         * m4/intldir.m4: New file, from GNU gettext.
47486         * config/srclist.txt: Update
47487
47488 2006-10-27  Eric Blake  <ebb9@byu.net>
47489
47490         * MODULES.html.sh: Document tempname.
47491         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
47492         dependencies.
47493         (Files): Move lib/tempname.c...
47494         * modules/tempname: ...to this new module.
47495         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
47496         (gl_PREREQ_TEMPNAME): Move...
47497         * m4/tempname.m4: ...to this new file.
47498         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
47499         * modules/sys_stat (Depends-on): Add stat-macros.
47500         * lib/stat_.h (includes): Pick up stat macros.
47501         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
47502         if stat macros are broken.
47503         * lib/tempname.c (includes): No need to include "stat-macros.h".
47504         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
47505         (direxists, __path_search) [!_LIBC]: Don't compile these in
47506         gnulib; the tmpdir module covers that.
47507         * lib/tempname.h: New file.
47508
47509 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
47510
47511         * COPYING: Explain how gnulib-tool converts licence headers.
47512         Almost all wording by Eric Blake.
47513
47514 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
47515
47516         * lib/mbchar.h (is_basic_table): Make read-only.
47517         * lib/mbchar.c (is_basic_table): Likewise.
47518         Reported by John Darrington.
47519
47520 2006-10-25  Bruno Haible  <bruno@clisp.org>
47521
47522         * lib/progname.h (set_program_name): Undefine before defining.
47523
47524 2006-10-25  Bruno Haible  <bruno@clisp.org>
47525
47526         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
47527         false for non-gcc C++ compilers.
47528         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
47529
47530 2006-10-24  Bruno Haible  <bruno@clisp.org>
47531
47532         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
47533         iconv implementations like Irix iconv.
47534
47535 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47536
47537         * modules/vararrays: New file.
47538         * m4/vararrays.m4: New file, taken from diffutils.
47539         * MODULES.html.sh: New module vararrays.
47540
47541 2006-10-24  Karl Berry  <karl@gnu.org>
47542
47543         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
47544         Don't call GNU Unix.
47545
47546 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47547
47548         * users.txt: Add Libtool.
47549
47550         Sync from Libtool:
47551
47552         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47553
47554         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
47555         to gnulib's policy of including config.h unconditionally.
47556
47557 2006-10-24  Bruno Haible  <bruno@clisp.org>
47558
47559         * modules/wcwidth (Files): Add m4/wint_t.m4.
47560         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
47561         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
47562
47563 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47564
47565         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
47566         to pacify GCC with some -W flags enabled.  Problem reported by
47567         Bruno Haible.
47568
47569 2006-10-24  Jim Meyering  <jim@meyering.net>
47570
47571         * MODULES.html.sh: Remove uinttostr.  It's not a module.
47572         Reported by Karl Berry.
47573
47574 2006-10-23  Bruno Haible  <bruno@clisp.org>
47575
47576         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
47577
47578 2006-10-24  Bruno Haible  <bruno@clisp.org>
47579
47580         * lib/gl_list.h: Use C comment style, not C++ comment style.
47581
47582 2006-10-23  Eric Blake  <ebb9@byu.net>
47583
47584         * lib/getaddrinfo.c (includes): Add missing include.
47585
47586 2006-10-23  Bruno Haible  <bruno@clisp.org>
47587             Paul Eggert  <eggert@cs.ucla.edu>
47588
47589         Ability to rename obstack_free.
47590         * lib/obstack.h (__obstack_free): New macro. Declare instead of
47591         obstack_free.
47592         (obstack_free): Invoke the __obstack_free macro.
47593         * lib/obstack.c (obstack_free): Use __obstack_free macro.
47594
47595 2006-10-23  Bruno Haible  <bruno@clisp.org>
47596             Paul Eggert  <eggert@cs.ucla.edu>
47597
47598         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
47599         __argc, __argv from the declaration. (They are defined as macros on
47600         mingw.)
47601
47602 2006-10-22  Bruno Haible  <bruno@clisp.org>
47603
47604         * doc/gnulib-intro.texi: New file.
47605         * doc/gnulib.texi: Include it.
47606
47607 2006-10-21  Bruno Haible  <bruno@clisp.org>
47608
47609         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
47610         "Introduction", "Miscellanous Notes", "Particular Modules".
47611
47612 2006-10-21  Bruno Haible  <bruno@clisp.org>
47613
47614         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47615         Change mostlyclean-local rule to avoid sh syntax error from bash
47616         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
47617
47618 2006-10-23  Jim Meyering  <jim@meyering.net>
47619
47620         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
47621         in place of snprintf.
47622
47623         * modules/inttostr (Files): Add lib/uinttostr.c.
47624         * lib/uinttostr.c (inttostr): New file/function.
47625         * lib/inttostr.h (uinttostr): Declare.
47626         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
47627         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
47628         Add uinttostr.
47629         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
47630
47631 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
47632
47633         * lib/canonicalize.c (ELOOP): Define if not already defined.
47634         Problem reported by Bruno Haible in
47635         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
47636
47637 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
47638
47639         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
47640         Problem reported by Perry Smith and Ville Laurikari.
47641
47642         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
47643         uses.
47644
47645 2006-10-19  Bruno Haible  <bruno@clisp.org>
47646
47647         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
47648         for mingw.
47649
47650 2006-10-19  Bruno Haible  <bruno@clisp.org>
47651
47652         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
47653         Needed for mingw.
47654
47655 2006-10-19  Bruno Haible  <bruno@clisp.org>
47656
47657         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
47658
47659 2006-10-19  Bruno Haible  <bruno@clisp.org>
47660
47661         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
47662         it.
47663
47664 2006-10-19  Bruno Haible  <bruno@clisp.org>
47665
47666         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
47667         invocation.
47668
47669 2006-10-19  Bruno Haible  <bruno@clisp.org>
47670
47671         * gnulib-tool (func_create_testdir): Don't include ftruncate and
47672         mountlist by default.
47673
47674 2006-10-16  Bruno Haible  <bruno@clisp.org>
47675
47676         * lib/c-strstr.c: Include c-strstr.h.
47677
47678 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
47679
47680         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
47681         in a slash.
47682
47683 2006-10-18  Bruno Haible  <bruno@clisp.org>
47684
47685         * lib/lock.h [C++]: Wrap definitions in extern "C".
47686
47687 2006-10-18  Bruno Haible  <bruno@clisp.org>
47688
47689         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
47690         gl_LIBOBJS list.
47691
47692 2006-10-18  Bruno Haible  <bruno@clisp.org>
47693
47694         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
47695
47696 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
47697
47698         * lib/xstrtol.h: Include gettext.h.
47699         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
47700         Problem reported by Eric Blake.
47701         * modules/xstrtol (Depends-on): Add gettext-h.
47702
47703 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
47704
47705         * lib/strftime.c (advance): New macro.
47706         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
47707         incomplete type, so you can't add 0 to it.  Problem and patch
47708         reported by Eelco Dolstra for dietlibc.
47709
47710 2006-10-18  Jim Meyering  <jim@meyering.net>
47711
47712         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
47713         type for a local, and rename it: s/up/user_proc/.
47714
47715 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
47716
47717         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
47718         READ_UTMP_USER_PROCESS.
47719         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
47720
47721 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
47722
47723         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
47724         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
47725
47726 2006-10-17  Eric Blake  <ebb9@byu.net>
47727
47728         * lib/sigprocmask.c (sigprocmask): Fix typo.
47729
47730         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
47731
47732         * modules/clean-temp (Makefile.am): Don't add to make output...
47733         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
47734         config.h.
47735
47736 2006-10-17  Bruno Haible  <bruno@clisp.org>
47737
47738         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
47739         differently if DEFAULT_TEXT_DOMAIN is set.
47740
47741 2006-10-16  Bruno Haible  <bruno@clisp.org>
47742
47743         * lib/clean-temp.c: Include fwriteerror.h.
47744
47745 2006-10-16  Bruno Haible  <bruno@clisp.org>
47746
47747         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
47748
47749 2006-10-16  Bruno Haible  <bruno@clisp.org>
47750
47751         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
47752         * lib/sigprocmask.h: Include <sys/types.h>.
47753         (sigset_t): Use the system's definition if present.
47754
47755 2006-10-17  Eric Blake  <ebb9@byu.net>
47756
47757         * lib/xvasprintf.c (includes): Assume config.h.
47758         * lib/xasprintf.c (includes): Likewise.
47759
47760 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47761
47762         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
47763         at least as wide as intmax_t.
47764
47765 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
47766
47767         (Imported from Automake.)
47768         * build-aux/gnupload: Update to version 1.1 of directive file.
47769
47770 2006-10-16  Eric Blake  <ebb9@byu.net>
47771
47772         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
47773         match Automake 1.10a.
47774
47775 2006-10-14  Bruno Haible  <bruno@clisp.org>
47776
47777         * modules/sigprocmask: New file.
47778         * lib/sigprocmask.h: New file.
47779         * lib/sigprocmask.c: New file.
47780         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
47781         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
47782         request sigprocmask.o.
47783         (gl_PREREQ_SIGPROCMASK): New macro.
47784         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
47785         (Depends-on): Add sigprocmask.
47786         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
47787         gt_SIGNALBLOCKING. Test for 'raise' only once.
47788         * lib/fatal-signal.c: Include sigprocmask.h.
47789         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
47790         unblock_fatal_signals): Define always.
47791         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47792         sigprocmask.
47793
47794 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47795
47796         Sync from Automake.
47797         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
47798         which incorrectly sets the mode of an existing destination
47799         directory.  In some cases the unpatched install-sh could do the
47800         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
47801         system.  We hope this is rare in practice, but it's clearly worth
47802         fixing.  Problem reported by Alex Unleashed in
47803         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
47804         Also, don't bother to check for -m bugs unless we're using -m;
47805         suggested by Stepan Kasal.
47806
47807 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47808
47809         Sync from Automake.
47810         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
47811         `-c' flag, so they appear at the same position as in %FASTDEP%
47812         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
47813         which ignores unknown options only after the first non-option.
47814         Bug report against M4 by Nelson H. F. Beebe.
47815
47816 2006-10-13  Jim Meyering  <jim@meyering.net>
47817
47818         Fix a bug in yesterday's change.
47819         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
47820         p->fts_statp->st_dev would be used uninitialized.
47821         Ensures that we always call fts_stat on the very first entry.
47822         Miklos Szeredi reported that find -xdev stopped working.
47823
47824 2006-10-12  Bruno Haible  <bruno@clisp.org>
47825
47826         * gnulib-tool (func_get_automake_snippet): Append an automatically
47827         computed EXTRA_DIST augmentation.
47828         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
47829         * modules/alloca-opt (Makefile.am): Likewise.
47830         * modules/allocsa (Makefile.am): Likewise.
47831         * modules/arcfour (Makefile.am): Likewise.
47832         * modules/arctwo (Makefile.am): Likewise.
47833         * modules/argmatch (Makefile.am): Likewise.
47834         * modules/argz (Makefile.am): Likewise.
47835         * modules/atexit (Makefile.am): Likewise.
47836         * modules/backupfile (Makefile.am): Likewise.
47837         * modules/byteswap (Makefile.am): Likewise.
47838         * modules/c-strtod (Makefile.am): Likewise.
47839         * modules/c-strtold (Makefile.am): Likewise.
47840         * modules/calloc (Makefile.am): Likewise.
47841         * modules/canon-host (Makefile.am): Likewise.
47842         * modules/canonicalize (Makefile.am): Likewise.
47843         * modules/chdir-long (Makefile.am): Likewise.
47844         * modules/chdir-safer (Makefile.am): Likewise.
47845         * modules/check-version (Makefile.am): Likewise.
47846         * modules/chown (Makefile.am): Likewise.
47847         * modules/cloexec (Makefile.am): Likewise.
47848         * modules/close-stream (Makefile.am): Likewise.
47849         * modules/closeout (Makefile.am): Likewise.
47850         * modules/crc (Makefile.am): Likewise.
47851         * modules/csharpexec (Makefile.am): Likewise.
47852         * modules/cycle-check (Makefile.am): Likewise.
47853         * modules/des (Makefile.am): Likewise.
47854         * modules/dev-ino (Makefile.am): Likewise.
47855         * modules/dirfd (Makefile.am): Likewise.
47856         * modules/dirname (Makefile.am): Likewise.
47857         * modules/dup2 (Makefile.am): Likewise.
47858         * modules/eealloc (Makefile.am): Likewise.
47859         * modules/error (Makefile.am): Likewise.
47860         * modules/euidaccess (Makefile.am): Likewise.
47861         * modules/exclude (Makefile.am): Likewise.
47862         * modules/exitfail (Makefile.am): Likewise.
47863         * modules/fcntl-safer (Makefile.am): Likewise.
47864         * modules/fcntl (Makefile.am): Likewise.
47865         * modules/file-type (Makefile.am): Likewise.
47866         * modules/fileblocks (Makefile.am): Likewise.
47867         * modules/filemode (Makefile.am): Likewise.
47868         * modules/filenamecat (Makefile.am): Likewise.
47869         * modules/fnmatch (Makefile.am): Likewise.
47870         * modules/fopen-safer (Makefile.am): Likewise.
47871         * modules/fpending (Makefile.am): Likewise.
47872         * modules/fprintftime (Makefile.am): Likewise.
47873         * modules/free (Makefile.am): Likewise.
47874         * modules/fsusage (Makefile.am): Likewise.
47875         * modules/ftruncate (Makefile.am): Likewise.
47876         * modules/fts (Makefile.am): Likewise.
47877         * modules/gc-arcfour (Makefile.am): Likewise.
47878         * modules/gc-des (Makefile.am): Likewise.
47879         * modules/gc-hmac-md5 (Makefile.am): Likewise.
47880         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
47881         * modules/gc-md4 (Makefile.am): Likewise.
47882         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
47883         * modules/gc-sha1 (Makefile.am): Likewise.
47884         * modules/gc (Makefile.am): Likewise.
47885         * modules/getaddrinfo (Makefile.am): Likewise.
47886         * modules/getcwd (Makefile.am): Likewise.
47887         * modules/getdelim (Makefile.am): Likewise.
47888         * modules/getdomainname (Makefile.am): Likewise.
47889         * modules/getgroups (Makefile.am): Likewise.
47890         * modules/gethostname (Makefile.am): Likewise.
47891         * modules/gethrxtime (Makefile.am): Likewise.
47892         * modules/getline (Makefile.am): Likewise.
47893         * modules/getloadavg (Makefile.am): Likewise.
47894         * modules/getlogin_r (Makefile.am): Likewise.
47895         * modules/getndelim2 (Makefile.am): Likewise.
47896         * modules/getopt (Makefile.am): Likewise.
47897         * modules/getpagesize (Makefile.am): Likewise.
47898         * modules/getpass-gnu (Makefile.am): Likewise.
47899         * modules/getpass (Makefile.am): Likewise.
47900         * modules/getsubopt (Makefile.am): Likewise.
47901         * modules/gettime (Makefile.am): Likewise.
47902         * modules/gettimeofday (Makefile.am): Likewise.
47903         * modules/getugroups (Makefile.am): Likewise.
47904         * modules/getusershell (Makefile.am): Likewise.
47905         * modules/glob (Makefile.am): Likewise.
47906         * modules/group-member (Makefile.am): Likewise.
47907         * modules/hard-locale (Makefile.am): Likewise.
47908         * modules/hash (Makefile.am): Likewise.
47909         * modules/hmac-md5 (Makefile.am): Likewise.
47910         * modules/hmac-sha1 (Makefile.am): Likewise.
47911         * modules/human (Makefile.am): Likewise.
47912         * modules/idcache (Makefile.am): Likewise.
47913         * modules/imaxabs (Makefile.am): Likewise.
47914         * modules/imaxdiv (Makefile.am): Likewise.
47915         * modules/inet_ntop (Makefile.am): Likewise.
47916         * modules/inet_pton (Makefile.am): Likewise.
47917         * modules/intprops (Makefile.am): Likewise.
47918         * modules/inttostr (Makefile.am): Likewise.
47919         * modules/inttypes (Makefile.am): Likewise.
47920         * modules/isapipe (Makefile.am): Likewise.
47921         * modules/javaversion (Makefile.am): Likewise.
47922         * modules/lchmod (Makefile.am): Likewise.
47923         * modules/lchown (Makefile.am): Likewise.
47924         * modules/localcharset (Makefile.am): Likewise.
47925         * modules/long-options (Makefile.am): Likewise.
47926         * modules/lstat (Makefile.am): Likewise.
47927         * modules/malloc (Makefile.am): Likewise.
47928         * modules/mathl (Makefile.am): Likewise.
47929         * modules/mbchar (Makefile.am): Likewise.
47930         * modules/md2 (Makefile.am): Likewise.
47931         * modules/md4 (Makefile.am): Likewise.
47932         * modules/md5 (Makefile.am): Likewise.
47933         * modules/memcasecmp (Makefile.am): Likewise.
47934         * modules/memchr (Makefile.am): Likewise.
47935         * modules/memcmp (Makefile.am): Likewise.
47936         * modules/memcoll (Makefile.am): Likewise.
47937         * modules/memcpy (Makefile.am): Likewise.
47938         * modules/memmem (Makefile.am): Likewise.
47939         * modules/memmove (Makefile.am): Likewise.
47940         * modules/mempcpy (Makefile.am): Likewise.
47941         * modules/memrchr (Makefile.am): Likewise.
47942         * modules/memset (Makefile.am): Likewise.
47943         * modules/memxor (Makefile.am): Likewise.
47944         * modules/mkancesdirs (Makefile.am): Likewise.
47945         * modules/mkdir-p (Makefile.am): Likewise.
47946         * modules/mkdir (Makefile.am): Likewise.
47947         * modules/mkdtemp (Makefile.am): Likewise.
47948         * modules/mkstemp (Makefile.am): Likewise.
47949         * modules/mktime (Makefile.am): Likewise.
47950         * modules/modechange (Makefile.am): Likewise.
47951         * modules/mountlist (Makefile.am): Likewise.
47952         * modules/nanosleep (Makefile.am): Likewise.
47953         * modules/obstack (Makefile.am): Likewise.
47954         * modules/openat (Makefile.am): Likewise.
47955         * modules/pagealign_alloc (Makefile.am): Likewise.
47956         * modules/pathmax (Makefile.am): Likewise.
47957         * modules/physmem (Makefile.am): Likewise.
47958         * modules/poll (Makefile.am): Likewise.
47959         * modules/posixtm (Makefile.am): Likewise.
47960         * modules/posixver (Makefile.am): Likewise.
47961         * modules/putenv (Makefile.am): Likewise.
47962         * modules/quote (Makefile.am): Likewise.
47963         * modules/quotearg (Makefile.am): Likewise.
47964         * modules/raise (Makefile.am): Likewise.
47965         * modules/read-file (Makefile.am): Likewise.
47966         * modules/readline (Makefile.am): Likewise.
47967         * modules/readlink (Makefile.am): Likewise.
47968         * modules/readtokens (Makefile.am): Likewise.
47969         * modules/readutmp (Makefile.am): Likewise.
47970         * modules/realloc (Makefile.am): Likewise.
47971         * modules/regex (Makefile.am): Likewise.
47972         * modules/rename-dest-slash (Makefile.am): Likewise.
47973         * modules/rename (Makefile.am): Likewise.
47974         * modules/rijndael (Makefile.am): Likewise.
47975         * modules/rmdir (Makefile.am): Likewise.
47976         * modules/rpmatch (Makefile.am): Likewise.
47977         * modules/safe-read (Makefile.am): Likewise.
47978         * modules/safe-write (Makefile.am): Likewise.
47979         * modules/same-inode (Makefile.am): Likewise.
47980         * modules/same (Makefile.am): Likewise.
47981         * modules/save-cwd (Makefile.am): Likewise.
47982         * modules/savedir (Makefile.am): Likewise.
47983         * modules/setenv (Makefile.am): Likewise.
47984         * modules/settime (Makefile.am): Likewise.
47985         * modules/sha1 (Makefile.am): Likewise.
47986         * modules/sig2str (Makefile.am): Likewise.
47987         * modules/snprintf (Makefile.am): Likewise.
47988         * modules/stat-macros (Makefile.am): Likewise.
47989         * modules/stat-time (Makefile.am): Likewise.
47990         * modules/stdbool (Makefile.am): Likewise.
47991         * modules/stdint (Makefile.am): Likewise.
47992         * modules/stdlib-safer (Makefile.am): Likewise.
47993         * modules/stpcpy (Makefile.am): Likewise.
47994         * modules/stpncpy (Makefile.am): Likewise.
47995         * modules/strcase (Makefile.am): Likewise.
47996         * modules/strcasestr (Makefile.am): Likewise.
47997         * modules/strchrnul (Makefile.am): Likewise.
47998         * modules/strcspn (Makefile.am): Likewise.
47999         * modules/strdup (Makefile.am): Likewise.
48000         * modules/strerror (Makefile.am): Likewise.
48001         * modules/strftime (Makefile.am): Likewise.
48002         * modules/strndup (Makefile.am): Likewise.
48003         * modules/strnlen (Makefile.am): Likewise.
48004         * modules/strpbrk (Makefile.am): Likewise.
48005         * modules/strsep (Makefile.am): Likewise.
48006         * modules/strstr (Makefile.am): Likewise.
48007         * modules/strtod (Makefile.am): Likewise.
48008         * modules/strtoimax (Makefile.am): Likewise.
48009         * modules/strtok_r (Makefile.am): Likewise.
48010         * modules/strtol (Makefile.am): Likewise.
48011         * modules/strtoll (Makefile.am): Likewise.
48012         * modules/strtoul (Makefile.am): Likewise.
48013         * modules/strtoull (Makefile.am): Likewise.
48014         * modules/strtoumax (Makefile.am): Likewise.
48015         * modules/strverscmp (Makefile.am): Likewise.
48016         * modules/sys_socket (Makefile.am): Likewise.
48017         * modules/sys_stat (Makefile.am): Likewise.
48018         * modules/sysexits (Makefile.am): Likewise.
48019         * modules/time_r (Makefile.am): Likewise.
48020         * modules/timegm (Makefile.am): Likewise.
48021         * modules/timespec (Makefile.am): Likewise.
48022         * modules/tmpfile-safer (Makefile.am): Likewise.
48023         * modules/trim (Makefile.am): Likewise.
48024         * modules/unistd-safer (Makefile.am): Likewise.
48025         * modules/unlinkdir (Makefile.am): Likewise.
48026         * modules/unlocked-io (Makefile.am): Likewise.
48027         * modules/userspec (Makefile.am): Likewise.
48028         * modules/utime (Makefile.am): Likewise.
48029         * modules/utimecmp (Makefile.am): Likewise.
48030         * modules/utimens (Makefile.am): Likewise.
48031         * modules/vasnprintf (Makefile.am): Likewise.
48032         * modules/vasprintf (Makefile.am): Likewise.
48033         * modules/vsnprintf (Makefile.am): Likewise.
48034         * modules/xalloc (Makefile.am): Likewise.
48035         * modules/xgetcwd (Makefile.am): Likewise.
48036         * modules/xnanosleep (Makefile.am): Likewise.
48037         * modules/xreadlink (Makefile.am): Likewise.
48038         * modules/xstrtod (Makefile.am): Likewise.
48039         * modules/xstrtol (Makefile.am): Likewise.
48040         * modules/xstrtold (Makefile.am): Likewise.
48041         * modules/yesno (Makefile.am): Likewise.
48042         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
48043
48044 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48045
48046         * modules/error (Makefile.am): Distribute files through
48047         EXTRA_DIST, not lib_SOURCES.
48048
48049 2006-10-12  Eric Blake  <ebb9@byu.net>
48050
48051         * modules/error (Makefile.am): Distribute files in /lib.
48052         * modules/obstack (Makefile.am): Likewise.
48053
48054 2006-10-12  Bruno Haible  <bruno@clisp.org>
48055
48056         * modules/acl (Makefile.am): Distribute all files in lib/ through
48057         EXTRA_DIST.
48058         * modules/arcfour (Makefile.am): Likewise.
48059         * modules/arctwo (Makefile.am): Likewise.
48060         * modules/argmatch (Makefile.am): Likewise.
48061         * modules/argz (Makefile.am): Likewise.
48062         * modules/atexit (Makefile.am): Likewise.
48063         * modules/backupfile (Makefile.am): Likewise.
48064         * modules/c-strtod (Makefile.am): Likewise.
48065         * modules/c-strtold (Makefile.am): Likewise.
48066         * modules/calloc (Makefile.am): Likewise.
48067         * modules/canon-host (Makefile.am): Likewise.
48068         * modules/canonicalize (Makefile.am): Likewise.
48069         * modules/chdir-long (Makefile.am): Likewise.
48070         * modules/chdir-safer (Makefile.am): Likewise.
48071         * modules/check-version (Makefile.am): Likewise.
48072         * modules/chown (Makefile.am): Likewise.
48073         * modules/cloexec (Makefile.am): Likewise.
48074         * modules/close-stream (Makefile.am): Likewise.
48075         * modules/closeout (Makefile.am): Likewise.
48076         * modules/crc (Makefile.am): Likewise.
48077         * modules/cycle-check (Makefile.am): Likewise.
48078         * modules/des (Makefile.am): Likewise.
48079         * modules/dirfd (Makefile.am): Likewise.
48080         * modules/dirname (Makefile.am): Likewise.
48081         * modules/dup2 (Makefile.am): Likewise.
48082         * modules/euidaccess (Makefile.am): Likewise.
48083         * modules/exclude (Makefile.am): Likewise.
48084         * modules/exitfail (Makefile.am): Likewise.
48085         * modules/fcntl-safer (Makefile.am): Likewise.
48086         * modules/file-type (Makefile.am): Likewise.
48087         * modules/fileblocks (Makefile.am): Likewise.
48088         * modules/filemode (Makefile.am): Likewise.
48089         * modules/filenamecat (Makefile.am): Likewise.
48090         * modules/fnmatch (Makefile.am): Likewise.
48091         * modules/fopen-safer (Makefile.am): Likewise.
48092         * modules/fpending (Makefile.am): Likewise.
48093         * modules/fprintftime (Makefile.am): Likewise.
48094         * modules/free (Makefile.am): Likewise.
48095         * modules/fsusage (Makefile.am): Likewise.
48096         * modules/ftruncate (Makefile.am): Likewise.
48097         * modules/fts (Makefile.am): Likewise.
48098         * modules/gc (Makefile.am): Likewise.
48099         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
48100         * modules/getaddrinfo (Makefile.am): Likewise.
48101         * modules/getcwd (Makefile.am): Likewise.
48102         * modules/getdelim (Makefile.am): Likewise.
48103         * modules/getdomainname (Makefile.am): Likewise.
48104         * modules/getgroups (Makefile.am): Likewise.
48105         * modules/gethostname (Makefile.am): Likewise.
48106         * modules/gethrxtime (Makefile.am): Likewise.
48107         * modules/getline (Makefile.am): Likewise.
48108         * modules/getloadavg (Makefile.am): Likewise.
48109         * modules/getlogin_r (Makefile.am): Likewise.
48110         * modules/getopt (Makefile.am): Likewise.
48111         * modules/getpass (Makefile.am): Likewise.
48112         * modules/getpass-gnu (Makefile.am): Likewise.
48113         * modules/getsubopt (Makefile.am): Likewise.
48114         * modules/gettime (Makefile.am): Likewise.
48115         * modules/gettimeofday (Makefile.am): Likewise.
48116         * modules/getugroups (Makefile.am): Likewise.
48117         * modules/getusershell (Makefile.am): Likewise.
48118         * modules/glob (Makefile.am): Likewise.
48119         * modules/group-member (Makefile.am): Likewise.
48120         * modules/hard-locale (Makefile.am): Likewise.
48121         * modules/hash (Makefile.am): Likewise.
48122         * modules/hmac-md5 (Makefile.am): Likewise.
48123         * modules/hmac-sha1 (Makefile.am): Likewise.
48124         * modules/human (Makefile.am): Likewise.
48125         * modules/idcache (Makefile.am): Likewise.
48126         * modules/imaxabs (Makefile.am): Likewise.
48127         * modules/imaxdiv (Makefile.am): Likewise.
48128         * modules/inet_ntop (Makefile.am): Likewise.
48129         * modules/inet_pton (Makefile.am): Likewise.
48130         * modules/inttostr (Makefile.am): Likewise.
48131         * modules/isapipe (Makefile.am): Likewise.
48132         * modules/lchown (Makefile.am): Likewise.
48133         * modules/long-options (Makefile.am): Likewise.
48134         * modules/lstat (Makefile.am): Likewise.
48135         * modules/malloc (Makefile.am): Likewise.
48136         * modules/mathl (Makefile.am): Likewise.
48137         * modules/mbchar (Makefile.am): Likewise.
48138         * modules/md2 (Makefile.am): Likewise.
48139         * modules/md4 (Makefile.am): Likewise.
48140         * modules/md5 (Makefile.am): Likewise.
48141         * modules/memcasecmp (Makefile.am): Likewise.
48142         * modules/memchr (Makefile.am): Likewise.
48143         * modules/memcmp (Makefile.am): Likewise.
48144         * modules/memcoll (Makefile.am): Likewise.
48145         * modules/memcpy (Makefile.am): Likewise.
48146         * modules/memmem (Makefile.am): Likewise.
48147         * modules/memmove (Makefile.am): Likewise.
48148         * modules/mempcpy (Makefile.am): Likewise.
48149         * modules/memrchr (Makefile.am): Likewise.
48150         * modules/memset (Makefile.am): Likewise.
48151         * modules/memxor (Makefile.am): Likewise.
48152         * modules/mkancesdirs (Makefile.am): Likewise.
48153         * modules/mkdir (Makefile.am): Likewise.
48154         * modules/mkdir-p (Makefile.am): Likewise.
48155         * modules/mkdtemp (Makefile.am): Likewise.
48156         * modules/mkstemp (Makefile.am): Likewise.
48157         * modules/mktime (Makefile.am): Likewise.
48158         * modules/modechange (Makefile.am): Likewise.
48159         * modules/mountlist (Makefile.am): Likewise.
48160         * modules/nanosleep (Makefile.am): Likewise.
48161         * modules/openat (Makefile.am): Likewise.
48162         * modules/pagealign_alloc (Makefile.am): Likewise.
48163         * modules/physmem (Makefile.am): Likewise.
48164         * modules/poll (Makefile.am): Likewise.
48165         * modules/posixtm (Makefile.am): Likewise.
48166         * modules/posixver (Makefile.am): Likewise.
48167         * modules/putenv (Makefile.am): Likewise.
48168         * modules/quote (Makefile.am): Likewise.
48169         * modules/quotearg (Makefile.am): Likewise.
48170         * modules/raise (Makefile.am): Likewise.
48171         * modules/read-file (Makefile.am): Likewise.
48172         * modules/readline (Makefile.am): Likewise.
48173         * modules/readlink (Makefile.am): Likewise.
48174         * modules/readtokens (Makefile.am): Likewise.
48175         * modules/readutmp (Makefile.am): Likewise.
48176         * modules/realloc (Makefile.am): Likewise.
48177         * modules/regex (Makefile.am): Likewise.
48178         * modules/rename (Makefile.am): Likewise.
48179         * modules/rename-dest-slash (Makefile.am): Likewise.
48180         * modules/rijndael (Makefile.am): Likewise.
48181         * modules/rmdir (Makefile.am): Likewise.
48182         * modules/rpmatch (Makefile.am): Likewise.
48183         * modules/safe-read (Makefile.am): Likewise.
48184         * modules/safe-write (Makefile.am): Likewise.
48185         * modules/same (Makefile.am): Likewise.
48186         * modules/save-cwd (Makefile.am): Likewise.
48187         * modules/savedir (Makefile.am): Likewise.
48188         * modules/setenv (Makefile.am): Likewise.
48189         * modules/settime (Makefile.am): Likewise.
48190         * modules/sha1 (Makefile.am): Likewise.
48191         * modules/sig2str (Makefile.am): Likewise.
48192         * modules/snprintf (Makefile.am): Likewise.
48193         * modules/stdlib-safer (Makefile.am): Likewise.
48194         * modules/stpcpy (Makefile.am): Likewise.
48195         * modules/stpncpy (Makefile.am): Likewise.
48196         * modules/strcase (Makefile.am): Likewise.
48197         * modules/strcasestr (Makefile.am): Likewise.
48198         * modules/strchrnul (Makefile.am): Likewise.
48199         * modules/strcspn (Makefile.am): Likewise.
48200         * modules/strdup (Makefile.am): Likewise.
48201         * modules/strerror (Makefile.am): Likewise.
48202         * modules/strftime (Makefile.am): Likewise.
48203         * modules/strndup (Makefile.am): Likewise.
48204         * modules/strnlen (Makefile.am): Likewise.
48205         * modules/strpbrk (Makefile.am): Likewise.
48206         * modules/strsep (Makefile.am): Likewise.
48207         * modules/strstr (Makefile.am): Likewise.
48208         * modules/strtod (Makefile.am): Likewise.
48209         * modules/strtoimax (Makefile.am): Likewise.
48210         * modules/strtok_r (Makefile.am): Likewise.
48211         * modules/strtol (Makefile.am): Likewise.
48212         * modules/strtoll (Makefile.am): Likewise.
48213         * modules/strtoul (Makefile.am): Likewise.
48214         * modules/strtoull (Makefile.am): Likewise.
48215         * modules/strtoumax (Makefile.am): Likewise.
48216         * modules/strverscmp (Makefile.am): Likewise.
48217         * modules/time_r (Makefile.am): Likewise.
48218         * modules/timegm (Makefile.am): Likewise.
48219         * modules/tmpfile-safer (Makefile.am): Likewise.
48220         * modules/unistd-safer (Makefile.am): Likewise.
48221         * modules/unlinkdir (Makefile.am): Likewise.
48222         * modules/userspec (Makefile.am): Likewise.
48223         * modules/utime (Makefile.am): Likewise.
48224         * modules/utimecmp (Makefile.am): Likewise.
48225         * modules/utimens (Makefile.am): Likewise.
48226         * modules/vasnprintf (Makefile.am): Likewise.
48227         * modules/vasprintf (Makefile.am): Likewise.
48228         * modules/vsnprintf (Makefile.am): Likewise.
48229         * modules/xalloc (Makefile.am): Likewise.
48230         * modules/xgetcwd (Makefile.am): Likewise.
48231         * modules/xnanosleep (Makefile.am): Likewise.
48232         * modules/xreadlink (Makefile.am): Likewise.
48233         * modules/xstrtod (Makefile.am): Likewise.
48234         * modules/xstrtol (Makefile.am): Likewise.
48235         * modules/xstrtold (Makefile.am): Likewise.
48236         * modules/yesno (Makefile.am): Likewise.
48237
48238 2006-10-12  Jim Meyering  <jim@meyering.net>
48239
48240         * m4/getloadavg.m4: Revert the change below.
48241
48242         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
48243         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
48244         fail with a symlink, which is what coreutils' ./bootstrap now
48245         creates by default.
48246
48247 2006-10-12  Bruno Haible  <bruno@clisp.org>
48248
48249         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
48250         mingw.
48251         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
48252         MSVC and mingw explicitly.
48253
48254 2006-10-11  Simon Josefsson  <jas@extundo.com>
48255             Bruno Haible  <bruno@clisp.org>
48256
48257         Add support for multiple gnulib-tool invocations in the scope of a
48258         single configure.ac file.
48259         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
48260         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
48261         with the same contents as the _LIBADD variable.
48262         (func_emit_initmacro_start, func_emit_initmacro_end,
48263         func_emit_initmacro_done): New functions.
48264         (func_import, func_create_testdir): Invoke them. Allow the identifiers
48265         gl_LIBOBJS and gl_LTLIBOBJS.
48266
48267 2006-10-11  Bruno Haible  <bruno@clisp.org>
48268
48269         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
48270         (func_create_testdir): Don't create po/Makefile.am, don't invoke
48271         autoreconf. Instead, invoke autopoint explicitly but move back the
48272         *.m4 files from gnulib.
48273
48274 2006-10-11  Bruno Haible  <bruno@clisp.org>
48275
48276         * gnulib-tool (func_usage): Make module names after --create-testdir
48277         optional.
48278         (func_create_testdir): If no module was specified, use nearly all
48279         modules.
48280
48281 2006-10-12  Jim Meyering  <jim@meyering.net>
48282
48283         Big performance improvement for fts-based tools that use FTS_NOSTAT.
48284         Avoid spurious inode-mismatch problems on non-POSIX file systems.
48285         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
48286         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
48287         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
48288         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
48289         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
48290         (fts_set_stat_required): New function.
48291         (fts_open): Defer the calls to fts_stat, if possible or requested.
48292         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
48293         into fts_stat itself.
48294         (fts_read): Perform any required (deferred) fts_stat call.
48295         (fts_build): Likewise, for the directory we're about to open and read.
48296         In the readdir loop, carefully decide whether each entry will require
48297         an eventual call to fts_stat, using dirent.d_type info if available.
48298         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
48299         a command line argument into this function.  Update all callers.
48300         Map a return value of FTS_DOT to FTS_D for a command line argument.
48301         * modules/fts (Depends-on): Add d-type.  Alphabetize.
48302         Thanks to Miklos Szeredi for his tenacity and for the initial
48303         bug report about "find" failing on a FUSE-based file system.
48304
48305         * lib/fts.c (fts_open): Use consistent indentation.
48306
48307 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48308
48309         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
48310         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
48311         reported by Jim Meyering.  All uses of cache variables renamed
48312         to match Autoconf's.
48313         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
48314         the other one.
48315
48316         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
48317         Fix misspelling in diagnostic.
48318
48319 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48320
48321         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
48322         defined.  Problem reported by Matthew Woehlke.
48323
48324         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
48325         Add support for Tandem NonStop R series.
48326         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
48327         Use new macro.
48328
48329         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
48330         (has_trailing_slash): Omit size arg; all callers changed.
48331         Omit 'inline', since it doesn't help performance and we'd
48332         need to configure it.
48333         Don't count //, ///, etc. as having a trailing slash.
48334         As a side effect, this removes a C99ism reported by Matthew Woehlke.
48335         (rpl_rename_dest_slash): On failure, use rename's errno rather
48336         than (in some cases) an incorrect or junk errno.
48337         Simplify code by removing need to compute length; this does
48338         cause it to make two passes instead of one over the file name,
48339         but it's worth it.
48340
48341         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
48342         change, since Autoconf's version may no longer be appropriate now
48343         that we are using CVS Autoconf's version.  Add support for Tandem.
48344
48345 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48346             Bruno Haible  <bruno@clisp.org>
48347
48348         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
48349         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
48350         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
48351         gl_AC_TYPE_LONG_LONG.
48352
48353         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
48354         instead of HAVE_LONG_LONG.
48355         * lib/printf-args.c (printf_fetchargs): Likewise.
48356         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
48357         * lib/vasnprintf.c (VASNPRINTF): Likewise.
48358         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
48359         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
48360         gl_AC_TYPE_LONG_LONG.
48361
48362 2006-10-11  Bruno Haible  <bruno@clisp.org>
48363
48364         * m4/longlong.m4: Add comments.
48365         * m4/ulonglong.m4: Likewise.
48366
48367 2006-10-10  Bruno Haible  <bruno@clisp.org>
48368
48369         Make it possible to #define stpcpy, strdup to aliases.
48370         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
48371         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
48372
48373 2006-10-10  Bruno Haible  <bruno@clisp.org>
48374
48375         Make it possible to #define gcd to an alias.
48376         * lib/gcd.c: Include config.h.
48377
48378 2006-10-10  Bruno Haible  <bruno@clisp.org>
48379
48380         Make it possible to #define c_isascii to an alias.
48381         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
48382         defined. Undefine the macros before defining them, to avoid gcc
48383         warnings.
48384         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
48385         define NO_C_CTYPE_MACROS early.
48386
48387 2006-10-10  Bruno Haible  <bruno@clisp.org>
48388
48389         Make it possible to #define set_program_name to an alias.
48390         * lib/progname.c: Don't undefine set_program_name; instead, undefine
48391         ENABLE_RELOCATABLE early.
48392
48393 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
48394
48395         Port to Tandem NSK OSS, which has 64-bit signed int but at most
48396         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
48397         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
48398         More generally, don't assume that 64-bit signed int is available
48399         if unsigned int is, and vice versa.
48400         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
48401         unsigned symbols, not on their signed counterparts.
48402         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
48403         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
48404         (UINT64_C, UINTMAX_C):
48405         Likewise.
48406         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
48407         unsigned counterparts.
48408         (Have_long_long, Unsigned): New macros.
48409         (Int): Renamed from INT.
48410         (strtoimax): Use the new macros.
48411         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
48412         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
48413         * modules/inttypes (inttypes.h): Substitute
48414         HAVE_UNSIGNED_LONG_LONG_INT.
48415         * modules/stdint (stdint.h): Likewise.
48416         (Files): Add m4/ulonglong.m4.
48417
48418 2006-10-10  Bruno Haible  <bruno@clisp.org>
48419
48420         Fix a gcc -Wshadow warning.
48421         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
48422         to 'bucket'.
48423         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
48424         gl_linked_indexof_from_to): Likewise.
48425         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
48426         Likewise.
48427         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
48428         Likewise.
48429         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
48430         Reported by Eric Blake.
48431
48432 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
48433
48434         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
48435         for NetBSD.  Problem reported by Bruno Haible.
48436
48437 2006-10-09  Jim Meyering  <jim@meyering.net>
48438
48439         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
48440         Patch from Bruno Haible.
48441
48442 2006-10-09  Jim Meyering  <jim@meyering.net>
48443
48444         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
48445         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
48446         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
48447
48448 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48449
48450         Don't include <config.h> twice; this doesn't work in some cases,
48451         e.g., when config.h has "#define intmax_t long long int" and
48452         we include <config.h>, <inttypes.h>, <config.h> in that order.
48453         Problem reported by Matthew Woehlke in:
48454         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
48455         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
48456         * lib/fts-cycle.c: Don't include config.h.
48457         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
48458         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
48459         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
48460         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
48461         inttypes.h.
48462         * lib/xstrtoumax.c: Likewise.
48463         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
48464         __strtol and the like, so that this module is more like its siblings.
48465         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
48466         Remove; no longer needed now that we assume gnulib inttypes.h.
48467
48468 2006-10-08  Bruno Haible  <bruno@clisp.org>
48469
48470         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
48471         option.
48472
48473 2006-10-07  Jim Meyering  <jim@meyering.net>
48474
48475         * modules/inttypes (inttypes.h): Revert what seems to have been
48476         an inadvertent part of today's change: use "|", not "/" in the
48477         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
48478
48479 2006-10-07  Bruno Haible  <bruno@clisp.org>
48480
48481         * modules/sublist: New file.
48482
48483 2006-10-07  Bruno Haible  <bruno@clisp.org>
48484
48485         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
48486         * modules/argz (argz.h): Likewise.
48487         * modules/arpa_inet (arpa/inet.h): Likewise.
48488         * modules/byteswap (byteswap.h): Likewise.
48489         * modules/configmake (configmake.h): Likewise.
48490         * modules/fcntl (fcntl.h): Likewise.
48491         * modules/fnmatch (fnmatch.h): Likewise.
48492         * modules/getopt (getopt.h): Likewise.
48493         * modules/glob (glob.h): Likewise.
48494         * modules/inttypes (inttypes.h): Likewise.
48495         * modules/netinet_in (netinet/in.h): Likewise.
48496         * modules/poll (poll.h): Likewise.
48497         * modules/stdbool (stdbool.h): Likewise.
48498         * modules/stdint (stdint.h): Likewise.
48499         * modules/sys_select (sys/select.h): Likewise.
48500         * modules/sys_socket (sys/socket.h): Likewise.
48501         * modules/sys_stat (sys/stat.h): Likewise.
48502         * modules/sysexits (sysexits.h): Likewise.
48503         * modules/unistd (unistd.h): Likewise.
48504         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48505         Add a "DO NOT EDIT" comment to the generated file.
48506         (func_import): Likewise for gnulib-comp.m4.
48507
48508 2006-10-07  Bruno Haible  <bruno@clisp.org>
48509
48510         * lib/gl_sublist.h: New file.
48511         * lib/gl_sublist.c: New file.
48512
48513 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
48514
48515         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
48516         name (relative to the original working directory) and the file
48517         name component (relative to the temporary working directory).  All
48518         callers changed.
48519         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
48520         * lib/mkdir-p.c (make_dir_parents): Likewise.
48521         * lib/mkdir-p.h (make_dir_parents): Likewise.
48522
48523 2006-10-06  Eric Blake  <ebb9@byu.net>
48524
48525         Define several macros for use by the clean-temp module.
48526         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
48527         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
48528         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
48529
48530         * lib/clean-temp.h (close_stream_temp): New declaration.
48531         * lib/clean-temp.c (includes): Pull in headers according to what
48532         other modules are in use.
48533         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
48534
48535 2006-10-06  Bruno Haible  <bruno@clisp.org>
48536
48537         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
48538         instead of fopen, fwriteerror.
48539
48540 2006-10-06  Bruno Haible  <bruno@clisp.org>
48541
48542         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
48543         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
48544         int.
48545         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
48546         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
48547         Return an error indicator.
48548         Suggested by Eric Blake.
48549
48550 2006-10-06  Bruno Haible  <bruno@clisp.org>
48551
48552         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
48553         Reported by Eric Blake.
48554
48555 2006-10-06  Bruno Haible  <bruno@clisp.org>
48556
48557         * modules/closeout (Description): Mention stderr too.
48558
48559 2006-10-06  Bruno Haible  <bruno@clisp.org>
48560         and Paul Eggert  <eggert@cs.ucla.edu>
48561
48562         * lib/closeout.c (close_stdout): Also close stderr.
48563         * lib/closeout.h: Update comment.
48564
48565 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
48566
48567         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
48568         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
48569         * lib/dirchownmod.c: Include lchown.h.
48570         * lib/lchown.c: Don't include files that lchown.h now includes.
48571         Don't declare chown, since lchown.h now does that.
48572         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
48573         (lchown): Define to rpl_chown if lchown is declared but
48574         does not exist.  Declare using a prototype if lchown is not
48575         declared.  Add a copyright notice.
48576         * lib/mkstemp.h: Include <unistd.h>.
48577         * lib/openat.c: Include lchown.h.
48578
48579         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
48580         we now test for that separately.
48581         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
48582         rather than O_NOFOLLOW, when testing whether it's possible to
48583         avoid a race condition reliably.
48584         * lib/savewd.c (savewd_chdir): Likewise.
48585
48586         Remove macros that are no longer needed now that stdint.h is
48587         reliable.
48588         * lib/fsusage.c (UINTMAX_MAX): Remove.
48589         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
48590         * lib/utimecmp.c (SIZE_MAX): Remove.
48591
48592         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
48593
48594         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
48595         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
48596         O_NOATIME works.
48597
48598 2006-10-05  Bruno Haible  <bruno@clisp.org>
48599
48600         * lib/gl_list.h (gl_sortedlist_search_from_to,
48601         gl_sortedlist_indexof_from_to): New declarations.
48602         (gl_list_implementation): New fields sortedlist_search_from_to,
48603         sortedlist_indexof_from_to.
48604         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
48605         inline functions.
48606         * lib/gl_list.c (gl_sortedlist_search_from_to,
48607         gl_sortedlist_indexof_from_to): New functions.
48608         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
48609         function.
48610         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
48611         (gl_array_sortedlist_search_from_to): New function.
48612         (gl_array_list_implementation): Update.
48613         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
48614         function.
48615         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
48616         (gl_carray_sortedlist_search_from_to): New function.
48617         (gl_carray_list_implementation): Update.
48618         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
48619         gl_linked_sortedlist_indexof_from_to): New functions.
48620         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
48621         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
48622         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
48623         gl_tree_sortedlist_indexof_from_to): New functions.
48624         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
48625         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
48626         Update.
48627         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
48628         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
48629         Update.
48630
48631 2006-10-05  Bruno Haible  <bruno@clisp.org>
48632
48633         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
48634         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
48635         (struct gl_list_implementation): Add fields search_from_to,
48636         indexof_from_to. Remove fields search, indexof.
48637         (gl_list_search): Use the search_from_to method.
48638         (gl_list_search_from, gl_list_search_from_to): New functions.
48639         (gl_list_indexof): Use the indexof_from_to method.
48640         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
48641         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
48642         (gl_list_search_from, gl_list_search_from_to): New functions.
48643         (gl_list_indexof): Use the indexof_from_to method.
48644         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
48645         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
48646         gl_array_indexof. Add start_index, end_index arguments.
48647         (gl_array_search_from_to): Renamed from gl_array_search. Add
48648         start_index, end_index arguments.
48649         (gl_array_remove, gl_array_list_implementation): Update.
48650         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
48651         gl_carray_indexof. Add start_index, end_index arguments.
48652         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
48653         start_index, end_index arguments.
48654         (gl_carray_remove, gl_carray_list_implementation): Update.
48655         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
48656         gl_linked_search. Add start_index, end_index arguments.
48657         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
48658         start_index, end_index arguments.
48659         (gl_linked_remove): Update.
48660         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
48661         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
48662         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
48663         field to 'size_t'.
48664         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
48665         gl_tree_search. Add start_index, end_index arguments.
48666         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
48667         start_index, end_index arguments.
48668         (gl_tree_remove): Update.
48669         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
48670         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
48671         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
48672         function.
48673         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
48674         gl_tree_search. Add start_index, end_index arguments.
48675         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
48676         start_index, end_index arguments.
48677         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
48678         Update.
48679         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
48680
48681 2006-10-05  Bruno Haible  <bruno@clisp.org>
48682
48683         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
48684
48685         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
48686         fwriteerror_temp): New declarations.
48687         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
48688         (descriptors): New variable.
48689         (cleanup): First, close the descriptors.
48690         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
48691         fclose_temp, fwriteerror_temp): New functions.
48692
48693 2006-10-04  Jim Meyering  <jim@meyering.net>
48694
48695         * lib/fts.c (fts_open): Tiny comment change.
48696
48697 2006-10-04  Bruno Haible  <bruno@clisp.org>
48698
48699         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
48700         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
48701         gl_LOCK_BODY.
48702         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
48703         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
48704         gl_LOCK_EARLY_BODY.
48705         (gl_LOCK): Require gl_LOCK_BODY.
48706
48707 2006-10-04  Bruno Haible  <bruno@clisp.org>
48708
48709         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
48710         (gl_oset_search_atleast): New declaration.
48711         (struct gl_oset_implementation): Add field 'search_atleast'.
48712         (gl_oset_search_atleast): New inline function.
48713         * lib/gl_oset.c (gl_oset_search_atleast): New function.
48714         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
48715         (gl_array_oset_implementation): Update.
48716         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
48717         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
48718         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
48719
48720 2006-10-04  Bruno Haible  <bruno@clisp.org>
48721
48722         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
48723
48724 2006-10-03  Bruno Haible  <bruno@clisp.org>
48725
48726         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
48727         from gl_avltreehash_list_implementation.
48728
48729 2006-10-03  Bruno Haible  <bruno@clisp.org>
48730
48731         * lib/gl_oset.c (gl_oset_add): Fix return type.
48732
48733 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
48734
48735         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
48736
48737 2006-10-02  Eric Blake  <ebb9@byu.net>
48738
48739         * modules/strnlen (Depends-on): Add extensions.
48740
48741 2006-10-02  Eric Blake  <ebb9@byu.net>
48742
48743         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
48744         definition in 2.60+.
48745
48746 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
48747
48748         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
48749         checks.
48750
48751 2006-10-02  Bruno Haible  <bruno@clisp.org>
48752
48753         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
48754         to the AUTOMAKE_OPTIONS.
48755         Reported by Jim Meyering.
48756
48757 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
48758
48759         Work around bug in Solaris 10 /proc file system:
48760         /proc/self/fd/NNN/.. isn't the parent directory of
48761         the directory whose file descriptor is NNN.  This needs to
48762         be worked around at run time, not compile time, since a
48763         program might be built on Solaris 8, where things work, and
48764         run on Solaris 10.
48765         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
48766         to use the following interface instead:
48767         (OPENAT_BUFFER_SIZE): New macro.
48768         (openat_proc_name): New function.
48769         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
48770         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
48771         Likewise.
48772         * lib/openat-proc.c: New file.
48773         * modules/openat (Files): Add lib/openat-proc.c.
48774         (Depends-on): Add same-inode, stdbool.
48775         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
48776
48777 2006-09-29  Bruno Haible  <bruno@clisp.org>
48778
48779         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
48780         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
48781         argument. Set stdout_closed before testing for ferror, not after.
48782         (fwriteerror, fwriteerror_no_ebadf): New functions.
48783
48784 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48785
48786         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
48787
48788 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
48789
48790         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
48791         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
48792
48793 2006-09-28  Jim Meyering  <jim@meyering.net>
48794
48795         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
48796         Include <unistd.h>.
48797
48798 2006-09-28  Bruno Haible  <bruno@clisp.org>
48799
48800         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
48801         * modules/linkedhash-list (Depends-on): Likewise.
48802         * modules/rbtreehash-list (Depends-on): Likewise.
48803
48804 2006-09-28  Bruno Haible  <bruno@clisp.org>
48805
48806         * lib/strndup.h: Simplify the redefinition of strndup.
48807         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
48808         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
48809
48810 2006-09-28  Bruno Haible  <bruno@clisp.org>
48811
48812         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
48813         * lib/gl_linkedhash_list.c: Likewise.
48814         * lib/gl_rbtreehash_list.c: Likewise.
48815
48816 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
48817
48818         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
48819         getaddrinfo.
48820
48821         * lib/__fpending.h: Don't include <stdio_ext.h> unless
48822         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
48823         it causes <stdio_ext.h> to cause a compile-time error.
48824         Problem reported by Nelson H. F. Beebe.
48825         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
48826         of HAVE_DECL___PENDING.
48827
48828         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
48829         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
48830         declaration.
48831
48832 2006-09-27  Jim Meyering  <jim@meyering.net>
48833
48834         This file could end up with a definition for a function
48835         named __strndup, rather than rpl_strndup on a system with
48836         incomplete weak_alias support.
48837         * lib/strndup.c (strndup): Rename from __strndup.
48838         Remove #defines that used to map __strndup to strndup.
48839         Don't use K&R prototypes.
48840         Remove LIBC-related code, since this file is not sync'd with glibc.
48841         * lib/strndup.h: Revamp, accordingly.
48842         * m4/strndup.m4: Modernize.
48843
48844 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
48845
48846         * modules/savewd (Depends-on): Add 'raise'.
48847         * lib/savewd.c: Include <signal.h>, for 'raise'.
48848
48849 2006-09-26  Jim Meyering  <jim@meyering.net>
48850
48851         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
48852         when we detect Darwin 8.7.0's acl_get_file bug.
48853         Rearrange to perform the new (below) run-test while $LIBS
48854         contains any acl-related library.  Set USE_ACL at the end.
48855         (gl_ACL_GET_FILE): New function.
48856
48857 2006-09-26  Eric Blake  <ebb9@byu.net>
48858
48859         * lib/verror.c: Include <config.h> unconditionally.
48860
48861 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
48862
48863         * modules/clock-time (Maintainer): Add self.
48864         * modules/getlogin_r (Depends-on): Add extensions.
48865
48866 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48867
48868         * modules/clock-time: New module.
48869         * modules/nanosleep (Depends-on): Add clock-time.
48870         * modules/gethrxtime (Depends-on): Likewise.
48871         * modules/gettime (Depends-on): Likewise.
48872         * modules/settime (Depends-on): Likewise.
48873
48874         * modules/fts-lgpl: Depend on openat.
48875         * modules/mkancesdirs: Depend on savewd.
48876         * modules/mkdir-p: Likewise.
48877
48878 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48879
48880         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
48881
48882         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
48883         `gl_have_arbitrary_file_name_length_limit' to
48884         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
48885         actually works between configure runs.
48886
48887 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48888             Bruno Haible  <bruno@clisp.org>
48889
48890         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
48891
48892 2006-09-25  Jim Meyering  <jim@meyering.net>
48893
48894         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
48895         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
48896
48897 2006-09-25  Eric Blake  <ebb9@byu.net>
48898
48899         * gnulib-tool (func_import, func_create_testdir): Fix typos in
48900         exec's in 2006-09-18 patch when shuffling fds.
48901
48902 2006-09-25  Bruno Haible  <bruno@clisp.org>
48903
48904         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
48905         Reported by Jim Meyering.
48906
48907 2006-09-24  Jim Meyering  <jim@meyering.net>
48908
48909         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
48910         compare a pointer against a literal "0".  That caused failures with
48911         at least HP-UX's hpcc.
48912
48913 2006-09-22  Simon Josefsson  <jas@extundo.com>
48914
48915         * modules/gc-sha1:
48916         * modules/gc-md4:
48917         * modules/gc-hmac-sha1:
48918         * modules/gc-hmac-md5:
48919         * modules/gc-des:
48920         * modules/gc-arcfour: Distribute more files.
48921
48922 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48923
48924         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
48925         (gl_linked_iterator_from_to): Initialize struct completely.
48926         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
48927         (gl_tree_iterator_from_to): Likewise
48928         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
48929         * lib/gl_array_list.c [lint] (gl_array_iterator)
48930         (gl_array_iterator_from_to): Likewise.
48931         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
48932         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
48933         (gl_carray_iterator_from_to): Likewise.
48934
48935         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
48936         * lib/md4.c (md4_process_block): Remove unused variable.
48937         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
48938         parentheses for clarity.
48939
48940 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48941
48942         * modules/bison-i18n (Depends-on): Add gettext.
48943
48944 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48945
48946         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
48947         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
48948         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
48949         also add missing comma that caused broken test.
48950         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
48951         stdlib.h, for `abort'.
48952         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
48953         variables.
48954         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
48955         include unistd.h if present, for `rmdir'.
48956         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
48957         variables.
48958         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
48959         in the process include standard headers for prototypes.
48960         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
48961         gets declared on GNU/Linux.
48962         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
48963         unistd.h, for `rmdir'.
48964         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
48965
48966         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
48967         always true.
48968         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
48969
48970         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
48971
48972 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48973
48974         * gnulib-tool (func_version): Create output all at once.  This
48975         may help avoid triggering unnecessary SIGPIPEs, and at any
48976         rate it doesn't hurt.
48977
48978 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48979             Bruno Haible  <bruno@clisp.org>
48980
48981         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
48982         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
48983         * m4/signed.m4 (bh_C_SIGNED): Likewise.
48984
48985         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
48986         (gl_FUNC_VASPRINTF): Invoke it.
48987
48988 2006-09-22  Bruno Haible  <bruno@clisp.org>
48989
48990         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
48991         getloadavg.c as first argument.
48992
48993 2006-09-22  Bruno Haible  <bruno@clisp.org>
48994
48995         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
48996         at the beginning of the gl_INIT macro.
48997         * modules/getloadavg (configure.ac): Pass $gl_source_base to
48998         gl_GETLOADAVG.
48999
49000 2006-09-22  Bruno Haible  <bruno@clisp.org>
49001
49002         * gnulib-tool (func_create_megatestdir): Don't include the config-h
49003         module.
49004         Suggested by Ralf Wildenhues.
49005
49006 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
49007
49008         Import this patch from libc:
49009
49010         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
49011
49012         * lib/regex_internal.c (re_string_reconstruct): Handle
49013         offset < pstr->valid_raw_len && pstr->offsets_needed case.
49014         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
49015         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
49016         re_string_context_at.
49017
49018         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
49019         now requires it.
49020         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
49021         gl_REGEX now does it for us.
49022         (gl_REGEX): Add test taken from
49023         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
49024
49025         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
49026         Check that large offsets work.  Modernize Autoconf usages.
49027         Prefer "yes" to mean a good thing rather than a bad.
49028         Don't put "#define mkstemp" in config.h, as this might interfere
49029         with standard system headers that "#define mkstemp mkstemp64".
49030
49031         * modules/mkstemp (Depends-on): Add extensions, so that
49032         mkstemp is visible on some platforms.
49033         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
49034         (Include): Change to "mkstemp.h" from <stdlib.h>.
49035         (Files): Add mkstemp.h.
49036
49037         * lib/mkstemp.h: New file, since some standard headers
49038         #define mkstemp.
49039         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
49040         Include "mkstemp.h".
49041         Make the _LIBC code resemble glibc original more,
49042         e.g., use K&R style.
49043         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
49044         (mkstemp): Remove, since mkstemp.h does this for us.
49045         * lib/stdlib--.h: Include mkstemp.h.
49046
49047         Import this patch from libc:
49048
49049         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
49050
49051         * lib/tempname.c (__gen_tempname): Change attempts_min
49052         into a macro.  Use preprocessor to decide how to initialize
49053         attempts [Coverity CID 67].
49054
49055 2006-09-20  Bruno Haible  <bruno@clisp.org>
49056
49057         * lib/mkdtemp.c: Import from libc.
49058         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
49059                 * sysdeps/posix/tempname.c (__gen_tempname): Change
49060                 attempts_min into a macro.  Use preprocessor to decide how to
49061                 initialize attempts [Coverity CID 67].
49062         2001-11-27  Paul Eggert  <eggert@twinsun.com>
49063                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
49064                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
49065
49066 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49067
49068         * gnulib-tool (func_exit): New function, to allow to pass the
49069         exit status portably through the trap.  Use everywhere.
49070         (--help, --version): Signal a write error.
49071         (trap): catch SIGPIPE, for write errors.
49072         Exit at the end of the trap, with the correct exit status.
49073
49074 2006-09-19  Karl Berry  <karl@gnu.org>
49075
49076         * doc/gnulib.texi: note about the license texinfo files.
49077
49078 2006-09-19  Eric Blake  <ebb9@byu.net>
49079
49080         * gnulib-tool: Avoid space-tab.
49081
49082 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49083
49084         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
49085         that prevented coreutils 6.1 from building.  Problem reported
49086         by Petter Reinholdtsen.
49087
49088 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49089
49090         * gnulib-tool (avoidlist): Fix typo that broke options like
49091         --avoid=lock that are used by coreutils bootstrap.
49092
49093 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
49094
49095         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
49096         more systematically.
49097
49098 2006-09-18  Jim Meyering  <jim@meyering.net>
49099
49100         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
49101
49102 2006-09-18  Bruno Haible  <bruno@clisp.org>
49103
49104         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
49105
49106 2006-09-18  Bruno Haible  <bruno@clisp.org>
49107
49108         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
49109         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
49110         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
49111         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
49112         * m4/gettext.m4: Require autoconf >= 2.52.
49113         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
49114         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
49115         of gl_cv_header_inttypes_h.
49116
49117 2006-09-18  Bruno Haible  <bruno@clisp.org>
49118
49119         * lib/javaversion.c: Include configmake.h.
49120
49121 2006-09-18  Bruno Haible  <bruno@clisp.org>
49122
49123         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
49124         avoid that the while loops be executed in a subshell.
49125
49126 2006-09-18  Bruno Haible  <bruno@clisp.org>
49127
49128         * MODULES.html.sh (func_module): Break long lines.
49129         Suggested by Bruce Korb <bkorb@gnu.org>.
49130
49131 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49132
49133         Speed up by a factor of 1.12.
49134         * gnulib-tool (nl): New variable.
49135         (func_import): Rewrite include directive extraction to only read each
49136         directive once.
49137
49138 2006-09-17  Bruno Haible  <bruno@clisp.org>
49139
49140         * modules/javaversion (Makefile.am): Remove DEFS setting.
49141         (Depends-on): Add configmake, for PKGDATADIR definition.
49142
49143 2006-09-17  Bruno Haible  <bruno@clisp.org>
49144
49145         * gnulib-tool (func_create_testdir): Rewrite all files at once.
49146
49147 2006-09-17  Bruno Haible  <bruno@clisp.org>
49148
49149         * gnulib-tool (func_append): New function, stolen from libtool.m4.
49150         (func_modules_transitive_closure, func_modules_add_dummy,
49151         func_modules_to_filelist, func_import, func_create_testdir,
49152         func_create_megatestdir, ...): Use it wherever possible.
49153         Suggested by Ralf Wildenhues.
49154
49155 2006-09-16  Karl Berry  <karl@gnu.org>
49156
49157         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
49158         to avoid sectioning errors.
49159         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
49160         [ifinfo]: blank line after @center-ed titles.
49161         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
49162         Spell FSF address consistently with others.
49163         (These changes approved by rms.)
49164
49165 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49166
49167         Speed up by a factor of 1.61.
49168         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
49169         already checked module names again.
49170
49171 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49172
49173         Speed up by a factor of 1.13.
49174         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
49175         for new_files, and the input to func_add_or_update.
49176
49177 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49178
49179         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
49180         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
49181
49182 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49183
49184         * modules/mkancesdirs (Depends-on): Add fcntl.
49185         * modules/savewd: New file.
49186         * MODULES.html.sh (File system functions): Add savewd.
49187
49188         * modules/configmake (Makefile.am): Add support for the
49189         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
49190
49191 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49192
49193         * m4/savewd.m4: New file.
49194
49195 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49196
49197         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
49198         (dirchownmod): New arg FD.  All callers changed.
49199         Use FD rather than opening the directory ourself, as opening is
49200         now the caller's responsibility.
49201         * lib/dirchownmod.h: Likewise.
49202         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
49203         hosts that require <sys/types.h> before <sys/stat.h>.  Include
49204         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
49205         (test_dir): Remove.
49206         (mkancesdirs): Return length of prefix of FILE that has already
49207         been made, or -2 if there is a child doing the work.  Redo
49208         algorithm so that it is O(N) rather than O(N**2).  Optimize away
49209         ".", and treat ".." specially since it might stray back into
49210         already-created areas.  Use a subprocess if necessary.  New arg
49211         WD; all users changed.  MAKE_DIR function should now return 1
49212         if it creates a directory that is not readable.  Return -2 if
49213         a child process is spun off.
49214         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
49215         Adjust signature to match code.
49216         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
49217         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
49218         all users changed.
49219         * lib/savewd.c, lib/savewd.h: New files.
49220
49221 2006-09-15  Jim Meyering  <jim@meyering.net>
49222
49223         * modules/rename-dest-slash: New module.
49224         * MODULES.html.sh (posix_compat): Add it here.
49225
49226         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
49227
49228 2006-09-15  Jim Meyering  <jim@meyering.net>
49229
49230         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
49231         file.
49232
49233         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
49234
49235 2006-09-15  Jim Meyering  <jim@meyering.net>
49236
49237         * lib/rename-dest-slash.c (has_trailing_slash): Use
49238         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
49239         (rpl_rename_dest_slash): Perform the cheaper trailing slash
49240         test before testing whether SRC is a directory.
49241         Suggestions from Bruno Haible.
49242
49243         Avoid a warning about an unused variable.
49244         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
49245         into the #ifdef block where it's used.
49246
49247         * lib/rename-dest-slash.c: New file.
49248
49249 2006-09-14  Bruno Haible  <bruno@clisp.org>
49250
49251         * lib/allocsa.c: Include <config.h> unconditionally.
49252         * lib/asnprintf.c: Likewise.
49253         * lib/asprintf.c: Likewise.
49254         * lib/c-strcasecmp.c: Likewise.
49255         * lib/c-strcasestr.c: Likewise.
49256         * lib/c-strncasecmp.c: Likewise.
49257         * lib/c-strstr.c: Likewise.
49258         * lib/classpath.c: Likewise.
49259         * lib/clean-temp.c: Likewise.
49260         * lib/concatpath.c: Likewise.
49261         * lib/copy-file.c: Likewise.
49262         * lib/csharpcomp.c: Likewise.
49263         * lib/csharpexec.c: Likewise.
49264         * lib/execute.c: Likewise.
49265         * lib/fatal-signal.c: Likewise.
49266         * lib/findprog.c: Likewise.
49267         * lib/fwriteerror.c: Likewise.
49268         * lib/gl_array_list.c: Likewise.
49269         * lib/gl_array_oset.c: Likewise.
49270         * lib/gl_avltree_list.c: Likewise.
49271         * lib/gl_avltree_oset.c: Likewise.
49272         * lib/gl_avltreehash_list.c: Likewise.
49273         * lib/gl_carray_list.c: Likewise.
49274         * lib/gl_linked_list.c: Likewise.
49275         * lib/gl_linkedhash_list.c: Likewise.
49276         * lib/gl_list.c: Likewise.
49277         * lib/gl_oset.c: Likewise.
49278         * lib/gl_rbtree_list.c: Likewise.
49279         * lib/gl_rbtree_oset.c: Likewise.
49280         * lib/gl_rbtreehash_list.c: Likewise.
49281         * lib/imaxabs.c: Likewise.
49282         * lib/imaxdiv.c: Likewise.
49283         * lib/javacomp.c: Likewise.
49284         * lib/javaexec.c: Likewise.
49285         * lib/javaversion.c: Likewise.
49286         * lib/linebreak.c: Likewise.
49287         * lib/localcharset.c: Likewise.
49288         * lib/lock.c: Likewise.
49289         * lib/mbchar.c: Likewise.
49290         * lib/mbswidth.c: Likewise.
49291         * lib/mkdtemp.c: Likewise.
49292         * lib/pipe.c: Likewise.
49293         * lib/printf-args.c: Likewise.
49294         * lib/printf-parse.c: Likewise.
49295         * lib/progname.c: Likewise.
49296         * lib/progreloc.c: Likewise.
49297         * lib/readlink.c: Likewise.
49298         * lib/sh-quote.c: Likewise.
49299         * lib/stpcpy.c: Likewise.
49300         * lib/stpncpy.c: Likewise.
49301         * lib/strcasecmp.c: Likewise.
49302         * lib/strcasestr.c: Likewise.
49303         * lib/strcspn.c: Likewise.
49304         * lib/striconv.c: Likewise.
49305         * lib/strncasecmp.c: Likewise.
49306         * lib/strnlen1.c: Likewise.
49307         * lib/strstr.c: Likewise.
49308         * lib/strtok_r.c: Likewise.
49309         * lib/tls.c: Likewise.
49310         * lib/tmpdir.c: Likewise.
49311         * lib/unicodeio.c: Likewise.
49312         * lib/unsetenv.c: Likewise.
49313         * lib/vasnprintf.c: Likewise.
49314         * lib/vasprintf.c: Likewise.
49315         * lib/wait-process.c: Likewise.
49316         * lib/xallocsa.c: Likewise.
49317         * lib/xsetenv.c: Likewise.
49318         * lib/xstriconv.c: Likewise.
49319
49320 2006-09-13  Simon Josefsson  <jas@extundo.com>
49321
49322         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
49323         that internally, suggested by Ralf Wildenhues
49324         <Ralf.Wildenhues@gmx.de>.
49325
49326 2006-09-13  Simon Josefsson  <jas@extundo.com>
49327
49328         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
49329         @LIBOBJS@.
49330         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49331
49332 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49333
49334         * lib/_fpending.c: Include <config.h> unconditionally, since we no
49335         longer worry about uses that don't define HAVE_CONFIG_H.
49336         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
49337         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
49338         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
49339         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
49340         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
49341         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
49342         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
49343         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
49344         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
49345         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
49346         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
49347         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
49348         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
49349         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
49350         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
49351         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
49352         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
49353         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
49354         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
49355         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
49356         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
49357         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
49358         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
49359         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
49360         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
49361         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
49362         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
49363         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
49364         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
49365         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
49366         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
49367         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
49368         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
49369         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
49370         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
49371         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
49372         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
49373         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
49374         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
49375         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
49376         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
49377         Likewise.
49378
49379 2006-09-13  Eric Blake  <ebb9@byu.net>
49380
49381         * lib/getopt.c: Fix typo in last commit.
49382
49383 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
49384
49385         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
49386         dgettext.
49387
49388 2006-09-12  Jim Meyering  <jim@meyering.net>
49389
49390         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
49391         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
49392         Reported by Nelson H. F. Beebe.
49393
49394 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49395
49396         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
49397         program_invocation_name and program_invocation_short_name are
49398         initialized.
49399         * lib/argp-namefrob.h: Move declarations of program_invocation_name
49400         and program_invocation_short_name to argp.h, so they are visible
49401         to user programs.
49402         * lib/argp.h: Likewise
49403
49404 2006-09-10  Bruno Haible  <bruno@clisp.org>
49405
49406         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
49407         m4/inttypes_h.m4, m4/uintmax_t.m4.
49408
49409 2006-09-10  Bruno Haible  <bruno@clisp.org>
49410
49411         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
49412         gl_AC_TYPE_UINTMAX_T.
49413
49414 2006-09-10  Bruno Haible  <bruno@clisp.org>
49415
49416         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
49417
49418 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49419
49420         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
49421         convention.  Text proposed by Bruno Haible.
49422         (struct argp_option): Document the use of N_() wrappers.
49423
49424         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
49425         '\v', and translate the two parts separately, instead of feeding
49426         the whole string to gettext.  This allows to exclude
49427         '\v' from the strings visible to the translator by writing doc
49428         strings as N_("..") "\v" N_("..").
49429
49430 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
49431
49432         * config/srclist.txt: Undo latest change; the bug was fixed.
49433
49434 2006-09-09  Bruno Haible  <bruno@clisp.org>
49435
49436         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
49437         assignments if building a library without libtool.
49438         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
49439         in func_emit_lib_Makefile_am.
49440         (func_import): When building a static library libfoo.a, arrange to
49441         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
49442         (func_create_testdir): Likewise.
49443         * modules/gc (configure.ac, Makefile.am): If building statically,
49444         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
49445         * modules/iconvme (configure.ac, Makefile.am): Likewise.
49446         * modules/striconv (configure.ac, Makefile.am): Likewise.
49447         Based on a suggestion by Ralf Wildenhues.
49448
49449 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49450
49451         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
49452         Check for unistd.h too, since Autoconf doesn't assume POSIX.
49453         Also:
49454
49455         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49456         Add year_2050_test to catch glibc bug 2821
49457         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
49458
49459         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49460         Prefer #ifdef to #if.
49461
49462         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
49463         Return from 'main' instead of calling 'exit'.
49464
49465 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49466
49467         * lib/mktime.c (guess_time_tm): Fix bug where mktime
49468         returned the maximum time_t value rather than (time_t) -1.
49469         Problem originally reported by William Bardwell
49470         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
49471
49472         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
49473         Moved to here ...
49474         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
49475         ... from here.
49476
49477 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49478
49479         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
49480         2821 is fixed.
49481
49482 2006-09-08  Jim Meyering  <jim@meyering.net>
49483
49484         Don't make generated files read-only.  That would bother too many
49485         people.  However, do retain the ability to work when targets are
49486         read-only: remove the destination and temporary files before writing
49487         them (when generated via sed or echo), or by using the -f option for
49488         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
49489         * modules/alloca-opt, modules/argz, modules/arpa_inet:
49490         * modules/byteswap, modules/configmake, modules/fcntl:
49491         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
49492         * modules/localcharset, modules/netinet_in, modules/poll:
49493         * modules/stdbool, modules/stdint, modules/sys_select:
49494         * modules/sys_socket, modules/sys_stat, modules/sysexits:
49495
49496 2006-09-08  Jim Meyering  <jim@meyering.net>
49497
49498         Avoid new build failure on FreeBSD 6.0.
49499         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
49500         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
49501         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
49502
49503 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49504
49505         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
49506
49507 2006-09-07  Jim Meyering  <jim@meyering.net>
49508
49509         Fix global typo in last change: use chmod u-w, not chmod u-x.
49510         Spotted by Paul Eggert and Bruce Korb.
49511         * modules/alloca-opt, modules/argz, modules/arpa_inet:
49512         * modules/byteswap, modules/configmake, modules/fcntl:
49513         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
49514         * modules/localcharset, modules/netinet_in, modules/poll:
49515         * modules/stdbool, modules/stdint, modules/sys_select:
49516         * modules/sys_socket, modules/sys_stat, modules/sysexits:
49517
49518 2006-09-06  Jim Meyering  <jim@meyering.net>
49519
49520         Make generated files be read-only.
49521         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
49522         Ensure that each generated file is now read-only.
49523         * modules/argz: Likewise.
49524         * modules/arpa_inet: Likewise.
49525         * modules/byteswap: Likewise.
49526         * modules/configmake: Likewise.
49527         * modules/fcntl: Likewise.
49528         * modules/fnmatch: Likewise.
49529         * modules/getopt: Likewise.
49530         * modules/glob: Likewise.
49531         * modules/inttypes: Likewise.
49532         * modules/netinet_in: Likewise.
49533         * modules/poll: Likewise.
49534         * modules/stdbool: Likewise.
49535         * modules/stdint: Likewise.
49536         * modules/sys_select: Likewise.
49537         * modules/sys_socket: Likewise.
49538         * modules/sys_stat: Likewise.
49539         * modules/sysexits: Likewise.
49540         * modules/localcharset: Same as above, but continue using temporary
49541         file named "t-$@" (why different?) rather than the "$@-t" used
49542         everywhere else.
49543
49544         * modules/sysexits (Makefile.am): Replace literal occurrences
49545         of "sysexit.h" more readable, and more consistent, "$@".
49546
49547 2006-09-06  Bruno Haible  <bruno@clisp.org>
49548
49549         * modules/striconv: New file.
49550         * modules/xstriconv: New file.
49551         * MODULES.html.sh (Internationalization functions): Add striconv,
49552         xstriconv.
49553
49554 2006-09-06  Bruno Haible  <bruno@clisp.org>
49555
49556         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
49557         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
49558         not using libtool correctly.
49559
49560 2006-09-06  Bruno Haible  <bruno@clisp.org>
49561
49562         * lib/striconv.h: New file.
49563         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
49564         iconvstring.c.
49565         * lib/xstriconv.h: New file.
49566         * lib/xstriconv.c: New file.
49567
49568 2006-09-06  Bruno Haible  <bruno@clisp.org>
49569
49570         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
49571         lib_..._LDFLAGS.
49572
49573 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49574
49575         * lib/argz_.h: Sync from Libtool.
49576
49577         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
49578                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
49579
49580         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
49581
49582 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
49583
49584         * modules/trim: New file.
49585
49586 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
49587
49588         * lib/trim.h: New file.
49589         * lib/trim.c: New file.
49590
49591 2006-09-05  Bruno Haible  <bruno@clisp.org>
49592
49593         * MODULES.html.sh (String handling): Add trim.
49594
49595 2006-09-04  Karl Berry  <karl@gnu.org>
49596
49597         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
49598         until next release.
49599
49600 2006-09-03  Bruno Haible  <bruno@clisp.org>
49601
49602         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
49603         correctly.
49604
49605 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49606
49607         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
49608         not gl_GETLOADAVG.  Omit unneeded semicolons.
49609         Problems reported by Ralf Wildenhues in
49610         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
49611         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
49612         at the end, which is the usual gnulib style.
49613
49614         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
49615         of doing all the work ourselves.
49616         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
49617         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
49618
49619 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49620
49621         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
49622         Problem reported by Ralf Wildenhues in
49623         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
49624
49625         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
49626         HAVE_STRUCT_STATFS_F_FSTYPENAME.
49627
49628 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49629
49630         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
49631         yesterday's patch by changing test -n to test -z.
49632
49633 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49634
49635         * modules/getloadavg (Files): Add m4/getloadavg.m4.
49636         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
49637         the former is now obsolescent.
49638
49639         * modules/chdir-long (Depends-on): Add fcntl.
49640
49641 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49642
49643         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
49644         obsolescent, and programs should use gnulib instead.
49645         * m4/getloadavg.m4: New file, with contents taken from Autoconf
49646         but with prefixes changed.
49647
49648 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49649
49650         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
49651         or stdbool.h, because they might not exist while configuring.
49652
49653         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
49654         Don't include unistd.h or limits.h; not needed, since chdir-long.h
49655         does that for us.
49656         (O_DIRECTORY): Remove.
49657
49658 2006-08-31  Eric Blake  <ebb9@byu.net>
49659
49660         * gnulib-tool: Don't let emacs change spaces to TAB.
49661
49662 2006-08-31  Bruno Haible  <bruno@clisp.org>
49663
49664         * gnulib-tool: When calling func_import more than once, do it in a
49665         subshell.
49666         Reported by Eric Blake <ebb9@byu.net>.
49667
49668 2006-08-31  Bruno Haible  <bruno@clisp.org>
49669
49670         * gnulib-tool (nl): Remove variable.
49671         (sed_transform_lib_file): Use more robust test for config-h module.
49672         (func_import): Fix typo in 2006-08-25 patch.
49673
49674 2006-08-31  Bruno Haible  <bruno@clisp.org>
49675
49676         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
49677         specified, augment Makefile.am variables instead of assigning them.
49678
49679 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49680
49681         Work around a bug in both the Linux and SunOS 64-bit kernels:
49682         nanosleep mishandles sleeps for longer than 2**31 seconds.
49683         Problem reported by Frank v Waveren in
49684         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
49685         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
49686         Check for nanosleep bug.
49687         (LIB_NANOSLEEP): Append clock_gettime library if needed.
49688
49689 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49690
49691         Work around a bug in both the Linux and SunOS 64-bit kernels:
49692         nanosleep mishandles sleeps for longer than 2**31 seconds.
49693         Problem reported by Frank v Waveren in
49694         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
49695         * lib/nanosleep.c (BILLION): New constant.
49696         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
49697         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
49698         implementation.
49699
49700 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49701
49702         * modules/nanosleep (Depends-on): Add gettime.
49703
49704 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49705         and Simon Josefsson  <jas@extundo.com>
49706         and Oskar Liljeblad  <oskar@osk.mine.nu>
49707
49708         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
49709         * gnulib-tool (func_import): New license type 'unmodifiable license
49710         text'.
49711         * modules/fdl: Use it.  Longer description.
49712         * module/gpl, module/lgpl: New files.
49713
49714 2006-08-30  Jim Meyering  <jim@meyering.net>
49715
49716         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
49717         shadowing the parameter.
49718
49719 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49720
49721         Sync from Libtool:
49722
49723         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49724
49725         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
49726         sharing with gnulib.  Report by Eric Blake.
49727
49728 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49729
49730         * modules/isapipe: New file.
49731         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
49732
49733 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49734
49735         * modules/configmake (Makefile.am): Add a comment, and omit
49736         the CONFIGMAKE_ prefix from generated macro names.  Suggested
49737         by Bruno Haible.
49738
49739 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49740
49741         * m4/isapipe.m4: New file.
49742
49743 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49744
49745         * lib/isapipe.c, lib/isapipe.h: New files.
49746
49747 2006-08-29  Jim Meyering  <jim@meyering.net>
49748
49749         * modules/configmake (Makefile.am): Make configmake.h depend on
49750         Makefile.  Otherwise, a stale configmake.h could hang around.
49751
49752 2006-08-29  Eric Blake  <ebb9@byu.net>
49753
49754         * lib/error.c (error_at_line, print_errno_message): Match libc, after
49755         resolution of upstream bug 3044.
49756
49757 2006-08-29  Bruno Haible  <bruno@clisp.org>
49758
49759         * modules/localcharset (Depends-on): Add configmake.
49760         (Makefile.am): Remove setting of LIBDIR through DEFS.
49761
49762 2006-08-29  Bruno Haible  <bruno@clisp.org>
49763
49764         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
49765         defined.
49766
49767 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49768
49769         * modules/fcntl: New file.
49770         * modules/chdir-safer (Depends-on): Add fcntl.
49771         * modules/fts: Likewise.
49772         * modules/mkdir-p: Likewise.
49773
49774         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
49775         This undoes the most recent change, since we're now addressing the
49776         problem in a different way.
49777
49778         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
49779         into output, since the output might be called Makefile.am even
49780         if $makefile_name is something different.
49781         (func_import): Use $makefile_am rather than
49782         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
49783         empty.
49784
49785         * modules/inttypes (Files): Add m4/inttypes-h.m4.
49786
49787 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49788
49789         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
49790         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
49791         recent change to stdint.m4, since we're now addressing the problem in a
49792         different way.
49793
49794 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49795
49796         * m4/fcntl_h.m4: New file.
49797
49798 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49799
49800         * lib/fcntl_.h: New file.
49801         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
49802         the fcntl module.
49803         * lib/dirchownmod.c: Likewise.
49804         * lib/fts.c: Likewise.
49805
49806         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
49807         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
49808         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
49809         just before including <inttypes.h>, to avoid circular inclusion.
49810
49811 2006-08-28  Jim Meyering  <jim@meyering.net>
49812
49813         * doc/visibility.texi: Actually read and correct the grammar of the
49814         sentence affected by yesterday's change.
49815
49816 2006-08-28  Eric Blake  <ebb9@byu.net>
49817
49818         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
49819         needs wrapper.
49820
49821 2006-08-28  Eric Blake  <ebb9@byu.net>
49822
49823         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
49824
49825 2006-08-28  Eric Blake  <ebb9@byu.net>
49826
49827         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
49828
49829 2006-08-28  Bruno Haible  <bruno@clisp.org>
49830
49831         * modules/c-strstr: New file, from GNU gettext.
49832         * MODULES.html.sh (String handling): Add c-strstr.
49833
49834 2006-08-28  Bruno Haible  <bruno@clisp.org>
49835
49836         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
49837         macros.
49838         Reported by Eric Blake.
49839
49840 2006-08-28  Bruno Haible  <bruno@clisp.org>
49841
49842         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
49843         (VASNPRINTF): Return a string of length > INT_MAX without failing.
49844         * lib/vasprintf.c: Include errno.h, limits.h.
49845         (EOVERFLOW): New fallback definition.
49846         (vasprintf): Test here whether the string length is > INT_MAX.
49847         * lib/vsnprintf.c: Include errno.h, limits.h.
49848         (EOVERFLOW): New fallback definition.
49849         (vsnprintf): Fix bug when generated string was too long for the buffer.
49850         Test here whether the string length is > INT_MAX.
49851
49852 2006-08-28  Bruno Haible  <bruno@clisp.org>
49853
49854         * lib/inttypes_.h (SCNX*): Remove definitions.
49855         Reported by Eric Blake.
49856
49857 2006-08-28  Bruno Haible  <bruno@clisp.org>
49858
49859         * lib/c-strstr.h: New file, from GNU gettext.
49860         * lib/c-strstr.c: New file, from GNU gettext.
49861
49862 2006-08-28  Bruno Haible  <bruno@clisp.org>
49863
49864         * gnulib-tool: Reorder some statements.
49865
49866 2006-08-28  Bruno Haible  <bruno@clisp.org>
49867
49868         * gnulib-tool: New option --makefile-name.
49869         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
49870         $makefile_name.
49871         (func_import): Write $makefile_name to the cache file, and read it from
49872         there unless explicitly specified. Use $makefile_name as file name
49873         instead of Makefile.am. Adjust the recommendations accordingly.
49874
49875 2006-08-28  Bruno Haible  <bruno@clisp.org>
49876
49877         * gnulib-tool (func_verify_module): Check against misapplying patch.
49878
49879 2006-08-28  Bruno Haible  <bruno@clisp.org>
49880
49881         * gnulib-tool (func_relativize, func_relconcat): New functions.
49882         Give an error if --local-dir is given with --update.
49883         Remove trailing slashes from $local_gnulib_dir.
49884         (func_import): Store the relativized $local_gnulib_dir in
49885         gnulib-cache.m4, and read it from there if not specified explicitly.
49886
49887 2006-08-28  Bruno Haible  <bruno@clisp.org>
49888
49889         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
49890         is the current directory. Respect also $local_gnulib_dir.
49891
49892 2006-08-28  Bruno Haible  <bruno@clisp.org>
49893             Simon Josefsson  <jas@extundo.com>
49894
49895         BeOS portability.
49896         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
49897
49898 2006-08-27  Jim Meyering  <jim@meyering.net>
49899
49900         * doc/visibility.texi: Remove duplicate word: "pointer".
49901
49902 2006-08-26  Bruno Haible  <bruno@clisp.org>
49903
49904         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
49905         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
49906         (Makefile.am): Create inttypes.h from inttypes_.h.
49907         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
49908
49909         * modules/imaxabs: New file.
49910
49911         * modules/imaxdiv: New file.
49912
49913 2006-08-26  Bruno Haible  <bruno@clisp.org>
49914
49915         * m4/inttypes.m4: New file.
49916         * m4/_inttypes_h.m4: Remove file.
49917         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
49918         PRI_MACROS_BROKEN.
49919         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
49920
49921         * m4/imaxabs.m4: New file.
49922
49923         * m4/imaxdiv.m4: New file.
49924
49925 2006-08-26  Bruno Haible  <bruno@clisp.org>
49926
49927         * lib/inttypes_.h: New file.
49928         * lib/inttypes.h: Remove file.
49929         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
49930
49931         * lib/imaxabs.c: New file.
49932
49933         * lib/imaxdiv.c: New file.
49934
49935 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49936
49937         New config-h module, so that "make" output needn't be cluttered
49938         by -DHAVE_CONFIG_H.
49939         * MODULES.html.sh (Support for building libraries and executables):
49940         Add config-h.
49941         * modules/config-h: New file.
49942         * gnulib-tool (nl, sed_transform_lib_file): New vars.
49943         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
49944         the config-h module is used.
49945
49946         New configmake module, so that "make" output needn't be cluttered
49947         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
49948         * MODULES.html.sh (Support for building libraries and executables):
49949         Add configmake.
49950         * modules/configmake: New file.
49951
49952 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49953
49954         * m4/config-h.m4: New file.
49955
49956 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49957
49958         * config/srclist.txt: Add elisp-comp.
49959
49960 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49961
49962         * MODULES.html.sh (Support for building libraries and executables):
49963         Add elisp-comp.
49964         * build-aux/elisp-comp: New file.
49965         * modules/elisp-comp: New file.
49966
49967 2006-08-24  Bruno Haible  <bruno@clisp.org>
49968
49969         * gnulib-tool (func_create_testdir): Use non-default values of
49970         sourcebase and m4base.
49971
49972 2006-08-24  Bruno Haible  <bruno@clisp.org>
49973
49974         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
49975         HTML structure.
49976
49977 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49978
49979         * modules/openat (Depends-on): Add lchown.
49980
49981 2006-08-23  Bruno Haible  <bruno@clisp.org>
49982
49983         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
49984         of gl_LOCK_EARLY instead of gl_LOCK.
49985
49986 2006-08-23  Bruno Haible  <bruno@clisp.org>
49987
49988         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
49989         on OSF/1 to no.
49990         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
49991
49992 2006-08-23  Bruno Haible  <bruno@clisp.org>
49993
49994         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
49995         as unusable.
49996
49997         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
49998         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
49999         (gl_LOCK): New macro.
50000
50001 2006-08-22  Simon Josefsson  <jas@extundo.com>
50002
50003         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
50004         to md5 module.
50005
50006 2006-08-22  Simon Josefsson  <jas@extundo.com>
50007
50008         * MODULES.html.sh: Add "Support for maintaining and release
50009         projects".
50010
50011         * build-aux/gnupload: New file, from coreutils.
50012
50013 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50014
50015         Avoid the need for AC_LIBSOURCES in m4 macros.
50016         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
50017         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
50018         * modules/check-version (EXTRA_DIST): Add check-version.h.
50019         * modules/crc (EXTRA_DIST): Add crc.h.
50020         * modules/des (EXTRA_DIST): Add des.h.
50021         * modules/gc (EXTRA_DIST): Add gc.h.
50022         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
50023         * modules/getline (EXTRA_DIST): Add getline.h.
50024         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
50025         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
50026         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
50027         * modules/md2 (EXTRA_DIST): Add md2.h.
50028         * modules/md4 (EXTRA_DIST): Add md4.h.
50029         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
50030         * modules/read-file (EXTRA_DIST): Add read-file.h.
50031         * modules/readline (EXTRA_DIST): Add readline.h.
50032         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
50033         rijndael-api-fst.h.
50034
50035 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50036
50037         * m4/rijndael.m4 (gl_ARCFOUR):
50038         * m4/arctwo.m4 (gl_ARCTWO):
50039         * m4/check-version.m4 (gl_CHECK_VERSION):
50040         * m4/crc.m4 (gl_CRC):
50041         * m4/des.m4 (gl_DES):
50042         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
50043         * m4/gc.m4 (gl_GC):
50044         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
50045         * m4/getline.m4 (gl_FUNC_GETLINE):
50046         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
50047         * m4/hmac-md5.m4 (gl_HMAC_MD5):
50048         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
50049         * m4/md2.m4 (gl_MD2):
50050         * m4/md4.m4 (gl_MD4):
50051         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
50052         * m4/read-file.m4 (gl_FUNC_READ_FILE):
50053         * m4/readline.m4 (gl_FUNC_READLINE):
50054         * m4/rijndael.m4 (gl_RIJNDAEL):
50055         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
50056         to get the necessary .h files and whatnot.
50057
50058 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50059
50060         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
50061         gnulib rather than the other way around.
50062         * config/srclistvars.sh (COREUTILS): Remove.
50063
50064 2006-08-22  Jim Meyering  <jim@meyering.net>
50065
50066         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
50067
50068         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
50069
50070 2006-08-22  Eric Blake  <ebb9@byu.net>
50071
50072         * modules/regexprops-generic: New file.
50073         * MODULES.html.sh (Support for building documentation): List it.
50074
50075 2006-08-22  Eric Blake  <ebb9@byu.net>
50076
50077         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
50078         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50079         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
50080         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
50081
50082 2006-08-22  Bruno Haible  <bruno@clisp.org>
50083
50084         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
50085         and lib_LTLIBRARIES like the other lib_* variables.
50086
50087 2006-08-22  Bruno Haible  <bruno@clisp.org>
50088
50089         * build-aux/x-to-1.in: New file, from GNU gettext.
50090
50091 2006-08-22  Bruno Haible  <bruno@clisp.org>
50092
50093         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
50094         <utmpx.h> exists.
50095
50096 2006-08-22  Bruno Haible  <bruno@clisp.org>
50097
50098         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
50099         <utmpx.h> exists.
50100
50101 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50102
50103         BeOS portability.
50104         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
50105         exist.
50106         Problem reported by Bruno Haible.
50107
50108 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50109
50110         Avoid the need for AC_LIBSOURCES in m4 macros.
50111         * modules/acl (EXTRA_DIST): Add acl.h.
50112         * modules/argmatch (Files): Add m4/argmatch.m4.
50113         (configure.ac): Add gl_ARGMATCH.
50114         (EXTRA_DIST): Renamed from lib_SOURCES, for
50115         consistency with the other modules.  Remove argmatch.c.
50116         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
50117         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
50118         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
50119         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
50120         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
50121         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
50122         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
50123         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
50124         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
50125         * modules/closeout (EXTRA_DIST): Add closeout.h.
50126         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
50127         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
50128         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
50129         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
50130         dirname.h; remove basename.c and stripslash.c.
50131         * modules/exclude (EXTRA_DIST): Add exclude.h.
50132         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
50133         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
50134         * modules/file-type (EXTRA_DIST): Add file-type.h.
50135         * modules/filemode (EXTRA_DIST): Add filemode.h.
50136         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
50137         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
50138         * modules/fpending (EXTRA_DIST): Add __fpending.h.
50139         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
50140         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
50141         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
50142         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
50143         * modules/getdate (EXTRA_DIST): Add getdate.c.
50144         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
50145         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
50146         * modules/getpass (EXTRA_DIST): Add getpass.h.
50147         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
50148         * modules/group-member (EXTRA_DIST): Add group-member.h.
50149         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
50150         * modules/hash (EXTRA_DIST): Add hash.h.
50151         * modules/human (EXTRA_DIST): Add human.h.
50152         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
50153         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
50154         * modules/lchown (EXTRA_DIST): Add lchown.h.
50155         * modules/long-options (EXTRA_DIST): Add long-options.h.
50156         * modules/lstat (EXTRA_DIST): Add lstat.h.
50157         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
50158         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
50159         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
50160         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
50161         * modules/memxor (EXTRA_DIST): Add memxor.h.
50162         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
50163         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
50164         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
50165         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
50166         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
50167         * modules/physmem (EXTRA_DIST): Add physmem.h.
50168         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
50169         * modules/posixver (EXTRA_DIST): Add posixver.h.
50170         * modules/quote (EXTRA_DIST): Add quote.h.
50171         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
50172         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
50173         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
50174         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
50175         regex_internal.h regexec.c.
50176         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
50177         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
50178         * modules/same (EXTRA_DIST): Add same.h.
50179         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
50180         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
50181         * modules/savedir (EXTRA_DIST): Add savedir.h.
50182         * modules/sha1 (EXTRA_DIST): Add sha1.h.
50183         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
50184         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
50185         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
50186         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
50187         * modules/strdup (EXTRA_DIST): Add strdup.h.
50188         * modules/strftime (EXTRA_DIST): Add strftime.h.
50189         * modules/strndup (EXTRA_DIST): Add strndup.h.
50190         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
50191         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
50192         * modules/time_r (EXTRA_DIST): Add time_r.h.
50193         * modules/timespec (EXTRA_DIST): Add timespec.h.
50194         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
50195         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
50196         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
50197         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
50198         * modules/userspec (EXTRA_DIST): Add userspec.h.
50199         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
50200         * modules/utimens (EXTRA_DIST): Add utimens.h.
50201         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
50202         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
50203         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
50204         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
50205         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
50206         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
50207         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
50208         * modules/yesno (EXTRA_DIST): Add yesno.h.
50209
50210 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50211
50212         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
50213
50214         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
50215         * m4/dev-ino.m4, same-inode.m4: Remove.
50216
50217         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
50218         * m4/acl.m4 (AC_FUNC_ACL):
50219         * m4/backupfile.m4 (gl_BACKUPFILE):
50220         * m4/c-strtod.m4 (gl_C99_STRTOLD):
50221         * m4/canon-host.m4 (gl_CANON_HOST):
50222         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
50223         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
50224         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
50225         * m4/cloexec.m4 (gl_CLOEXEC):
50226         * m4/close-stream.m4 (gl_CLOSE_STREAM):
50227         * m4/closeout.m4 (gl_CLOSEOUT):
50228         * m4/dirfd.m4 (gl_FUNC_DIRFD):
50229         * m4/dirname.m4 (gl_DIRNAME):
50230         * m4/exclude.m4 (gl_EXCLUDE):
50231         * m4/exitfail.m4 (gl_EXITFAIL):
50232         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
50233         * m4/file-type.m4 (gl_FILE_TYPE):
50234         * m4/filemode.m4 (gl_FILEMODE):
50235         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
50236         * m4/fpending.m4 (gl_FUNC_FPENDING):
50237         * m4/fprintftime.m4 (gl_FPRINTFTIME):
50238         * m4/fts.m4 (gl_FUNC_FTS):
50239         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
50240         * m4/getdate.m4 (gl_GETDATE):
50241         * m4/gethrxtime.m4 (gl_GETHRXTIME):
50242         * m4/getpagesize.m4 (gl_GETPAGESIZE):
50243         * m4/getpass.m4 (gl_FUNC_GETPASS):
50244         * m4/gettime.m4 (gl_GETTIME):
50245         * m4/getugroups.m4 (gl_GETUGROUPS):
50246         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
50247         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
50248         * m4/hard-locale.m4 (gl_HARD_LOCALE):
50249         * m4/hash.m4 (gl_HASH):
50250         * m4/idcache.m4 (gl_IDCACHE):
50251         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
50252         * m4/lchown.m4 (gl_FUNC_LCHOWN):
50253         * m4/long-options.m4 (gl_LONG_OPTIONS):
50254         * m4/lstat.m4 (gl_FUNC_LSTAT):
50255         * m4/md5.m4 (gl_MD5):
50256         * m4/memcasecmp.m4 (gl_MEMCASECMP):
50257         * m4/memcoll.m4 (gl_MEMCOLL):
50258         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
50259         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
50260         * m4/memxor.m4 (gl_MEMXOR):
50261         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
50262         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
50263         * m4/modechange.m4 (gl_MODECHANGE):
50264         * m4/mountlist.m4 (gl_MOUNTLIST):
50265         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50266         * m4/openat.m4 (gl_FUNC_OPENAT):
50267         * m4/pathmax.m4 (gl_PATHMAX):
50268         * m4/physmem.m4 (gl_PHYSMEM):
50269         * m4/posixtm.m4 (gl_POSIXTM):
50270         * m4/posixver.m4 (gl_POSIXVER):
50271         * m4/quote.m4 (gl_QUOTE):
50272         * m4/quotearg.m4 (gl_QUOTEARG):
50273         * m4/readtokens.m4 (gl_READTOKENS):
50274         * m4/readutmp.m4 (gl_READUTMP):
50275         * m4/regex.m4 (gl_REGEX):
50276         * m4/safe-read.m4 (gl_SAFE_READ):
50277         * m4/safe-write.m4 (gl_SAFE_WRITE):
50278         * m4/same.m4 (gl_SAME):
50279         * m4/save-cwd.m4 (gl_SAVE_CWD):
50280         * m4/savedir.m4 (gl_SAVEDIR):
50281         * m4/settime.m4 (gl_SETTIME):
50282         * m4/sha1.m4 (gl_SHA1):
50283         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
50284         * m4/stat-macros.m4 (gl_STAT_MACROS):
50285         * m4/stat-time.m4 (gl_STAT_TIME):
50286         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
50287         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
50288         * m4/strdup.m4 (gl_FUNC_STRDUP):
50289         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
50290         * m4/strndup.m4 (gl_FUNC_STRNDUP):
50291         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
50292         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
50293         * m4/time_r.m4 (gl_TIME_R):
50294         * m4/timespec.m4 (gl_TIMESPEC):
50295         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
50296         * m4/unlinkdir.m4 (gl_UNLINKDIR):
50297         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
50298         * m4/userspec.m4 (gl_USERSPEC):
50299         * m4/utimecmp.m4 (gl_UTIMECMP):
50300         * m4/utimens.m4 (gl_UTIMENS):
50301         * m4/xalloc.m4 (gl_XALLOC):
50302         * m4/xgetcwd.m4 (gl_XGETCWD):
50303         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
50304         * m4/xreadlink.m4 (gl_XREADLINK):
50305         * m4/xstrtod.m4 (gl_XSTRTOD):
50306         * m4/yesno.m4 (gl_YESNO):
50307         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
50308         to get the necessary .h files and whatnot.
50309
50310 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
50311             Bruno Haible  <bruno@clisp.org>
50312
50313         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
50314         /bin/sh understanding of '!' conditional negation.
50315
50316 2006-08-21  Jim Meyering  <jim@meyering.net>
50317
50318         * modules/openat (Depends-on): Really alphabetize.
50319
50320         * modules/acl (Depends-on): Add error and quote.
50321
50322         * check-module (find_included_lib_files): Add at-func.c to the
50323         ok-to-include-more-than-once white list.
50324
50325         * modules/openat (Depends-on): Add lstat.  Alphabetize.
50326
50327 2006-08-21  Bruno Haible  <bruno@clisp.org>
50328
50329         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50330         Emit a pkgdata_DATA variable only if some snippets add contents to it.
50331         Reported by Martin Lambers <marlam@marlam.de>.
50332
50333 2006-08-21  Bruno Haible  <bruno@clisp.org>
50334
50335         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
50336         specify an installation location, don't emit a noinst_LIBRARIES or
50337         noinst_LTLIBRARIES assignment.
50338
50339 2006-08-21  Bruno Haible  <bruno@clisp.org>
50340
50341         BeOS portability.
50342         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
50343         BeOS has mbrtowc() but no <wctype.h>.
50344
50345 2006-08-21  Bruno Haible  <bruno@clisp.org>
50346
50347         BeOS portability.
50348         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
50349         exist.
50350
50351 2006-08-21  Bruno Haible  <bruno@clisp.org>
50352
50353         BeOS portability.
50354         * lib/mbchar.h: Include <wctype.h> only if it exists.
50355
50356 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50357
50358         Remove files that are no longer needed by their respective modules.
50359         * m4/obstack.m4: Remove.
50360         * m4/strerror_r.m4: Remove.
50361         * m4/uint32_t.m4: Remove.
50362         * m4/uintptr_t.m4: Remove.
50363         * m4/ullong_max.m4: Remove.
50364         * m4/xstrtoimax.m4: Remove.
50365         * m4/xstrtoumax.m4: Remove.
50366
50367         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
50368         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
50369         dependencies now capture this.
50370
50371         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
50372         Do not use AC_LIBSOURCES, since gnulib modules now do this.
50373         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
50374         * m4/human.m4 (gl_HUMAN): Likewise.
50375         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
50376         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
50377
50378         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
50379
50380         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
50381         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
50382         stdint.
50383         * m4/human.m4 (gl_HUMAN): Likewise.
50384         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
50385         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
50386         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
50387         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
50388         * m4/xstrtol (gl_XSTRTOL): Likewise.
50389
50390         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
50391         AC_TYPE_LONG_LONG_INT.
50392         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
50393         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
50394         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
50395         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
50396
50397         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
50398         on stdbool.
50399
50400         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
50401         (gl_PREREQ_XSTRTOUL): Remove.
50402
50403         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
50404
50405         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
50406         mode.
50407
50408 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50409
50410         Add and change modules to make it easier for coreutils to use
50411         gnulib-tool.
50412         * modules/backupfile (Files): Remove m4/d-ino.m4.
50413         (Depends-on): Add d-ino.
50414         * modules/cycle-check (Depends-on): Add stdint.
50415         (lib_SOURCES): Add cycle-check.h.
50416         * modules/d-ino: New module.
50417         * modules/d-type: New module.
50418         * modules/error (Files): Remove m4/strerror_r.m4.
50419         * modules/filemode (Files): Add m4/st_dm_mode.m4.
50420         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
50421         m4/inttypes_h.m4, m4/uintmax_t.m4.
50422         (Depends-on): Add stdint.
50423         (lib_SOURCES): Add fsusage.h.
50424         * modules/getcwd (Files): Remove d-ino.m4.
50425         (Depends-on): Add d-ino.
50426         * modules/getndelim2 (Depends-on): Add stdint.
50427         * modules/glob (Files): Remove m4/d-type.m4.
50428         (Depends-on): Add d-type.
50429         * modules/host-os: New module.
50430         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
50431         m4/inttypes_h.m4, m4/uintmax_t.m4.
50432         * Depends-on: Add stdint.
50433         (lib_SOURCES): Add human.h.
50434         * modules/inttostr (Files): Remove m4/intmax_t.m4,
50435         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
50436         m4/uintmax_t.m4, m4/ulonglong.m4.
50437         (Depends-on): Add stdint.
50438         (EXTRA_DIST): Add inttostr.h.
50439         * modules/lchmod: New module.
50440         * modules/link-follow: New module.
50441         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
50442         (Depends-on): Add lchmod.
50443         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
50444         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
50445         (Depends-on): Add stdint.
50446         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
50447         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
50448         (Depends-on): Add stdint.
50449         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
50450         * modules/perl: New module.
50451         * modules/regex (Depends-on): Add stdint.
50452         * modules/rmdir-errno: New module.
50453         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
50454         m4/intmax_t.m4.
50455         (Depends-on): Add stdint.
50456         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
50457         m4/uintmax_t.m4.
50458         (Depends-on): Add stdint.
50459         * modules/unlink-busy: New module.
50460         * modules/utimecmp (Depends-on): Add stdint.
50461         * modules/uptime: New module.
50462         * modules/winsz-ioctl: New module.
50463         * modules/winsz-termios: New module.
50464         * modules/xnanosleep (Depends-on): Add nanosleep.
50465         * modules/ullong_max: Remove.
50466         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
50467         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
50468         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
50469         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
50470         (Depends-on): Add inttypes.
50471         (lib_SOURCES): Add xstrtol.h.
50472         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
50473         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
50474         * MODULES.html.sh: Move 'assert' into the assert section.
50475         Move 'dummy' into the linking section.
50476         Remove ullong_max.
50477         Add section for compatibility checks for POSIX:2001 functions,
50478         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
50479         winsz-ioctl, and winsz-termios into it.
50480         Add lchmod.
50481         Add top-level Misc section and put host-os, perl, and uptime
50482         into it.
50483
50484 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50485
50486         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
50487         now assume the stdint module.  Do not include inttypes.h.
50488         * lib/fsusage.h: Likewise.
50489         * lib/getndelim2.c: Likewise.
50490         * lib/human.h: Likewise.
50491         * lib/inttostr.h: Likewise.
50492         * lib/obstack.c: Likewise.
50493         * lib/regex_internal.h: Likewise.
50494         * lib/tempname.c: Likewise.
50495         * lib/utimecmp.c: Likewise.
50496         * lib/xstrtol.h: Likewise.
50497
50498         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
50499
50500         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
50501         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
50502         * lib/xtime.h: Likewise.
50503
50504 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50505
50506         * modules/openat (Files): Add lib/fchmodat.c.
50507         Fixes problem reported by Jay Youngman.
50508
50509 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50510
50511         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
50512         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
50513
50514 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50515             Bruno Haible  <bruno@clisp.org>
50516
50517         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
50518         and is a script that invokes bison. Tighten the code. Add comments.
50519
50520 2006-08-18  Jim Meyering  <jim@meyering.net>
50521
50522         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
50523         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
50524         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
50525         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
50526
50527 2006-08-18  Bruno Haible  <bruno@clisp.org>
50528
50529         * modules/bison-i18n: New file.
50530         * MODULES.html.sh (Internationalization functions): Add it.
50531
50532 2006-08-18  Bruno Haible  <bruno@clisp.org>
50533
50534         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
50535         sys/statvfs.h. When getmntinfo was found, check its declaration and
50536         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
50537
50538 2006-08-18  Bruno Haible  <bruno@clisp.org>
50539
50540         * m4/bison-i18n.m4: New file, from bison.
50541
50542 2006-08-18  Bruno Haible  <bruno@clisp.org>
50543
50544         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
50545         (ME_DUMMY): Treat "kernfs" as a dummy.
50546         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
50547
50548 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
50549
50550         Update from coreutils.
50551
50552         2006-08-15  Jim Meyering  <jim@meyering.net>
50553
50554         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
50555
50556         2006-01-17  Jim Meyering  <jim@meyering.net>
50557
50558         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
50559
50560         2006-01-11  Jim Meyering  <jim@meyering.net>
50561
50562         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
50563         Check for the lchmod function.
50564
50565 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
50566
50567         Update from coreutils.
50568
50569         * lib/__fpending.h: Add copyright notice.
50570         * lib/fprintftime.h: Likewise.
50571         * lib/savedir.c: Use (C) in copyright notice.
50572         * lib/savedir.h: Likewise.
50573
50574         2006-08-15  Jim Meyering  <jim@meyering.net>
50575
50576         * lib/at-func.c: New file, with the logic of all emulated at-functions.
50577         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
50578         in support of the EXPECTED_ERRNO macro.
50579         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
50580         definitions.  Instead, define the appropriate symbols and include
50581         "at-func.c".
50582         * lib/mkdirat.c (mkdirat): Likewise.
50583         * lib/fchmodat.c (fchmodat): Likewise.
50584         (ENOSYS): Remove definition.
50585         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
50586         it.  Don't include "unistd--.h" -- it wasn't ever used.
50587
50588         2006-01-17  Jim Meyering  <jim@meyering.net>
50589
50590         Rewrite fts.c not to change the current working directory,
50591         by using openat, fstatat, fdopendir, etc..
50592
50593         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
50594         (HAVE_OPENAT_SUPPORT): Define.
50595         [_LIBC] (fchdir): Don't undef or define; no longer used.
50596         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
50597         Now, this `function' always succeeds, and consumes its file descriptor
50598         parameter -- so callers must not close such FDs.  Update callers.
50599         (diropen_fd, opendirat, cwd_advance_fd): New functions.
50600         (diropen): Add parameter, SP.  Adjust all callers.
50601         Implement using diropen_fd, rather than open.
50602         (fts_open): Initialize new member, fts_cwd_fd.
50603         Remove fts_rft-setting code.
50604         (fts_close): Close fts_cwd_fd, if necessary.
50605         (__opendir2): Define in terms of opendir or opendirat,
50606         depending on whether the FST_NOCHDIR flag is set.
50607         (fts_build): Since fts_safe_changedir consumes its FD, and since
50608         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
50609         and close the dup'd file descriptor upon failure.
50610         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
50611         (fts_safe_changedir): Tweak semantics to reflect that this function
50612         now calls cwd_advance_fd and hence consumes its FD argument.
50613         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
50614         [struct FTS] (fts_rft): Remove now-unused member.
50615         [struct FTS] (fts_cycle.state): Improve comment.
50616
50617         * lib/openat.c (openat_needs_fchdir): New function.
50618         * lib/openat.h (openat_needs_fchdir): Declare it.
50619
50620 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
50621
50622         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
50623         Problem and fix reported by Pádraig Brady in
50624         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
50625
50626 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50627
50628         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
50629
50630 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50631
50632         * lib/memcoll.c (memcoll): Optimize for the common case where the
50633         arguments are bytewise equal.
50634
50635 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50636
50637         * doc/regexprops-generic.texi: Add a copyright notice.
50638
50639 2006-08-15  Bruno Haible  <bruno@clisp.org>
50640
50641         * modules/tmpdir (License): Change to LGPL.
50642
50643 2006-08-15  Bruno Haible  <bruno@clisp.org>
50644
50645         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
50646         module.
50647
50648 2006-08-14  Simon Josefsson  <jas@extundo.com>
50649
50650         * config/srclist.txt: Add gnupload.
50651
50652 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50653
50654         Change copyright notice from LGPL 2 to GPL 2, since that's the
50655         standard form used in the gnulib repository.
50656         * tests/test-lock.c: Likewise.
50657         * tests/test-stdint.c: Likewise.
50658         * tests/test-tls.c: Likewise.
50659
50660         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
50661         prelude-manager.  User shorter URLs for GNU projects, without '?'.
50662         Add copyright notice.
50663
50664         * check-module: Add copyright notice.  Output a copyright
50665         notice if "--version" is specified.
50666         * modules/COPYING: New file.
50667         * tests/test-getaddrinfo.c: Add copyright notice.
50668         * tests/test-verify.c: Likewise.
50669
50670 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50671
50672         Change copyright notice from LGPL 2 to GPL 2, since that's the
50673         standard form used in the gnulib repository.
50674         * lib/lock.c: LGPL -> GPL.
50675         * lib/lock.h: Likewise.
50676         * lib/strnlen1.c: Likewise.
50677         * lib/strnlen1.h: Likewise.
50678         * lib/tls.c: Likewise.
50679         * lib/tls.h: Likewise.
50680         * lib/tmpdir.c: Likewise.
50681
50682         * lib/TODO: Remove; this belongs only in coreutils.
50683
50684 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50685
50686         Add copyright notices to long-enough files that lack them, since
50687         otherwise the files aren't clearly free.  Use the same notice that
50688         getdate.texi already uses.
50689         * doc/alloca-opt.texi: Add copyright notice.
50690         * doc/alloca.texi: Likewise.
50691         * doc/ctime.texi: Likewise.
50692         * doc/functions.texi: Likewise.
50693         * doc/gcd.texi: Likewise.
50694         * doc/gnulib-tool.texi: Likewise.
50695         * doc/inet_ntoa.texi: Likewise.
50696         * doc/visibility.texi: Likewise.
50697
50698         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
50699         * doc/quote.texi: Add copyright notice.
50700
50701         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
50702         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
50703         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
50704         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
50705         is now obsolete, and give a pointer to the Sun list.
50706         Add copyright notice.
50707
50708 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50709
50710         * config/srclistvars.sh: Add copyright notice.
50711
50712 2006-08-14  Eric Blake  <ebb9@byu.net>
50713
50714         Import the following change from libc:
50715
50716         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
50717
50718         Upstream bug 2997.
50719         * lib/misc/error.c: Add space between program name and message if file
50720         name is missing.
50721
50722 2006-08-12  Karl Berry  <karl@gnu.org>
50723
50724         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
50725         remove, these originate in gnulib now.
50726
50727 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50728
50729         * doc/Makefile (standards.info standards.html standards.dvi):
50730         Also depend on make-stds.texi.
50731
50732 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50733
50734         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
50735         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
50736
50737         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
50738         in wchar_t.  Problem reported by Eric Blake.
50739
50740         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
50741         LEN is smaller than SIZE.  Suggested by Bruno Haible.
50742         Also, help the compiler to keep LEN in a register.
50743
50744 2006-08-11  Eric Blake  <ebb9@byu.net>
50745
50746         * users.txt: Sort.  Add tar.
50747
50748 2006-08-11  Bruno Haible  <bruno@clisp.org>
50749
50750         * users.txt: New file.
50751
50752 2006-08-11  Bruno Haible  <bruno@clisp.org>
50753
50754         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
50755         before <wchar.h>. Needed for OSF/1 and BSD/OS.
50756
50757 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50758
50759         * modules/snprintf (Depends-on): Remove minmax.
50760         (Maintainer): Add self and Bruno.
50761
50762 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50763
50764         * lib/.cppi-disable: Add snprintf.h, socket_.h.
50765         * lib/snprintf.c: Include <errno.h> and <limits.h>.
50766         (EOVERFLOW): Define if the system does not.
50767         Do not include "minmax.h"; it wasn't used.
50768         (snprintf): Don't assume size_t promotes to an unsigned type.
50769         Fix bug when generated string was too long for the buffer: the
50770         buffer's contents are supposed to be the initial prefix of the
50771         output.  Don't assume vasnprintf returns EOVERFLOW if the size
50772         exceeds INT_MAX; do the check ourselves.
50773
50774         Import the following changes from libc:
50775
50776         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
50777
50778         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
50779         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
50780         set wc to the byte which couldn't be converted.
50781         (re_string_reconstruct): Don't clear valid_raw_len before calling
50782         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
50783         tip_context using re_string_context_at.
50784
50785         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
50786
50787         * lib/posix/regex.h: g++ still cannot handled [restrict].
50788
50789         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
50790
50791         * lib/posix/regex.h: Remove special handling for VMS.
50792
50793 2006-08-10  Jim Meyering  <jim@meyering.net>
50794
50795         * modules/same-inode: New module.
50796         * modules/dev-ino: New module.
50797         * modules/cycle-check: Depend on these modules, rather than simply
50798         including their .h files.
50799         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
50800         required via m4/cycle-check.m4.
50801         * modules/same: Depend on new same-inode module, rather than
50802         including same-inode.h.
50803         * modules/chdir-safer: New file.
50804
50805         * modules/chown (Depends-on): Add stat-macros.
50806
50807 2006-08-10  Jim Meyering  <jim@meyering.net>
50808
50809         * m4/cycle-check.m4: New file.
50810         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
50811         * m4/dev-ino.m4, m4/same-inode.m4: New files.
50812
50813 2006-08-10  Eric Blake  <ebb9@byu.net>
50814
50815         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
50816         in from original proposal.
50817
50818 2006-08-10  Eric Blake  <ebb9@byu.net>
50819         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
50820
50821         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
50822         namespace.
50823
50824 2006-08-10  Bruno Haible  <bruno@clisp.org>
50825
50826         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
50827         as well.
50828
50829 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50830
50831         Sync from coreutils.
50832
50833         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
50834
50835         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
50836         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
50837
50838 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50839
50840         * modules/restrict: Remove; no longer needed now that we assume
50841         Autoconf 2.59 or later.
50842         * MODULES.html.sh: Remove 'restrict'.
50843         * modules/argp (Depends-on): Remove 'restrict'.
50844         * modules/base64 (Depends-on): Likewise.
50845         * modules/gc (Depends-on): Likewise.
50846         * modules/getaddrinfo (Depends-on): Likewise.
50847         * modules/glob (Depends-on): Likewise.
50848         * modules/inet_ntop (Depends-on): Likewise.
50849         * modules/inet_pton (Depends-on): Likewise.
50850         * modules/memxor (Depends-on): Likewise.
50851         * modules/regex (Depends-on): Likewise.
50852         * modules/strtok_r (Depends-on): Likewise.
50853         * modules/time_r (Depends-on): Likewise.
50854
50855 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50856
50857         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
50858         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
50859         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
50860         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
50861         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
50862         * m4/memxor.m4 (gl_MEMXOR): Likewise.
50863         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
50864         gl_C_RESTRICT replaced by AC_C_RESTRICT.
50865
50866         Merge from coreutils.
50867         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
50868         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
50869         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
50870         * m4/time_r.m4 (gl_TIME_R): Likewise.
50871
50872 2006-08-09  Karl Berry  <karl@gnu.org>
50873
50874         * config/srclist.txt: no more gettext-tools, per Bruno.
50875
50876 2006-08-08  Eric Blake  <ebb9@byu.net>
50877
50878         * modules/verror: New module.
50879         * MODULES.html.sh: Document it.
50880
50881 2006-08-08  Eric Blake  <ebb9@byu.net>
50882
50883         * lib/verror.h, lib/verror.c: New files.
50884
50885 2006-08-08  Eric Blake  <ebb9@byu.net>
50886
50887         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
50888         verror_at_line output complies with GNU Coding Standards even when
50889         file is NULL.
50890
50891 2006-08-07  Bruno Haible  <bruno@clisp.org>
50892
50893         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
50894         versions of AIX.
50895         Reported by Ralf Wildenhues.
50896
50897 2006-08-07  Bruno Haible  <bruno@clisp.org>
50898
50899         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
50900         in an AC_DEFUN. Needed so that the autoconf snippets can use
50901         AC_REQUIRE.
50902
50903 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50904
50905         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50906         Initialize pkgdata_DATA.
50907         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
50908         overriding it.
50909
50910 2006-08-06  Eric Blake  <ebb9@byu.net>
50911
50912         * lib/error.h: Fold in some upstream changes from glibc.
50913         * lib/error.c: Likewise.
50914
50915 2006-08-04  Bruno Haible  <bruno@clisp.org>
50916
50917         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50918         Make the mostlyclean-local rule depend on mostlyclean-generic.
50919         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
50920
50921 2006-07-31  Bruno Haible  <bruno@clisp.org>
50922
50923         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
50924         <stdlib.h>, <string.h>.
50925
50926 2006-07-30  Bruno Haible  <bruno@clisp.org>
50927
50928         * modules/readlink (License): Change to LGPL.
50929
50930 2006-07-30  Bruno Haible  <bruno@clisp.org>
50931
50932         * modules/javaversion (Makefile.am): Distribute javaversion.java and
50933         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
50934         set PKGDATADIR to point to it.
50935
50936 2006-07-30  Bruno Haible  <bruno@clisp.org>
50937
50938         * modules/csharpexec (configure.ac): Comment out macro invocation.
50939         * modules/javaexec (configure.ac): Likewise.
50940         * modules/javacomp-script (configure.ac): Likewise.
50941
50942         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
50943
50944 2006-07-30  Bruno Haible  <bruno@clisp.org>
50945
50946         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
50947         linked-list.
50948
50949 2006-07-30  Bruno Haible  <bruno@clisp.org>
50950
50951         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
50952
50953 2006-07-30  Bruno Haible  <bruno@clisp.org>
50954
50955         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50956         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
50957         get removed.
50958
50959 2006-07-29  Bruno Haible  <bruno@clisp.org>
50960
50961         Make it possible for gnulib-tool to work with locally modified or
50962         augmented gnulib repositories.
50963         * gnulib-tool (func_usage): Document --local-dir option.
50964         (local_gnulib_dir): New variable.
50965         Handle --local-dir option.
50966         (func_lookup_file): New function.
50967         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
50968         (func_get_description, func_get_filelist, func_get_description,
50969         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
50970         func_get_automake_snippet, func_get_include_directive,
50971         func_get_license, func_get_maintainer): Use func_lookup_file.
50972         (func_import, func_create_testdir): Use func_lookup_file.
50973
50974 2006-07-29  Bruno Haible  <bruno@clisp.org>
50975
50976         * modules/setenv (Depends-on): Add unistd.
50977
50978 2006-07-29  Bruno Haible  <bruno@clisp.org>
50979
50980         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
50981
50982 2006-07-29  Bruno Haible  <bruno@clisp.org>
50983
50984         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
50985
50986 2006-07-29  Bruno Haible  <bruno@clisp.org>
50987
50988         * gnulib-tool (import, update): If there is no Makefile.am, look at
50989         aclocal.m4, instead of bailing out.
50990
50991 2006-07-29  Bruno Haible  <bruno@clisp.org>
50992
50993         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
50994         Categorize the options by when they are useful.
50995
50996 2006-07-29  Bruno Haible  <bruno@clisp.org>
50997
50998         * gnulib-tool (func_usage): Document option --no-libtool.
50999         Handle option --no-libtool.
51000         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
51001         for changed semantics of $libtool variable.
51002         (func_import): Likewise. If libtool is not used, show this through
51003         an option --no-libtool.
51004         (func_create_testdir): Update.
51005
51006 2006-07-29  Bruno Haible  <bruno@clisp.org>
51007
51008         * gnulib-tool (func_import): Extend error message about missing
51009         --doc-base.
51010
51011 2006-07-29  Bruno Haible  <bruno@clisp.org>
51012
51013         * gnulib-tool (func_import): Don't create the $docbase directory if
51014         there is no file to store there.
51015
51016 2006-07-29  Bruno Haible  <bruno@clisp.org>
51017
51018         * gnulib-tool (autoconf_minversion): If a --dir option is given and
51019         relevant, look for configure.ac there, not in the current directory.
51020         Also use a simple search for AC_PREREQ, not "autoconf --trace".
51021
51022 2006-07-29  Bruno Haible  <bruno@clisp.org>
51023
51024         * gnulib-tool (SORT): New variable.
51025         (func_usage): Undocument --assume-autoconf option.
51026         Remove --assume-autoconf option handling.
51027         (autoconf_minversion): Determine from the contents of configure.ac.
51028         (func_import): Remove autoconf_minversion handling.
51029         Suggested by Eric Blake.
51030
51031 2006-07-29  Bruno Haible  <bruno@clisp.org>
51032
51033         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
51034
51035 2006-07-29  Bruno Haible  <bruno@clisp.org>
51036
51037         * config/srclist.txt (*setenv.[ch]): Remove rules.
51038
51039 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51040
51041         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
51042
51043 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51044
51045         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
51046         arpa/inet.h.
51047
51048 2006-07-28  Simon Josefsson  <jas@extundo.com>
51049
51050         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
51051         * modules/inet_pton (Depends-on): Likewise.
51052
51053 2006-07-28  Simon Josefsson  <jas@extundo.com>
51054
51055         * m4/netinet_in_h.m4: New file.
51056
51057 2006-07-28  Simon Josefsson  <jas@extundo.com>
51058
51059         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
51060         #include's.
51061
51062 2006-07-28  Simon Josefsson  <jas@extundo.com>
51063
51064         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
51065         #include's.
51066
51067 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
51068
51069         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
51070         setgid on directories only if they set these bits.
51071         * lib/modechange.h: Remove obsolete comment about masks.
51072
51073 2006-07-28  Eric Blake  <ebb9@byu.net>
51074
51075         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
51076         macro expansion.
51077
51078 2006-07-28  Bruno Haible  <bruno@clisp.org>
51079
51080         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
51081
51082 2006-07-28  Bruno Haible  <bruno@clisp.org>
51083
51084         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
51085
51086 2006-07-28  Bruno Haible  <bruno@clisp.org>
51087
51088         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
51089         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
51090         Define fallbacks.
51091         Avoids link error on FreeBSD 4.x.
51092         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51093
51094         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
51095         encoding.
51096         * lib/mbswidth.c (iswcntrl): Likewise.
51097
51098 2006-07-27  Bruno Haible  <bruno@clisp.org>
51099
51100         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
51101         test.
51102
51103 2006-07-27  Bruno Haible  <bruno@clisp.org>
51104
51105         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
51106         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
51107         defined.
51108
51109 2006-07-26  Eric Blake  <ebb9@byu.net>
51110
51111         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
51112
51113 2006-07-26  Eric Blake  <ebb9@byu.net>
51114
51115         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
51116         like mingw that lack mkstemp.
51117         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
51118         avoid compilation warning on mingw.
51119
51120 2006-07-26  Bruno Haible  <bruno@clisp.org>
51121
51122         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
51123         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
51124         INT_FAST*_MIN, INTPTR_MIN.
51125
51126 2006-07-25  Bruno Haible  <bruno@clisp.org>
51127
51128         * modules/version-etc (Depends-on): Add stdarg.
51129
51130 2006-07-25  Bruno Haible  <bruno@clisp.org>
51131
51132         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
51133         complex commands.
51134
51135 2006-07-25  Bruno Haible  <bruno@clisp.org>
51136
51137         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
51138         defined in <stdarg.h> or config.h.
51139
51140 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51141
51142         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
51143         (gl_STDIO_SAFER): Remove.
51144
51145 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51146
51147         * MODULES.html.sh (File stream based Input/Output):
51148         Add fopen-safer, tmpfile-safer; remove stdio-safer.
51149         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
51150         * modules/fopen-safer, modules/tmpfile-safer: New files.
51151         * modules/stdio-safer: Remove.
51152
51153 2006-07-24  Bruno Haible  <bruno@clisp.org>
51154
51155         * modules/tmpdir: New file.
51156         * MODULES.html.sh (File system functions): Add it.
51157
51158 2006-07-24  Bruno Haible  <bruno@clisp.org>
51159
51160         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
51161         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
51162
51163 2006-07-24  Bruno Haible  <bruno@clisp.org>
51164
51165         * modules/clean-temp: New file.
51166
51167 2006-07-24  Bruno Haible  <bruno@clisp.org>
51168
51169         * m4/tmpdir.m4: New file, from GNU gettext.
51170
51171 2006-07-24  Bruno Haible  <bruno@clisp.org>
51172
51173         * lib/tmpdir.h: New file, from GNU gettext.
51174         * lib/tmpdir.c: New file, from GNU gettext.
51175
51176 2006-07-24  Bruno Haible  <bruno@clisp.org>
51177
51178         * lib/clean-temp.h: New file, from GNU gettext.
51179         * lib/clean-temp.c: New file, from GNU gettext.
51180
51181 2006-07-23  Eric Blake  <ebb9@byu.net>
51182
51183         * modules/stdio-safer (Files): Add tmpfile-safer.c.
51184         (Depends-on): Add binary-io.
51185
51186 2006-07-23  Eric Blake  <ebb9@byu.net>
51187
51188         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
51189
51190 2006-07-23  Eric Blake  <ebb9@byu.net>
51191
51192         * lib/tmpfile-safer.c: New file.
51193         * lib/stdio-safer.h (fopen_safer): Add prototype.
51194         * lib/stdio--.h (tmpfile): Make safer.
51195
51196 2006-07-23  Bruno Haible  <bruno@clisp.org>
51197
51198         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
51199         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
51200         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
51201         gl_linked_remove_at): Use it.
51202
51203 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51204         and Simon Josefsson <jas@extundo.com>
51205
51206         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
51207
51208         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
51209
51210 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51211
51212         * modules/close-stream: New file.
51213         * modules/closeout (Description): Make it clear that it exits
51214         with a diagnostic on error.
51215         (Depends-on): Add close-stream.  Remove fpending, stdbool.
51216         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
51217
51218 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51219
51220         * m4/close-stream.m4: New file.
51221
51222 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51223
51224         * lib/close-stream.c, lib/close-stream.h: New files.
51225
51226 2006-07-22  Bruno Haible  <bruno@clisp.org>
51227
51228         Merge from GNU gettext 0.15.
51229
51230         2006-05-01  Bruno Haible  <bruno@clisp.org>
51231
51232                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
51233
51234         2006-07-22  Bruno Haible  <bruno@clisp.org>
51235
51236                 * modules/javaversion: New file.
51237                 * MODULES.html.sh (Java): Add javaversion.
51238
51239         2006-03-12  Bruno Haible  <bruno@clisp.org>
51240
51241                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
51242
51243         2005-12-04  Bruno Haible  <bruno@clisp.org>
51244
51245                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
51246                 (untested).
51247
51248         2006-06-21  Bruno Haible  <bruno@clisp.org>
51249
51250                 Avoid warnings from recent versions of mcs.
51251                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
51252                 -o, -L, -r any more. Use options documented since mcs-1.0
51253                 instead. Similarly for -g.
51254
51255         2005-12-04  Bruno Haible  <bruno@clisp.org>
51256
51257                 * build-aux/csharpcomp.sh.in: Suffix for resources is
51258                 .resources, not .resource.
51259
51260         2005-07-09  Bruno Haible  <bruno@clisp.org>
51261
51262                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
51263                 add a .dll suffix.
51264                 Reported by Mark Junker <mjscod@gmx.de>.
51265
51266         2006-07-22  Bruno Haible  <bruno@clisp.org>
51267
51268                 * modules/gettext: Upgrade to gettext-0.15.
51269                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
51270                 m4/visibility.m4.
51271                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
51272
51273 2006-07-22  Bruno Haible  <bruno@clisp.org>
51274
51275         Merge from GNU gettext 0.15.
51276
51277         2006-03-25  Bruno Haible  <bruno@clisp.org>
51278
51279                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
51280
51281         2006-07-21  Bruno Haible  <bruno@clisp.org>
51282
51283                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
51284                 "1.1".
51285
51286         2006-05-09  Bruno Haible  <bruno@clisp.org>
51287
51288                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
51289                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
51290                 for the conftestver execution.
51291
51292         2006-05-01  Bruno Haible  <bruno@clisp.org>
51293
51294                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
51295                 optional target-version argument. Verify that the compiler
51296                 groks source of the specified source-version, or add -source
51297                 option as necessary. Verify that the compiler produces
51298                 bytecode in the specified target-version, or add -target and
51299                 -source options as necessary. Make the result of the test
51300                 available as variable CONF_JAVAC. Also log error output in
51301                 config.log.
51302
51303         2006-03-11  Bruno Haible  <bruno@clisp.org>
51304
51305                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
51306
51307         2006-05-09  Bruno Haible  <bruno@clisp.org>
51308
51309                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
51310                 CLASSPATH_SEPARATOR to a semicolon.
51311
51312         2006-03-12  Bruno Haible  <bruno@clisp.org>
51313
51314                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
51315                 available as variable CONF_JAVA, for subsequent autoconf
51316                 tests. Also log error output in config.log.
51317
51318         2006-07-19  Bruno Haible  <bruno@clisp.org>
51319
51320                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
51321                 that getline works on glibc2 systems. Needed to avoid trouble
51322                 in relocatable.c.
51323                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
51324
51325         2005-12-04  Bruno Haible  <bruno@clisp.org>
51326
51327                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
51328                 launcher (untested).
51329
51330         2005-12-04  Bruno Haible  <bruno@clisp.org>
51331
51332                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
51333
51334         2006-07-22  Bruno Haible  <bruno@clisp.org>
51335
51336                 * gettext.m4: Update from GNU gettext-0.15.
51337                 * nls.m4: Likewise.
51338                 * po.m4: Likewise.
51339                 * inttypes-pri.m4: Likewise.
51340                 * inttypes-h.m4: Renamed from inttypes.m4.
51341                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
51342
51343 2006-07-22  Bruno Haible  <bruno@clisp.org>
51344
51345         Merge from GNU gettext 0.15.
51346
51347         2005-07-05  Bruno Haible  <bruno@clisp.org>
51348
51349                 * printf-args.c (printf_fetchargs): Work around broken
51350                 definition of wint_t on mingw.
51351
51352         2005-02-12  Bruno Haible  <bruno@clisp.org>
51353
51354                 * xallocsa.h: Add extern "C" for C++.
51355
51356         2006-05-17  Bruno Haible  <bruno@clisp.org>
51357
51358                 Cygwin portability.
51359                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
51360
51361         2006-04-30  Bruno Haible  <bruno@clisp.org>
51362
51363                 * progreloc.c: Include <mach-o/dyld.h> if available.
51364                 (find_executable): Use _NSGetExecutablePath when possible.
51365
51366         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
51367
51368                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
51369                 function.
51370
51371         2005-12-29  Bruno Haible  <bruno@clisp.org>
51372
51373                 * progreloc.c (set_program_name_and_installdir): Fix
51374                 compilation error.
51375
51376         2005-12-04  Bruno Haible  <bruno@clisp.org>
51377
51378                 Cygwin portability.
51379                 * progreloc.c: Include <windows.h> also on Cygwin.
51380                 (find_executable): Add support for Cygwin.
51381                 (set_program_name_and_installdir): Handle also platforms with
51382                 nonempty EXEEXT.
51383
51384         2006-07-11  Bruno Haible  <bruno@clisp.org>
51385
51386                 * javacomp.c: Fix a comment.
51387                 Reported by Jim Meyering.
51388
51389         2006-04-30  Bruno Haible  <bruno@clisp.org>
51390
51391                 * javacomp.h (compile_java_class): Add source_version,
51392                 target_version arguments.
51393                 * javacomp.c: Rewritten to choose only a compiler that
51394                 respects the specified source_version and target_version.
51395
51396         2006-06-27  Bruno Haible  <bruno@clisp.org>
51397
51398                 Assume correct S_ISDIR macro.
51399                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
51400
51401         2006-07-22  Bruno Haible  <bruno@clisp.org>
51402
51403                 * javaversion.h: New file, from GNU gettext.
51404                 * javaversion.c: New file, from GNU gettext.
51405                 * javaversion.java: New file, from GNU gettext.
51406                 * javaversion.class: New file, from GNU gettext.
51407
51408         2006-05-17  Bruno Haible  <bruno@clisp.org>
51409
51410                 Cygwin portability.
51411                 * javaexec.c (execute_java_class): Test for jview program
51412                 also on Cygwin.
51413
51414         2006-04-09  Bruno Haible  <bruno@clisp.org>
51415
51416                 * fatal-signal.c: Don't include string.h.
51417                 (at_fatal_signal): Use a copying loop instead of memcpy.
51418
51419         2005-12-04  Bruno Haible  <bruno@clisp.org>
51420
51421                 * csharpexec.c: Add support for 'clix' launcher (untested).
51422                 (execute_csharp_using_sscli): New function.
51423                 (execute_csharp_program): Call it.
51424
51425         2006-06-21  Bruno Haible  <bruno@clisp.org>
51426
51427                 Avoid warnings from recent versions of mcs.
51428                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
51429                 -o, -L, -r any more. Use options documented since mcs-1.0
51430                 instead. Similarly for -g.
51431
51432         2005-07-09  Bruno Haible  <bruno@clisp.org>
51433
51434                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
51435                 add a .dll suffix.
51436                 Reported by Mark Junker <mjscod@gmx.de>.
51437
51438         2006-06-17  Bruno Haible  <bruno@clisp.org>
51439
51440                 * config.charset: Update for NetBSD 3.0.
51441
51442         2006-05-17  Bruno Haible  <bruno@clisp.org>
51443
51444                 Cygwin portability.
51445                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
51446
51447         2006-05-16  Bruno Haible  <bruno@clisp.org>
51448
51449                 * localcharset.c [CYGWIN]: Include <windows.h>.
51450                 (get_charset_aliases): For Cygwin, return the same CPxxx
51451                 aliases list as under WIN32.
51452                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
51453                 the environment variables. Fall back to GetACP().
51454
51455         2006-04-05  Bruno Haible  <bruno@clisp.org>
51456
51457                 * config.charset: Update Juan Manuel Guerrero's address.
51458
51459         2005-02-12  Bruno Haible  <bruno@clisp.org>
51460
51461                 * allocsa.h: Add extern "C" for C++.
51462
51463         2005-02-10  Bruno Haible  <bruno@clisp.org>
51464
51465                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
51466                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
51467
51468         2006-07-22  Bruno Haible  <bruno@clisp.org>
51469
51470                 * gettext.h: Update to GNU gettext-0.15.
51471
51472 2006-07-22  Bruno Haible  <bruno@clisp.org>
51473
51474         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
51475         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
51476         lib-prefix.m4, longdouble.m4, ssize_t.m4.
51477
51478 2006-07-21  Eric Blake  <ebb9@byu.net>
51479
51480         * modules/stdlib-safer: New file.
51481         * MODULES.html.sh (File stream based Input/Output): Add
51482         stdlib-safer.
51483
51484 2006-07-21  Eric Blake  <ebb9@byu.net>
51485
51486         * lib/stdlib-safer.h: New file from coreutils, required by
51487         stdlib--.h.
51488
51489 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
51490
51491         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
51492
51493 2006-07-20  Bruno Haible  <bruno@clisp.org>
51494
51495         * gnulib-tool: Recognize new option --assume-autoconf.
51496         (autoconf_minversion): New variable.
51497         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
51498
51499 2006-07-20  Bruno Haible  <bruno@clisp.org>
51500
51501         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
51502
51503 2006-07-19  Derek R. Price  <derek@ximbiot.com>
51504
51505         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
51506         Reindent and repaginate.
51507
51508 2006-07-19  Derek Price  <derek@ximbiot.com>
51509
51510         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
51511         Correct grammar.
51512
51513 2006-07-17  Bruno Haible  <bruno@clisp.org>
51514
51515         * modules/list: New file.
51516         * modules/array-list: New file.
51517         * modules/carray-list, modules/carray-list-tests: New files.
51518         * modules/linked-list, modules/linked-list-tests: New files.
51519         * modules/avltree-list, modules/avltree-list-tests: New files.
51520         * modules/rbtree-list, modules/rbtree-list-tests: New files.
51521         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
51522         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
51523         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
51524         * modules/oset: New file.
51525         * modules/array-oset: New file.
51526         * modules/avltree-oset, modules/avltree-oset-tests: New files.
51527         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
51528         * tests/test-carray_list.c: New file.
51529         * tests/test-linked_list.c: New file.
51530         * tests/test-avltree_list.c: New file.
51531         * tests/test-rbtree_list.c: New file.
51532         * tests/test-linkedhash_list.c: New file.
51533         * tests/test-avltreehash_list.c: New file.
51534         * tests/test-rbtreehash_list.c: New file.
51535         * tests/test-avltree_oset.c: New file.
51536         * tests/test-rbtree_oset.c: New file.
51537         * MODULES.html.sh (Container data structures): New section.
51538
51539 2006-07-17  Bruno Haible  <bruno@clisp.org>
51540
51541         * m4/gl_list.m4: New file.
51542
51543 2006-07-17  Bruno Haible  <bruno@clisp.org>
51544
51545         * lib/gl_list.h: New file.
51546         * lib/gl_list.c: New file.
51547         * lib/gl_array_list.h: New file.
51548         * lib/gl_array_list.c: New file.
51549         * lib/gl_carray_list.h: New file.
51550         * lib/gl_carray_list.c: New file.
51551         * lib/gl_linked_list.h: New file.
51552         * lib/gl_linked_list.c: New file.
51553         * lib/gl_anylinked_list1.h: New file.
51554         * lib/gl_anylinked_list2.h: New file.
51555         * lib/gl_avltree_list.h: New file.
51556         * lib/gl_avltree_list.c: New file.
51557         * lib/gl_anyavltree_list1.h: New file.
51558         * lib/gl_anyavltree_list2.h: New file.
51559         * lib/gl_rbtree_list.h: New file.
51560         * lib/gl_rbtree_list.c: New file.
51561         * lib/gl_anyrbtree_list1.h: New file.
51562         * lib/gl_anyrbtree_list2.h: New file.
51563         * lib/gl_anytree_list1.h: New file.
51564         * lib/gl_anytree_list2.h: New file.
51565         * lib/gl_linkedhash_list.h: New file.
51566         * lib/gl_linkedhash_list.c: New file.
51567         * lib/gl_anyhash_list1.h: New file.
51568         * lib/gl_anyhash_list2.h: New file.
51569         * lib/gl_avltreehash_list.h: New file.
51570         * lib/gl_avltreehash_list.c: New file.
51571         * lib/gl_rbtreehash_list.h: New file.
51572         * lib/gl_rbtreehash_list.c: New file.
51573         * lib/gl_anytreehash_list1.h: New file.
51574         * lib/gl_anytreehash_list2.h: New file.
51575
51576         * lib/gl_oset.h: New file.
51577         * lib/gl_oset.c: New file.
51578         * lib/gl_array_oset.h: New file.
51579         * lib/gl_array_oset.c: New file.
51580         * lib/gl_avltree_oset.h: New file.
51581         * lib/gl_avltree_oset.c: New file.
51582         * lib/gl_rbtree_oset.h: New file.
51583         * lib/gl_rbtree_oset.c: New file.
51584         * lib/gl_anytree_oset.h: New file.
51585
51586 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51587
51588         * m4/mkancesdirs.m4: New file.
51589         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
51590         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
51591         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
51592         it.
51593
51594 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51595
51596         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
51597         * lib/mkancesdirs.h: New files.
51598         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
51599         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
51600         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
51601         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
51602         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
51603         callers changed.  Revamp internals significantly, by not
51604         attempting to create directories that are temporarily more
51605         permissive than the final results.  Do not attempt to use
51606         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
51607         This removes some race conditions, fixes some bugs, and simplifies
51608         things.  Use new dirchownmod function to do owner and mode changes.
51609         * lib/mkdir-p.h: Likewise.
51610         * lib/modechange.c (octal_to_mode): New function.
51611         (struct mode_change): New member mentioned.
51612         (make_node_op_equals): New arg mentioned.  All callers changed.
51613         (mode_compile): Keep track of which mode bits the user has explicitly
51614         mentioned.
51615         (mode_adjust): New arg DIR, so that we implement the X op correctly.
51616         New arg PMODE_BITS, to keep track of which mode bits the user
51617         mentioned; it treats S_ISUID and S_ISGID speciall.
51618         All callers changed.
51619         * lib/modechange.h: Likewise.
51620
51621 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51622
51623         * MODULES.html.sh: Add mkancestors.
51624         * modules/mkancesdirs: New module.
51625         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
51626         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
51627         The chdir-safer and afs files are now orphans; I'll remove them
51628         unless someone speaks up.
51629         Add lib/dirchownmod.c, lib/dirchownmod.h.
51630         (Depends-on): Remove alloca, chown, save-cwd, dirname.
51631         Add lchown, mkancesdirs.
51632         (Maintainer): Add self.
51633
51634 2006-07-15  Karl Berry  <karl@gnu.org>
51635
51636         * gnulib-tool: help message wording/arrangement.
51637
51638 2006-07-14  Simon Josefsson  <jas@extundo.com>
51639
51640         * doc/gnulib.texi (Libtool and Windows): New section.
51641
51642 2006-07-12  Simon Josefsson  <jas@extundo.com>
51643
51644         * modules/gendocs (License): Fix license, approved by Karl.
51645
51646 2006-07-12  Eric Blake  <ebb9@byu.net>
51647
51648         * MODULES.html.sh: Add gendocs.
51649
51650 2006-07-11  Eric Blake  <ebb9@byu.net>
51651
51652         * modules/fdl: New module, to install doc/fdl.texi.
51653         * MODULES.html.sh: Add new section for documentation modules.
51654         * gnulib-tool: Avoid space-tab.
51655         (--doc-base): New option, to manage files from doc.
51656
51657 2006-07-11  Eric Blake  <ebb9@byu.net>
51658
51659         * m4/absolute-header.m4: Fix comments to match recent change.
51660
51661 2006-07-11  Eric Blake  <ebb9@byu.net>
51662
51663         * gnulib-tool: List --doc-base before --tests-base.
51664
51665 2006-07-11  Derek R. Price  <derek@ximbiot.com>
51666
51667         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
51668
51669 2006-07-11  Bruno Haible  <bruno@clisp.org>
51670
51671         * README: Mention where to put documentation.
51672
51673 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51674
51675         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
51676
51677 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
51678
51679         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
51680         to stdint.m4.
51681
51682 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
51683
51684         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
51685         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
51686         "no/such/file/stdint.h" when there is no such file, so that
51687         the resulting C code can be parsed by dodgy compilers.
51688         Problems reported by Bob Proulx.
51689
51690 2006-07-10  Derek R. Price  <derek@ximbiot.com>
51691
51692         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
51693         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
51694         macros into the GNU _D_EXACT_NAMLEN.
51695         * lib/savedir.c:  Likewise.
51696         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
51697
51698 2006-07-10  Derek R. Price  <derek@ximbiot.com>
51699         and Paul Eggert  <eggert@cs.ucla.edu>
51700
51701         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
51702         * m4/savedir.m4:
51703         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
51704         macros into the GNU _D_EXACT_NAMLEN.
51705
51706 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51707
51708         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
51709         around the absolute name, to work around a problem with the HP-UX
51710         11.23 native C compiler, reported by Bob Proulx.
51711
51712 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51713
51714         * doc/maintain.texi, make-stds.texi: Sync from
51715         <http://savannah.gnu.org/projects/gnustandards>.
51716
51717 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51718
51719         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
51720
51721 2006-07-09  Jim Meyering  <jim@meyering.net>
51722
51723         * m4/glob.m4: Remove a doubled word in a comment.
51724
51725 2006-07-09  Jim Meyering  <jim@meyering.net>
51726
51727         * lib/argp-pv.c: Remove a doubled word in a comment.
51728         * lib/check-version.c (check_version): Likewise.
51729         * lib/javacomp.c (compile_java_class): Likewise.
51730
51731 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51732
51733         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
51734         for the benefit of people using Autoconf 2.60.  If you want to
51735         support older Autoconf versions you can copy m4/onceonly_2_57.m4
51736         (or m4/onceonly.m4, if pre-2.57) manually.
51737
51738 2006-07-08  Jim Meyering  <jim@meyering.net>
51739
51740         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
51741         comment.
51742         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
51743         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
51744         comment.
51745
51746 2006-07-08  Jim Meyering  <jim@meyering.net>
51747
51748         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
51749
51750 2006-07-07  Simon Josefsson  <jas@extundo.com>
51751
51752         * tests/test-crc.c: Change expected crc value, the test vector
51753         were probably computed using the old broken crc.c?
51754
51755 2006-07-06  Simon Josefsson  <jas@extundo.com>
51756
51757         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
51758         now the canonical place for the M4 file).
51759
51760         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
51761         from the sys_socket dependency now.
51762
51763         * modules/inet_pton (Files): Ditto.
51764
51765         * modules/inet_ntop (Files): Ditto.
51766
51767 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51768
51769         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
51770         not gl_PREREQ_GETUSERSHELL.
51771
51772 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51773
51774         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
51775         with only one argument, for Autoconf 2.60.
51776         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
51777         expand to nothing, so add a shell command to avoid syntax error.
51778         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
51779
51780 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51781
51782         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
51783
51784 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51785
51786         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
51787         no longer needed.  Check for isblank decl.
51788         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
51789         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
51790         of existence.
51791
51792 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51793
51794         * lib/getloadavg.c: Use __VMS, not VMS.
51795         * lib/getopt.c: Likewise.
51796         * lib/getpagesize.h: Likewise.
51797         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
51798         and probably does not work.
51799
51800 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51801
51802         * lib/.cppi-disable: Add wcwidth.
51803         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
51804         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
51805         (ISGRAPH): Remove.  All uses changed to isgraph.
51806         (FOLD) [!defined _LIBC]: Remove special case.
51807         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
51808         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
51809         HAVE_ISBLANK.
51810         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
51811         case.
51812
51813 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
51814
51815         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
51816         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
51817         brackets.  Other minor changes to suppress some compiler
51818         warnings.
51819
51820 2006-07-06  Derek R. Price  <derek@ximbiot.com>
51821         and Paul Eggert  <eggert@cs.ucla.edu>
51822
51823         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
51824         of invoking obsolescent AC_HEADER_DIRENT macro.
51825         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
51826         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
51827         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
51828         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
51829         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
51830         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
51831         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
51832         * m4/readdir.m4: Remove; no longer needed.
51833
51834 2006-07-06  Derek R. Price  <derek@ximbiot.com>
51835         and Paul Eggert  <eggert@cs.ucla.edu>
51836
51837         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
51838         Don't worry about this obsolete case any more.
51839         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
51840         directories.
51841         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
51842         worry about this obsolete case any more.
51843         * lib/fts.c: Likewise.
51844         * lib/getcwd.c: Likewise.
51845         * lib/glob.h: Likewise.
51846         * lib/savedir.c: Likewise.
51847
51848 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51849
51850         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
51851         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
51852         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
51853         needed.
51854         All uses removed.
51855         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51856         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
51857         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
51858         needed.
51859         * m4/getdate.m4 (gl_GETDATE): Likewise.
51860         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
51861         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
51862         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
51863         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51864         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
51865         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51866         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
51867         needed.
51868
51869 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51870
51871         * lib/memcasecmp.c: Include <limits.h>.
51872         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
51873         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
51874         Don't assume isdigit succeeds only on '0' through '9'.
51875
51876 2006-07-05  Eric Blake  <ebb9@byu.net>
51877
51878         * modules/getaddrinfo (Depends-on): Add snprintf.
51879
51880 2006-07-05  Eric Blake  <ebb9@byu.net>
51881
51882         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
51883         to avoid 'header present but could not be compiled' on cygwin.
51884
51885 2006-07-05  Eric Blake  <ebb9@byu.net>
51886
51887         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
51888         missing from netdb.h.
51889         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
51890
51891 2006-07-05  Derek R. Price  <derek@ximbiot.com>
51892
51893         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
51894         no longer needed.
51895         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
51896         * m4/getdate.m4 (gl_GETDATE): Likewise.
51897         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
51898         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
51899         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
51900         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51901         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51902
51903 2006-07-05  Derek R. Price  <derek@ximbiot.com>
51904
51905         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
51906         All uses of is_space replaced by isspace.
51907         * lib/exit.h: Don't talk about STDC_HEADERS.
51908         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
51909         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
51910         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
51911         replaced by isprint etc.
51912         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
51913         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
51914         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
51915         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
51916         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
51917         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
51918
51919 2006-07-05  Bruno Haible  <bruno@clisp.org>
51920
51921         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
51922         the function exists, before testing against AIX.
51923         Reported by Martin Lambers <marlam@marlam.de>.
51924
51925 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
51926
51927         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
51928         From Mark D. Baushke.
51929
51930 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
51931
51932         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
51933         to the absolute name, not just one, to bypass Sun C 5.8's
51934         "warning: #include of /usr/include/... may be non-portable".
51935
51936 2006-07-04  Eric Blake  <ebb9@byu.net>
51937
51938         * modules/dirname-tests: New test module.
51939         * tests/test-dirname.c: New file, replacing dirname.c
51940         TEST_DIRNAME section that was recently deleted.
51941
51942 2006-07-04  Bruno Haible  <bruno@clisp.org>
51943
51944         Assume ANSI C header files and <ctype.h> functions.
51945         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
51946         (mbsnwidth): Use isprint, iscntrl instead.
51947
51948 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
51949
51950         Merge from coreutils.
51951         * MODULES.html.sh: Add xstrtold.
51952         * modules/xstrtold: New file.
51953         * modules/cycle-check (Files): Add lib/same-inode.h.
51954         * modules/dirname (Files): Add m4/double-slash-root.m4.
51955         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
51956         * modules/mkdir-p (Files): Add lib/same-inode.h.
51957         * modules/same (Files): Add lib/same-inode.h.
51958
51959 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
51960
51961         * m4/absolute-header.m4: Renamed from full-header-path.m4.
51962         This is to keep the terminology clean; POSIX talks about
51963         "absolute pathnames", not "full pathnames", but the GNU
51964         Coding Standards say to use "path" for something else;
51965         so use "absolute" to keep both sides happy.
51966         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
51967         Set gl_absolute_header, not gl_full_header_path.
51968         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
51969         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
51970         All uses changed.
51971
51972         Merge from coreutils.
51973
51974         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
51975
51976         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
51977         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
51978         want to require the building of c-strtod.o.
51979         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
51980         needs -lm directly.
51981         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
51982
51983         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
51984
51985         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
51986         --as-needed option if available.  Problem reported by Albert Chin in
51987         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
51988         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
51989         cc merely issues a bunch of annoying warnings for --as-needed
51990         (this problem was reported by Bob Proulx).  Also, try linking with
51991         -lm to detect a bug in binutils 2.16 (this problem was reported
51992         by Ralf Wildenhues).
51993
51994         2006-06-18  Jim Meyering  <jim@meyering.net>
51995
51996         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
51997         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
51998         macro.
51999         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
52000         also check for glibc-2.4's abort-inducing bug.
52001
52002         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
52003         Low-probability clean-up should be to use rmdir to get rid of
52004         the just-created directory, not unlink.
52005
52006         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
52007         configure fail, and request a bug report to inform us about it.
52008         Add a comment that, barring reports to the contrary, in 2007 we'll
52009         assume ftruncate is universally available.
52010
52011         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52012
52013         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
52014
52015         2006-03-12  Jim Meyering  <jim@meyering.net>
52016
52017         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
52018         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
52019         * m4/same.m4 (gl_SAME): Likewise.
52020         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
52021
52022         2006-03-11  Eric Blake  <ebb9@byu.net>
52023
52024         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
52025         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
52026         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
52027         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
52028
52029 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52030
52031         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
52032         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
52033         reported by Mark D. Baushke, one in
52034         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
52035
52036         Merge from coreutils.
52037
52038         * lib/.cppi-disable: Add stdint_.h.
52039         * lib/.cvsignore: Add stdint.h.
52040
52041         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52042
52043         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
52044         both double and long double versions.
52045         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
52046         * lib/xstrtold.c: New file.
52047         * lib/xstrtod.h (xstrtold): New decl.
52048
52049         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
52050
52051         * lib/filemode.c (setst): Remove.
52052         (strmode): Rewrite to avoid setst.  This makes the code shorter,
52053         (arguably) clearer, and the generated code is a bit smaller on my
52054         Debian GNU/Linux stable x86 host.
52055
52056         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52057
52058         * lib/filemode.c: Include "filemode.h" first, to test the interface.
52059         Assume that filemode.h includes sys/types.h and sys/stat.h.
52060         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
52061         (ftypelet): Reorder to put common cases first, for efficiency.
52062         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
52063         to do 'M'.
52064         (strmode): Renamed from mode_string, and now stores 12 bytes instead
52065         of 10, for compatibility with FreeBSD.  All callers changed.
52066         (filemodestring): Now stores 12 bytes instead of 10, and sets file
52067         types that can't be deduced solely from st_mode.  First arg is now a
52068         const pointer.
52069         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
52070         (strmode): Renamed from mode_string.
52071         (filemodestring): New decl.
52072         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
52073         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
52074         needed.
52075         (S_ISPORT, S_ISWHT): New macros, if not already defined.
52076
52077         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
52078
52079         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
52080         fsusage.h now does that.  Include fsusage.h first, to test interface.
52081         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
52082         at most one method (the old code could have generated decls that
52083         didn't conform to C89, not that this was ever exercised).
52084         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
52085
52086         2006-03-19  Jim Meyering  <jim@meyering.net>
52087
52088         Work even in a chroot where d_ino values for entries in "/"
52089         don't match the stat.st_ino values for the same names.
52090         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
52091         number, iterate through all entries again, using lstat instead.
52092         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
52093         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
52094
52095         * lib/getcwd.c (__getcwd): Clarify a comment.
52096         Use memcpy in place of a call to strcpy.
52097
52098         2006-03-12  Jim Meyering  <jim@meyering.net>
52099
52100         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
52101         matches that of the current directory (which we're about to chdir ".."
52102         out of), then save the dev-ino of the parent, instead.
52103
52104         * lib/same-inode.h (SAME_INODE): New file/macro.
52105         * lib/chdir-safer.c (SAME_INODE): Remove definition.
52106         Include "same-inode.h", instead.
52107         * lib/same.c: Likewise.
52108         * lib/cycle-check.h: Include "same-inode.h".
52109         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
52110         * lib/cycle-check.c (SAME_INODE): Remove definition.
52111         * lib/root-dev-ino.h: Include "same-inode.h".
52112
52113         2006-03-11  Eric Blake  <ebb9@byu.net>
52114
52115         * lib/same.c (same_name): s/base_name/last_component/
52116         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
52117         * lib/filenamecat.c (file_name_concat): Likewise.
52118
52119         2006-03-11  Eric Blake  <ebb9@byu.net>,
52120                     Paul Eggert  <eggert@cs.ucla.edu>
52121
52122         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
52123         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
52124         drive prefix.
52125         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
52126         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
52127         (last_component): New method.
52128         * lib/dirname.c (dir_len): Determine when drive letters need a
52129         subsequent slash.  Preserve // when it is special.
52130         (dir_name): Don't append dot when drive letter is absolute.
52131         [TEST_DIRNAME]: Move into a full-blown gnulib test.
52132         * lib/basename.c (base_name): New semantics - malloc the result.
52133         Preserve // when it is special.  Preserve relative files that look
52134         like drive letters.
52135         (base_len): Preserve // when it is special.
52136         (last_component): New method, similar to old base_name semantics.
52137         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
52138         base_name.  Strip redundant slashes from ///.
52139
52140 2006-07-03  Jim Meyering  <jim@meyering.net>
52141
52142         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
52143         macro is used before the first cycle_check call.
52144
52145 2006-07-03  Eric Blake  <ebb9@byu.net>
52146
52147         * modules/dirname (Depends-on): Add xstrndup.
52148
52149 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52150
52151         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
52152         test cases, so that config.log is a bit easier to follow.
52153
52154 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52155
52156         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
52157         both are 64 bits, since this seems to be the tradition, and this
52158         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
52159         we ever run into a host that prefers long long to long in this
52160         case, we'll need another configure-time test.  Problem reported by
52161         Jim Meyering.
52162
52163 2006-07-02  Eric Blake  <ebb9@byu.net>
52164
52165         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
52166
52167 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52168
52169         * modules/inttypes (Depends-on): No longer depends on stdint.
52170         * modules/stdint (Description): Say more about assumptions.
52171         Say that the fast types might differ.  Say macros are used.
52172         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
52173         (Makefile.am): Revise list of substituted symbols to match
52174         new stdint.m4.
52175         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
52176         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
52177         * tests/test-stdint.c (verify_same_types)
52178         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
52179         the code conforms to C99/C89.
52180         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
52181         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
52182
52183 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52184
52185         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
52186         but fix a bug, by requiring at least 64 bits.
52187         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
52188         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
52189         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
52190         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
52191
52192         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
52193         changes.  Make 2.59 a prerequisite.  Check and substitute for
52194         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
52195         inttypes.h.  Do not use special include files; just use the
52196         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
52197         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
52198         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
52199         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
52200         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
52201         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
52202         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
52203         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
52204         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
52205         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
52206         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
52207         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
52208         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
52209         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
52210         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
52211         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
52212         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
52213         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
52214         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
52215         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
52216         WINT_MAX.  Check for C99 conformance more strictly, by detecting
52217         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
52218         not check for things that C99 does not require, e.g., int8_t.  If
52219         a test isn't needed unless <stdint.h> isn't working, and is
52220         unlikely to be needed for any other reason, then don't do it
52221         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
52222         size_t, since we assume C89 freestanding at least.  Do not check
52223         for sig_atomic_t, wchar_t, or wint_t, since the code now does
52224         the right thing even if the types are not defined.  Instead use:
52225         (gl_STDINT_TYPE_PROPERTIES): New macro.
52226         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
52227         testing whether <sys/types.h> clashes, as Autoconf does this for
52228         us now.  All uses removed.
52229         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
52230         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
52231         (gl_CHECK_TYPE_SAME):
52232         Remove; no longer needed.
52233         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
52234         exists, since we'll return 0 anyway in that case.
52235         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
52236
52237 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52238
52239         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
52240         possible collision with system files.
52241         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
52242         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
52243         WCHAR_MIN and WCHAR_MAX in this case.
52244         (<stddef.h>): Do not include; no longer needed.
52245         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
52246         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
52247         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
52248         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
52249         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
52250         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
52251         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
52252         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
52253         !defined(__c99))]: Include in this case too, since it's harmless
52254         now.
52255         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
52256         dangerous to do so.
52257         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
52258         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
52259         (_STDINT_MIN, _STDINT_MAX): New macros.
52260         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
52261         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
52262         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
52263         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
52264         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
52265         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
52266         macros, not typedefs; this simplifies things quite a bit.
52267         Use long int for all types narrower than int64_t.
52268         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
52269         Define in terms of long long int or int64_t or long int,
52270         not int64_t or int32_t.  This saves some compile-time testing.
52271         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
52272         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
52273         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
52274         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
52275         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
52276         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
52277         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
52278         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
52279         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
52280         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
52281         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
52282         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
52283         undef any previous version and define our own version, for
52284         simplicity and consistency with the new macros for types.
52285         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
52286         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
52287         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
52288         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
52289         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
52290         @WINT_T_SUFFIX@ to keep things simple here.
52291         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
52292         Simplify by assuming typical 8/16/32/64 host, since we're
52293         already doing that elsewhere anyway.
52294         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
52295         and assume long long int is 64 bits if available.  This
52296         speeds up 'configure'.
52297
52298 2006-07-01  Eric Blake  <ebb9@byu.net>
52299
52300         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
52301         Reported by Andreas Buening.
52302
52303 2006-07-01  Eric Blake  <ebb9@byu.net>
52304
52305         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
52306
52307 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
52308
52309         * lib/getaddrinfo.c: fixed typo
52310
52311 2006-06-29  Jim Meyering  <jim@meyering.net>
52312
52313         * modules/strftime (Maintainer): Add my name, since with the
52314         FPRINTFTIME changes strftime.c has forked from glibc.
52315
52316 2006-06-29  Eric Blake  <ebb9@byu.net>
52317
52318         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
52319
52320 2006-06-29  Eric Blake  <ebb9@byu.net>
52321
52322         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
52323
52324 2006-06-29  Eric Blake  <ebb9@byu.net>
52325
52326         * lib/stat_.h: New file.
52327
52328 2006-06-29  Eric Blake  <ebb9@byu.net>
52329
52330         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
52331         unused static function.
52332
52333 2006-06-29  Eric Blake  <ebb9@byu.net>
52334
52335         * doc/functions.texi (Function Portability): Document missing lstat
52336         on mingw.
52337
52338 2006-06-29  Eric Blake  <ebb9@byu.net>
52339
52340         * MODULES.html.sh: Add sys_stat.
52341         * modules/sys_stat: New module.
52342         * modules/mkstemp (Depends-on): Add sys_stat.
52343
52344 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52345
52346         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
52347
52348 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52349
52350         * m4/c-bs-a.m4: Removed.
52351
52352 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52353
52354         * lib/strftime.c: Assume strftime() exists.
52355
52356 2006-06-29  Derek Price  <derek@ximbiot.com>
52357
52358         * modules/c-bs-a: Removed - \a is C89.
52359         * MODULES.html.sh: Remove c-bs-a.
52360
52361 2006-06-29  Bruno Haible  <bruno@clisp.org>
52362
52363         * modules/wcwidth (License): Change to LGPL.
52364
52365 2006-06-28  Simon Josefsson  <jas@extundo.com>
52366
52367         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
52368         on _WIN32.
52369
52370         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
52371         getnameinfo.
52372
52373 2006-06-28  Simon Josefsson  <jas@extundo.com>
52374
52375         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
52376
52377 2006-06-28  Simon Josefsson  <jas@extundo.com>
52378
52379         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
52380         functions there.  It will succeed on Windows XP, but on Windows
52381         2000 and (presumably) earlier, it will fail, and use the internal
52382         re-implementation.
52383         (use_win32_p): New function.
52384         (getaddrinfo): Use strtoul on servname, to support numeric ports.
52385         Support AI_NUMERICSERV to disable getservbyname.
52386         (getnameinfo): New function, only supports
52387         NI_NUMERICHOST|NI_NUMERICSERV for now.
52388
52389         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
52390         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
52391         getnameinfo.
52392
52393 2006-06-28  Eric Blake  <ebb9@byu.net>
52394
52395         * modules/wcwidth: New file.
52396         * modules/mbchar (Depends-on): Add wcwidth.
52397         * modules/mbswidth (Depends-on): Add wcwidth.
52398         * MODULES.html.sh: Add wcwidth.
52399
52400 2006-06-28  Eric Blake  <ebb9@byu.net>
52401
52402         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
52403         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
52404
52405 2006-06-28  Eric Blake  <ebb9@byu.net>
52406
52407         * lib/xvasprintf.h: Fix comments.
52408
52409 2006-06-28  Eric Blake  <ebb9@byu.net>
52410
52411         * lib/mbchar.h (wcwidth): Include wcwidth.h.
52412         * lib/mbswidth.c (wcwidth): Move from here...
52413         * lib/wcwidth.h: ...to this new file.
52414
52415 2006-06-28  Derek R. Price  <derek@ximbiot.com>
52416
52417         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
52418
52419         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
52420         it's obsolete.
52421         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
52422
52423 2006-06-28  Derek R. Price  <derek@ximbiot.com>
52424
52425         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
52426         Autoconf 2.60 says this stuff was obsolete.
52427
52428 2006-06-28  Bruno Haible  <bruno@clisp.org>
52429
52430         * modules/wcwidth (Files): Add m4/wchar_t.m4.
52431
52432 2006-06-28  Bruno Haible  <bruno@clisp.org>
52433
52434         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
52435         gt_TYPE_WCHAR_T.
52436
52437 2006-06-28  Bruno Haible  <bruno@clisp.org>
52438
52439         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
52440         declaration for wcwidth.
52441         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
52442
52443 2006-06-28  Bruno Haible  <bruno@clisp.org>
52444
52445         * lib/mkdtemp.c [MINGW]: Include <io.h>.
52446         (mkdir): Define using _mkdir.
52447
52448 2006-06-28  Bruno Haible  <bruno@clisp.org>
52449
52450         * lib/getaddrinfo.h: Fix POSIX URL.
52451         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
52452         _WIN32.
52453         (use_win32_p): Make static.
52454         (getaddrinfo): Reject service name if it is empty or does not consist
52455         solely of decimal digits, or if its value is > 65535.
52456         (getnameinfo): Remove useless casts.
52457
52458 2006-06-27  Simon Josefsson  <jas@extundo.com>
52459
52460         * modules/sys_select: New file, suggested by Bruno Haible, Paul
52461         Eggert and Martin Lambers.
52462
52463 2006-06-27  Simon Josefsson  <jas@extundo.com>
52464
52465         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
52466         Eggert and Martin Lambers.
52467
52468 2006-06-27  Bruno Haible  <bruno@clisp.org>
52469
52470         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
52471         result to 0, not to empty.
52472         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
52473
52474 2006-06-27  Bruno Haible  <bruno@clisp.org>
52475
52476         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
52477
52478 2006-06-26  Simon Josefsson  <jas@extundo.com>
52479
52480         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
52481         present.
52482
52483 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
52484
52485         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
52486         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
52487         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
52488
52489 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
52490
52491         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
52492
52493 2006-06-26  Bruno Haible  <bruno@clisp.org>
52494
52495         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
52496
52497 2006-06-26  Bruno Haible  <bruno@clisp.org>
52498
52499         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
52500
52501 2006-06-26  Bruno Haible  <bruno@clisp.org>
52502
52503         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
52504         SGI C compiler in pre-C99 mode.
52505         Suggested by Mark D. Baushke and Larry Jones.
52506
52507 2006-06-26  Bruno Haible  <bruno@clisp.org>
52508
52509         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
52510         WCHAR_MAX.
52511         Reported by Mark D. Baushke and Larry Jones.
52512
52513 2006-06-26  Bruno Haible  <bruno@clisp.org>
52514
52515         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
52516         in pre-C99 mode.
52517         Suggested by Mark D. Baushke and Larry Jones.
52518
52519 2006-06-23  Simon Josefsson  <jas@extundo.com>
52520             Bruno Haible  <bruno@clisp.org>
52521
52522         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
52523         Emit mostlyclean-local rule.
52524         (func_emit_tests_Makefile_am): Likewise.
52525         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
52526
52527 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
52528
52529         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
52530
52531 2006-06-23  Bruno Haible  <bruno@clisp.org>
52532
52533         * tests/test-stdint.c: Update to match ISO C 99 Technical
52534         Corrigendum 1.
52535
52536 2006-06-23  Bruno Haible  <bruno@clisp.org>
52537
52538         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
52539
52540 2006-06-23  Bruno Haible  <bruno@clisp.org>
52541
52542         * lib/stdint_.h: Treat IRIX like OpenBSD.
52543
52544 2006-06-23  Bruno Haible  <bruno@clisp.org>
52545
52546         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
52547         ISO C 99 Technical Corrigendum 1.
52548
52549 2006-06-22  Simon Josefsson  <jas@extundo.com>
52550
52551         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
52552         MinGW.
52553
52554 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52555
52556         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
52557         needed.  Some compiler complained about some of them.  Problem reported
52558         by Larry Jones in
52559         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
52560
52561 2006-06-21  Simon Josefsson  <jas@extundo.com>
52562
52563         * tests/test-getaddrinfo.c: New file.
52564
52565         * modules/getaddrinfo-tests: New file.
52566
52567         * MODULES.html.sh: Add inet_pton.
52568
52569         * modules/inet_pton: New file.
52570
52571 2006-06-21  Simon Josefsson  <jas@extundo.com>
52572
52573         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
52574         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
52575         of using the (limited) gnulib implementation on Windows XP.
52576
52577         * m4/inet_pton.m4: New file.
52578
52579 2006-06-21  Simon Josefsson  <jas@extundo.com>
52580
52581         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
52582         variable.
52583
52584         * lib/socket_.h: Don't define WINVER.
52585
52586         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
52587         slightly modified to work in gnulib.
52588
52589 2006-06-21  Simon Josefsson  <jas@extundo.com>
52590
52591         * doc/gnulib.texi (Windows sockets): Add.
52592
52593 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
52594
52595         * lib/read-file.c (fread_file): Start with buffer allocation of
52596         0 bytes rather than 1 byte; this simplifies the code.
52597         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
52598         code to free buffer and save/restore errno.
52599         (internal_read_file): Remove unused local.
52600
52601 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52602
52603         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
52604         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
52605         Problem reported by Denis Excoffier in
52606         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
52607
52608 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52609
52610         * modules/sys_socket, modules/socklen: Include sys/types since
52611         FreeBSD 4.x's sys/socket.h needs it.
52612
52613 2006-06-19  Simon Josefsson  <jas@extundo.com>
52614
52615         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
52616
52617 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
52618
52619         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
52620
52621 2006-06-19  Bruno Haible  <bruno@clisp.org>
52622
52623         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
52624         and FULL_PATH_INTTYPES_H in angle brackets.
52625         Reported by Mark D. Baushke <mdb@gnu.org>.
52626
52627 2006-06-17  Eric Blake  <ebb9@byu.net>
52628
52629         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
52630         errno.
52631
52632 2006-06-17  Bruno Haible  <bruno@clisp.org>
52633
52634         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
52635         <sys/inttypes.h>.
52636
52637 2006-06-17  Bruno Haible  <bruno@clisp.org>
52638
52639         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
52640         whether errno is declared. Assume <errno.h> declares errno.
52641
52642 2006-06-17  Bruno Haible  <bruno@clisp.org>
52643
52644         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
52645
52646 2006-06-17  Bruno Haible  <bruno@clisp.org>
52647
52648         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
52649         problem on Solaris 2.5.1.
52650
52651 2006-06-16  Eric Blake  <ebb9@byu.net>
52652
52653         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
52654         * lib/unicodeio.c [!defined errno]: Likewise.
52655         * lib/strtol.c [!defined errno]: Likewise.
52656         * lib/strtod.c [!defined errno]: Likewise.
52657
52658 2006-06-15  Eric Blake  <ebb9@byu.net>
52659
52660         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
52661
52662 2006-06-15  Eric Blake  <ebb9@byu.net>
52663
52664         * config/srclist.txt (ssize_t.m4): Lose sync.
52665
52666 2006-06-15  Bruno Haible  <bruno@clisp.org>
52667
52668         * modules/stdint (Files): Include m4/full-header-path.m4,
52669         m4/size_max.m4, m4/wchar_t.m4.
52670         (Makefile.am): Many more substitutions.
52671         * modules/stdint-tests: New file.
52672         * tests/test-stdint.c: New file.
52673
52674 2006-06-15  Bruno Haible  <bruno@clisp.org>
52675
52676         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
52677         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
52678         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
52679         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
52680         gl_CHECK_TYPE_SAME): New macros.
52681
52682 2006-06-15  Bruno Haible  <bruno@clisp.org>
52683
52684         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
52685
52686 2006-06-15  Bruno Haible  <bruno@clisp.org>
52687
52688         * lib/stdint_.h: Rewritten to be fully auto-configured.
52689         Fixes bug on HP-UX/IA64.
52690
52691 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
52692
52693         * lib/getdate.y (__attribute__): Don't define if already defined.
52694         Problem reported by Larry Jones.
52695         * lib/utimens.c (__attribute__): Likewise.
52696
52697 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
52698
52699         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
52700         reported by Andreas Schwab.
52701
52702 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52703             Bruno Haible  <bruno@clisp.org>
52704
52705         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
52706         check for the declaration of strnlen and a run test that exposes the
52707         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
52708         rpl_strndup.
52709
52710 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52711             Bruno Haible  <bruno@clisp.org>
52712
52713         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
52714
52715 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52716
52717         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
52718         compile test, for Tru64 4.0D.
52719
52720 2006-05-28  Karl Berry  <karl@gnu.org>
52721
52722         * config/srclist.txt (printf-args.c): lose sync.
52723
52724 2006-05-26  Martin Lambers  <marlam@marlam.de>
52725
52726         * lib/getpass.c: Updates the test for the native W32 API, and adds
52727         missing includes, thus fixing compilation warnings.
52728
52729 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
52730
52731         * lib/exclude.c (exclude_fnmatch): New function.
52732         (excluded_file_name): Call exclude_fnmatch.
52733         * lib/exclude.h (excluded_file_name): New prototype
52734
52735 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
52736
52737         * lib/tempname.c (small_open, large_open): New macros.
52738         (__open, __open64) [!_LIBC]: Remove.
52739         (__gen_tempname): Use small_open and large_open instead of __open
52740         and __open64.  This fixes a portability bug on HP-UX 11.11i
52741         reported by Simon Wing-Tang in
52742         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
52743
52744 2006-05-24  Bruno Haible  <bruno@clisp.org>
52745
52746         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
52747         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
52748         Reported by Thorsten Maerz <torte@netztorte.de> via
52749         Aaron Stone <aaron@serendipity.cx>.
52750
52751 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52752
52753         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
52754         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
52755         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
52756         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
52757         not really conditional on the cache.
52758         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
52759
52760 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52761
52762         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
52763         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
52764         (my_usleep): Don't mishandle maximum value.
52765
52766 2006-05-19  Jim Meyering  <jim@meyering.net>
52767
52768         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
52769
52770 2006-05-17  Bruno Haible  <bruno@clisp.org>
52771
52772         Cygwin portability.
52773         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
52774
52775 2006-05-17  Bruno Haible  <bruno@clisp.org>
52776
52777         * lib/stdint_.h: Fix recognition of Cygwin.
52778
52779 2006-05-15  Bruno Haible  <bruno@clisp.org>
52780
52781         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
52782         on libtool patch by Ralf Wildenhues.
52783
52784 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52785
52786         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
52787         test for C99 conformance; (bool) 0.5 is an integer constant
52788         expression, but (bool) -0.5 is not.  Problem reported by Fedor
52789         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
52790
52791 2006-05-11  Simon Josefsson  <jas@extundo.com>
52792
52793         * m4/xvasprintf.m4: Fix obvious typo.
52794
52795 2006-05-11  Jim Meyering  <jim@meyering.net>
52796
52797         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
52798         James Lemley.
52799
52800 2006-05-10  Simon Josefsson  <jas@extundo.com>
52801
52802         * lib/md4.c: Typo fix, update copyright years.
52803         (K1, K2): Don't use L because it turn computations into 64-bit on
52804         64-bit platforms.
52805
52806 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
52807
52808         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
52809         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
52810         unwanted sign propagation, e.g., on hosts with 64-bit int.
52811         There still are some problems with reeelly weird theoretical hosts
52812         (e.g., 33-bit int) but it's not worth worrying about now.
52813         * lib/sha1.c (rol): Likewise.
52814         (K1, K2, K3, K4): Remove unnecessary L suffix.
52815
52816 2006-05-10  Bruno Haible  <bruno@clisp.org>
52817
52818         * lib/des.c: Cast to avoid warnings.
52819
52820 2006-05-09  Bruno Haible  <bruno@clisp.org>
52821
52822         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
52823         (Depends-on): Depend also on xsize, stdarg.
52824         (configure.ac): Add gl_XVASPRINTF.
52825
52826 2006-05-09  Bruno Haible  <bruno@clisp.org>
52827
52828         * m4/xvasprintf.m4: New file.
52829
52830 2006-05-09  Bruno Haible  <bruno@clisp.org>
52831
52832         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
52833         (EOVERFLOW): Define fallback value.
52834         (xstrcat): New function.
52835         (xvasprintf): Recognize the special case of a string concatenation.
52836
52837 2006-05-08  Eric Blake  <ebb9@byu.net>
52838
52839         * gnulib-tool (func_version): Base copyright year on CVS date.
52840         (func_emit_copyright_notice): New function.
52841         (func_emit_lib_Makefile_am): Use it.
52842         (func_emit_tests_Makefile_am): Likewise.
52843         (func_import): Likewise.
52844
52845 2006-05-08  Bruno Haible  <bruno@clisp.org>
52846
52847         * modules/stdarg: New file.
52848         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
52849
52850 2006-05-08  Bruno Haible  <bruno@clisp.org>
52851
52852         * m4/stdarg.m4: New file, from GNU gettext.
52853
52854 2006-05-08  Bruno Haible  <bruno@clisp.org>
52855
52856         * config/srclist.txt (build-aux/config.rpath): different from latest
52857         release.
52858
52859 2006-05-08  Bruno Haible  <bruno@clisp.org>
52860
52861         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
52862
52863 2006-05-05  Jim Meyering  <jim@meyering.net>
52864
52865         * m4/warning.m4: New file, derived from bison's file by the same name.
52866
52867 2006-05-03  Bruno Haible  <bruno@clisp.org>
52868
52869         * lib/stdint_.h: Shorter URL.
52870         * lib/inttypes.h: Likewise.
52871
52872 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52873
52874         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
52875
52876 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52877
52878         * lib/verify.h: Document the internals better.  Most of this change
52879         was written by Bruno Haible.
52880
52881 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52882
52883         * doc/verify.texi: New file, partly based on a proposal by
52884         Bruno Haible.
52885
52886 2006-05-02  Bruno Haible  <bruno@clisp.org>
52887
52888         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
52889         test from here...
52890         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
52891
52892 2006-04-29  Bruno Haible  <bruno@clisp.org>
52893
52894         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
52895         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
52896
52897 2006-04-29  Bruno Haible  <bruno@clisp.org>
52898
52899         * gnulib-tool: Make --update option actually work.
52900
52901 2006-04-29  Bruno Haible  <bruno@clisp.org>
52902
52903         * doc/gcd.texi: New file.
52904         * doc/gnulib.texi: Include it.
52905
52906 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
52907
52908         * lib/getdate.y (get_date): When adding relative date, start with the
52909         initial time, not with the result of the first mktime call.
52910
52911 2006-04-25  Bruno Haible  <bruno@clisp.org>
52912
52913         * gnulib-tool (func_import): Output the include directives in three
52914         blocks, sorted separately.
52915         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52916
52917 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
52918
52919         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
52920         to define main with arguments, for C++.  Reported by Eric Blake.
52921         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
52922         Prefer 'int main ()' to 'int main (void)', for C++.
52923         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
52924         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
52925         for 'main', for C99 and C++.
52926
52927 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
52928
52929         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
52930         Don't assume that exit status -1 is valid.
52931         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
52932         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
52933         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
52934         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
52935         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
52936         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
52937         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
52938         functions can be used without declaring them, or that you can
52939         exit with status -1.
52940         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
52941
52942 2006-04-24  Karl Berry  <karl@gnu.org>
52943
52944         * config/srclist.txt (longdouble.m4): sync lost.
52945
52946 2006-04-24  Eric Blake  <ebb9@byu.net>
52947
52948         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
52949
52950 2006-04-24  Bruno Haible  <bruno@clisp.org>
52951
52952         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
52953         poll() implementation in AIX.
52954         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52955
52956 2006-04-24  Bruno Haible  <bruno@clisp.org>
52957
52958         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
52959         assigned exactly once.
52960
52961 2006-04-23  Claudio Fontana  <claudio@gnu.org>
52962             Bruno Haible  <bruno@clisp.org>
52963
52964         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
52965         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
52966         for AM_CPPFLAGS.
52967
52968 2006-04-23  Bruno Haible  <bruno@clisp.org>
52969
52970         * modules/copy-file: Depend on unistd.
52971         * modules/execute: Likewise.
52972         * modules/fatal-signal: Likewise.
52973         * modules/findprog: Likewise.
52974         * modules/mkdtemp : Likewise.
52975         * modules/pipe: Likewise.
52976         * modules/wait-process: Likewise.
52977
52978 2006-04-23  Bruno Haible  <bruno@clisp.org>
52979
52980         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
52981         condition was already detected.
52982         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52983
52984 2006-04-23  Bruno Haible  <bruno@clisp.org>
52985
52986         * lib/copy-file.c: Include <unistd.h> unconditionally.
52987         * lib/execute.c: Likewise.
52988         * lib/fatal-signal.c: Likewise.
52989         * lib/findprog.c: Likewise.
52990         * lib/mkdtemp.c: Likewise.
52991         * lib/pipe.h: Likewise.
52992         * lib/pipe.c: Likewise.
52993         * lib/wait-process.h: Likewise.
52994
52995 2006-04-23  Bruno Haible  <bruno@clisp.org>
52996
52997         * gnulib-tool (func_usage): Fix --import description. Document
52998         --update.
52999         (func_import): Create temporary file in a temporary directory, if
53000         --dry-run is specified. Silence errors from 'grep' when there are no
53001         m4 files in $m4dir.
53002         (func_create_testdir): Silence errors from 'grep' when there are no
53003         m4 files in $m4dir.
53004         Reported by Karl Berry <karl@freefriends.org>.
53005
53006 2006-04-20  Bruno Haible  <bruno@clisp.org>
53007
53008         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
53009         one argument, so that the code will be portable to Autoconf 2.60.
53010         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
53011         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
53012         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
53013
53014 2006-04-19  Derek Price  <derek@ximbiot.com>
53015             Eric Blake  <ebb9@byu.net>
53016
53017         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
53018         rather than "/full/path.h".  Update comment to match.  Shorten &
53019         generalize m4_translit call via AS_TR_CPP.
53020
53021 2006-04-19  Derek Price  <derek@ximbiot.com>
53022             Eric Blake  <ebb9@byu.net>
53023
53024         * lib/inttypes.h: Correct grammar in comment.
53025
53026 2006-04-18  Derek Price  <derek@ximbiot.com>
53027             Paul Eggert  <eggert@cs.ucla.edu>
53028
53029         * modules/inttypes: New file.
53030         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
53031
53032 2006-04-18  Derek Price  <derek@ximbiot.com>
53033             Paul Eggert  <eggert@cs.ucla.edu>
53034
53035         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
53036         New files.
53037
53038 2006-04-18  Derek Price  <derek@ximbiot.com>
53039             Paul Eggert  <eggert@cs.ucla.edu>
53040
53041         * lib/inttypes.h: New file.
53042         * lib/strtoimax.c: Assume <inttypes.h>.
53043
53044 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
53045
53046         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
53047         isn't mounted.  Problem reported by Kir Kolyshkin.
53048
53049 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53050
53051         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
53052         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
53053         Derek R. Price.
53054         * lib/regex.h (RE_DUP_MAX): Update comment to match current
53055         implementation.
53056
53057 2006-04-12  Eric Blake  <ebb9@byu.net>
53058
53059         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
53060         is now done automatically by the corresponding Autoconf macro.
53061
53062 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
53063
53064         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
53065         time_r.h.
53066
53067 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53068
53069         Merge regex changes from libc, removing some of our
53070         POSIX-conformance changes that were rejected and redoing them in a
53071         less-intrusive way.
53072
53073         * lib/regcomp.c (re_compile_internal, init_dfa):
53074         Length arg is now size_t, not Idx.  All uses changed.
53075         (peek_token): Forward decl now says internal_function.
53076         (__re_error_msgid, __re_error_msgid_idx):
53077         Now static rather than extern with attribute_hidden.
53078         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
53079         For some reason libc prefers K&R style defns for external functions.
53080         (regerror) [!defined _LIBC]: Likewise.
53081         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
53082         (seek_collating_symbol_entry, lookup_collation_sequence_value):
53083         (build_range_exp, build_collating_symbol):
53084         Use K&R-style defn.
53085         (re_compile_fastmap): Use '\0' to memset, not 0.
53086         (utf8_sb_map): Make the calculations more obvious.
53087         (init_dfa, parse_bracket_exp, build_charclass_op):
53088         Call calloc and cast result, as glibc does.
53089         (init_word_char, fetch_token, peek_token, peek_token_bracket):
53090         (build_range_exp, build_collating_symbol):
53091         Now internal functions.
53092
53093         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
53094
53095         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
53096         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
53097         Don't depend on VMS; depend on __VMS instead, for POSIX
53098         namespace cleanness.
53099         (regoff_t): Define to ssize_t, not long int.
53100
53101         Remove the REG_ macros named below.  Instead, make the old names
53102         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
53103         __USE_GNU_REGEX.
53104         (REG_BACKSLASH_ESCAPE_IN_LISTS):
53105         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
53106         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
53107         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
53108         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
53109         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
53110         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
53111         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
53112         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
53113         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
53114         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
53115         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
53116         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
53117         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
53118         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
53119         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
53120         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
53121         (REG_NREGS):
53122         Remove.  All uses replaced by the old RE_* names.
53123         (RE_BACKSLASH_ESCAPE_IN_LISTS):
53124         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
53125         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
53126         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
53127         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
53128         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
53129         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
53130         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
53131         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
53132         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
53133         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
53134         Don't bother having these macros be independent of each others'
53135         values, since they no longer exist in the POSIX name space.
53136
53137         Rename the following member names back to their old names,
53138         unless !__USE_GNU_REGEX.  All uses changed back.
53139         (buffer): Renamed from re_buffer.
53140         (allocated): Renamed from re_allocated.
53141         (used): Renamed from re_used.
53142         (syntax): Renamed from re_syntax.
53143         (fastmap): Renamed from re_fastmap.
53144         (translate): Renamed from re_translate.
53145         (can_be_null): Renamed from re_can_be_null.
53146         (regs_allocated): Renamed from re_regs_allocated.
53147         (fastmap_accurate): Renamed from re_fastmap_accurate.
53148         (no_sub): Renamed from re_no_sub.
53149         (not_bol): Renamed from re_not_bol.
53150         (not_eol): Renamed from re_not_eol.
53151         (newline_anchor): Renamed from re_newline_anchor.
53152         (num_regs): Renamed from rm_num_regs.
53153         (start): Renamed from rm_start.
53154         (end): Renamed from rm_end.
53155
53156         (free_state): Move up a bit.
53157
53158         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
53159         #define to be empty.
53160         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
53161         when that is what is intended.
53162         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
53163         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
53164         (MAX): New macro.
53165         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
53166         All uses changed back to re_malloc, etc.  It's now the caller's
53167         responsibility to check for overflow; all callers changed.
53168         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
53169         (re_x2nrealloc): Remove.
53170         (free_state): Remove decl.
53171
53172         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
53173         (re_set_registers, re_exec):
53174         Use K&R-style defn.
53175
53176         2006-01-31  Roland McGrath  <roland@redhat.com>
53177
53178         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
53179         Reported by Mike Frysinger <vapier@gentoo.org>.
53180
53181         2006-01-15  Andreas Jaeger  <aj@suse.de>
53182
53183         [BZ #1950]
53184         * lib/regex_internal.c (re_string_reconstruct): Adjust for
53185         build_wcs_upper_buffer change.
53186         (build_wcs_upper_buffer): Change return type.
53187
53188         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
53189
53190         * lib/regex_internal.h: Include <stdint.h> if available.
53191
53192         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
53193
53194         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
53195
53196         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
53197
53198         * lib/regcomp.c: Adjust for changed secondary hash function.
53199
53200         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
53201
53202         * lib/regex.h: Pretty printing.
53203         Clean up namespace a bit.
53204
53205         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
53206
53207         * lib/regexec.c (update_cur_sifted_state, check_arrival,
53208         check_arrival_add_next_nodes): Avoid using uninitialized variable.
53209
53210         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53211                     Ulrich Drepper  <drepper@redhat.com>
53212
53213         [BZ #1302]
53214         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
53215         changed.
53216         (bitset_word_t): Renamed from bitset_word.  All uses changed.
53217
53218         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
53219
53220         [BZ #281]
53221         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
53222         * lib/regcomp.c: Remove unnecessary uses of
53223         unsigned RE_TRANSLATE_TYPE.
53224         * lib/regex_internal.h: Likewise.
53225         * lib/regex_internal.c: Likewise.
53226         * lib/regexec.c: Likewise.
53227         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
53228
53229         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
53230
53231         * lib/regexec.c (find_recover_state): Remove unnecessary
53232         initialization.
53233         (transit_state_bkref): Make DFA a const pointer.
53234         (get_subexp): Likewise.
53235         (check_arrival): Likewise.
53236         (update_cur_sifted_state): Likewise.
53237         (re_search_internal): Likewise.
53238         (prune_impossible_nodes): Likewise.
53239         (acquire_init_state_context): Likewise.
53240         (proceed_next_node): Likewise.
53241         (set_regs): Likewise.
53242         (free_fail_stack_return): Likewise.
53243         (check_arrival_expand_ecl): Mark DFA parameter as const.
53244         (check_arrival_expand_ecl_sub): Likewise.
53245         (check_subexp_limits): Likewise.
53246         (sub_epsilon_src_nodes):  Likewise.
53247         (add_epsilon_src_nodes):  Likewise.
53248         (merge_state_array): Likewise.
53249         (update_regs): Likewise.
53250         (build_trtable): Likewise.
53251         (sift_states_backward): Mark MCTX parameter as const.
53252         (build_sifted_states): Likewise.
53253         (update_cur_sifted_state): Likewise.
53254         (sift_states_mkref): Likewise.
53255         (check_arrival_expand_ecl): Mark eclosure as const.
53256         (check_dst_limits_calc_pos_1): Likewise.
53257         * lib/regex_internal.h (re_match_context_t): Make dfa a const
53258         pointer.
53259
53260         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
53261
53262         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
53263         (transit_state_sb): Likewise.
53264         (transit_state_mb): Likewise.
53265         (sift_states_iter_mb): Likewise.
53266         (check_arrival_add_next_nodes): Likewise.
53267         (check_node_accept_bytes): Change first parameter to pointer-to-const.
53268         [_LIBC] (re_search_2_stub): Use mempcpy.
53269
53270         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
53271         mbrtowc for very simple UTF-8 case.
53272
53273         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
53274         a pointer-to-const.
53275         (re_acquire_state_context): Likewise.
53276         * lib/regex_internal.h: Adjust prototypes.
53277
53278         * lib/regex.c: Prevent using C++ compilers.
53279
53280         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
53281         (re_acquire_state_context): Likewise.
53282
53283 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53284
53285         * modules/regex (Depends-on): Add ssize_t.
53286
53287 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53288
53289         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
53290         translation table.
53291
53292 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53293
53294         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
53295
53296 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
53297             Bruno Haible  <bruno@clisp.org>
53298
53299         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
53300         <sys/types.h> and <inttypes.h>.
53301
53302 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53303
53304         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
53305         `__error_t_defined', so argp.h will not typedef the former.
53306
53307 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
53308
53309         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
53310         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
53311         glibc names.  Even if glibc is changed to conform to POSIX, the
53312         traditional names will be available anyway, since regex depends on
53313         the extensions module.  Also, fix a longstanding typo in the
53314         implementation of Spencer ERE test #75 from grep 2.3.  Problems
53315         reported by Emanuele Giaquinta.  Also, change sense of cached
53316         variable, so that the message makes sense.
53317
53318 2006-03-24  Simon Josefsson  <jas@extundo.com>
53319
53320         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
53321         including some doc fixes.
53322         (base64_encode_alloc): Fix +1 bug on allocation failures.
53323
53324 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53325
53326         * lib/base64.c (base64_encode): Do not read past end of array with
53327         unsanitized input on systems with CHAR_BIT > 8.
53328
53329 2006-03-24  Eric Blake  <ebb9@byu.net>
53330
53331         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
53332
53333 2006-03-22  Karl Berry  <karl@gnu.org>
53334
53335         * config/srclist.txt (*setenv.[ch]): get from coreutils.
53336         * config/srclistvars.sh (COREUTILS): new var.
53337
53338 2006-03-17  Jim Meyering  <jim@meyering.net>
53339
53340         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
53341         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
53342
53343 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
53344
53345         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
53346         no longer needs it.  Instead, check that regoff_t is as least
53347         as wide as ptrdiff_t.
53348
53349         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
53350         so that our regex.h stays compatible with the installed regex.
53351         This is helpful for installers who configure --without-included-regex.
53352         Problem reported by Emanuele Giaquinta.
53353
53354 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
53355
53356         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
53357         Typedef to long int, not to off_, as POSIX will likely change
53358         in that direction.
53359
53360 2006-03-15  Eric Blake  <ebb9@byu.net>
53361
53362         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
53363
53364 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
53365
53366         * lib/argp-help.c (validate_uparams): Fix typo
53367         * lib/argp-parse.c (argp_default_options): Consistently begin help
53368         messages with a lowercase letter.
53369
53370 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
53371
53372         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
53373         overrun buffers and shouldn't be used (much as gets shouldn't be
53374         used).
53375         * lib/time_r.c (asctime_r, ctime_r): Likewise.
53376
53377 2006-03-08  Simon Josefsson  <jas@extundo.com>
53378
53379         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
53380         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53381
53382 2006-03-08  Simon Josefsson  <jas@extundo.com>
53383
53384         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
53385         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53386
53387 2006-03-08  Simon Josefsson  <jas@extundo.com>
53388
53389         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
53390         signal that configure disabled the device.
53391
53392 2006-03-08  Simon Josefsson  <jas@extundo.com>
53393
53394         * build-aux/maint.mk: Fix refresh-po, to handle no translated
53395         languages.
53396
53397 2006-03-07  Simon Josefsson  <jas@extundo.com>
53398
53399         * modules/getopt (Depends-on): Add unistd.
53400
53401         * modules/unistd: New file.
53402
53403 2006-03-07  Simon Josefsson  <jas@extundo.com>
53404
53405         * modules/gc-random: New file.
53406
53407 2006-03-07  Simon Josefsson  <jas@extundo.com>
53408
53409         * m4/unistd_h.m4: New file.
53410
53411 2006-03-07  Simon Josefsson  <jas@extundo.com>
53412
53413         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
53414         test to be side-effect free by storing the result in the cache
53415         variable gl_cv_lib_readline, and moving the assignment of
53416         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
53417         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53418
53419 2006-03-07  Simon Josefsson  <jas@extundo.com>
53420
53421         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
53422         error on missing devices (the functions will return an error).
53423
53424         * m4/gc.m4: Move random stuff to gc-random.m4
53425
53426 2006-03-07  Simon Josefsson  <jas@extundo.com>
53427
53428         * lib/unistd_.h: New file.
53429
53430 2006-03-07  Simon Josefsson  <jas@extundo.com>
53431
53432         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
53433
53434 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53435
53436         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
53437         Problem reported by Juan Manuel Guerrero.
53438
53439 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53440
53441         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
53442         the unistd module.
53443         * lib/getlogin_r.c: Likewise.
53444         * lib/getlogin_r.h: Likewise.
53445         * lib/glob.c: Likewise.
53446         * lib/pagealign_alloc.c: Likewise.
53447         * lib/unistd_.h: Remove; no longer needed.
53448
53449 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53450
53451         * MODULES.html.sh (Support for systems lacking POSIX:2001):
53452         Add unistd.
53453         * modules/c-stack (Depends-on): Add unistd.
53454         * modules/getlogin_r: Likewise.
53455         * modules/glob: Likewise.
53456         * modules/pagealign_alloc: Likewise.
53457         * modules/unistd (Files): Remove lib/unistd_.h.
53458         (EXTRA_DIST): Remove.
53459         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
53460         need unistd_.h.
53461         (MOSTLYCLEANFILES): Remove unistd.h-t.
53462
53463 2006-03-03  Simon Josefsson  <jas@extundo.com>
53464
53465         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
53466
53467 2006-03-03  Simon Josefsson  <jas@extundo.com>
53468
53469         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
53470         libidn and bison.
53471
53472 2006-03-03  Simon Josefsson  <jas@extundo.com>
53473
53474         * build-aux/maint.mk: Add indent target.
53475
53476 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
53477
53478         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
53479         our replacement poll.h in any case, to avoid a differing
53480         declaration from a system header.  Seen on AIX.
53481
53482 2006-03-01  Simon Josefsson  <jas@extundo.com>
53483
53484         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
53485         <kasal@ucw.cz>.
53486
53487 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53488
53489         * modules/gettime (Depends-on): Add extensions module.
53490         * modules/nanosleep (Depends-on): Likewise.
53491         * modules/settime (Depends-on): Likewise.
53492
53493 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53494
53495         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
53496         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
53497         pedantically.
53498         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53499         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
53500
53501         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
53502         not "==".  Reported by Ralf Wildenhues.
53503
53504 2006-03-01  Karl Berry  <karl@gnu.org>
53505
53506         * doc/Copyright/request-*: new files, synced from gnuorg.
53507
53508 2006-03-01  Karl Berry  <karl@gnu.org>
53509
53510         * config/srclist.txt (Copyright/*): new entries.
53511
53512 2006-02-28  Simon Josefsson  <jas@extundo.com>
53513
53514         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
53515
53516 2006-02-27  Simon Josefsson  <jas@extundo.com>
53517
53518         * lib/base64.h: Indent #define's.  From Jim Meyering
53519         <jim@meyering.net>.
53520
53521 2006-02-27  Jim Meyering  <jim@meyering.net>
53522
53523         Revert the change of 2006-02-24, so these files can continue
53524         to be sync'd from gettext.
53525         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
53526         of `config.h'.
53527
53528 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
53529
53530         * modules/intprops: New file.
53531         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
53532         Add intprops.
53533         * modules/getloadavg (Files): Remove lib/intprops.h.
53534         (Depends-on): Add intprops.
53535         * modules/human: Likewise.
53536         * modules/inttostr: Likewise.
53537         * modules/openat: Likewise.
53538         * modules/sig2str: Likewise.
53539         * modules/userspec: Likewise.
53540         * modules/utimecmp: Likewise.
53541         * modules/xnanosleep: Likewise.
53542         * modules/xstrtol: Likewise.
53543
53544 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
53545
53546         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
53547         * modules/lock-tests (TESTS): Use $(EXEEXT).
53548         * modules/tls-tests: Likewise.
53549         * modules/argp-tests: Likewise.
53550         (check_PROGRAMS): New var, replacing...
53551         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
53552
53553 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53554
53555         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
53556         `config.h'.
53557
53558 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
53559
53560         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
53561
53562 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53563
53564         Sync from coreutils.
53565         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
53566         gl_CHDIR_SAFER.
53567
53568 2006-02-22  Jim Meyering  <jim@meyering.net>
53569
53570         Sync from coreutils.
53571         * m4/chdir-safer.m4: New file.
53572
53573 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
53574
53575         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
53576         AT_FDCWD exceeds INT_MAX.
53577         * lib/openat.h (AT_FDCWD): Likewise.
53578
53579 2006-02-17  Eric Blake  <address@hidden>
53580
53581         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
53582
53583 2006-02-16  Simon Josefsson  <jas@extundo.com>
53584
53585         * modules/getaddrinfo (Depends-on): Add sys_socket.
53586
53587 2006-02-15  Simon Josefsson  <jas@extundo.com>
53588
53589         * build-aux/maint.mk: Add dsyntax-check rule.
53590
53591 2006-02-15  Eric Blake  <ebb9@byu.net>
53592
53593         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
53594         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
53595         'present but cannot compile' warnings on cygwin.
53596         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
53597         use ws2tcpip.h if sys/socket.h works.
53598         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
53599         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
53600
53601 2006-02-14  Simon Josefsson  <jas@extundo.com>
53602
53603         * modules/maintainer-makefile (Files): Rename.
53604
53605         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
53606         and (the local) Makefile.cfg to maint-cfg.mk.
53607
53608         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
53609         to the latter.
53610
53611         * modules/maintainer-makefile: New module.
53612
53613         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
53614         severaly stripped to make it possible to build it up from scratch
53615         with reliable tests.
53616
53617         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
53618         fixes to permit overriding the default actions when configure and
53619         makefile are not available.
53620
53621 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
53622
53623         Sync from coreutils.
53624         * modules/lstat (Depends-on): Don't depend on xalloc.
53625         (License): Change from GPL to LGPL, since this is now simply a
53626         replacement for a libc function.
53627
53628 2006-02-14  Jim Meyering  <jim@meyering.net>
53629
53630         Sync from coreutils.
53631
53632         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
53633         failure on deficient systems, and simplify gnulib lgpl dependencies.
53634         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
53635         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
53636
53637         * lib/xalloc-die.c: Remove unused definition of N_.
53638
53639 2006-02-14  Jim Meyering  <jim@meyering.net>
53640
53641         Sync from coreutils.
53642         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
53643         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
53644         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
53645         double-quote uses of that variable, to accommodate the rare case in
53646         which getmntent is available in none of the libraries checked.  This
53647         happens at least on FreeBSD 5.0.
53648
53649 2006-02-13  Simon Josefsson  <jas@extundo.com>
53650
53651         * gnulib-tool (Usage): Fix --import, from
53652         karl@freefriends.org (Karl Berry).
53653
53654 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
53655
53656         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
53657
53658 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
53659
53660         * lib/argp-namefrob.h: Restore changes accidentally lost during the
53661         "autoupdate" on 2005-12-12.
53662
53663 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
53664
53665         * modules/closeout (Depends-on): Remove atexit.
53666
53667 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
53668
53669         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
53670         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
53671
53672 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
53673
53674         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
53675         __EXTENSIONS__ if this causes compilation to fail.  Problem
53676         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
53677         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
53678
53679 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
53680
53681         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
53682         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
53683         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
53684         All uses changed.
53685
53686 2006-01-26  Simon Josefsson  <jas@extundo.com>
53687
53688         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
53689         prototype is visible on mingw32.
53690
53691         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
53692         for mingw32.
53693
53694         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
53695         mingw32).
53696
53697 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
53698
53699         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
53700         attempt to open for write; this always fails, at least on POSIX
53701         hosts.  This reinstates the 2006-01-09 change, which was
53702         inadvertently removed.
53703
53704 2006-01-26  Bruno Haible  <bruno@clisp.org>
53705
53706         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
53707         Reported by Paul Eggert.
53708
53709 2006-01-26  Bruno Haible  <bruno@clisp.org>
53710             Paul Eggert  <eggert@cs.ucla.edu>
53711
53712         * lib/stdbool_.h (_Bool)
53713         [(! (defined __cplusplus || defined __BEOS__)
53714           && !defined __GNUC__
53715           && !(defined __HP_cc || defined __xlc__
53716                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
53717                || defined __sgi))]:
53718         #define to signed char in these cases too; this simplifies
53719         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
53720         etc., separately) and makes it more conservative.
53721
53722 2006-01-25  Simon Josefsson  <jas@extundo.com>
53723
53724         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
53725         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
53726         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
53727
53728 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
53729
53730         * lib/argp-namefrob.h: Bugfix. Remove stray #
53731
53732 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
53733
53734         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
53735         so that we test the test.
53736         Check for yet another HP-UX cc bug involving *bool |= bool.
53737
53738 2006-01-25  Karl Berry  <karl@gnu.org>
53739
53740         * config/srclist.txt (vasnprintf.c): sync lost.
53741
53742 2006-01-25  Jim Meyering  <jim@meyering.net>
53743
53744         Sync from the stable (b5) branch of coreutils:
53745
53746         * lib/fts.c (fts_children): Don't let close() clobber errno from
53747         failed fchdir().
53748
53749         * lib/fts.c (fts_stat): When following a symlink-to-directory,
53750         don't necessarily interpret stat-fails+lstat-succeeds as indicating
53751         a dangling symlink.  That can also happen at least for ELOOP.
53752         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
53753         FYI, this bug predates the inclusion of fts.c in coreutils.
53754
53755         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
53756         in their own block, so pre-c99 compilers don't object.
53757
53758         Avoid the double-free (first in fts_read, second in fts_close) that
53759         would occur when an `active' directory is made inaccessible (e.g.,
53760         via chmod a-x) during a traversal.
53761         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
53762         before returning.  Reproduce this failure by
53763         mkdir -p a/b; cd a; chmod a-x . b
53764         Reported by Stavros Passas.
53765
53766 2006-01-25  Jim Meyering  <jim@meyering.net>
53767
53768         * lib/fileblocks.c: Remove more useless parentheses.
53769         * lib/readutmp.h: Likewise.
53770
53771 2006-01-25  Bruno Haible  <bruno@clisp.org>
53772
53773         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
53774         warnings.
53775         Reported by Paul Eggert.
53776
53777 2006-01-25  Bruno Haible  <bruno@clisp.org>
53778
53779         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
53780         rid of a trap command. For Solaris sh.
53781         Reported by Mark D. Baushke <mdb@gnu.org>.
53782
53783 2006-01-24  Simon Josefsson  <jas@extundo.com>
53784
53785         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
53786         Bruno.
53787
53788 2006-01-24  Karl Berry  <karl@gnu.org>
53789
53790         * config/srclist.txt (argp-namefrob.h): sync lost.
53791
53792 2006-01-24  Jim Meyering  <jim@meyering.net>
53793
53794         * modules/openat (Files): Add lib/intprops.h.
53795         From Mark D. Baushke.
53796
53797 2006-01-24  Jim Meyering  <jim@meyering.net>
53798
53799         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
53800         Reported by Mark D. Baushke.
53801
53802 2006-01-24  Jim Meyering  <jim@meyering.net>
53803
53804         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
53805
53806 2006-01-24  Bruno Haible  <bruno@clisp.org>
53807
53808         * modules/strnlen (Maintainer): Change from glibc to all.
53809
53810 2006-01-24  Bruno Haible  <bruno@clisp.org>
53811
53812         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
53813         Patch by Paul Eggert.
53814
53815 2006-01-24  Bruno Haible  <bruno@clisp.org>
53816
53817         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
53818         already has it.
53819         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
53820         2005-11-26.
53821
53822         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
53823         'signed char' to avoid problems with the built-in _Bool type.
53824         Reported by Paul Eggert on 2005-11-26.
53825
53826 2006-01-24  Bruno Haible  <bruno@clisp.org>
53827
53828         * gnulib-tool (func_import): Avoid constructing complicated sed
53829         expressions inside backquote.
53830         Report and solution by Mark D. Baushke <mdb@gnu.org>.
53831
53832 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
53833
53834         These changes imported from libc.
53835         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
53836         test and two separate function calls.
53837         * lib/strndup.c (__strndup): Add libc_hidden_def.
53838
53839 2006-01-23  Simon Josefsson  <jas@extundo.com>
53840
53841         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
53842         Remove the test_*_SOURCES variable: automake infers it by default.
53843         * modules/tls-tests: Likewise.
53844
53845 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53846
53847         Work around porting bugs reported by Dieter in
53848         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
53849         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
53850         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
53851         Include "getopt.h" first, to check interface.
53852         (getenv): Declare only if defined HAVE_DECL_GETENV &&
53853         !HAVE_DECL_GETENV.
53854         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
53855         (__strndup): Revert to K&R-style function dfns, the glibc style.
53856         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
53857         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
53858         Include strnlen.h first, to get prototype properly.
53859         (strnlen): Renamed from __strnlen.
53860         Remove weak alias.
53861
53862 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53863
53864         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
53865
53866 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53867
53868         * config/srclist.txt: Adjust to reflect glibc reorganization.
53869         This affects only comments.
53870
53871 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53872
53873          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
53874          Reported by Bruce Korb <bkorb@gnu.org>.
53875
53876 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
53877
53878         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
53879         to pacify gcc -Wswitch-default.
53880
53881 2006-01-22  Bruno Haible  <bruno@clisp.org>
53882
53883         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
53884         temporary buffer for sprintf, take into account the precision also
53885         for 'd', 'i', 'u', 'o', 'x', 'X'.
53886
53887 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
53888
53889         * modules/argp-tests: New module
53890         * tests/test-argp.c: New file
53891         * tests/test-argp-2.sh: New file
53892
53893 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
53894
53895         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
53896         (__argp_base_name): Removed
53897         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
53898         typo.
53899         (__argp_base_name): Provide macro definition or extern declaration
53900         depending on the configuration
53901
53902 2006-01-20  Simon Josefsson  <jas@extundo.com>
53903
53904         * modules/inet_ntop (Depends-on): Depend on sys_socket.
53905
53906 2006-01-20  Simon Josefsson  <jas@extundo.com>
53907
53908         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
53909
53910 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
53911
53912         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
53913         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
53914         Suggested by Bruno Haible.
53915
53916 2006-01-20  Karl Berry  <karl@gnu.org>
53917
53918         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
53919         until changes propagate, I guess.
53920
53921 2006-01-19  Simon Josefsson  <jas@extundo.com>
53922
53923         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
53924
53925 2006-01-19  Simon Josefsson  <jas@extundo.com>
53926
53927         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
53928
53929 2006-01-19  Simon Josefsson  <jas@extundo.com>
53930
53931         * gnulib-tool: Set check_PROGRAMS.
53932
53933         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
53934         modules/des-tests, modules/gc-arcfour-tests,
53935         modules/gc-arctwo-tests, modules/gc-des-tests,
53936         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
53937         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
53938         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
53939         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
53940         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
53941         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
53942         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
53943         test_*_SOURCES.
53944
53945 2006-01-18  Simon Josefsson  <jas@extundo.com>
53946
53947         * modules/socklen (Depends-on): Depend on sys_socket.
53948
53949 2006-01-18  Simon Josefsson  <jas@extundo.com>
53950
53951         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
53952         modules/des-tests, modules/gc-arcfour-tests,
53953         modules/gc-arctwo-tests, modules/gc-des-tests,
53954         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
53955         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
53956         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
53957         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
53958         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
53959         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
53960         $(EXEEXT) to automake TESTS variable, for mingw32.
53961
53962 2006-01-17  Simon Josefsson  <jas@extundo.com>
53963
53964         * modules/socklen (Include): Need sys/socket.h.
53965
53966 2006-01-17  Bruno Haible  <bruno@clisp.org>
53967
53968         * modules/ssize_t (Include): Add <sys/types.h>.
53969
53970 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
53971
53972         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
53973         it's not portable and it doesn't work with cross-compiles.
53974         Problem reported by Bruno Haible.  Fix missing-$ typo in
53975         'test "gl_cv_ignore_unused_libraries" ...' that prevented
53976         -zignore from being used with Sun's C compiler.
53977
53978 2006-01-12  Simon Josefsson  <jas@extundo.com>
53979
53980         * lib/base64.c: Fix warning, reported by Bruno Haible
53981         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
53982
53983 2006-01-12  Bruno Haible  <bruno@clisp.org>
53984
53985         * modules/ldd: New file.
53986         * build-aux/ldd.sh.in: New file.
53987         * MODULES.html.sh (Support for building libraries and executables): Add
53988         ldd.
53989
53990 2006-01-12  Bruno Haible  <bruno@clisp.org>
53991
53992         * m4/ldd.m4: New file.
53993
53994 2006-01-12  Bruno Haible  <bruno@clisp.org>
53995
53996         * gnulib-tool (func_import, func_create_testdir): Don't go into an
53997         endless loop while replacing $auxdir with build-aux.
53998
53999 2006-01-11  Simon Josefsson  <jas@extundo.com>
54000
54001         * lib/stdint_.h (SIZE_MAX): Add missing (.
54002
54003 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
54004
54005         Sync from coreutils.
54006         * lib/md5.c: Fix commentary typos.
54007         (alignof, UNALIGNED_P): No need for a GCC-specific version.
54008         * lib/md5.h (__attribute__): Remove; unused.
54009         * lib/sha1.c: Fix commentary to match md5 better.
54010         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
54011         so that we don't need to worry about alignment.  All uses changed.
54012         This merges the 2005-10-28 md5 change into sha1.
54013
54014 2006-01-11  Jim Meyering  <jim@meyering.net>
54015
54016         Sync from coreutils.
54017         * lib/md5.c (OP): Fix spacing.
54018
54019 2006-01-11  Bruno Haible  <bruno@clisp.org>
54020
54021         Ensure automatic ordering between gl_LOCK and gl_ARGP.
54022         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
54023         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
54024
54025 2006-01-11  Bruno Haible  <bruno@clisp.org>
54026
54027         Ensure automatic ordering between gl_LOCK and gl_ARGP.
54028         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
54029         the "early" section as well.
54030
54031 2006-01-11  Bruno Haible  <bruno@clisp.org>
54032
54033         Avoid "ar: no archive members specified" error on MacOS X.
54034         * gnulib-tool (func_modules_add_dummy): New function.
54035         (func_import, func_create_testdir): Invoke it.
54036
54037 2006-01-11  Bruno Haible  <bruno@clisp.org>
54038
54039         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
54040         with $auxdir in AC_CONFIG_FILES statements.
54041
54042 2006-01-11  Bruno Haible  <bruno@clisp.org>
54043
54044         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54045         Initialize also noinst_HEADERS to empty.
54046
54047 2006-01-11  Bruno Haible  <bruno@clisp.org>
54048
54049         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
54050         variables.
54051         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
54052         autoreconf.
54053
54054 2006-01-11  Bruno Haible  <bruno@clisp.org>
54055
54056         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
54057         overridable by the user.
54058         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54059
54060 2006-01-10  Simon Josefsson  <jas@extundo.com>
54061
54062         * modules/sys_socket: New file.
54063
54064 2006-01-10  Simon Josefsson  <jas@extundo.com>
54065
54066         * m4/sys_socket_h.m4: New file.
54067
54068 2006-01-10  Simon Josefsson  <jas@extundo.com>
54069
54070         * lib/socket_.h: New file.
54071
54072 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54073
54074         * modules/readutmp (Maintainer): Add myself.
54075
54076 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54077
54078         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
54079         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
54080         People who are still concerned with buggy memcmp implementations
54081         can invoke gl_FUNC_MEMCMP themselves.
54082
54083 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54084
54085         * lib/regex_internal.h (BITSET_WORD_BITS):
54086         Work around a bug in 64-bit PGC (before version 6.1-2), where the
54087         preprocessor mishandles large unsigned values as if they were signed.
54088         Problem reported by Claudio Fontana in
54089         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
54090
54091 2006-01-10  Jim Meyering  <jim@meyering.net>
54092
54093         Avoid the double-free (first in fts_read, second in fts_close) that
54094         would occur when an `active' directory is made inaccessible (e.g.,
54095         via chmod a-x) during a traversal.
54096         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
54097         before returning.  Reproduce this failure by
54098         mkdir -p a/b; cd a; chmod a-x . b
54099         Reported by Stavros Passas.
54100
54101         Sync from coreutils.
54102         * lib/sha1.c: Tweak grammar in a comment.
54103
54104 2006-01-10  Jim Meyering  <jim@meyering.net>
54105
54106         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
54107         Patch by Joerg Sonnenberger.
54108
54109 2006-01-10  Bruno Haible  <bruno@clisp.org>
54110
54111         * modules/readutmp: Depend on module free.
54112         * modules/strtok_r: Depend on module restrict.
54113
54114 2006-01-10  Bruno Haible  <bruno@clisp.org>
54115
54116         * modules/gettext (configure.ac): Add an invocation of
54117         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
54118
54119 2006-01-10  Bruno Haible  <bruno@clisp.org>
54120
54121         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
54122         Reported by Werner Lemberg <wl@gnu.org>.
54123
54124 2006-01-10  Bruno Haible  <bruno@clisp.org>
54125
54126         * lib/localcharset.c: Update from GNU gettext.
54127
54128 2006-01-10  Bruno Haible  <bruno@clisp.org>
54129
54130         * lib/argp.h (__const): Remove macro. Use const instead.
54131         * lib/argp-fmtstream.h (__const): Likewise.
54132         * lib/glob_.h (__const): Remove macro.
54133         * lib/glob-libc.h: Use const instead of __const.
54134
54135 2006-01-10  Bruno Haible  <bruno@clisp.org>
54136
54137         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
54138         variable.
54139         Needed to avoid an automake error regarding the 'gettext' module.
54140
54141 2006-01-09  Simon Josefsson  <jas@extundo.com>
54142
54143         * modules/inet_ntop (Depends-on): Add restrict.
54144
54145 2006-01-09  Simon Josefsson  <jas@extundo.com>
54146
54147         * modules/gc-rijndael-tests (License): Put under LGPL.
54148
54149         * modules/gc-des-tests (License): Likewise.
54150
54151         * modules/gc-arcfour-tests (License): Likewise.
54152
54153         * modules/gc-arctwo-tests (License): Likewise.
54154
54155         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
54156
54157         * modules/gc-hmac-sha1-tests (Files): Likewise.
54158
54159         * modules/gc-hmac-md5-tests (License): Likewise.
54160
54161         * modules/gc-sha1-tests (License): Likewise.
54162
54163         * modules/gc-md5-tests (License): Likewise.
54164
54165         * modules/gc-md4-tests (License): Likewise.
54166
54167         * modules/gc-md2-tests (License): Likewise.
54168
54169         * modules/gc-tests (License): Likewise.
54170
54171         * modules/des-tests (License): Likewise.
54172
54173         * modules/md4-tests (License): Likewise.
54174
54175         * modules/md2-tests (License): Likewise.
54176
54177 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54178
54179         Sync from coreutils:
54180
54181         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
54182         * modules/lib-ignore: New file.
54183         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
54184         chdir-safer.m4, lchmod.m4.
54185         * modules/openat: Add mkdirat.c, openat-priv.h.
54186
54187 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54188
54189         Sync from coreutils.
54190         * m4/lib-ignore.m4: New file.
54191         * m4/lchmod.m4: New file.
54192
54193 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54194
54195         Sync from coreutils.
54196         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
54197         for write access: POSIX says that must fail.
54198         * lib/fts.c (diropen): Likewise.
54199         * lib/save-cwd.c (save_cwd): Likewise.
54200         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
54201         well, for minor improvements on hosts that lack O_DIRECTORY.
54202         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
54203         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
54204         Fall back on chown if open failed with EACCES.
54205
54206         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
54207         Report an error at compile-time if only a 1-second nominal clock
54208         resolution is found.
54209
54210         * lib/lchmod.h: New file.
54211         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
54212         (make_dir_parents): Use lchown rather than chown, and
54213         lchmod rather than chmod.
54214
54215         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
54216         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
54217         "proc" reported by n0dalus.
54218
54219         * lib/mountlist.c: Include <limits.h>.
54220         (dev_from_mount_options)
54221         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
54222         New function.  It no longer assumes "dev=" has the System V meaning
54223         on Linux (since it doesn't).  It also parses "dev=" more carefully.
54224         (read_file_system_list)
54225         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
54226         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
54227         dev= in that case.
54228
54229         * lib/posixtm.h (PDS_PRE_2000): New macro.
54230         * lib/posixtm.c (year): Arg is now syntax_bits rather than
54231         allow_century.  All usages changed.  Reject dates outside the range
54232         1969-1999 if PDS_PRE_2000 is used.
54233
54234 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54235
54236         Sync from coreutils.
54237         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
54238         (Time of day items): Mention the possibility of leap seconds.
54239         Problem reported by Dr. David Alan Gilbert.
54240
54241 2006-01-09  Jim Meyering  <jim@meyering.net>
54242
54243         Sync from coreutils.
54244
54245         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
54246
54247         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
54248
54249         * lib/modechange.c (mode_compile): Reject an invalid mode string
54250         that starts with an octal digit.  From Andreas Gruenbacher.
54251
54252         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
54253         and dup to open_safer and dup_safer, respectively.
54254         (openat_permissive): Fix typo in comment.
54255
54256         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
54257         "gettext.h"; either no longer needed or are guaranteed by openat.h.
54258         (_): Remove; no longer needed.
54259         (openat): Renamed from rpl_openat; no need for rpl_openat
54260         since openat.h renames openat for us.
54261         Replace most of the body with a call to openat_permissive,
54262         to avoid duplicate code.
54263         Port to (probably hypothetical) environments were mode_t is
54264         wider than int.
54265         (openat_permissive): Require mode arg, so that we can check
54266         types better.  Put it just after flags.  Change cwd failure
54267         indicator from pointer-to-bool to pointer-to-errno-value.
54268         All callers changed.
54269         Invoke openat_save_fail and/or openat_restore_fail if
54270         cwd_errno is null, so that openat can call us.
54271         (openat_permissive, fdopendir, fstatat, unlinkat):
54272         Simplify errno handling to avoid some duplicate code,
54273         as it's OK to set errno on success.
54274         * lib/openat.h: Revamp code so that function macros depend on
54275         __OPENAT_PREFIX only, not also on AT_FDCWD.
54276         (openat_ro): Remove.  Caller changed to use openat_permissive.
54277         (openat_permissive): Now a macro, if not a function.
54278         (openat_restore_fail, openat_save_fail): Now always functions,
54279         since mkdirat needs them even if __OPENAT_PREFIX is defined.
54280
54281         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
54282         and openat.c.
54283         * lib/mkdirat.c: Include openat-priv.h.
54284         Remove definitions of macros defined therein.
54285         * lib/openat.c: Likewise.
54286
54287         * lib/mkdirat.c (mkdirat): New file and function.
54288         * lib/openat.h (mkdirat): Declare.
54289
54290         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
54291
54292         * lib/openat.h (openat_permissive): Declare.
54293         (openat_ro): Define.
54294
54295         * lib/openat.c (EXPECTED_ERRNO): New macro.
54296         (openat_permissive): New function -- used in remove.c rewrite.
54297         (all functions): Set errno just before returning, only if there
54298         was an actual failure.
54299         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
54300
54301         Emulate openat-family functions using Linux's procfs, if possible.
54302         Idea and some code based on Ulrich Drepper's glibc changes.
54303
54304         * lib/openat.c: (BUILD_PROC_NAME): New macro.
54305         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
54306         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
54307         before falling back on save_cwd and restore_cwd.
54308         (fdopendir, fstatat, unlinkat): Likewise.
54309
54310         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
54311         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
54312
54313         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
54314         as second argument to va_arg.  Otherwise, some versions of gcc
54315         warn that `if this code is reached, the program will abort'.
54316
54317 2006-01-09  Jim Meyering  <jim@meyering.net>
54318
54319         Sync from coreutils.
54320         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
54321         Require openat-priv.h.
54322
54323 2006-01-09  Bruno Haible  <bruno@clisp.org>
54324
54325         * modules/strnlen (Include): Use strnlen.h.
54326
54327 2006-01-09  Bruno Haible  <bruno@clisp.org>
54328
54329         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
54330
54331 2006-01-09  Bruno Haible  <bruno@clisp.org>
54332
54333         * lib/sysexit_.h (EX_OK): New macro.
54334         Suggested by Martin Lambers <marlam@marlam.de>.
54335
54336 2006-01-09  Bruno Haible  <bruno@clisp.org>
54337
54338         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
54339         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
54340
54341 2006-01-09  Bruno Haible  <bruno@clisp.org>
54342
54343         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
54344         numbers.
54345
54346 2006-01-09  Bruno Haible  <bruno@clisp.org>
54347
54348         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
54349         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
54350         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
54351         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
54352
54353 2006-01-09  Bruno Haible  <bruno@clisp.org>
54354
54355         * build-aux/javacomp.sh.in: New file, moved from lib/.
54356         * modules/javacomp-script (Files): Update.
54357         (configure.ac): Add AC_CONFIG_FILES invocation.
54358         (EXTRA_DIST): Remove variable.
54359
54360         * build-aux/javaexec.sh.in: New file, moved from lib/.
54361         * modules/javaexec (Files): Update.
54362         (configure.ac): Add AC_CONFIG_FILES invocation.
54363         (EXTRA_DIST): Remove javaexec.sh.in.
54364
54365         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
54366         * modules/csharpcomp-script (Files): Update.
54367         (configure.ac): Add AC_CONFIG_FILES invocation.
54368         (EXTRA_DIST): Remove variable.
54369
54370         * build-aux/csharpexec.sh.in: New file, moved from lib/.
54371         * modules/csharpexec (Files): Update.
54372         (configure.ac): Add AC_CONFIG_FILES invocation.
54373         (EXTRA_DIST): Remove csharpexec.sh.in.
54374
54375 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
54376
54377         Sync from coreutils.
54378
54379         Add POSIX ACL support
54380         * lib/acl.h (copy_acl, set_acl): Add declarations.
54381         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
54382         systems other than Linux.
54383         (chmod_or_fchmod): New function: use fchmod when possible,
54384         and chmod otherwise.
54385         (file_has_acl): Add a POSIX ACL implementation, with a
54386         Linux-specific subcase.
54387         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
54388         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
54389         acls are unsupported.
54390         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
54391         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
54392         are unsupported.
54393
54394 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
54395
54396         Sync from coreutils.
54397         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
54398
54399 2006-01-07  Bruno Haible  <bruno@clisp.org>
54400
54401         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
54402         gl_EARLY.
54403
54404 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54405
54406         * lib/strftime.c (tzname): Don't declare if it is already #defined.
54407         Problem reported for Mingw by Mark Junker.
54408
54409 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54410
54411         * README: Gnulib normally doesn't generate a tarball.
54412
54413 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
54414
54415         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
54416         long int, not int, for nanosecond counts, so that people who are
54417         used to POSIX struct timespec won't be surprised.  Reported by Jim
54418         Meyering.
54419
54420 2005-12-28  Bruno Haible  <bruno@clisp.org>
54421
54422         * build-aux/config.rpath: Update from GNU gettext.
54423
54424 2005-12-16  Jim Meyering  <jim@meyering.net>
54425
54426         * modules/fprintftime: New module.
54427         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
54428
54429 2005-12-16  Jim Meyering  <jim@meyering.net>
54430
54431         * m4/fprintftime.m4: New file.
54432
54433 2005-12-16  Jim Meyering  <jim@meyering.net>
54434
54435         * lib/fprintftime.c, lib/fprintftime.h: New files.
54436
54437 2005-12-15  Simon Josefsson  <jas@extundo.com>
54438
54439         * modules/socklen (configure.ac): Fix M4 macro name, to align with
54440         new m4/socklen.m4.
54441
54442 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54443
54444         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
54445         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
54446
54447 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54448
54449         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
54450         * lib/argp-help.c (fill_in_uparams): Check if the constructed
54451         struct uparams is valid. Fall back to the default values if it is
54452         not.
54453
54454 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54455
54456         * modules/argp (Files): Add argp-pin.c
54457         (Depends-on): dirname
54458         (lib_SOURCES): Add argp-pin.c
54459
54460 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54461
54462         * m4/argp.m4:  Check if program_invocation_name and
54463         program_invocation_short_name are declared and define appropriate
54464         macros if they are not.
54465
54466 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54467
54468         * lib/argp-help.c (__argp_base_name): New function
54469         (__argp_short_program_name): Rewrite using __argp_base_name
54470         * lib/argp-namefrob.h: Define program_invocation_name and
54471         program_invocation_short_name if requested
54472         (__argp_base_name): Add prototype
54473         * lib/argp-parse.c (argp_def): Use gettext wrappers
54474         (argp_default_parser): Use __argp_base_name
54475         * lib/argp-pin.c: New file. Defines program_invocation_name and
54476         program_invocation_short_name on systems that lack them.
54477
54478 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54479
54480         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
54481         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
54482         porting problem reported by Georg Schwarz in
54483         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
54484
54485 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54486
54487         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
54488         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
54489         porting problem reported by Georg Schwarz in
54490         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
54491
54492 2005-12-05  Bruno Haible  <bruno@clisp.org>
54493
54494         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
54495         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
54496         Reported by Mark Junker <mjscod@gmx.de>.
54497
54498 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
54499
54500         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
54501         Use implementation from Albert Chin, with some
54502         comments/corrections by Stepan Kasal and myself.
54503
54504 2005-12-02  Bruno Haible  <bruno@clisp.org>
54505
54506         * gnulib-tool (func_import): Accept GPLed build tool modules when
54507         --lgpl is given.
54508         * modules/csharpcomp-script: New file.
54509         * modules/csharpcomp: Depend on it.
54510         * modules/javacomp-script: New file.
54511         * modules/javacomp: Depend on it.
54512         Suggested by Simon Josefsson.
54513
54514 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
54515
54516         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
54517         statement, to work around an HP-UX 10.20 compiler bug reported by
54518         Peter O'Gorman.
54519
54520 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
54521
54522         * modules/savedir (Depends-on): Add openat.
54523
54524 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
54525
54526         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
54527         (uintmax_t) [defined uintmax_t]: Do not declare.
54528         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
54529         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
54530         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
54531         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
54532         sake of portability to weird hosts that C allows (though we don't
54533         know of any practical examples).
54534
54535         * lib/savedir.h (fdsavedir): New decl.
54536         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
54537         contains most of the former guts of savedir.
54538         (savedir): Use savedirstream.
54539         Include "openat.h".
54540
54541 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54542
54543         * modules/obstack (Files): Add m4/ulonglong.m4.
54544         Problem reported by Davide Angelocola.
54545
54546 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
54547
54548         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
54549         coreutils no longer futzes with rounding modes.
54550
54551 2005-11-14  Jim Meyering  <jim@meyering.net>
54552
54553         * lib/mkstemp-safer.c: Include <config.h>, required for possible
54554         replacement of mkstemp.
54555
54556 2005-11-10  Simon Josefsson  <jas@extundo.com>
54557
54558         * lib/readline.c: Remove EOL.
54559
54560 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54561
54562         * modules/gethrxtime (Depends-on): Add gettime.
54563
54564 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54565
54566         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
54567         or gettimeofday; no longer needed.
54568
54569 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54570
54571         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
54572         time business.
54573         (gethrxtime) [! (HAVE_NANOUPTIME
54574         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
54575         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
54576         our own approximation.
54577
54578 2005-11-08  Eric Blake  <ebb9@byu.net>
54579
54580         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
54581
54582 2005-11-08  Eric Blake  <ebb9@byu.net>
54583
54584         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
54585
54586 2005-11-04  Bruno Haible  <bruno@clisp.org>
54587
54588         * gnulib-tool: Implement --update mode.
54589
54590 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54591
54592         Fix porting problem reported by Theodoros V. Kalamatianos.
54593         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
54594         Don't assume that futimes failing means we must fail.
54595
54596 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54597
54598         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
54599         variables to suggest the intended function of the PATH_MAX check.
54600
54601 2005-10-30  Kean Johnston  <jkj@sco.com>
54602
54603         Trivial changes to support SCO systems.
54604         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
54605         as PATH_MAX.
54606         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
54607         where __ptr is null when no I/O is pending.
54608
54609 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54610
54611         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
54612         leave errno alone.  Problem reported by Dmitry V. Levin.
54613
54614 2005-10-28  Simon Josefsson  <jas@extundo.com>
54615
54616         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
54617         Test more.
54618
54619         * tests/test-gc-md2.c, tests/test-md2.c: New files.
54620
54621         * modules/md2, modules/md2-tests: New files.
54622
54623 2005-10-28  Simon Josefsson  <jas@extundo.com>
54624
54625         * m4/inet_ntop.m4: More tests.
54626
54627         * m4/gc-md2.m4, md2.m4: New file.
54628
54629 2005-10-28  Simon Josefsson  <jas@extundo.com>
54630
54631         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
54632         "restrict" keywords, as per POSIX.  Protect the function
54633         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
54634         Don't use K&R prototypes.  Check the sprintf return values.
54635         Re-define EAFNOSUPPORT if not present.  Indent.
54636
54637         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
54638         suggested by Bruno Haible <bruno@clisp.org>.
54639
54640         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
54641
54642         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
54643
54644         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
54645         libgcrypt).
54646
54647         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
54648
54649         * lib/md2.h, lib/md2.c: New files.
54650
54651 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
54652
54653         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
54654         errno alone.  Problem reported by Frederic Jolliton.
54655
54656 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54657
54658         * modules/verify (License): Change from GPL to LGPL.  This is a
54659         tiny module and there are apparently near-equivalents that are
54660         under the BSD license.
54661
54662 2005-10-24  Simon Josefsson  <jas@extundo.com>
54663
54664         * modules/sha1: Relicense to LGPL.
54665
54666 2005-10-24  Simon Josefsson  <jas@extundo.com>
54667
54668         * lib/md4.h: Shrink buffer size, now that we changed the type.
54669
54670 2005-10-23  Simon Josefsson  <jas@extundo.com>
54671
54672         * gnulib-tool (func_import): Fix --tests-base.
54673
54674 2005-10-22  Simon Josefsson  <jas@extundo.com>
54675
54676         * modules/arcfour (Depends-on): Need stdint.
54677
54678 2005-10-22  Simon Josefsson  <jas@extundo.com>
54679
54680         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
54681         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
54682
54683 2005-10-22  Simon Josefsson  <jas@extundo.com>
54684
54685         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
54686         suggested by Bruno Haible <bruno@clisp.org>.
54687
54688 2005-10-22  Simon Josefsson  <jas@extundo.com>
54689
54690         * lib/crc.h: Include stddef.h, for size_t.
54691
54692 2005-10-22  Simon Josefsson  <jas@extundo.com>
54693
54694         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
54695         arcfour_context struct (simplify test vector testing in GNU
54696         Shishi).
54697
54698 2005-10-21  Simon Josefsson  <jas@extundo.com>
54699
54700         * modules/des, modules/des-tests: New files.
54701
54702         * modules/gc-des, modules/gc-des-tests: New files.
54703
54704         * tests/test-des.c, tests/test-gc-des.c: New file.
54705
54706 2005-10-21  Simon Josefsson  <jas@extundo.com>
54707
54708         * modules/arctwo, modules/arctwo-tests: New files.
54709
54710         * tests/test-arctwo.c: New file.
54711
54712         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
54713
54714         * tests/test-gc-arctwo.c: New file.
54715
54716 2005-10-21  Simon Josefsson  <jas@extundo.com>
54717
54718         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
54719         Bruno Haible <bruno@clisp.org>.
54720
54721         * m4/gc-des.m4: New file.
54722
54723 2005-10-21  Simon Josefsson  <jas@extundo.com>
54724
54725         * m4/arctwo.m4: New file.
54726
54727         * m4/gc-arctwo.m4: New file.
54728
54729 2005-10-21  Simon Josefsson  <jas@extundo.com>
54730
54731         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
54732         block.
54733
54734 2005-10-21  Simon Josefsson  <jas@extundo.com>
54735
54736         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
54737         <bruno@clisp.org>.
54738
54739         * lib/hmac-sha1.c (hmac_sha1): Likewise.
54740
54741         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
54742         Bruno Haible <bruno@clisp.org>.
54743
54744         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
54745         <bruno@clisp.org>.
54746
54747 2005-10-21  Simon Josefsson  <jas@extundo.com>
54748
54749         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
54750
54751 2005-10-21  Simon Josefsson  <jas@extundo.com>
54752
54753         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
54754
54755 2005-10-21  Simon Josefsson  <jas@extundo.com>
54756
54757         * lib/des.h, lib/des.c: New files.
54758
54759         * lib/gc-gnulib.c: Support DES.c
54760
54761 2005-10-21  Simon Josefsson  <jas@extundo.com>
54762
54763         * lib/arctwo.h, lib/arctwo.c: New files.
54764
54765         * lib/gc-gnulib.c: Support ARCTWO.
54766
54767 2005-10-21  Simon Josefsson  <jas@extundo.com>
54768
54769         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
54770         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54771
54772 2005-10-21  Simon Josefsson  <jas@extundo.com>
54773
54774         * gnulib-tool (func_import, func_create_testdir): Define automake
54775         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
54776         Makefile.am snippet),
54777         suggested by Bruno Haible <bruno@clisp.org>.
54778
54779         * modules/gc (Makefile.am): Use it.
54780
54781 2005-10-21  Bruno Haible  <bruno@clisp.org>
54782
54783         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
54784         patch.
54785
54786 2005-10-19  Simon Josefsson  <jas@extundo.com>
54787
54788         * tests/test-gc-rijndael.c: New file.
54789
54790         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
54791
54792 2005-10-19  Simon Josefsson  <jas@extundo.com>
54793
54794         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
54795         interface too.
54796
54797 2005-10-19  Simon Josefsson  <jas@extundo.com>
54798
54799         * tests/test-gc-arcfour.c: New file.
54800
54801         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
54802
54803 2005-10-19  Simon Josefsson  <jas@extundo.com>
54804
54805         * modules/gc-md4, modules/gc-md4-tests: New file.
54806
54807         * tests/test-gc-md4.c: New file.
54808
54809 2005-10-19  Simon Josefsson  <jas@extundo.com>
54810
54811         * m4/gc-md4.m4: New file.
54812
54813 2005-10-19  Simon Josefsson  <jas@extundo.com>
54814
54815         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
54816         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
54817         <kasal@ucw.cz>.
54818
54819 2005-10-19  Simon Josefsson  <jas@extundo.com>
54820
54821         * m4/gc-arcfour.m4: New file.
54822
54823         * m4/gc-rijndael.m4: New file.
54824
54825 2005-10-19  Simon Josefsson  <jas@extundo.com>
54826
54827         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
54828
54829 2005-10-19  Simon Josefsson  <jas@extundo.com>
54830
54831         * lib/gc-gnulib.c: Support ARCFOUR.
54832
54833 2005-10-19  Simon Josefsson  <jas@extundo.com>
54834
54835         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
54836         support.
54837
54838         * lib/gc.h: Add ECB enum type.
54839
54840         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
54841
54842 2005-10-18  Simon Josefsson  <jas@extundo.com>
54843
54844         * tests/test-md5.c: New file.
54845
54846         * modules/md5-tests: New file.
54847
54848 2005-10-18  Simon Josefsson  <jas@extundo.com>
54849
54850         * tests/test-md4.c: New file.
54851
54852         * modules/md4, modules/md4-tests: New files.
54853
54854 2005-10-18  Simon Josefsson  <jas@extundo.com>
54855
54856         * m4/md4.m4: New file.
54857
54858 2005-10-18  Simon Josefsson  <jas@extundo.com>
54859
54860         * lib/md4.h, lib/md4.c: New files, based on md5.?.
54861
54862 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
54863
54864         * gnulib-tool (func_create_testdir): Omit the second check whether
54865         BUILT_SOURCES in nonempty.
54866
54867 2005-10-17  Simon Josefsson  <jas@extundo.com>
54868
54869         * tests/test-rijndael.c: New file.
54870
54871 2005-10-17  Simon Josefsson  <jas@extundo.com>
54872
54873         * modules/sha1: Depend on stdint instead of md5.
54874
54875         * modules/md5: Depend on stdint, remove uint32_t.
54876
54877 2005-10-17  Simon Josefsson  <jas@extundo.com>
54878
54879         * modules/gc-sha1-tests: New file.
54880
54881         * tests/test-gc-sha1.c: New file.
54882
54883 2005-10-17  Simon Josefsson  <jas@extundo.com>
54884
54885         * m4/md5.m4: Remove call to uint32_t.m4.
54886
54887 2005-10-17  Simon Josefsson  <jas@extundo.com>
54888
54889         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
54890
54891         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
54892         md5.h.
54893
54894         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
54895
54896         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
54897
54898 2005-10-17  Simon Josefsson  <jas@extundo.com>
54899
54900         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
54901
54902 2005-10-17  Simon Josefsson  <jas@extundo.com>
54903
54904         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
54905
54906 2005-10-17  Simon Josefsson  <jas@extundo.com>
54907
54908         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
54909
54910         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
54911
54912 2005-10-17  Bruno Haible  <bruno@clisp.org>
54913
54914         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
54915         that it can also be used in a test.
54916
54917 2005-10-16  Bruno Haible  <bruno@clisp.org>
54918
54919         * gnulib-tool (func_emit_tests_Makefile_am): Also define
54920         TESTS_ENVIRONMENT, so that individual tests can augment it.
54921
54922         * gnulib-tool (func_create_testdir): Use an intermediate target for
54923         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
54924         macros, like $(ALLOCA_H), which cannot be passed through the command
54925         line.
54926
54927 2005-10-15  Simon Josefsson  <jas@extundo.com>
54928
54929         * modules/rijndael-tests: New file.
54930
54931         * modules/rijndael: New file.
54932
54933 2005-10-15  Simon Josefsson  <jas@extundo.com>
54934
54935         * m4/rijndael.m4: New file.
54936
54937 2005-10-15  Simon Josefsson  <jas@extundo.com>
54938
54939         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
54940
54941         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
54942
54943 2005-10-14  Simon Josefsson  <jas@extundo.com>
54944
54945         * tests/test-arcfour.c: New file.
54946
54947         * modules/arcfour, modules/arcfour-tests: New files.
54948
54949 2005-10-14  Simon Josefsson  <jas@extundo.com>
54950
54951         * m4/arcfour.m4: New file.
54952
54953 2005-10-14  Simon Josefsson  <jas@extundo.com>
54954
54955         * lib/arcfour.h, lib/arcfour.c: New files.
54956
54957 2005-10-14  Roland McGrath  <roland@redhat.com>
54958
54959         Import from libc.  [BZ #1331]
54960         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
54961         macro argument.
54962         Reported by Matej Vela <vela@debian.org>.
54963
54964 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
54965
54966         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
54967         include <wchar.h>; no longer needed.
54968
54969 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
54970
54971         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
54972
54973 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
54974         and  Ulrich Drepper  <drepper@redhat.com>
54975
54976         Import from libc.
54977         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
54978         instead of inline stream orientation test and two separate
54979         function calls.  Pay no attention to USE_IN_LIBIO.
54980
54981 2005-10-13  Simon Josefsson  <jas@extundo.com>
54982
54983         * modules/gc-hmac-md5-tests: New file.
54984
54985         * tests/test-gc-hmac-sha1.c: New file.
54986
54987         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
54988
54989         * modules/gc-hmac-md5-tests: New file.
54990
54991         * tests/test-gc-md5.c: New file.
54992
54993         * modules/gc-md5-tests: New file.
54994
54995 2005-10-13  Simon Josefsson  <jas@extundo.com>
54996
54997         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
54998         Move memory allocation outside of loop.
54999
55000 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
55001
55002         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
55003         intermediate directory is in a read-only file system.  Problem
55004         reported by Eric Blake.
55005
55006 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
55007
55008         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
55009
55010 2005-10-12  Simon Josefsson  <jas@extundo.com>
55011
55012         * tests/test-hmac-sha1.c: New file.
55013
55014         * modules/hmac-sha1-tests: New file.
55015
55016         * modules/hmac-sha1: New file.
55017
55018 2005-10-12  Simon Josefsson  <jas@extundo.com>
55019
55020         * modules/gc-sha1: New file.
55021
55022 2005-10-12  Simon Josefsson  <jas@extundo.com>
55023
55024         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
55025
55026         * tests/test-gc-pbkdf2-sha1.c: New file.
55027
55028 2005-10-12  Simon Josefsson  <jas@extundo.com>
55029
55030         * modules/gc-md5, modules/gc-hmac-md5: New files.
55031
55032         * modules/gc (Files): Remove md5, memxor and hmac files.
55033
55034 2005-10-12  Simon Josefsson  <jas@extundo.com>
55035
55036         * m4/gc-pbkdf2-sha1.m4: New file.
55037
55038         * m4/gc-hmac-sha1.m4: New file.
55039
55040         * m4/gc-sha1: New file.
55041
55042         * m4/hmac-sha1.m4: New file.
55043
55044 2005-10-12  Simon Josefsson  <jas@extundo.com>
55045
55046         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
55047
55048         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
55049
55050 2005-10-12  Simon Josefsson  <jas@extundo.com>
55051
55052         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
55053         suggested by Bruno Haible <bruno@clisp.org>.
55054
55055 2005-10-12  Simon Josefsson  <jas@extundo.com>
55056
55057         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
55058
55059 2005-10-12  Simon Josefsson  <jas@extundo.com>
55060
55061         * lib/gc-pbkdf2-sha1.c: New file.
55062
55063         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
55064
55065 2005-10-12  Simon Josefsson  <jas@extundo.com>
55066
55067         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
55068
55069         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
55070
55071 2005-10-12  Simon Josefsson  <jas@extundo.com>
55072
55073         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
55074         GC_USE_HMAC_MD5, respectively.
55075
55076         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
55077         (gc_md5): Fix typo.
55078
55079         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
55080
55081         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
55082
55083         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
55084
55085 2005-10-12  Bruno Haible  <bruno@clisp.org>
55086
55087         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
55088         Reported by Stepan Kasal <kasal@ucw.cz>.
55089
55090 2005-10-11  Simon Josefsson  <jas@extundo.com>
55091
55092         * tests/test-crc.c: New file.
55093
55094         * modules/crc, modules/crc-tests: New files.
55095
55096 2005-10-11  Simon Josefsson  <jas@extundo.com>
55097
55098         * m4/crc.m4: New file.
55099
55100 2005-10-11  Simon Josefsson  <jas@extundo.com>
55101
55102         * lib/gc.h: Add gc_hash and gc_hash_buffer.
55103
55104         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
55105
55106         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
55107
55108 2005-10-11  Simon Josefsson  <jas@extundo.com>
55109
55110         * lib/crc.h, lib/crc.c: New files.
55111
55112         * lib/gc.h (gc_hash_buffer): Add doc.
55113
55114 2005-10-11  Bruno Haible  <bruno@clisp.org>
55115
55116         * modules/c-strcasestr: New file.
55117         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
55118
55119 2005-10-11  Bruno Haible  <bruno@clisp.org>
55120
55121         * modules/c-strcase: New file.
55122         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
55123
55124 2005-10-11  Bruno Haible  <bruno@clisp.org>
55125
55126         * lib/strcasecmp.c: Include limits.h.
55127         (strcasecmp): Avoid integer overflow on exotic platforms.
55128         * lib/strncasecmp.c: Include limits.h.
55129         (strncasecmp): Avoid integer overflow on exotic platforms.
55130         Reported by Paul Eggert.
55131
55132 2005-10-11  Bruno Haible  <bruno@clisp.org>
55133
55134         * lib/c-strcasestr.h: New file, from GNU gettext.
55135         * lib/c-strcasestr.c: New file, from GNU gettext.
55136
55137 2005-10-11  Bruno Haible  <bruno@clisp.org>
55138
55139         * lib/c-strcase.h: New file, from GNU gettext.
55140         * lib/c-strcasecmp.c: New file, from GNU gettext.
55141         * lib/c-strncasecmp.c: New file, from GNU gettext.
55142
55143 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55144
55145         * modules/mempcpy (License): GPL -> LGPL.
55146         * modules/strchrnul (License): Likewise.
55147         * modules/sysexits (License): Likewise.
55148
55149 2005-10-08  Simon Josefsson  <jas@extundo.com>
55150
55151         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
55152
55153 2005-10-07  Simon Josefsson  <jas@extundo.com>
55154
55155         * m4/memxor.m4: Remove gl_C_RESTRICT call.
55156
55157 2005-10-06  Simon Josefsson  <jas@extundo.com>
55158
55159         * tests/test-hmac-md5.c: New file.
55160
55161         * modules/hmac-md5-tests: New file.
55162
55163         * modules/hmac-md5: New file.
55164
55165 2005-10-06  Simon Josefsson  <jas@extundo.com>
55166
55167         * m4/hmac-md5.m4: New file.
55168
55169         * m4/memxor.m4: Require gl_C_RESTRICT.
55170
55171 2005-10-06  Simon Josefsson  <jas@extundo.com>
55172
55173         * lib/memxor.c (memxor): Avoid casts and warnings.
55174
55175 2005-10-06  Simon Josefsson  <jas@extundo.com>
55176
55177         * lib/hmac-md5.c: New file.
55178
55179         * lib/hmac.h: New file.
55180
55181 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55182
55183         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
55184         promotes to int, not unsigned int, to catch the AIX 5.3
55185         compiler bug.
55186
55187 2005-10-05  Simon Josefsson  <jas@extundo.com>
55188
55189         * modules/memxor: New file.
55190
55191         * modules/iconv (Files): Move config.rpath to havelib, it is used
55192         there.
55193
55194         * modules/havelib (Files): Add config.rpath.
55195
55196 2005-10-05  Simon Josefsson  <jas@extundo.com>
55197
55198         * m4/memxor.m4: New file.
55199
55200 2005-10-05  Simon Josefsson  <jas@extundo.com>
55201
55202         * lib/memxor.c (memxor): Fix compiler error.
55203
55204         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
55205         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
55206
55207         * lib/memxor.h, lib/memxor.c: New files.
55208
55209         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
55210         we assume all systems have it, suggested by Jim Meyering
55211         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
55212         any systems lack sys/socket.h; mingw32 is known to lack it, but we
55213         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
55214         same reasons.
55215
55216 2005-10-05  Simon Josefsson  <jas@extundo.com>
55217
55218         * config/srclist.txt: Add glibc bug 1423 for md5.h.
55219
55220 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
55221
55222         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
55223         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
55224         needed, since the source code now assumes these .h files.
55225
55226 2005-10-05  Derek Price  <derek@ximbiot.com>
55227
55228         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
55229
55230 2005-10-05  Bruno Haible  <bruno@clisp.org>
55231
55232         * modules/stdint (License): Change to LGPL.
55233
55234 2005-10-04  Simon Josefsson  <jas@extundo.com>
55235
55236         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
55237         D. Baushke" <mdb@gnu.org>.
55238
55239 2005-10-04  Bruno Haible  <bruno@clisp.org>
55240
55241         * lib/verify.h (verify_true): Provide alternative definition for C++.
55242
55243 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
55244
55245         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
55246         (SSIZE_MAX): New macro, if not already defined.
55247         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
55248         than 2 GiB.
55249
55250 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55251
55252         Sync from coreutils.
55253         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
55254         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
55255         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
55256         ULLONG_MAX doesn't work with 2.7.2.1.
55257
55258 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55259
55260         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
55261         From Ben Pfaff.
55262
55263         * modules/exclude (Depends-on): Depend on verify.
55264         * modules/strtoimax (Depends-on): Likewise.
55265         * modules/utimecmp (Depends-on): Likewise.
55266
55267 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55268
55269         * lib/exclude.c: Include verify.h.
55270         (verify): Remove.  All callers changed to use verify.h's version.
55271         * lib/strtoimax.c: Likewise.
55272         * lib/utimecmp.c: Likewis.e
55273
55274         Sync from coreutils.
55275         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
55276         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
55277         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
55278         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
55279         bother returning ENOSYS if settimeofday or stime fails; just let
55280         them return whatever errno they want to return.
55281         * lib/utimens.c: Include unistd.h, for dup2.
55282         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
55283         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
55284
55285 2005-10-02  Jim Meyering  <jim@meyering.net>
55286
55287         Sync from coreutils.
55288         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
55289         from glibc-2.2.5 that fails for read-only files.
55290
55291 2005-10-02  Jim Meyering  <jim@meyering.net>
55292
55293         Sync from coreutils.
55294         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
55295         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
55296         `#if HAVE_CONFIG_H'.
55297         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
55298         Remove AT_FDCWD test.
55299         Do not consume the fd unless successful.
55300         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
55301         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
55302         block, so that we don't even try to compile it if settimeofday is
55303         available.  This works around a compilation failure on OSF1 V5.1,
55304         due to stime requiring a `long int*' while tv_sec is `int'.
55305
55306 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
55307
55308         Sync from coreutils.
55309         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
55310         against `yes', rather than just testing for nonempty.
55311
55312 2005-10-01  Simon Josefsson  <jas@extundo.com>
55313
55314         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
55315         and Darwin.
55316
55317         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
55318         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
55319         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
55320         freeaddrinfo and gai_strerror are declared by the POSIX headers.
55321         Check if struct addrinfo is declared.
55322
55323 2005-10-01  Simon Josefsson  <jas@extundo.com>
55324
55325         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
55326         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
55327         AI_* and EAI_* definitions.  Protect function declarations.
55328
55329 2005-10-01  Jim Meyering  <jim@meyering.net>
55330
55331         Sync from coreutils.
55332
55333         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
55334         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
55335         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
55336         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
55337         in the inet and nsl libraries.  Required on Solaris 5.7.
55338
55339 2005-10-01  Jim Meyering  <jim@meyering.net>
55340
55341         Sync from coreutils.
55342         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
55343         in the inet and nsl libraries.  Required on Solaris 5.7.
55344
55345 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
55346
55347         * lib/getdelim.c (getdelim): Remove unused variables.
55348
55349 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
55350
55351         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
55352         so that the code works even with ancient cpp.  Portability problem
55353         with GCC 2.7.2.1 reported by Thomas M.Ott.
55354
55355 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
55356
55357         * modules/regex (Depends-on): Add strcase.
55358
55359         * modules/gethostname (Licence): Change from GPL to LGPL, since
55360         gethostname.c is a trivial implementation of a standard library
55361         function.
55362         * modules/poll (License): Change from GPL to LGPL, since it's
55363         derived from LGPL code.
55364
55365 2005-09-27  Jim Meyering  <jim@meyering.net>
55366
55367         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
55368         HAVE_CONFIG_H.
55369
55370         * lib/intprops.h (signed_type_or_expr__): Define.
55371         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
55372         for unsigned types.
55373
55374 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
55375
55376         * lib/verify.h (verify_expr): Remove, replacing with:
55377         (verify_true): New macro that returns true instead of void.
55378         (verify_type__): Remove.
55379         (verify): Use verify_true rather than verify_type__.
55380
55381 2005-09-26  Bruno Haible  <bruno@clisp.org>
55382
55383         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
55384         is necessary.
55385         (lib_SOURCES): Remove mbchar.c.
55386         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
55387         (Files): Add m4/mbrtowc.m4.
55388         * modules/mbiter: Likewise.
55389         * modules/mbuiter: Likewise.
55390
55391 2005-09-26  Bruno Haible  <bruno@clisp.org>
55392
55393         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
55394         compile mbchar.c if they are not both present.
55395         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
55396         * m4/mbiter.m4 (gl_MBITER): Likewise.
55397         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
55398         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
55399         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
55400
55401 2005-09-25  Jim Meyering  <jim@meyering.net>
55402
55403         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
55404         also uses socklen_t.
55405
55406 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
55407
55408         * lib/utimens.c (ENOSYS): Define if not already defined.
55409         (futimens): Support having a null PATH if the file descriptor
55410         is nonnegative.
55411
55412         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
55413         Remove.
55414         (__attribute): Define to empty unless GCC 3.1 or later.
55415         This works around a core dump on OpenBSD 3.4, which has GCC
55416         2.95.3, which dumps core when given __attribute__(()).  It also
55417         simplifies other tests, since we really don't want to bother with
55418         worrying about which ancient version of GCC supported what.
55419         Original problem reported by Yoann Vandoorselaere, with part of
55420         the fix suggested by Derek Price.
55421
55422 2005-09-24  Jim Meyering  <jim@meyering.net>
55423
55424         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
55425         so we can once again use a positive bitfield width of 1 -- now we
55426         don't have to explain why we were using a bitfield width of 2.
55427
55428 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
55429
55430         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
55431         and similarly for the other external symbols.  Problem reported
55432         by James Gallager.
55433
55434         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
55435         bug reported by Jim Meyering.
55436
55437         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
55438         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
55439         not needed, since socklen is a prerequisite module.
55440
55441 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
55442
55443         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
55444         Problem reported by Eric Blake.
55445         (getaddrinfo): Initialize se so that it's not garbage.
55446         Redo internal storage allocation so that it doesn't make unportable
55447         assumptions about alignment.
55448         Fix a memory leak.
55449
55450         * lib/utimens.c (futimens): Use futimesat if available.
55451         Prefer it to futimes since it doesn't have the futimes bug.
55452
55453         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
55454         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
55455         Instead, declare a function that returns a pointer to an array,
55456         and use verify_type__ to declare the size of the array.
55457         Problem and germ of a solution reported by Bruno Haible.
55458         (verify_type__): Use 2, not 1, for bitfield size, to avoid
55459         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
55460
55461 2005-09-23  Jim Meyering  <jim@meyering.net>
55462
55463         Sync from coreutils.
55464         Correct build failure (socklen_t not defined) on at least
55465         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
55466         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
55467
55468 2005-09-23  Jim Meyering  <jim@meyering.net>
55469
55470         * modules/getaddrinfo (Depends-on): Add socklen.
55471
55472 2005-09-23  Bruno Haible  <bruno@clisp.org>
55473
55474         * tests/test-verify.c: New file.
55475
55476 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55477
55478         Sync from coreutils.
55479
55480         * modules/argmatch (Depends-on): Add verify.
55481         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
55482         unistd-safer.
55483         * modules/save-cwd (Depends-on): Likewise.
55484
55485         * modules/openat (Files): Add lib/openat-die.c.
55486         (Depends-on): Remove error, exitfail.
55487         Add dirname.
55488
55489         * modules/verify: New file.
55490         * MODULES.html.sh (Diagnostics <assert.h>): New section,
55491         with "verify" module.
55492
55493 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55494
55495         Sync from coreutils.
55496
55497         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
55498         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
55499         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
55500         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
55501         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
55502         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
55503         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
55504         Don't bother checking for string.h, stdlib.h, unistd.h.
55505         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
55506         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
55507         module's job.
55508         * m4/jm-macros.m4 (gl_MACROS): Likewise.
55509         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
55510
55511         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
55512         (gl_GETDATE): Use it.
55513
55514         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
55515
55516 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55517
55518         Sync from coreutils.
55519
55520         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
55521         stat-time.h.
55522         * lib/argmatch.h: Include verify.h
55523         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
55524         (ARGMATCH_ASSERT): Remove; unused.
55525         * lib/canonicalize.c: Assume STDC_HEADERS.
55526         * lib/exclude.c: Include "strcase.h".
55527         * lib/regex_internal.h [!defined _LIBC]: Likewise.
55528         * lib/getusershell.c: Include stdio--.h rather than stdio.h
55529         and stdio-safer.h.
55530         (getusershell): Call fopen, not fopen_safer.
55531         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
55532         Do not include unistd-safer.h.
55533         (save_cwd): Don't call fd_safer; no longer needed
55534         now that we include fcntl--.h.
55535
55536         * lib/getdate.y (relative_time): New type.
55537         (RELATIVE_TIME_0): New constant.
55538         (parser_control): Use relative_time instead of doing it ourselves.
55539         (%union): Add new relative_time rel member.
55540         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
55541         Now typeless.
55542         (relunit, relunit_snumber): Now of type rel.
55543         (zone, rel, relunit, get_date): Adjust to above changes.
55544
55545         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
55546         Do not include unistd-safer.h.
55547         (getloadavg): Don't call fd_safer; no longer needed
55548         now that we include fcntl--.h.
55549
55550         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
55551         (make_dir_parents): Treat ENOSYS like EEXIST.
55552
55553         Improve quality of diagnostics on restore_cwd failure.
55554         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
55555         (make_dir_parents): Last arg is now int * (for errno), not bool *.
55556         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
55557         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
55558         each time through the loop.  Do not diagnose restore_cwd failure;
55559         that is the caller's job (and perhaps the caller does not care).
55560
55561         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
55562         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
55563         If the file already exists but is not a directory, don't bother
55564         to try to make its parents.
55565         Close potential file descriptor leak if we can't chdir("/") (!).
55566         Don't always return true if chdir($PWD) fails; return true only
55567         if the requested action was done successfully (except for the
55568         chdir($PWD)).
55569         Don't log final directory unless we actually made it.
55570         Refactor to avoid duplicate code to fix up permissions.
55571         Don't attempt to fix up parent permissions if chdir($PWD) fails.
55572
55573         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
55574         to make it a bit faster and (I hope) clearer.
55575         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
55576         Fix bug in formats like %2N.
55577
55578         * lib/verify.h: New file.
55579
55580 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55581
55582         Sync from coreutils.
55583         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
55584
55585 2005-09-22  Jim Meyering  <jim@meyering.net>
55586
55587         Sync from coreutils.
55588
55589         * m4/lstat.m4 (gl_FUNC_LSTAT):
55590         Use AC_LIBSOURCES to require lstat.c and lstat.h.
55591         Remove obsolete comment.
55592         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
55593         * m4/xstrtod.m4: Likewise.
55594
55595         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
55596
55597 2005-09-22  Jim Meyering  <jim@meyering.net>
55598
55599         Sync from coreutils.
55600
55601         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
55602
55603         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
55604         the .tm_year member, since otherwise gcc-4.0 would now warn about
55605         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
55606
55607         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
55608         order to avoid an unsuppressible warning from gcc on 64-bit systems.
55609
55610         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
55611         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
55612         when run in a time zone for which daylight savings time is in effect
55613         for the starting date.
55614
55615         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
55616         stop us from restricting permissions of just-created absolute-named
55617         directories.
55618         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
55619         to restore initial working directory.
55620         * lib/mkdir-p.c (make_dir_parents): New parameter:
55621         different_working_dir, to tell caller if/when we change the working
55622         directory and are unable to return to the initial one.
55623         * lib/mkdir-p.h (make_dir_parents): Update prototype.
55624         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
55625         `return false'.  This fixes a bug introduced on 2004-07-30.
55626
55627         * lib/openat.c (fdopendir): Be sure to close the supplied
55628         file descriptor before returning.  This makes our replacement
55629         implementation a little closer to Solaris's, where fdopendir
55630         ties the file descriptor to the returned DIR* pointer.
55631         * lib/openat.c (unlinkat): New function.
55632         * lib/openat.h (unlinkat): Add prototype.
55633         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
55634         (openat_restore_fail): Rename from openat_restore_die.
55635         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
55636
55637         Provide an alternative to exiting immediately upon save_cwd or
55638         restore_cwd failure.  Now, an application can arrange e.g.,
55639         to perform a longjump in that case.
55640         * lib/openat.c: Include dirname.h.
55641         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
55642         (rpl_openat, fdopendir, fstatat): Call openat_save_die
55643         and openat_restore_die rather than calling error directly.
55644         Don't include "error.h" or "exitfail.h"; they're no longer needed.
55645
55646         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
55647         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
55648         define.
55649
55650         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
55651         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
55652                             int utc, int nanoseconds);
55653         Background:
55654         date should not have to allocate a megabyte of virtual memory to
55655         handle a format argument like +%1048575T.  When implemented with
55656         strftime, it must allocate such a buffer, use strftime to fill it
55657         in, print it, then free it.
55658         With fprintftime, it simply prints everything and exits.
55659         With no need for memory allocation, that's one fewer way to fail.
55660         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
55661         optional field width, not before, so we accept %9:z, not %:9z.
55662         (my_strftime): Be sure to use L_('x') for literals.
55663
55664         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
55665         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
55666         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
55667         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
55668         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
55669         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
55670         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
55671         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
55672         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
55673         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
55674         * lib/xgethostname.c, lib/xreadlink.c:
55675         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
55676
55677         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
55678         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
55679         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
55680         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
55681         and don't include <sys/file.h>).
55682
55683 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
55684
55685         Sync from coreutils.
55686
55687         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
55688         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
55689         [!LDAV_DONE]: Avoid unused variable warning.
55690
55691 2005-09-21  Bruno Haible  <bruno@clisp.org>
55692
55693         * lib/unicodeio.h (unicode_to_mb): New declaration.
55694
55695 2005-09-20  Derek Price  <derek@ximbiot.com>
55696
55697         * lib/getaddrinfo.c: Don't include <netdb.h> included from
55698         getaddrinfo.h.
55699
55700 2005-09-20  Bruno Haible  <bruno@clisp.org>
55701
55702         * gnulib-tool: Remove trailing slashes from the values specified for
55703         --source-base, --m4-base, --tests-base, --aux-dir.
55704         Suggested by Simon Josefsson <jas@extundo.com>.
55705
55706 2005-09-20  Bruno Haible  <bruno@clisp.org>
55707
55708         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
55709         func_modules_to_filelist, func_import, func_create_testdir): Make all
55710         sorting results locale-independent, so that gnulib-cache.m4 doesn't
55711         change when gnulib-tool is invoked in a different locale.
55712
55713 2005-09-19  Simon Josefsson  <jas@extundo.com>
55714
55715         * m4/socklen.m4: Fix typo.
55716
55717 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55718
55719         Use a consistent style for including <config.h>.
55720         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
55721         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
55722         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
55723         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
55724         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
55725         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
55726         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
55727         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
55728         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
55729         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
55730         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
55731         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
55732         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
55733         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
55734         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
55735         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
55736         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
55737         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
55738         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
55739         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
55740         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
55741         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
55742         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
55743         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
55744         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
55745         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
55746         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
55747         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
55748         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
55749         lib/xstrtoumax.c, lib/yesno.c:
55750         Standardize inclusion of config.h.
55751         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
55752         lib/inttostr.h:  Removed inclusion of config.h from header files.
55753         * lib/inttostr.c:  Adjusted in-tree users.
55754         * lib/timespec.h: Remove superfluous warning to include config.h.
55755         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
55756         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
55757         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
55758         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
55759         config.h with HAVE_CONFIG_H.
55760
55761 2005-09-19  Jim Meyering  <jim@meyering.net>
55762
55763         * modules/pathmax (License): Change to LGPL.
55764
55765 2005-09-19  Derek Price  <derek@ximbiot.com>
55766
55767         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
55768
55769 2005-09-19  Bruno Haible  <bruno@clisp.org>
55770
55771         * gnulib-tool (import): Provide default for --tests-base.
55772
55773 2005-09-19  Bruno Haible  <bruno@clisp.org>
55774
55775         * doc/quote.texi: New file, extracted from gnulib.texi.
55776         * doc/ctime.texi: New file, extracted from gnulib.texi.
55777         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
55778         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
55779         * doc/gnulib.texi: Include them.
55780
55781 2005-09-18  Bruno Haible  <bruno@clisp.org>
55782
55783         Portability fix.
55784         * gnulib-tool (func_readlink): New function.
55785         (func_ln_if_changed): Use it.
55786
55787 2005-09-18  Bruno Haible  <bruno@clisp.org>
55788
55789         * gnulib-tool: Support --with-tests also with --import.
55790         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
55791         (func_import): Use variables $testsbase and $inctests. Emit a
55792         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
55793         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
55794         SUBDIRS += $testsdir.
55795         (func_create_testdir): Update.
55796
55797 2005-09-18  Bruno Haible  <bruno@clisp.org>
55798
55799         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
55800         instead of $dry_run.
55801         (func_cp_if_changed, func_mv_if_changed): Remove functions.
55802         (func_ln_if_changed): Don't handle dry-run here.
55803         (func_import): In dry-run mode, detect more precisely which actions
55804         would be performed, and don't use "...ing" verbs.
55805
55806 2005-09-18  Bruno Haible  <bruno@clisp.org>
55807
55808         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
55809         (func_import): Use join on two temporary files instead of three nested
55810         loops, in order to determine which files are new or old.
55811
55812 2005-09-18  Bruno Haible  <bruno@clisp.org>
55813
55814         * gnulib-tool (func_import): Comment out code that spits out the
55815         new files with --dry-run.
55816
55817 2005-09-18  Bruno Haible  <bruno@clisp.org>
55818
55819         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
55820
55821 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55822
55823         * lib/stat-time.h: New file.
55824         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
55825         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
55826         in a different way.
55827         (timespec_cmp): New function.
55828         * lib/utimecmp.c: Include stat-time.h.
55829         (SYSCALL_RESOLUTION): Depend on whether various struct stat
55830         members exist, not on the obsolescent ST_MTIM_NSEC.
55831         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
55832
55833 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55834
55835         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
55836
55837 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55838
55839         * MODULES.html.sh (File system functions): Add stat-time.
55840         * modules/stat-time: New file.
55841         * modules/timespec (Files): Remove m4/st_mtim.m4; this
55842         is now done in a different way, by the stat-time module.
55843         * modules/utimecmp (Depends-on): Add stat-time.
55844
55845 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55846
55847         * m4/st_mtim.m4: Remove.  Superseded by...
55848         * m4/stat-time.m4: New file.
55849         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
55850         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
55851
55852 2005-09-15  Derek Price  <derek@ximbiot.com>
55853
55854         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
55855
55856 2005-09-15  Derek Price  <derek@ximbiot.com>
55857
55858         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
55859         * lib/regex_internal.c: Ditto, using this...
55860         (__GNUC_PREREQ): ...new macro.
55861         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
55862         using...
55863         (__GNUC_PREREQ): ...this new macro.
55864
55865         * lib/strstr.h: Include string.h. Define strstr as a macro here.
55866
55867 2005-09-15  Derek Price  <derek@ximbiot.com>
55868             Paul Eggert  <eggert@cs.ucla.edu>
55869
55870         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
55871         changes, consolidating in...
55872         * lib/regex_internal.h: ...this file.
55873
55874 2005-09-13  Jim Meyering  <jim@meyering.net>
55875
55876         * lib/canon-host.c: Filter through gnu indent and reword comments
55877         slightly.
55878         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
55879
55880 2005-09-13  Derek Price  <derek@ximbiot.com>
55881
55882         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
55883         failure.
55884         Reported by Jim Meyering  <jim@meyering.net>.
55885
55886 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55887
55888         * lib/base64.c: Typo.
55889         (base64_encode): Put b64str in initialized data section.
55890
55891 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
55892
55893         Merge glibc and coreutils changes into gnulib, plus a few
55894         extra fixes.
55895         * lib/md5.c: Use #error rather than a string.
55896         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
55897         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
55898         (__attribute__): Define to empty for non recent-GCC.
55899         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
55900         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
55901         Renamed from their non-__ counterparts, with new macros replacing
55902         them if not _LIBC.  Add __THROW attribute.
55903         (rol): Remove.
55904         (struct md5_ctx): Align buffer if using GCC.
55905         * lib/sha1.h (struct sha1_ctx): Likewise.
55906         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
55907         The old name was backwards.
55908         (NOTSWAP): Remove; not used.
55909         (rol): New macro, moved here from md5.h.
55910         (sha1_process_block): Remove a FIXME that doesn't make sense.
55911
55912 2005-09-12  Derek Price  <derek@ximbiot.com>
55913
55914         Return usable errors from canon-host.
55915         * lib/canon-host.h: New file.
55916         * lib/canon-host.c (canon_host): Wrap...
55917         (canon_host_r): ...this new function, which now relies exclusively on
55918         getaddrinfo.
55919         (ch_strerror): New function.
55920         (last_cherror): New global.
55921         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
55922         interface.
55923         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
55924         void *.
55925         (freeaddrinfo): Free ai->ai_canonname when set.
55926
55927 2005-09-12  Derek Price  <derek@ximbiot.com>
55928
55929         Make canon-host require getaddrinfo.
55930         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
55931         AC_LIBSOURCE canon-host.h.  Call...
55932         (gl_PREREQ_CANON_HOST): ...this new function, which requires
55933         gl_GETADDRINFO.
55934         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
55935
55936 2005-09-12  Derek Price  <derek@ximbiot.com>
55937
55938         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
55939         LGPL.
55940         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
55941
55942 2005-09-12  Derek Price  <derek@ximbiot.com>
55943
55944         * lib/gai_strerror.c: Include config.h when available.  Include
55945         getaddrinfo.h before other headers to test interface.
55946         Reported by Larry Jones <lawrence.jones@ugs.com>.
55947
55948 2005-09-12  Derek Price  <derek@ximbiot.com>
55949             Paul Eggert  <eggert@cs.ucla.edu>
55950
55951         * modules/glob (Files): Add glob-libc.h.
55952
55953 2005-09-12  Derek Price  <derek@ximbiot.com>
55954             Paul Eggert  <eggert@cs.ucla.edu>
55955
55956         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
55957         glob_.h, glob-libc.h.
55958         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
55959
55960 2005-09-12  Derek Price  <derek@ximbiot.com>
55961             Paul Eggert  <eggert@cs.ucla.edu>
55962
55963         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
55964         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
55965         protecting things that should be done only in gnulib contexts.
55966         * lib/glob_.h: New file, containing only the glob things needed for
55967         gnulib.
55968         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
55969         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
55970         (glob, globfree, glob_pattern_p): Now defined simply in terms of
55971         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
55972         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
55973         and to respect the namespace rules better.
55974
55975 2005-09-08  Simon Josefsson  <jas@extundo.com>
55976
55977         * modules/socklen: New file.
55978
55979 2005-09-08  Simon Josefsson  <jas@extundo.com>
55980
55981         * m4/socklen.m4: New file.
55982
55983 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
55984
55985         * modules/utimens (Files): Add m4/utimbuf.m4, since
55986         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
55987         Reported by Sergey Poznyakoff.
55988
55989 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
55990
55991         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
55992         definitions, since that's the preferred style in glibc.
55993         Fix a minor spacing issue, and update copyright notice to match
55994         glibc's.
55995
55996 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
55997
55998         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
55999
56000 2005-09-06  Simon Josefsson  <jas@extundo.com>
56001
56002         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
56003         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
56004
56005 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56006
56007         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
56008         warning.
56009
56010 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56011
56012         * config/srclist.txt: Add glibc bug 1302.
56013
56014 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
56015
56016         Change bitset word type from unsigned int to unsigned long int,
56017         as this has better performance on typical 64-bit hosts.
56018         Port bitset code to hosts with unusual word sizes.
56019         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
56020         (build_collating_symbol):
56021         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
56022         argument is a bitset.  This is merely a style issue, but it makes
56023         it clearer that an entire array is expected.
56024         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
56025         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
56026         Port to the case where bitset_word is not the same as unsigned int.
56027         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
56028         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
56029         Likewise.
56030         * lib/regexec.c (check_dst_limits_calc_pos_1,
56031         check_subexp_matching_top):
56032         (build_trtable, group_nodes_into_DFAstates):
56033         Likewise.
56034         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
56035         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
56036         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
56037         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
56038         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
56039         * lib/regcomp.c (optimize_subexps, lower_subexp):
56040         Work even if bitset_word has holes in its bitwise representation.
56041         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
56042         * lib/regexec.c (check_dst_limits_calc_pos_1,
56043         check_subexp_matching_top):
56044         Likewise.
56045         * lib/regex_internal.c (re_string_reconstruct):
56046         Don't assume UCHAR_MAX == 255.
56047         * lib/regex_internal.h (bitset_set_all): Likewise.
56048         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
56049         All uses changed.
56050         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
56051         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
56052         All uses changed.
56053         (BITSET_WORD_MAX): New macro.
56054         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
56055         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
56056         (bitset_empty, bitset_copy):
56057         Prefer sizeof (bitset) to multiplying it out ourselves.
56058         (bitset_not_merge): Remove; unused.
56059         (bitset_contain): Return bool, not unsigned int with one bit on.
56060         All callers changed.
56061         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
56062         alignment than re_node_set; do this by defining a new internal
56063         type struct dests_alloc and using it to allocate memory.
56064
56065 2005-09-05  Bruno Haible  <bruno@clisp.org>
56066
56067         * gnulib-tool (func_import): Fix comparison in handling of symbolic
56068         links.
56069
56070 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
56071
56072         * modules/size_max (Makefile.am): Add size_max.h
56073
56074 2005-09-04  Derek Price  <derek@ximbiot.com>
56075
56076         * gnulib-tool (func_import): Fix reversed $symbolic logic.
56077
56078 2005-09-03  Simon Josefsson  <jas@extundo.com>
56079
56080         * gnulib-tool: Fix typo.
56081
56082 2005-09-03  Simon Josefsson  <jas@extundo.com>
56083
56084         * config/srclist.txt: Add glibc bug 1293.
56085
56086 2005-09-03  Derek Price  <derek@ximbiot.com>
56087
56088         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
56089         From Larry Jones <lawrence.jones@ugs.com>.
56090
56091 2005-09-02  Simon Josefsson  <jas@extundo.com>
56092
56093         * modules/socklen: New file.
56094
56095 2005-09-02  Simon Josefsson  <jas@extundo.com>
56096
56097         * modules/havelib: New module.
56098
56099         * modules/gettext, modules/iconv, modules/lock, modules/readline:
56100         Use havelib.
56101
56102 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
56103
56104         Check for arithmetic overflow when calculating sizes, to prevent
56105         some buffer-overflow issues.  These patches are conservative, in the
56106         sense that when I couldn't determine whether an overflow was possible,
56107         I inserted a run-time check.
56108         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
56109         macros.
56110         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
56111         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
56112         (re_xnrealloc, re_x2nrealloc): New inline functions.
56113         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
56114         parse_bracket_exp):
56115         (build_equiv_class, build_charclass): Check for arithmetic overflow
56116         in size expression calculations.
56117         * lib/regex_internal.c (re_string_realloc_buffers):
56118         (build_wcs_upper_buffer, re_node_set_add_intersect):
56119         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
56120         (re_dfa_add_node, register_state): Likewise.
56121         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
56122         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
56123         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
56124         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
56125
56126 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
56127
56128         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
56129         m4/ulonglong.m4.  Problem reported by Martin Lambers.
56130
56131 2005-09-02  Bruno Haible  <bruno@clisp.org>
56132
56133         Support for lib vs. lib64 distinction on biarch platforms.
56134         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
56135         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
56136         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
56137
56138 2005-09-02  Bruno Haible  <bruno@clisp.org>
56139
56140         * gnulib-tool (import): In the other first-use case, provide defaults
56141         as well.
56142
56143 2005-09-02  Bruno Haible  <bruno@clisp.org>
56144
56145         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
56146         patches not yet found in the latest gettext release.
56147
56148 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56149
56150         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
56151         to avoid a collision with bits/local_lim.h in glibc.
56152         All uses changed.  Problem reported by Dmitry V. Levin in
56153         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
56154
56155         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
56156         bugs in int versus size_t comparisons.
56157         (re_string_context_at): Fix bug where the code assumed that
56158         Idx is signed.
56159
56160         Use bool where appropriate.
56161         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
56162         All callers changed.
56163         (calc_eclosure_iter): Likewise, for ROOT arg.
56164         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
56165         (build_charclass_op): Likewise, for NON_MATCH arg.
56166         * lib/regex_internal.c (re_string_allocate, re_string_construct):
56167         (re_string_construct_common): Likewise, for ICASE arg.
56168         * lib/regexec.c (re_search_2_stub, re_search_stub):
56169         Likewise, for RET_LEN arg.
56170         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
56171         (set_regs): Likewise, for FL_BACKTRACK arg.
56172         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
56173         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
56174         (calc_eclosure_iter, parse_bracket_exp):
56175         Use bool for internal variables that are booleans.
56176         * lib/regexec.c (re_search_internal, check_matching,
56177         proceed_next_node):
56178         (set_regs, build_sifted_states, sift_states_bkref):
56179         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
56180         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
56181         (find_collation_sequence_value):
56182         Likewise.
56183         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
56184         (re_node_set_compare):
56185         Return bool, not int. All callers changed.
56186         * lib/regexec.c (check_halt_node_context, check_dst_limits):
56187         (build_trtable, check_node_accept): Likewise.
56188         * lib/regex_internal.h: Include stdbool.h.
56189
56190         Fix bugs uncovered when converting to bool.
56191         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
56192         failure instead of charging ahead blindly.
56193         * lib/regex_internal.c (register_state): Likewise.
56194         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
56195         for freeing internal storage.
56196         (group_nodes_into_DFA_states): Use unsigned int, not int, for
56197         bitset pieces used as boolean, to avoid undefined behavior
56198         on hosts that do int overflow checking.
56199
56200 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56201
56202         * config/srclist.txt: Add glibc bugs 1285-1287.
56203
56204 2005-09-01  Jim Meyering  <jim@meyering.net>
56205
56206         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
56207         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
56208         Require gl_STAT_MACROS, too.
56209
56210 2005-09-01  Bruno Haible  <bruno@clisp.org>
56211
56212         * gnulib-tool (import): In the first-use case, provide defaults.
56213
56214 2005-09-01  Bruno Haible  <bruno@clisp.org>
56215
56216         * gnulib-tool (func_import): Remove the .tmp files.
56217
56218 2005-09-01  Bruno Haible  <bruno@clisp.org>
56219
56220         * gnulib-tool (func_import): Fix handling of symbolic links.
56221
56222 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56223
56224         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
56225         old glibc regex code mishandles strings longer than 2**31 bytes.
56226         This patch fixes this when the regex code is used in gnulib
56227         (i.e., outside glibc).
56228
56229         This patch should not affect the use of the regex code inside
56230         glibc.  No doubt this problem also needs to be handled for glibc
56231         as well, but the result will be an incompatible change to the
56232         glibc ABI, and the old ABI will have to be supported too.  That
56233         can be the the subject for another patch.
56234
56235         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
56236         governing whether the rest of this patch is active.  By default,
56237         the macro is disabled and the patch has no effect.
56238         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
56239         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
56240         (struct re_pattern_buffer, re_search, re_search_2, re_match):
56241         (re_match_2, re_set_registers): Use the new types.
56242         * lib/regex_internal.h (Idx, re_hashval_t): New types.
56243         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
56244         New macros.
56245         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
56246         (re_string_context_at, bin_tree_t, re_dfastate_t):
56247         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
56248         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
56249         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
56250         (re_string_char_size_at, re_string_wchar_at):
56251         (re_string_elem_size_at):
56252         Use the new types and macros to port to 64-bit hosts.
56253         Use unsigned types for internal values, so that the code
56254         mostly works even for arrays larger than SSIZE_MAX.
56255         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
56256         (search_duplicated_node, calc_eclosure_iter, fetch_number):
56257         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
56258         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
56259         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
56260         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
56261         (calc_inveclosure, parse_dup_op, build_range_exp):
56262         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
56263         (fetch_number, create_token_tree, mark_opt_subexp):
56264         Likewise.
56265         * lib/regex_internal.c (re_string_construct_common,
56266         create_ci_newstate):
56267         (create_cd_newstate, re_string_allocate, re_string_construct):
56268         (re_string_realloc_buffers, build_wcs_upper_buffer):
56269         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
56270         (re_string_reconstruct, re_string_peek_byte_case):
56271         (re_string_fetch_byte_case, re_string_context_at):
56272         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
56273         (re_node_set_init_copy, re_node_set_add_intersect):
56274         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56275         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56276         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
56277         (re_acquire_state, re_acquire_state_context, register_state):
56278         Likewise.
56279         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
56280         search_cur_bkref_entry):
56281         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
56282         (re_search_internal, re_search_2_stub, re_search_stub)
56283         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
56284         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
56285         (update_cur_sifted_state, check_dst_limits):
56286         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
56287         (check_subexp_limits, sift_states_bkref, merge_state_array):
56288         (check_subexp_matching_top, get_subexp, get_subexp_sub):
56289         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
56290         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
56291         (expand_bkref_cache, check_node_accept_bytes):
56292         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
56293         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
56294         (acquire_init_state_context, check_halt_node_context):
56295         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
56296         (sift_states_backward, clean_state_log_if_needed):
56297         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
56298         (find_recover_state, transit_state_sb, transit_state_mb):
56299         (transit_state_bkref, build_trtable, match_ctx_clean):
56300         Likewise.
56301         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
56302         to work around an assumption that REG_MISSING is negative.
56303
56304         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
56305         (seek_collating_symbol_entry) [defined _LIBC]:
56306         (lookup_collation_sequence_value) [defined _LIBC]:
56307         (build_range_exp, build_collating_symbol) [defined _LIBC]:
56308         Use prototypes rather than old-style function definitions.
56309         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
56310         (transit_state_sb) [0]:
56311         (find_collation_sequence_value) [defined _LIBC]: Likewise.
56312
56313         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
56314         rm_eo.
56315
56316         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
56317         (optimize_subexps, lower_subexp):
56318         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
56319         since the signed shift might overflow.  Use 1u<<31 instead.
56320         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
56321         Likewise.
56322         * lib/regexec.c (check_dst_limits_calc_pos_1,
56323         check_subexp_matching_top): Likewise.
56324
56325         * lib/regcomp.c (optimize_subexps, lower_subexp):
56326         Use CHAR_BIT rather than 8, for clarity.
56327         * lib/regexec.c (check_dst_limits_calc_pos_1):
56328         (check_subexp_matching_top): Likewise.
56329         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
56330         have to worry about portability issues when shifting it left.
56331         Remove no-longer-needed test for table_size > 0.
56332         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
56333         in a word, as the resulting behavior is undefined.
56334         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
56335         in one case, a <= should have been an <, and in another case the
56336         whole test was missing.
56337         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
56338         the standard name CHAR_BIT.
56339         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
56340         this is not true on one's complement and signed-magnitude hosts.
56341
56342         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
56343         next_last_offset.
56344         (struct re_dfa_t): Remove unused member states_alloc.
56345         * lib/regcomp.c (init_dfa): Don't initialize unused members.
56346
56347 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56348
56349         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
56350         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
56351         and large-file glibc and in 32-bit large-file Solaris.
56352
56353 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56354
56355         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
56356         lengths fit in regoff_t; this isn't true if regoff_t is the same
56357         width as size_t.
56358         * lib/regex.c (re_search_internal): 5th arg is LAST_START
56359         (= START + RANGE) instead of RANGE.  This avoids overflow
56360         problems when regoff_t is the same width as size_t.
56361         All callers changed.
56362         (re_search_2_stub): Check for overflow when adding the
56363         sizes of the two strings.
56364         (re_search_stub): Check for overflow when adding START
56365         to RANGE; if it occurs, substitute the extreme value.
56366
56367 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56368
56369         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
56370
56371 2005-08-31  Jim Meyering  <jim@meyering.net>
56372
56373         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
56374         a pointer-to-const.
56375         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
56376         (register_state): Likewise.
56377         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
56378         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
56379         (group_nodes_into_DFAstates): Likewise.
56380
56381 2005-08-31  Jim Meyering  <jim@meyering.net>
56382
56383         * check-module: Add a FIXME comment.
56384
56385 2005-08-31  Eric Blake  <ebb9@byu.net>
56386
56387         * modules/unistd-safer (Files): Add unistd--.h.
56388         * modules/stdio-safer (Files): Add stdio--.h.
56389
56390 2005-08-31  Derek Price  <derek@ximbiot.com>
56391
56392         * lib/getdelim.c (getdelim): Return EOF on EOF.
56393         Reported by Larry Jones <lawrence.jones@ugs.com>.
56394
56395 2005-08-31  Bruno Haible  <bruno@clisp.org>
56396
56397         Avoid unnecessary diffs in the generated lib/Makefile.am.
56398         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
56399         the generated files.
56400         (func_import): Don't set cmd.
56401
56402 2005-08-31  Bruno Haible  <bruno@clisp.org>
56403
56404         * lib/strstr.c: Include <stddef.h>, for NULL.
56405         * lib/strcasestr.c: Likewise.
56406         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56407
56408 2005-08-31  Bruno Haible  <bruno@clisp.org>
56409
56410         * gnulib-tool: New option --macro-prefix.
56411         (func_import): Use macro_prefix.
56412         (import): Handle option --macro-prefix.
56413
56414 2005-08-31  Bruno Haible  <bruno@clisp.org>
56415
56416         * gnulib-tool (import): Rename most ac_* variables to cached_*.
56417         Also use new variables cached_lgpl, cached_libtool.
56418
56419 2005-08-31  Bruno Haible  <bruno@clisp.org>
56420
56421         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
56422         always instantiating them.
56423
56424 2005-08-31  Bruno Haible  <bruno@clisp.org>
56425
56426         * gnulib-tool (func_import): Read the previous cached settings
56427         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
56428         earlier added by gnulib but are now dropped. Warn when a gnulib file
56429         overwrites a non-gnulib file.
56430
56431 2005-08-31  Bruno Haible  <bruno@clisp.org>
56432
56433         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
56434         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
56435         projects that don't keep autogenerated files in CVS. Put into
56436         actioncmd only the specified modules, not the transitive closure.
56437
56438 2005-08-31  Bruno Haible  <bruno@clisp.org>
56439
56440         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
56441         Create directories that shall be filled.
56442         (import): Don't look for gl_* macros in configure.ac. Recurse across
56443         all directories containing a gnulib-cache.m4 files, if meaningful.
56444
56445 2005-08-31  Bruno Haible  <bruno@clisp.org>
56446
56447         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
56448         (import): Set seen_libtool when we see gl_LIBTOOL.
56449
56450 2005-08-31  Bruno Haible  <bruno@clisp.org>
56451
56452         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
56453         declaration macro definitions from generated gnulib.m4.
56454
56455 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
56456
56457         * lib/iconvme.h: Add prototype for iconv_alloc.
56458
56459 2005-08-29  Simon Josefsson  <jas@extundo.com>
56460
56461         * lib/iconvme.c: Fix errno.
56462
56463 2005-08-29  Bruno Haible  <bruno@clisp.org>
56464
56465         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
56466         that it works when the directory contains spaces.
56467
56468 2005-08-29  Bruno Haible  <bruno@clisp.org>
56469
56470         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
56471
56472 2005-08-29  Bruno Haible  <bruno@clisp.org>
56473
56474         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
56475         Emit more advice.
56476
56477 2005-08-29  Bruno Haible  <bruno@clisp.org>
56478         and Stepan Kasal  <kasal@ucw.cz>
56479
56480         * check-module: If more parameters are given, check each of them
56481         separately; add more exceptions, as noted by Jim Meyering.
56482         (check_module): New procedure.
56483         (%exempt_header): Now contains all exceptions.
56484
56485 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
56486
56487         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
56488
56489 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
56490
56491         * lib/iconvme.c: Split iconv_string into iconv_alloc.
56492
56493 2005-08-28  Bruno Haible  <bruno@clisp.org>
56494
56495         * m4/gnulib-tool.m4: New file.
56496
56497 2005-08-27  Jim Meyering  <jim@meyering.net>
56498
56499         * modules/unistd-safer (Files): Add pipe-safer.c.
56500         * modules/fcntl-safer (Files): Add creat-safer.c.
56501
56502 2005-08-27  Jim Meyering  <jim@meyering.net>
56503
56504         * m4/stdlib-safer.m4: New file.  From coreutils.
56505         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
56506         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
56507         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
56508         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
56509         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
56510
56511 2005-08-27  Jim Meyering  <jim@meyering.net>
56512
56513         * lib/fopen-safer.c: Merge minor changes from coreutils.
56514         * lib/dup-safer.c: Likewise.
56515         * lib/fd-safer.c: Likewise.
56516
56517         Merge from coreutils.
56518         * lib/stdio--.h: New file.
56519         * lib/stdlib--.h: New file.
56520         * lib/mkstemp-safer.c: New file.
56521
56522         GNU tar needs these.
56523         * lib/pipe-safer.c: New file.
56524         * lib/creat-safer.c: New file.
56525         * lib/fcntl--.h (creat): Define to creat_safer.
56526         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
56527         * lib/unistd--.h (pipe): Define to pipe_safer.
56528         * lib/unistd-safer.h: Declare pipe_safer.
56529
56530 2005-08-26  Simon Josefsson  <jas@extundo.com>
56531
56532         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
56533         Haible <bruno@clisp.org>.
56534
56535 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
56536
56537         * lib/regex_internal.h: Remove all references to
56538         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
56539         or better.
56540         (bitset_not, bitset_merge, bitset_not_merge):
56541         (bitset_mask, re_string_allocate, re_string_construct):
56542         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
56543         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
56544         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
56545         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
56546         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56547         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56548         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
56549         (re_acquire_state_context):
56550         Remove unnecessary forward decls.
56551         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
56552         Put __attribute at function definition,
56553         now that the function decl has been removed.
56554         * lib/regex_internal.c (re_string_peek_byte_case):
56555         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
56556         Likewise.
56557
56558 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
56559
56560         * m4/regex.m4: Add AC_PREREQ(2.50).
56561         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
56562
56563 2005-08-25  Simon Josefsson  <jas@extundo.com>
56564
56565         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
56566         __fsetlocking.
56567
56568 2005-08-25  Simon Josefsson  <jas@extundo.com>
56569
56570         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
56571         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
56572         GLIBC specific code.
56573
56574 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56575
56576         Make regex safe for g++.  This fixes one real bug (an "err"
56577         that should have been "*err").  g++ problem reported by
56578         Sam Steingold.
56579         * lib/regex_internal.h (re_calloc): New macro, consistent with
56580         re_malloc etc.  All callers of calloc changed to use re_calloc.
56581         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
56582         not int.  All callers changed.
56583         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
56584         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
56585         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
56586         (find_recover_state): Change "err" to "*err"; this fixes what
56587         appears to be a real bug.
56588         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
56589         versus int.
56590
56591 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56592
56593         * modules/regex (Depends-on): Add malloc, since the code
56594         assumes that !malloc(0) means failure.
56595
56596 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56597
56598         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
56599
56600         alloca modernization/simplification for regex.
56601         * lib/regex.c: Remove portability cruft for alloca.  This no longer
56602         needs to be at the start of the file, and can be moved into
56603         regex_internal.h and simplified.
56604         * lib/regex_internal.h: Include <alloca.h>.
56605         (__libc_use_alloca) [!defined _LIBC]: New macro.
56606         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
56607         now works outside glibc.
56608
56609 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56610
56611         * config/srclist.txt: Add glibc bugs 1241, 1245.
56612
56613 2005-08-25  Jim Meyering  <jim@meyering.net>
56614
56615         * lib/open-safer.c: Include <config.h>.
56616         Otherwise, we'd lose LARGEFILE support in any file using
56617         e.g. "fcntl--.h"
56618
56619 2005-08-25  Bruno Haible  <bruno@clisp.org>
56620
56621         * m4/minmax.m4: Require autoconf 2.52.
56622         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
56623         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
56624         alternatives of translit over the alphabet.
56625         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
56626
56627 2005-08-24  Simon Josefsson  <jas@extundo.com>
56628
56629         * tests/test-getpass.c: New file.
56630
56631 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56632
56633         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
56634         for GNU regex features.
56635
56636 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56637
56638         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
56639         * lib/regex.h (regerror): Likewise.
56640
56641         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
56642         requires this.  (The code never needed it.)
56643
56644         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
56645         All uses of recently-renamed identifiers changed to use the new,
56646         POSIX-compliant names.  The code will build and run just fine
56647         without these changes, but it's better to eat our own dog food
56648         and use the standard-conforming names.
56649
56650         * lib/regex.h: Fix a multitude of POSIX name space violations.
56651         These changes have an effect only for programs that define
56652         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
56653         do not change anything for programs compiled in the normal way.
56654         Also, there is no effect on the ABI.
56655
56656         (_REGEX_SOURCE): New macro.
56657         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
56658         defined and _GNU_SOURCE is not; this fixes a name space violation.
56659
56660         Rename the following macros to obey POSIX requirements.
56661         The old names are still visible as macros if _REGEX_SOURCE is defined.
56662         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
56663         RE_BACKSLASH_ESCAPE_IN_LISTS.
56664         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
56665         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
56666         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
56667         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
56668         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
56669         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
56670         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
56671         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
56672         (REG_INTERVALS): renamed from RE_INTERVALS.
56673         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
56674         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
56675         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
56676         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
56677         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
56678         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
56679         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
56680         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
56681         RE_UNMATCHED_RIGHT_PAREN_ORD.
56682         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
56683         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
56684         (REG_DEBUG): renamed from RE_DEBUG.
56685         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
56686         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
56687         unusual, since we can't clash with the POSIX REG_ICASE.
56688         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
56689         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
56690         (REG_NO_SUB): renamed from RE_NO_SUB.
56691         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
56692         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
56693         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
56694         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
56695         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
56696         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
56697         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
56698         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
56699         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
56700         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
56701         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
56702         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
56703         RE_SYNTAX_POSIX_MINIMAL_BASIC.
56704         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
56705         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
56706         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
56707         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
56708         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
56709         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
56710         (REG_FIXED): Renamed from REGS_FIXED.
56711         (REG_NREGS): Renamed from RE_NREGS.
56712
56713         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
56714         of other REG_* macros, since POSIX says the user is allowed to
56715         #undef these macros selectively.
56716
56717         (reg_errcode_t): Update comment stating what other tables need
56718         to be consistent.
56719
56720         Rename the following enum values to obey POSIX requirements.
56721         The old names are still visible as macros.
56722         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
56723         is not defined, since GNU is supposed to be a superset of POSIX as
56724         much as possible, and since we want reg_errcode_t to be a signed
56725         type for implementation consistency.
56726         (_REG_NOERROR): Renamed from REG_NOERROR.
56727         (_REG_NOMATCH): Renamed from REG_NOMATCH.
56728         (_REG_BADPAT): Renamed from REG_BADPAT.
56729         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
56730         (_REG_ECTYPE): Renamed from REG_ECTYPE.
56731         (_REG_EESCAPE): Renamed from REG_EESCAPE.
56732         (_REG_ESUBREG): Renamed from REG_ESUBREG.
56733         (_REG_EBRACK): Renamed from REG_EBRACK.
56734         (_REG_EPAREN): Renamed from REG_EPAREN.
56735         (_REG_EBRACE): Renamed from REG_EBRACE.
56736         (_REG_BADBR): Renamed from REG_BADBR.
56737         (_REG_ERANGE): Renamed from REG_ERANGE.
56738         (_REG_ESPACE): Renamed from REG_ESPACE.
56739         (_REG_BADRPT): Renamed from REG_BADRPT.
56740         (_REG_EEND): Renamed from REG_EEND.
56741         (_REG_ESIZE): Renamed from REG_ESIZE.
56742         (_REG_ERPAREN): Renamed from REG_ERPAREN.
56743         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
56744         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
56745         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
56746         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
56747
56748         (_REG_RE_NAME, _REG_RM_NAME): New macros.
56749         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
56750         changed.  But support the old name if the new one is not defined
56751         and if _REGEX_SOURCE.
56752
56753         Change the following member names in struct re_pattern_buffer.
56754         The old names are still supported if !_REGEX_SOURCE.
56755         The new names are always supported, regardless of _REGEX_SOURCE.
56756         (re_buffer): Renamed from buffer.
56757         (re_allocated): Renamed from allocated.
56758         (re_used): Renamed from used.
56759         (re_syntax): Renamed from syntax.
56760         (re_fastmap): Renamed from fastmap.
56761         (re_translate): Renamed from translate.
56762         (re_can_be_null): Renamed from can_be_null.
56763         (re_regs_allocated): Renamed from regs_allocated.
56764         (re_fastmap_accurate): Renamed from fastmap_accurate.
56765         (re_no_sub): Renamed from no_sub.
56766         (re_not_bol): Renamed from not_bol.
56767         (re_not_eol): Renamed from not_eol.
56768         (re_newline_anchor): Renamed from newline_anchor.
56769
56770         Change the following member names in struct re_registers.
56771         The old names are still supported if !_REGEX_SOURCE.
56772         The new names are always supported, regardless of _REGEX_SOURCE.
56773         (rm_num_regs): Renamed from num_regs.
56774         (rm_start): Renamed from start.
56775         (rm_end): Renamed from end.
56776
56777         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
56778         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
56779         Prepend __ to parameter names.
56780
56781         Undo yesterday's changes.
56782
56783 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56784
56785         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
56786         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
56787         lib/regex.c.
56788
56789 2005-08-24  Jim Meyering  <jim@meyering.net>
56790
56791         Sync from coreutils.
56792         * m4/fcntl-safer.m4: New file.
56793
56794         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
56795         and object files for this module.
56796
56797 2005-08-24  Jim Meyering  <jim@meyering.net>
56798
56799         Sync from coreutils.
56800         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
56801
56802 2005-08-24  Jim Meyering  <jim@meyering.net>
56803
56804         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
56805         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
56806
56807 2005-08-24  Jim Meyering  <jim@meyering.net>
56808
56809         * modules/fcntl-safer: New module.
56810         * modules/fts (Depends-on): Add fcntl-safer.
56811         * MODULES.html.sh (File descriptor based Input/Output):
56812         Add fcntl-safer.
56813
56814 2005-08-24  Bruno Haible  <bruno@clisp.org>
56815
56816         Support for unit test modules.
56817         * modules/README: Mention tests modules.
56818         * modules/TEMPLATE-TESTS: New file.
56819         * gnulib-tool: New options --extract-tests-module, --with-tests and
56820         --tests-base (unused for the moment).
56821         (testsbase, inctests): New variables.
56822         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
56823         (func_verify_module): Exclude TEMPLATE-TESTS.
56824         (func_verify_nontests_module, func_verify_tests_module): New functions.
56825         (func_get_dependencies): Add implicit dependency for tests modules.
56826         (func_get_tests_module): New function.
56827         (func_modules_transitive_closure): When --with-tests was specified,
56828         include the unit tests as well, unless explicitly avoided.
56829         (func_emit_lib_Makefile_am): Ignore the tests modules here.
56830         (func_emit_tests_Makefile_am): New function.
56831         (func_create_testdir): When --with-tests was specified, emit a
56832         tests/ directory.
56833         * MODULES.html.sh (Future developments): Update.
56834
56835 2005-08-24  Bruno Haible  <bruno@clisp.org>
56836
56837         * modules/tls-tests: New file.
56838         * tests/test-tls.c: New file, from GNU gettext.
56839
56840 2005-08-24  Bruno Haible  <bruno@clisp.org>
56841
56842         * modules/lock-tests: New file.
56843         * tests/test-lock.c: New file, from GNU gettext.
56844
56845 2005-08-24  Bruno Haible  <bruno@clisp.org>
56846
56847         * lib/lock.h: Add multiple inclusion guard.
56848         * lib/tls.h: Add multiple inclusion guard.
56849
56850 2005-08-24  Bruno Haible  <bruno@clisp.org>
56851
56852         * gnulib-tool: Add support for the --aux-dir option to
56853         --create-testdir, --create-megatestdir, --test, --megatest.
56854         (func_create_testdir, func_create_megatestdir): Optionally emit a
56855         AC_CONFIG_AUX_DIR directive.
56856         (create-testdir, create-megatestdir, test, megatest): Provide a
56857         default value for $auxdir.
56858
56859 2005-08-24  Bruno Haible  <bruno@clisp.org>
56860
56861         * gnulib-tool (import): Use compound statement instead of subshell
56862         where possible.
56863
56864 2005-08-24  Bruno Haible  <bruno@clisp.org>
56865
56866         * gnulib-tool (import): Change --aux-dir default to "build-aux".
56867
56868 2005-08-24  Bruno Haible  <bruno@clisp.org>
56869
56870         * gnulib-tool (func_version): Update.
56871
56872 2005-08-24  Bruno Haible  <bruno@clisp.org>
56873
56874         * gnulib-tool (func_import, func_create_testdir,
56875         func_create_megatestdir): Quote all autoconf macro arguments.
56876
56877 2005-08-24  Bruno Haible  <bruno@clisp.org>
56878
56879         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
56880         option --force, because --force causes the aclocal.m4 of each
56881         subdirectory to be newer than the corresponding config.h.in.
56882
56883 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56884
56885         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
56886         All contents moved to gl_REGEX.
56887         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
56888         assume that it does.
56889
56890 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56891
56892         * lib/regex.h (REG_NOSYS)
56893         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
56894         Define, since POSIX requires it as of 2001.
56895         (_REG_ENOSYS)
56896         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
56897         New private symbol, used to keep the enum signed in all cases.
56898         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
56899         Youngman in
56900         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
56901
56902         * lib/regex_internal.c (re_string_skip_chars, register_state):
56903         (calc_state_hash):
56904         Remove forward decls; no longer needed now that we use prototypes.
56905         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
56906         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
56907         (clean_state_log_if_needed): Likewise.
56908
56909 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56910
56911         * config/srclist.txt: Add glibc bugs 1231-1233.
56912
56913 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56914
56915         Fix problems reported by Sam Steingold in
56916         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
56917         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
56918         assumed that reg_errcode_t is a signed type, which is not
56919         necessarily true if _XOPEN_SOURCE is not defined.
56920         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
56921         since some compilers warn about it otherwise.
56922
56923 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56924
56925         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
56926         (init_word_char, create_initial_state, duplicate_node_closure):
56927         (fetch_token, peek_token_bracket, build_range_exp):
56928         (build_collating_symbol): Remove forward decls; no longer needed
56929         now that we use prototypes.
56930
56931         * lib/regcomp.c:
56932         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
56933         (re_compile_fastmap_iter, regcomp, regerror, regfree):
56934         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
56935         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
56936         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
56937         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
56938         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
56939         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
56940         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
56941         (build_range_exp, build_collating_symbol, parse_bracket_exp):
56942         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
56943         (build_charclass, build_charclass_op, fetch_number, create_tree):
56944         (create_token_tree, mark_opt_subexp, duplicate_tree):
56945         Use prototypes rather than old-style definitions.
56946
56947         * lib/regex_internal.c:
56948         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
56949         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
56950         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
56951         (re_string_reconstruct, re_string_peek_byte_case):
56952         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
56953         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
56954         (re_node_set_init_copy, re_node_set_add_intersect):
56955         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56956         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56957         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
56958         (re_acquire_state, re_acquire_state_context, register_state):
56959         (create_ci_newstate, create_cd_newstate, free_state):
56960         Likewise.
56961         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
56962         re_search_2):
56963         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
56964         (re_search_internal, prune_impossible_nodes):
56965         (acquire_init_state_context, check_matching, static):
56966         (check_halt_node_context, check_halt_state_context, proceed_next_node):
56967         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
56968         (update_regs, sift_states_backward, build_sifted_states):
56969         (clean_state_log_if_needed, merge_state_array):
56970         (update_cur_sifted_state, add_epsilon_src_nodes):
56971         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
56972         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
56973         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
56974         (find_recover_state, check_subexp_matching_top, transit_state_mb):
56975         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
56976         (check_arrival, check_arrival_add_next_nodes):
56977         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
56978         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
56979         (check_node_accept_bytes, check_node_accept, extend_buffers):
56980         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
56981         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
56982         (sift_ctx_init):
56983         Likewise.
56984
56985         * lib/regex_internal.h:
56986         (re_string_allocate, re_string_construct, re_string_reconstruct):
56987         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
56988         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
56989         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
56990         (re_string_context_at, re_string_peek_byte_case):
56991         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
56992         is defined, since we now use prototypes always.
56993
56994         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
56995         C89 or better.  All uses removed.
56996
56997 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56998
56999         * config/srclist.txt: Add glibc bugs 1220-1227.
57000
57001 2005-08-20  Jim Meyering  <jim@meyering.net>
57002
57003         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
57004         of unused local, dfa.
57005
57006 2005-08-20  Bruno Haible  <bruno@clisp.org>
57007
57008         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
57009
57010 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57011
57012         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
57013         (re_node_set_insert_last, re_dfa_add_node):
57014         Rename local variables to avoid GCC shadowing warnings.
57015
57016 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57017
57018         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
57019         [defined lint]: Suppress bogus uninitialized-variable warnings.
57020
57021         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
57022         and let the caller return REG_ESPACE if out of space.  This
57023         removes an uninitialied-variable warning with GCC 4.0.1, and also
57024         avoids taking the address of a local variable.  All callers
57025         changed.
57026
57027 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57028
57029         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
57030         $LIBCSRC/posix/regexec.c.
57031         Add glibc bug 1217 for regcomp.c.
57032
57033 2005-08-19  Jim Meyering  <jim@meyering.net>
57034
57035         * lib/regexec.c (proceed_next_node): Redo local variables to
57036         avoid GCC shadowing warnings.
57037
57038 2005-08-18  Bruno Haible  <bruno@clisp.org>
57039
57040         * lib/strstr.c (strstr): Fix return value in multibyte case.
57041         * lib/strcasestr.c (strcasestr): Likewise.
57042
57043 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57044
57045         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
57046
57047 2005-08-17  Jim Meyering  <jim@meyering.net>
57048
57049         Make the %s format (seconds since the epoch) work for a negative
57050         number and when used with a zero-padded field width, e.g. %015s.
57051
57052         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
57053         label so that it precedes the code to set `digits'.  Otherwise,
57054         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
57055         print `00-22'.  Now, it prints `-0022', as it should.
57056
57057 2005-08-17  Bruno Haible  <bruno@clisp.org>
57058
57059         * modules/strstr (Files): Add m4/mbrtowc.m4.
57060         (Depends-on): Add mbuiter.
57061
57062 2005-08-17  Bruno Haible  <bruno@clisp.org>
57063
57064         * modules/strcasestr: New file.
57065         * MODULES.html.sh (String handling, based on ANSI C 89): Add
57066         strcasestr.
57067
57068 2005-08-17  Bruno Haible  <bruno@clisp.org>
57069
57070         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
57071
57072 2005-08-17  Bruno Haible  <bruno@clisp.org>
57073
57074         * modules/mbuiter: New file.
57075         * MODULES.html.sh (Extended multibyte and wide character utilities):
57076         Add mbuiter.
57077
57078 2005-08-17  Bruno Haible  <bruno@clisp.org>
57079
57080         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
57081         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
57082
57083 2005-08-17  Bruno Haible  <bruno@clisp.org>
57084
57085         * m4/strcasestr.m4: New file.
57086
57087 2005-08-17  Bruno Haible  <bruno@clisp.org>
57088
57089         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
57090         * lib/strstr.c: Completely rewritten, with multibyte locale support.
57091
57092 2005-08-17  Bruno Haible  <bruno@clisp.org>
57093
57094         * lib/strcasestr.h: New file.
57095         * lib/strcasestr.c: New file.
57096
57097 2005-08-17  Bruno Haible  <bruno@clisp.org>
57098
57099         * lib/strcasecmp.c: Use mbuiter.h.
57100
57101 2005-08-17  Bruno Haible  <bruno@clisp.org>
57102
57103         * lib/mbuiter.h: New file.
57104
57105 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
57106
57107         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
57108         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
57109         and gl_GETOPT are both invoked via different paths (as happens
57110         with GNU tar CVS because it uses both argp and getopt), the former
57111         wins.
57112
57113 2005-08-16  Bruno Haible  <bruno@clisp.org>
57114
57115         * modules/tls: New file.
57116         * MODULES.html.sh (Multithreading): Add tls.
57117
57118 2005-08-16  Bruno Haible  <bruno@clisp.org>
57119
57120         * modules/strnlen1: New file.
57121         * MODULES.html.sh (String handling): Add strnlen1.
57122
57123 2005-08-16  Bruno Haible  <bruno@clisp.org>
57124
57125         * modules/strcase (Files): Add m4/mbrtowc.m4.
57126         (Depends-on): Add strnlen1, mbchar.
57127
57128 2005-08-16  Bruno Haible  <bruno@clisp.org>
57129
57130         * modules/mbiter: New file.
57131         * MODULES.html.sh (Extended multibyte and wide character utilities):
57132         Add mbiter.
57133
57134 2005-08-16  Bruno Haible  <bruno@clisp.org>
57135
57136         * modules/mbfile: New file.
57137         * MODULES.html.sh (Extended multibyte and wide character utilities):
57138         Add mbfile.
57139
57140 2005-08-16  Bruno Haible  <bruno@clisp.org>
57141
57142         * modules/mbchar: New file.
57143         * MODULES.html.sh (Extended multibyte and wide character utilities):
57144         New section.
57145
57146 2005-08-16  Bruno Haible  <bruno@clisp.org>
57147
57148         * m4/tls.m4: New file, from GNU gettext.
57149
57150 2005-08-16  Bruno Haible  <bruno@clisp.org>
57151
57152         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
57153         always.
57154         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
57155
57156 2005-08-16  Bruno Haible  <bruno@clisp.org>
57157
57158         * m4/mbiter.m4: New file.
57159
57160 2005-08-16  Bruno Haible  <bruno@clisp.org>
57161
57162         * m4/mbfile.m4: New file.
57163
57164 2005-08-16  Bruno Haible  <bruno@clisp.org>
57165
57166         * m4/mbchar.m4: New file.
57167
57168 2005-08-16  Bruno Haible  <bruno@clisp.org>
57169
57170         * lib/tls.h: New file, from GNU gettext.
57171         * lib/tls.c: New file, from GNU gettext.
57172
57173 2005-08-16  Bruno Haible  <bruno@clisp.org>
57174
57175         * lib/strnlen1.h: New file.
57176         * lib/strnlen1.c: New file.
57177
57178 2005-08-16  Bruno Haible  <bruno@clisp.org>
57179
57180         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
57181         (mbi_init): Update.
57182         (mbi_avail, mbi_advance): Let the iteration end before the terminating
57183         NUL byte, not after it.
57184
57185 2005-08-16  Bruno Haible  <bruno@clisp.org>
57186
57187         * lib/strcase.h (strcasecmp): Add note in comments.
57188         * lib/strncasecmp.c: Use code from strcasecmp.c.
57189         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
57190         (strcasecmp): Work correctly in multibyte locales.
57191
57192 2005-08-16  Bruno Haible  <bruno@clisp.org>
57193
57194         * lib/mbiter.h: New file.
57195
57196 2005-08-16  Bruno Haible  <bruno@clisp.org>
57197
57198         * lib/mbfile.h: New file.
57199
57200 2005-08-16  Bruno Haible  <bruno@clisp.org>
57201
57202         * lib/mbchar.h: New file.
57203         * lib/mbchar.c: New file.
57204
57205 2005-08-16  Bruno Haible  <bruno@clisp.org>
57206
57207         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
57208         the valid ones. Makes the comparison operations transitive:
57209         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
57210         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
57211
57212 2005-08-15  Simon Josefsson  <jas@extundo.com>
57213
57214         * modules/ssize_t (License): Change to 'unlimited'.
57215
57216         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
57217
57218 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57219
57220         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
57221         Add comments for each pending glibc patch.
57222
57223 2005-08-15  Bruno Haible  <bruno@clisp.org>
57224
57225         * lib/regex.h (__restrict_arr): Don't define to __restrict if
57226         __cplusplus is defined.
57227
57228 2005-08-14  Jim Meyering  <jim@meyering.net>
57229
57230         Sync from coreutils.
57231
57232         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
57233         Use the hash-table-based cycle-detection code not just when
57234         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
57235         Reported by James Youngman in
57236         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
57237         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
57238         FTS_TIGHT_CYCLE_CHECK.
57239         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
57240         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
57241         once again.
57242         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
57243         * lib/fts.c (fd_safer): Remove decl.
57244         Include fcntl--.h rather than unistd-safer.h
57245         (fts_safe_changedir): Don't call fd_safer; no longer needed
57246         now that we include fcntl--.h.
57247
57248 2005-08-12  Simon Josefsson  <jas@extundo.com>
57249
57250         * modules/getndelim2: Use ssize_t module.
57251         * modules/getnline: Likewise.
57252         * modules/safe-read: Likewise.
57253         * modules/xreadlink: Likewise.
57254
57255         * modules/ssize_t: New file.
57256
57257 2005-08-12  Simon Josefsson  <jas@extundo.com>
57258
57259         * m4/readline.m4: Look for termcap, curses or ncurses if required.
57260
57261 2005-08-12  Simon Josefsson  <jas@extundo.com>
57262
57263         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57264         ssize_t.
57265
57266 2005-08-12  Simon Josefsson  <jas@extundo.com>
57267
57268         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
57269         readline, getdelim and check_version.
57270         (Support for systems lacking ISO C 99: Sizes of integer types):
57271         Add size_max.
57272
57273 2005-08-12  Bruno Haible  <bruno@clisp.org>
57274
57275         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
57276
57277 2005-08-11  Simon Josefsson  <jas@extundo.com>
57278
57279         * modules/readline: New file.
57280
57281         * modules/strnlen (Files): Add strnlen.h.
57282
57283 2005-08-11  Simon Josefsson  <jas@extundo.com>
57284
57285         * m4/readline.m4: New file.
57286
57287 2005-08-11  Simon Josefsson  <jas@extundo.com>
57288
57289         * lib/readline.h, readline.c: New file.
57290
57291 2005-08-11  Simon Josefsson  <jas@extundo.com>
57292
57293         * doc/gnulib.texi (Initial import, Finishing touches): Mention
57294         gl_AVOID.
57295
57296 2005-08-11  Bruno Haible  <bruno@clisp.org>
57297
57298         * lib/strnlen.h (strnlen): Change parameter name to match comment.
57299
57300 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
57301
57302         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
57303
57304 2005-08-10  Simon Josefsson  <jas@extundo.com>
57305
57306         * tests/test-iconvme.c: New file.
57307
57308 2005-08-10  Simon Josefsson  <jas@extundo.com>
57309
57310         * m4/strnlen.m4: New file.
57311
57312         * m4/strndup.m4: Don't check for strnlen declaration, done in
57313         strnlen.m4.
57314
57315 2005-08-10  Simon Josefsson  <jas@extundo.com>
57316
57317         * lib/strndup.c: Use strnlen.h.
57318
57319         * lib/strnlen.h: New file.
57320
57321 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
57322
57323         * README: Typos.
57324
57325 2005-08-02  Simon Josefsson  <jas@extundo.com>
57326
57327         * modules/readline: New file.
57328
57329 2005-08-02  Simon Josefsson  <jas@extundo.com>
57330
57331         * modules/getdelim: New file.
57332
57333         * modules/getline: Rewrite, don't use getndelim2.
57334
57335 2005-08-02  Simon Josefsson  <jas@extundo.com>
57336
57337         * m4/getline.m4: Separate out getdelim stuff into separate module.
57338
57339         * m4/getdelim.m4: New file.
57340
57341 2005-08-02  Simon Josefsson  <jas@extundo.com>
57342
57343         * lib/getline.h, getline.c: Rewrite.
57344
57345         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
57346
57347 2005-07-31  Bruno Haible  <bruno@clisp.org>
57348
57349         * lib/lock.h (gl_lock_initializer): New macro.
57350         (gl_lock_define_initialized): Use it.
57351         (gl_rwlock_initializer): New macro.
57352         (gl_rwlock_define_initialized): Use it.
57353         (gl_recursive_lock_initializer): New macro.
57354         (gl_recursive_lock_define_initialized): Use it.
57355
57356 2005-07-30  Karl Berry  <karl@gnu.org>
57357
57358         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
57359         Report from Ben Pfaff, regarding getopt.
57360
57361 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
57362
57363         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
57364         normal way.
57365         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
57366         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
57367         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
57368         (gl_GETOPT): Use the new macros.  Most of the implementation
57369         is moved to the new macros.  This is for programs like Emacs
57370         that don't want all the functionality of gl_GETOPT.
57371
57372 2005-07-26  Bruno Haible  <bruno@clisp.org>
57373
57374         * m4/lock.m4: Update from GNU gettext.
57375
57376 2005-07-26  Bruno Haible  <bruno@clisp.org>
57377
57378         * lib/lock.h: Update from GNU gettext.
57379         * lib/lock.c: Update from GNU gettext.
57380
57381 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
57382
57383         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
57384         obsolescent AC_TRY_RUN.  Include the default includes files, for
57385         'exit'.
57386
57387 2005-07-24  Bruno Haible  <bruno@clisp.org>
57388
57389         * modules/visibility: New file.
57390         * MODULES.html.sh (Misc): Add visibility.
57391
57392 2005-07-24  Bruno Haible  <bruno@clisp.org>
57393
57394         * m4/visibility.m4: New file.
57395
57396 2005-07-24  Bruno Haible  <bruno@clisp.org>
57397
57398         * doc/visibility.texi: New file.
57399
57400 2005-07-22  Bruno Haible  <bruno@clisp.org>
57401
57402         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
57403         $(ALLOCA_H), redundant through BUILT_SOURCES.
57404         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
57405         redundant through BUILT_SOURCES.
57406         * modules/byteswap (Makefile.am): Remove explicit dependency on
57407         $(BYTESWAP_H), redundant through BUILT_SOURCES.
57408         * modules/fnmatch (Makefile.am): Remove explicit dependency on
57409         $(FNMATCH_H), redundant through BUILT_SOURCES.
57410         * modules/getopt (Makefile.am): Remove explicit dependency on
57411         $(GETOPT_H), redundant through BUILT_SOURCES.
57412         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
57413         redundant through BUILT_SOURCES.
57414         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
57415         redundant through BUILT_SOURCES.
57416         * modules/stdbool (Makefile.am): Remove explicit dependency on
57417         $(STDBOOL_H), redundant through BUILT_SOURCES.
57418         * modules/stdint (Makefile.am): Remove explicit dependency on
57419         $(STDINT_H), redundant through BUILT_SOURCES.
57420         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
57421         Remove explicit dependency on $(SYSEXITS_H).
57422         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
57423
57424 2005-07-18  Simon Josefsson  <jas@extundo.com>
57425
57426         * lib/check-version.c (check_version): Accept identical versions too.
57427
57428 2005-07-18  Bruno Haible  <bruno@clisp.org>
57429
57430         * modules/lock: New file.
57431         * MODULES.html.sh (Multithreading): New section.
57432
57433 2005-07-18  Bruno Haible  <bruno@clisp.org>
57434
57435         * m4/lock.m4: New file, from GNU gettext.
57436
57437 2005-07-18  Bruno Haible  <bruno@clisp.org>
57438
57439         * lib/lock.h: New file, from GNU gettext.
57440         * lib/lock.c: New file, from GNU gettext.
57441
57442 2005-07-18  Bruno Haible  <bruno@clisp.org>
57443
57444         * lib/lock.h (gl_once_t): New type.
57445         (gl_once_define, gl_once): New macros.
57446         * lib/lock.c (fresh_once): New variable.
57447         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
57448         functions.
57449
57450 2005-07-16  Simon Josefsson  <jas@extundo.com>
57451
57452         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
57453         workaround, suggested by Bruno.
57454
57455 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
57456
57457         * modules/xalloc (Depends-on): Add xalloc-die.
57458         * modules/xvasprintf (Depends-on): Add xalloc-die.
57459
57460 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
57461
57462         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
57463         with a minor change.
57464
57465 2005-07-15  Bruno Haible  <bruno@clisp.org>
57466
57467         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
57468         When using lib/poll.c, define poll as rpl_poll.
57469
57470 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
57471
57472         * modules/argp (Depends-on): Remove unlocked-io.
57473
57474 2005-07-14  Derek Price  <derek@ximbiot.com>
57475
57476         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
57477         for glob symlink bug.
57478
57479 2005-07-14  Bruno Haible  <bruno@clisp.org>
57480
57481         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
57482         Instead, test for *_unlocked function declarations directly.
57483
57484 2005-07-11  Simon Josefsson  <jas@extundo.com>
57485
57486         * modules/size_max: New file.
57487
57488         * modules/xsize: Depend on size_max module for size_max.m4.
57489
57490 2005-07-11  Simon Josefsson  <jas@extundo.com>
57491
57492         * lib/size_max.h: New file.
57493
57494 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
57495
57496         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
57497         copyright symbol and the year.
57498         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
57499         (version_etc_va): Use parameterized copyright notice.
57500         Reword to conform to the current GNU coding standards.
57501
57502 2005-07-11  Karl Berry  <karl@gnu.org>
57503
57504         * doc/gnulib.texi (Quoting): new node.
57505         (Initial import): more info, from Patrice.
57506
57507 2005-07-11  Bruno Haible  <bruno@clisp.org>
57508
57509         * gnulib-tool (func_usage): Document option --avoid.
57510         (Command line options): Handle --avoid.
57511         (func_acceptable): New function.
57512         (func_modules_transitive_closure): Use it.
57513
57514 2005-07-11  Bruno Haible  <bruno@clisp.org>
57515
57516         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
57517         Reported by Jim Meyering.
57518
57519 2005-07-10  Bruno Haible  <bruno@clisp.org>
57520
57521         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
57522         Needed when size_t is smaller than 'unsigned int'.
57523         Reported by Paul Eggert.
57524
57525 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57526
57527         * modules/argp (Depends-on): Add unlocked-io
57528
57529 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57530
57531         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
57532         block of defines.
57533
57534 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
57535
57536         * config/srclist.txt: Comment out regcomp.c, since we have a porting
57537         fix now.
57538
57539 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
57540         and Paul Eggert  <eggert@cs.ucla.edu>
57541
57542         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
57543         in wint_t, not wchar_t.  Remove now-unnecessary cast.
57544
57545 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57546
57547         * modules/regex (Files): Add lib/regex_internal.c,
57548         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
57549         (Depends-on): Add extensions.
57550         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
57551
57552 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57553
57554         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
57555         pathconf.
57556         * m4/same.m4 (gl_SAME): Likewise.
57557         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
57558
57559         * m4/regex.m4: Adjust to new libc regex implementation.
57560         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
57561         all the .c and .h parts of (the new) regex.
57562         Quote the m4 stuff better.
57563         Check for RE_ICASE bug of old gnulib.
57564         Check for REG_STARTEND of recent libc.
57565         Rename local variables from jm_* to gl_*.
57566         Quote operand of "test -f".
57567         Say "recent enough" version of libc, not "version 2".
57568         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
57569         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
57570         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
57571         Remove check for btowc, isascii.
57572         Require AM_LANGINFO_CODESET.
57573
57574 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57575
57576         * lib/regex.c, regex.h: Sync from libc.
57577         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
57578         * lib/regexec.c:
57579         New files, synced from libc, except that regex_internal.h
57580         currently has a small porting fix.
57581
57582 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57583
57584         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
57585         regex_internal.c, regexec.c.
57586         Add regex_internal.h too, but as a comment, since the libc version
57587         is currently broken in gnulib mode.
57588
57589 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
57590
57591         Support programs like Emacs that use gnulib but not gettext.
57592         * MODULES.html.sh (Internationalization functions): Add gettext-h.
57593         * modules/gettext-h: New file.
57594         * modules/gettext (Files): Remove lib/gettext.h.
57595         (Depends-on): Add gettext-h.
57596         (Makefile.am): Remove lib_SOURCES.
57597         * modules/argmatch, modules/c-stack, modules/closeout:
57598         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
57599         * modules/execute, modules/file-type, modules/getaddrinfo:
57600         * modules/getopt, modules/human, modules/javacomp:
57601         * modules/javaexec, modules/mkdir-p, modules/obstack:
57602         * modules/openat, modules/pagealign_alloc, modules/pipe:
57603         * modules/quotearg, modules/regex, modules/rpmatch:
57604         * modules/unicodeio, modules/userspec, modules/version-etc:
57605         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
57606         * modules/xsetenv:
57607         Depend on gettext-h, not gettext.
57608
57609 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
57610
57611         * gnulib-tool (func_import): Add support for 'public domain' license.
57612         * modules/alloca, modules/atexit, modules/memmove:
57613         Now public domain, not GPL.
57614         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
57615         * modules/realloc, modules/strerror, modules/strtod:
57616         Now LGPL, not GPL.
57617
57618 2005-07-05  Bruno Haible  <bruno@clisp.org>
57619
57620         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
57621         autoconf CVS. Needed for mingw.
57622
57623 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57624
57625         Remove the dependency of the strftime module on the tzset module.
57626         * modules/strftime (Depends-on): Remove dependency on tzset.
57627
57628 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57629
57630         Remove the dependency of the strftime module on the tzset module.
57631         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
57632         gl_FUNC_TZSET_CLOBBER.
57633
57634 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57635
57636         Remove the dependency of the strftime module on the tzset module.
57637         * lib/strftime.c (my_strftime)
57638         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
57639         Copy the input structure, to work around some of the bug with
57640         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
57641         Solaris releases, you should also use the tzset module, but we won't
57642         require it as a dependency any more since we don't want LGPLed code
57643         to depend on GPLed code.
57644
57645 2005-07-02  Jim Meyering  <jim@meyering.net>
57646
57647         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
57648         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
57649         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
57650         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
57651
57652 2005-07-02  Jim Meyering  <jim@meyering.net>
57653
57654         * lib/backupfile.c (backup_args): Change a `0' to NULL.
57655
57656 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
57657
57658         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
57659         declares only 'struct timespec;' (!).
57660
57661 2005-07-01  Jim Meyering  <jim@meyering.net>
57662
57663         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
57664         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
57665         * lib/save-cwd.c, tempname.c:
57666         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
57667         and don't include <sys/file.h>).
57668
57669 2005-06-29  Jim Meyering  <jim@meyering.net>
57670
57671         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
57672         type name.  Use the variable name instead.
57673         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
57674         Likewise.
57675
57676 2005-06-28  Simon Josefsson  <jas@extundo.com>
57677
57678         * modules/check-version (Files): Add check-version.m4.
57679
57680 2005-06-28  Simon Josefsson  <jas@extundo.com>
57681
57682         * m4/check-version.m4: New file, suggested by Jim Meyering
57683         <jim@meyering.net>.
57684
57685 2005-06-28  Simon Josefsson  <jas@extundo.com>
57686
57687         * lib/check-version.h, lib/check-version.c: New files.
57688
57689 2005-06-28  Simon Josefsson  <jas@extundo.com>
57690
57691         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
57692         collision with global variable.  Better indentation.  Don't
57693         increment buffer pointer beyond buffer end.  Based on comments
57694         from Paul Eggert <eggert@cs.ucla.edu>.
57695
57696         * lib/base64.h: Indent.
57697
57698 2005-06-28  Simon Josefsson  <jas@extundo.com>
57699
57700         * doc/gnulib.texi (Library version handling): New section.
57701
57702 2005-06-28  Jim Meyering  <jim@meyering.net>
57703
57704         * check-module (find_included_lib_files): Hard-code another
57705         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
57706         but modules/fts-lgpl (correctly) does not list those files.
57707
57708         * modules/canonicalize (Files): Add lib/pathmax.h.
57709
57710 2005-06-25  Simon Josefsson  <jas@extundo.com>
57711
57712         * modules/check-version: New file.
57713
57714 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
57715
57716         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
57717         initializer of struct addrinfo, as an indication that we don't
57718         care how many members the structure has.
57719
57720 2005-06-24  Derek Price  <derek@ximbiot.com>
57721         and Bruno Haible  <bruno@clisp.org>
57722
57723         Remove stat module & update lstat.
57724         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
57725         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
57726         * m4/stat.m4: Remove this file.
57727
57728 2005-06-24  Derek Price  <derek@ximbiot.com>
57729         and Bruno Haible  <bruno@clisp.org>
57730
57731         Remove stat module & update lstat.
57732         * lib/stat.c: Remove this file...
57733         (slash_aware_lstat): ...moving this content and its support...
57734         * lib/lstat.c (rpl_lstat): ...into here.
57735         * lib/lstat.h: New file.
57736
57737 2005-06-24  Derek Price  <derek@ximbiot.com>
57738         and Bruno Haible  <bruno@clisp.org>
57739
57740         Remove stat module & update lstat.
57741         * config/srclist.txt (libc sources): Remove stat.
57742
57743 2005-06-24  Derek Price  <derek@ximbiot.com>
57744         and Bruno Haible  <bruno@clisp.org>
57745
57746         Remove stat module & update lstat.
57747         * MODULES.html.sh (stat): Remove.
57748         * MODULES.html: Regenerated.
57749         * modules/lstat (Description): Correct function name.
57750         (Files): Add "lstat.h".
57751         (Depends-on): Remove stat, add xalloc, stat-macros.
57752         * modules/stat: Remove this file.
57753         (Include): Add "lstat.h", remove <sys/stat.h>.
57754
57755 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57756
57757         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
57758         (ranged_convert): Don't save conversion in a temporary struct.
57759         This causes a warning with GCC 4.0.0, and anyway in the typical
57760         case it's not worth the extra 100 bytes or so of code.
57761         (ranged_convert, __mktime_internal): When calling a function via a
57762         pointer P, use P () rather than (*P) (), as we now assume C89 or
57763         better.
57764
57765 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57766
57767         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
57768         "who -r" failed to give output.  Problem reported by Tim Waugh.
57769
57770         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
57771         (xcalloc): Use it to avoid needless tests.
57772         Problem reported by Jim Meyering.
57773
57774 2005-06-20  Derek Price  <derek@ximbiot.com>
57775
57776         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
57777         unnecessary for Autoconfs > 2.59c.
57778
57779 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57780
57781         * lib/argp.h (__option_is_short): Check upper limit of
57782         __key. Isprint() requires its argument to have the value
57783         of an unsigned char or EOF.
57784
57785 2005-06-16  Jim Meyering  <jim@meyering.net>
57786
57787         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
57788         when either N or S is zero.
57789
57790 2005-06-16  Derek Price  <derek@ximbiot.com>
57791
57792         * m4/bison.m4: Declare YACC & YFLAGS precious.
57793
57794 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
57795
57796         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
57797         multibyte string or pattern, fall back on unibyte matching.
57798         Problem reported by James Youngman.
57799
57800 2005-06-08  Bruno Haible  <bruno@clisp.org>
57801
57802         * modules/csharpcomp: New file.
57803         * MODULES.html.sh (C#): Add csharpcomp.
57804
57805 2005-06-08  Bruno Haible  <bruno@clisp.org>
57806
57807         * m4/csharpcomp.m4: New file, from GNU gettext.
57808
57809 2005-06-08  Bruno Haible  <bruno@clisp.org>
57810
57811         * lib/csharpcomp.h: New file, from GNU gettext.
57812         * lib/csharpcomp.c: New file, from GNU gettext.
57813         * lib/csharpcomp.sh.in: New file, from GNU gettext.
57814
57815 2005-06-08  Bruno Haible  <bruno@clisp.org>
57816
57817         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
57818         warning on mingw.
57819
57820 2005-06-07  Derek Price  <derek@ximbiot.com>
57821
57822         Sync from CVS.
57823         * lib/glob_.h: Indent nested #ifdef.
57824
57825 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57826
57827         Sync from coreutils.
57828         Use "file name" when talking about file names, instead of "filename"
57829         or "path", as per the GNU coding standards.
57830         * lib/mkdir-p.c: Renamed from makepath.c.
57831         (make_dir_parents): Renamed from make_path.  All callers changed.
57832         * lib/mkdir-p.h: Likewise.  All includers changed.
57833         * lib/filenamecat.c: Renamed from path-concat.c.
57834         (file_name_concat): Renamed from path_concat.  All callers changed.
57835         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
57836         * lib/filenamecat.h: Likewise.  All includers changed.
57837         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
57838         in comments or local variable names.
57839         * lib/basename.c: Likewise.
57840         * lib/canonicalize.c, canonicalize.h: Likewise.
57841         * lib/dirname.c, dirname.h: Likewise.
57842         * lib/euidaccess.c: Likewise.
57843         * lib/exclude.c: Likewise
57844         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
57845         * lib/fsusage.c, fsuage.h: Likewise.
57846         * lib/fts.c, fts_.h: Likewise.
57847         * lib/getcwd.c: Likewise.
57848         * lib/getloadavg.c: Likewise.
57849         * lib/mkstemp.c: Likewise.
57850         * lib/mountlist.c, mountlist.h: Likewise.
57851         * lib/openat.c, openat.h: Likewise.
57852         * lib/readlink-stub.c: Likewise.
57853         * lib/readutmp.c, readutmp.h: Likewise.
57854         * lib/rename.c: Likewise.
57855         * lib/rmdir.c: Likewise.
57856         * lib/same.c: Likewise.
57857         * lib/savedir.c: Likewise.
57858         * lib/stripslash.c: Likewise.
57859         * lib/tempname.c: Likewise.
57860         * lib/xreadlink.c: Likewise.
57861         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
57862         All uses changed.
57863         * lib/exclude.h: Likewise.
57864
57865         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
57866         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57867         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
57868         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57869         * lib/pathmax.h: Include <limits.h> unconditionally, since other
57870         files have been getting away with it for years (MORE/BSD 4.3
57871         is extinct now).
57872         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
57873         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57874
57875         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
57876         Define to 256, not 255, as per modern POSIX.
57877
57878 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57879
57880         Sync from coreutils.
57881         Use "file name" when talking about file names, instead of "filename"
57882         or "path", as per the GNU coding standards.
57883         * MODULES.html.sh: mkdir-p renamed from makepath.
57884         filenamecat renamed from path-concat.
57885         * modules/filenamecat: Renamed from modules/path-concat.
57886         (Files): filenamecat.h and filenamecat.c renamed from
57887         path-concat.h and path-concat.c.
57888         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
57889         (Include): filenamecat.h, not path-concat.h.
57890         * modules/mkdir-p: Renamed from modules/makepath.
57891         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
57892         makepath.c.
57893         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
57894         (Include): mkdir-p.h, not makepath.h.
57895
57896 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57897
57898         Sync from coreutils.
57899         * m4/mkdir-p.m4: Renamed from makepath.m4.
57900         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
57901         Rename files from makepath.c to mkdir-p.c, and from
57902         makepath.h to mkdir-p.h.
57903         * m4/filenamecat.m4: Renamed from path-concat.m4.
57904         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
57905         Rename files from path-concat.c to filenamecat.c,
57906         and from path-concat.h to filenamecat.h.
57907         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
57908         "file name" in local variables or comments.
57909         * m4/rename.m4: Likewise.
57910
57911 2005-06-01  Bruno Haible  <bruno@clisp.org>
57912
57913         * modules/csharpexec: New file.
57914         * MODULES.html.sh (C#): New section.
57915
57916 2005-06-01  Bruno Haible  <bruno@clisp.org>
57917
57918         * m4/csharp.m4: New file, from GNU gettext.
57919         * m4/csharpexec.m4: New file, from GNU gettext.
57920
57921 2005-06-01  Bruno Haible  <bruno@clisp.org>
57922
57923         * lib/csharpexec.h: New file, from GNU gettext.
57924         * lib/csharpexec.c: New file, from GNU gettext.
57925         * lib/csharpexec.sh.in: New file, from GNU gettext.
57926
57927 2005-05-31  Derek Price  <derek@ximbiot.com>
57928             Paul Eggert  <eggert@cs.ucla.edu>
57929
57930         Sync from cvs.
57931         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
57932
57933 2005-05-31  Derek Price  <derek@ximbiot.com>
57934             Paul Eggert  <eggert@cs.ucla.edu>
57935
57936         Sync from cvs.
57937         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
57938
57939 2005-05-29  Derek Price  <derek@ximbiot.com>
57940
57941         * config/srclist.txt (glob_.h, glob.c): Add these files.
57942
57943 2005-05-29  Derek Price  <derek@ximbiot.com>
57944
57945         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
57946         * modules/glob: New file.
57947         * modules/getlogin_r: Add link to POSIX spec in description.
57948
57949 2005-05-29  Derek Price  <derek@ximbiot.com>
57950             Paul Eggert  <eggert@cs.ucla.edu>
57951
57952         * m4/glob.m4: New file.
57953
57954 2005-05-29  Derek Price  <derek@ximbiot.com>
57955             Paul Eggert  <eggert@cs.ucla.edu>
57956
57957         * lib/glob_.h, lib/glob.c: New files.
57958
57959 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
57960
57961         * modules/fts (Files): Remove m4/inttypes-pri.m4.
57962         * modules/fts-lgpl (Depends-on): Remove gettext.
57963
57964 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
57965
57966         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
57967         and don't require gt_INTTYPES_PRI.
57968
57969 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
57970
57971         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
57972
57973         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
57974         the configuration hassle isn't worth it.
57975         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
57976         (LONGEST_MODIFIER, PRIuMAX): Remove.
57977
57978 2005-05-27  Bruno Haible  <bruno@clisp.org>
57979
57980         * lib/getlogin_r.h: Remove second include of <stddef.h>.
57981
57982 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
57983
57984         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
57985         _POSIX_PTHREAD_SEMANTICS for Solaris.
57986
57987 2005-05-25  Derek Price  <derek@ximbiot.com>
57988
57989         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
57990
57991 2005-05-25  Derek Price  <derek@ximbiot.com>
57992             Paul Eggert  <eggert@cs.ucla.edu>
57993
57994         * modules/getlogin_r, m4/getlogin_r.m4: New files.
57995         * lib/getlogin_r.c, getlogin_r.h: New files.
57996
57997 2005-05-25  Bruno Haible  <bruno@clisp.org>
57998             Derek Price  <derek@ximbiot.com>
57999
58000         * lib/getlogin_r.h: Simplify API documentation.
58001
58002 2005-05-23  Derek Price  <derek@ximbiot.com>
58003
58004         * modules/minmax (Files): Add m4/minmax.m4.
58005         (configure.ac): Add gl_MINMAX.
58006
58007 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58008
58009         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
58010         so that unistd-safer.h (GPL'ed code) need not be included.
58011
58012 2005-05-22  Bruno Haible  <bruno@clisp.org>
58013
58014         * m4/minmax.m4: New file.
58015         Based on a patch by Derek Price <derek@ximbiot.com>.
58016
58017 2005-05-22  Bruno Haible  <bruno@clisp.org>
58018
58019         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
58020         (INT64_MIN): Fix definition.
58021         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
58022
58023         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
58024         NEED_SIGNED_INT_TYPES.
58025
58026         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
58027         HAVE_SYSTEM_INTTYPES.
58028
58029 2005-05-22  Bruno Haible  <bruno@clisp.org>
58030
58031         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
58032         Also include <sys/param.h> if it defines MIN, MAX.
58033         Based on a patch by Derek Price <derek@ximbiot.com>.
58034
58035 2005-05-21  Jim Meyering  <jim@meyering.net>
58036
58037         * modules/fts (Files): Add m4/inttypes-pri.m4.
58038         (Depends-on): Add lstat and remove gettext.  Alphabetize.
58039
58040 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58041
58042         New fts module.
58043         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
58044         (setup_dir, free_dir): New functions.
58045         (enter_dir, leave_dir): Define trivial
58046         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
58047         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
58048         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
58049         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
58050         Move to fts-cycle.c.
58051         (fts_open): Use setup_dir.
58052         (fts_close): Use free_dir.
58053         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
58054         This adds a label and some gotos, but the alternatives were messier.
58055         Check for memory allocation failure when entering a dir.
58056         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
58057         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
58058         (FTS): New member fts_cycle, that is a union that contains the
58059         old active_dir_ht and cycle_state.  All uses changed to mention
58060         fts_cycle.ht and fts_cycle.state.
58061         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
58062         fts.c, with the following changes:
58063         (setup_dir, free_dir): New functions.
58064         (enter_dir): Now returns bool.  Return true if successful, false
58065         if memory exhausted.  All callers changed.
58066         Do not bother partly cleaning up on
58067         memory allocation failure; that is free_dir's job.
58068         However, free ad if hash_insert fails, to avoid memory leak.
58069         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
58070         fts->fts_options to see which union member to use.
58071
58072 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58073
58074         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
58075         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
58076
58077 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58078
58079         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
58080
58081 2005-05-20  Jim Meyering  <jim@meyering.net>
58082
58083         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
58084         Now a macro, to pacify GCC.
58085
58086 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
58087
58088         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
58089         of -1.
58090
58091 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
58092
58093         * lib/chown.c (rpl_chown): Return -1 on failure.
58094
58095 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
58096
58097         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
58098         Don't check for stddef.h.
58099         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
58100         don't use its results.
58101         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
58102         since we include them unconditionally.  Don't require
58103         AM_STDBOOL_H, since stdbool is a prerequisite.
58104         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
58105         since we assume C89 or better.
58106         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
58107         as we don't use their results.
58108         Don't check for fchdir, memmove, memset, strrchr, as we use
58109         them unconditionally.
58110         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
58111         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
58112
58113 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
58114
58115         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
58116         Include <stddef.h> unconditionally, since we assume C89 now.
58117         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
58118         * lib/fts.c: Include fts_.h first, to check interface.
58119         Do not include intprops.h; no longer needed.
58120         Include cycle-check.h and hash.h, since fts_.h no longer does.
58121         Remove unnecessary casts of closedir to void.
58122         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
58123         decide whether to decrement nlinks.
58124         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
58125         (FTS): Use struct hash_table * instead of Hash_table, so that
58126         we no longer need to include hash.h here.
58127
58128 2005-05-18  Jim Meyering  <jim@meyering.net>
58129
58130         * modules/dirfd (License): Change to LGPL.  Most of the code
58131         is already in the public domain.
58132
58133 2005-05-18  Jim Meyering  <jim@meyering.net>
58134
58135         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
58136         Reported by Yoann Vandoorselaere.
58137
58138 2005-05-17  Jim Meyering  <jim@meyering.net>
58139
58140         * m4/fts.m4: New file, from coreutils.
58141
58142 2005-05-17  Jim Meyering  <jim@meyering.net>
58143
58144         * lib/fts.c, lib/fts_.h: New files, from coreutils.
58145
58146 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58147
58148         Sync from coreutils.
58149         * m4/unlinkdir.m4: New file.
58150
58151 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58152
58153         Sync from coreutils.
58154         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
58155         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
58156         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
58157         White space changes only.
58158         * lib/makepath.c (make_path): Port to hosts where leading "//" is
58159         special.
58160         * lib/yesno.c: Include getline.h, not ctype.h.
58161         (yesno): Don't remove leading white space; POSIX doesn't allow it.
58162         Use getline to remove arbitrary restriction on response length.
58163
58164 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58165
58166         * config/srclist-update: Spell out "Street" in FSF postal
58167         mail address; this is the style the FSF seems to prefer.
58168
58169         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
58170         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
58171         this updates FSF postal mail address.
58172
58173         Sync from coreutils.
58174         * modules/unlinkdir: New file.
58175         * modules/yesno (Depends-on): Add getline.
58176         * MODULES.html.sh (File system functions): Add unlinkdir.
58177
58178 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58179
58180         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
58181         lib/strsep.h:
58182         Change the initial comment to refer to GPL, not LGPL.
58183         gnulib-tool will change it to LGPL as needed.
58184
58185         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
58186         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
58187         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
58188         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
58189         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
58190         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
58191         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
58192         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
58193         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
58194         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
58195         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
58196         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
58197         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
58198         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
58199         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
58200         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
58201         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
58202         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
58203         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
58204         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
58205         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
58206         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
58207         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
58208         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
58209         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
58210         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
58211         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
58212         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
58213         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
58214         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
58215         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
58216         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
58217         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
58218         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
58219         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
58220         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
58221         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
58222         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
58223         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
58224         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
58225         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
58226         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
58227         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
58228         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
58229         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
58230         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
58231         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
58232         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
58233         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
58234         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
58235         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
58236         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
58237         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
58238         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
58239         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
58240         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
58241         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
58242         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
58243         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
58244         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
58245         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
58246         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
58247         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
58248         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
58249         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
58250         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
58251         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
58252         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
58253         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
58254         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
58255         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
58256         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
58257         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
58258         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
58259         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
58260         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
58261         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
58262         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
58263         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
58264         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
58265         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
58266         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
58267         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
58268         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
58269         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
58270         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
58271         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
58272         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
58273         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
58274         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
58275         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
58276         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
58277         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
58278         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
58279         lib/yesno.c, lib/yesno.h:
58280         Update FSF postal mail address.
58281
58282 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58283
58284         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
58285         tests/test-memmem.c, tests/test-stpncpy.c:
58286         Update FSF postal mail address.
58287
58288 2005-05-13  Bruno Haible  <bruno@clisp.org>
58289
58290         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
58291         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
58292         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
58293         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
58294         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
58295         Add support for 64-bit integers in the MSVC compiler.
58296
58297 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58298
58299         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
58300
58301 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
58302
58303         * gnulib-tool (func_import): Sort and uniquify recommended includes.
58304
58305 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
58306
58307         * doc/getdate.texi (General date syntax): Don't say that date
58308         date --iso-8601=ns generates acceptable dates; it doesn't yet.
58309         Problem reported by Nic Ferrier.
58310
58311 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58312
58313         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
58314         specified in ai_socktype. Fix invalid ai_protocol
58315         check. ai_protocol is usually set to 0 or depending on
58316         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
58317         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
58318         ai_socktype / ai_protocol in the returned addrinfo structure.
58319
58320 2005-05-10  Simon Josefsson  <jas@extundo.com>
58321
58322         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
58323         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58324
58325 2005-05-10  Karl Berry  <karl@gnu.org>
58326
58327         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
58328         (from http://www.gnu.org/licenses).
58329         * doc/COPYING.LIB: also rename to COPYING.LESSER.
58330         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
58331         fdl.texi suffices.
58332
58333 2005-05-10  Karl Berry  <karl@gnu.org>
58334
58335         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
58336         (COPYING.DOC): remove.
58337
58338         * config/srclist-update: new FSF address.
58339
58340 2005-05-10  Derek Price  <derek@ximbiot.com>
58341
58342         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
58343         possible.
58344
58345 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58346             Bruno Haible  <bruno@clisp.org>
58347
58348         * modules/inet_ntop: New file.
58349         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58350         inet_ntop.
58351
58352 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58353             Bruno Haible  <bruno@clisp.org>
58354
58355         * m4/inet_ntop.m4: New file.
58356
58357 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58358             Bruno Haible  <bruno@clisp.org>
58359
58360         * lib/inet_ntop.h: New file.
58361         * lib/inet_ntop.c: New file, from glibc with modifications.
58362
58363 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
58364
58365         * modules/time_r (License): Change to LGPL.
58366         * modules/extensions (License): Change to LGPL.  Actually,
58367         the license is more permissive than that, but currently gnulib-tool
58368         doesn't know how to handle more-permissive licenses.
58369
58370         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
58371         Problem reported by Dave Love.
58372
58373 2005-05-08  Jim Meyering  <jim@meyering.net>
58374
58375         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
58376         blank.
58377
58378 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
58379
58380         * modules/argmatch (Depends-on): Add stdbool.
58381         * modules/backupfile (Depends-on): Likewise.
58382         * modules/chdir-long (Depends-on): Likewise.
58383         * modules/closeout (Depends-on): Likewise.
58384         * modules/cycle-check (Depends-on): Likewise.
58385         * modules/dirname (Depends-on): Likewise.
58386         * modules/fnmatch (Depends-on): Likewise.
58387         * modules/fsusage (Depends-on): Likewise.
58388         * modules/fwriteerror (Depends-on): Likewise.
58389         * modules/getcwd (Depends-on): Likewise.
58390         * modules/getloadavg (Depends-on): Likewise.
58391         * modules/hard-locale (Depends-on): Likewise.
58392         * modules/makepath (Depends-on): Likewise.
58393         * modules/mountlist (Depends-on): Likewise.
58394         * modules/nanosleep (Depends-on): Likewise.
58395         * modules/posixtm (Depends-on): Likewise.
58396         * modules/quotearg (Depends-on): Likewise.
58397         * modules/readtokens (Depends-on): Likewise.
58398         * modules/readtokens0 (Depends-on): Likewise.
58399         * modules/readutmp (Depends-on): Likewise.
58400         * modules/save-cwd (Depends-on): Likewise.
58401         * modules/strftime (Depends-on): Likewise.
58402         * modules/userspec (Depends-on): Likewise.
58403         * modules/utimecmp (Depends-on): Likewise.
58404         * modules/xgetcwd (Depends-on): Likewise.
58405         * modules/xnanosleep (Depends-on): Likewise.
58406         * modules/xstrtod (Depends-on): Likewise.
58407         * modules/yesno (Depends-on): Likewise.
58408
58409 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
58410
58411         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
58412         needless checks.
58413
58414 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58415
58416         Merge from coreutils.  Among other things,
58417         add bulletproofing for cases where stdin, stdout, or stderr are closed.
58418         * lib/fd-safer.c: New file.
58419         * lib/fcntl-safer.h, open-safer.c: Remove.
58420         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
58421         * lib/dup-safer.c: Include unistd-safer.h first.
58422         Don't include errno.h.
58423         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
58424         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
58425         * lib/file-type.c: Rely on file-type.h change.
58426         * lib/getloadavg.c: Include unistd-safer.h.
58427         (getloadavg): Use safer open.
58428         * lib/getusershell.c: Include "stdio-safer.h".
58429         (getusershell): Use safer fopen.
58430         * lib/long-options.c (long_options): Use NULL rather than 0.
58431         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
58432         'free'.
58433         * lib/modechange.c: Likewise.
58434         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
58435         (MODE_DONE): New constant.
58436         (struct mode_change): Remove 'next' member.
58437         (make_node_op_equals): New function; like the old one of the
58438         same name, except it allocates an array.
58439         (mode_compile, mode_create_from_ref): Use it.
58440         (mode_compile): Allocate result as an array, not a linked list.
58441         Parse octal string ourself, so that we catch mistakes like "+0".
58442         (mode_adjust): Arg is an array, not a linked list.
58443         * lib/modechange.c: Include stat-macros.h, xalloc.h.
58444         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
58445         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
58446         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
58447         Remove.  This is now stat-macros.h's job.
58448         (talloc): Remove.  All callers replaced by xalloc, so that
58449         our invokers don't have to worry about reporting memory failures.
58450         (make_node_op_equals): Remove.
58451         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
58452         New constants.
58453         (struct mode_change): Moved here from modechange.h.
58454         (mode_append_entry): Remove.
58455         (mode_compile): Remove MASKED_OPS arg, since it encouraged
58456         apps to have incorrect behavior.  Use simpler algorithm for head
58457         and tail.  Don't futz with umask; that's now the job of mode_adjust.
58458         Detect more invalid usages rather than having somewhat-random behavior.
58459         Don't insert an "a=" action, as that leads to incorrect behavior.
58460         (mode_compile, mode_create_from_ref): Return NULL on error instead
58461         of an enum, since now there's only one way to have an error.  All
58462         callers changed.
58463         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
58464         at the correct time.  Simplify calculation of "+u" and its ilk.
58465         Don't mishandle "+X".
58466         (mode_free): Remove "register" and localize decls.
58467         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
58468         (struct mode_change): Move to modechange.c; callers don't
58469         need to see this stuff.
58470         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
58471         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
58472         (mode_change, mode_adjust): Reflect the new signatures noted above.
58473         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
58474         that might redefine system include files.
58475         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
58476         (my_usleep): Use NULL rather than (void *) 0.
58477         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
58478         Use siginterrupt to specify that system calls should be interrupted.
58479         (rpl_nanosleep): Move initialization of suspended closer to call of
58480         my_usleep.
58481         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
58482         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
58483         (desirable_utmp_entry): New function.
58484         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
58485         using x2nrealloc, to simplify logic.
58486         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
58487         size calculation.  Do not assume utmp file is a regular file.
58488         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
58489         (READ_UTMP_CHECK_PIDS): New constant.
58490         * lib/save-cwd.c: Include unistd-safer.h.
58491         (save_cwd): Use fd_safer.
58492         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
58493         [!_LIBC] Include "stat-macros.h" instead.
58494         * lib/unistd-safer.h (fd_safer): New decl.
58495
58496 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58497
58498         * modules/getloadavg (Depends-on): Add unistd-safer.
58499         * modules/getusershell (Depends-on): Add stdio-safer.
58500         * modules/lstat (Depends-on): Remove xalloc.
58501         * modules/mkstemp (Depends-on): Add stat-macros.
58502         * modules/modechange (Depends-on): Remove xstrtol.
58503         Add stat-macros, xalloc.
58504         * modules/save-cwd (Depends-on): Add unistd-safer.
58505         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
58506         * modules/unistd-safer (Files): Add lib/fd-safer.c
58507         (Makefile.am): Remove lib_SOURCES.
58508
58509         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
58510         Remove fcntl-safer; unistd-safer supersedes it.
58511
58512 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58513
58514         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
58515         AC_HEADER_STAT.
58516         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
58517         (gl_PREREQ_CHOWN): Remove.
58518         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
58519         it.  Don't require AC_HEADER_STAT.
58520         (gl_PREREQ_LSTAT): Remove.
58521         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
58522         Don't require AC_HEADER_STAT.
58523         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
58524         (gl_PREREQ_RMDIR): Remove.
58525         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
58526         mention stat-macros.h or AC_HEADER_STAT, since we'll make
58527         the stat-macros module a prerequisite.
58528         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
58529         * m4/filemode.m4 (gl_FILEMODE): Likewise.
58530         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
58531         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
58532         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
58533         variable names.
58534         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
58535         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
58536         variable prefixes.
58537         * m4/fcntl-safer.m4: Remove.
58538         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
58539         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
58540         Invoke gl_PREREQ_FD_SAFER.
58541         (gl_PREREQ_FD_SAFER): New macro.
58542         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
58543         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
58544         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
58545         Remove duplicate call to AC_LIBOBJ(readutmp).
58546         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
58547
58548         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
58549         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
58550
58551 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58552
58553         * MODULES.html.sh (Misc): Add byteswap.
58554
58555 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58556
58557         * modules/getcwd (Depends-on): Add extensions.
58558         * modules/openat (Depends-on): Likewise.
58559
58560 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58561
58562         * modules/byteswap: New file.
58563
58564 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58565
58566         * m4/byteswap.m4: New file.
58567
58568 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58569
58570         * lib/byteswap_.h: New file.
58571
58572 2005-04-25  Karl Berry  <karl@gnu.org>
58573
58574         * m4/gettext.m4: Update from GNU gettext 0.14.4.
58575
58576 2005-04-25  Albert Chin  <china@thewrittenword.com>
58577
58578         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
58579         Toolkit C bug.
58580
58581 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
58582
58583         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
58584         (func_ln_if_changed) Remove forcibly for no error message
58585         in case file does not exist.
58586
58587 2005-04-19  Simon Josefsson  <jas@extundo.com>
58588
58589         * gnulib-tool (Options): Make --symlink mean --symbolic.
58590
58591 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
58592
58593         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
58594
58595 2005-04-16  Simon Josefsson  <jas@extundo.com>
58596
58597         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
58598
58599 2005-04-15  Simon Josefsson  <jas@extundo.com>
58600
58601         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
58602
58603 2005-04-15  Simon Josefsson  <jas@extundo.com>
58604
58605         * gnulib-tool: Rename --symlink to --symbolic.
58606
58607 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
58608
58609         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
58610         symbolic links to files instead of copying/moving.  Add --aux-dir,
58611         specifying directory relative --dir where auxiliary build tools
58612         are placed.
58613
58614 2005-04-14  Bruno Haible  <bruno@clisp.org>
58615
58616         * modules/allocsa (License): Change to LGPL.
58617         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58618
58619 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
58620
58621         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
58622         that "UTC +1 second" continues to work.  Problem reported
58623         by Dmitry V. Levin.
58624         (relunit_snumber): New rule.
58625         (relunit): Use it.
58626
58627 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
58628
58629         * lib/getdate.y (universal_time_zone_table): New constant.
58630         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
58631         universal_time_zone_table.
58632         (lookup_zone): Prefer universal_time_zone_table to
58633         local_time_zone_table, so that "GMT" time stamps are allowed in
58634         London during the summer.  Problem reported by Ian Abbott.
58635
58636 2005-04-12  Jim Meyering  <jim@meyering.net>
58637
58638         * lib/human.c (humblock): Set *options even when returning due to
58639         xstrtoumax conversion failure.  Thanks to a used-uninitialized
58640         warning from gcc-4.
58641
58642 2005-04-09  Jim Meyering  <jim@meyering.net>
58643
58644         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
58645         -Wuninitialized: initialize tm0.tm_year.
58646
58647 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
58648
58649         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
58650         count, since there's no maximum.  All uses changed.
58651         Add member dsts_seen.
58652         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
58653         not being INT_MAX.
58654         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
58655         Use pc_rels_seen to decide whther a date is absolute.
58656
58657         * lib/getdate.y (number): Don't overwrite year.
58658         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
58659         check.
58660
58661 2005-04-02  Simon Josefsson  <jas@extundo.com>
58662
58663         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
58664         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
58665
58666 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
58667
58668         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
58669         where no absolute path name can be longer than PATH_MAX.
58670
58671 2005-03-27  Jim Meyering  <jim@meyering.net>
58672
58673         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
58674
58675 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
58676
58677         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
58678         "one's complement" -> "ones' complement" in comment, as per Knuth.
58679         "value of type" -> "type or expression" in comment.
58680         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
58681
58682 2005-03-26  Jim Meyering  <jim@meyering.net>
58683
58684         Comment nits.
58685         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
58686         Correct typos: s/or/of/.
58687
58688 2005-03-26  Jim Meyering  <jim@meyering.net>
58689
58690         * modules/check-include-files: Move to ../ and rename to...
58691         * check-module: ...this.
58692
58693 2005-03-25  Jim Meyering  <jim@meyering.net>
58694
58695         * modules/xvasprintf (Files): Add xalloc.h.
58696
58697 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
58698
58699         * modules/gettext (Files): config/config.rpath ->
58700         build-aux/config.rpath
58701         * modules/iconv (Files): Likewise.
58702         Problem reported by Oskar Liljeblad.
58703
58704 2005-03-23  Jim Meyering  <jim@meyering.net>
58705
58706         * modules/check-include-files: New script to check for
58707         missing dependencies, multiple includes, etc.
58708
58709         * modules/c-strtold (Depends-on): Add xalloc.
58710         * modules/c-strtod (Depends-on): Add xalloc.
58711         * modules/hash (Depends-on): Add xalloc.
58712         (Files): Remove lib/xalloc.h.
58713
58714         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
58715         * modules/userspec (Files): Add lib/inttostr.h.
58716
58717 2005-03-23  Jim Meyering  <jim@meyering.net>
58718
58719         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
58720
58721 2005-03-22  Jim Meyering  <jim@meyering.net>
58722
58723         * modules/stat-macros: New module.
58724         * modules/canonicalize, modules/euidaccess, modules/file-type,
58725         * modules/filemode, modules/lchown, modules/makepath,
58726         * modules/rmdir, modules/stat: Depend on new stat-macros module
58727         rather than listing lib/stat-macros.h manually.
58728         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
58729
58730 2005-03-22  Jim Meyering  <jim@meyering.net>
58731
58732         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
58733
58734 2005-03-22  Bruno Haible  <bruno@clisp.org>
58735
58736         * config/srclist.txt: Replace target directory 'config' with
58737         'build-aux'.
58738         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
58739         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
58740         ../build-aux/.
58741
58742 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
58743
58744         * modules/chdir-long (Depends-on): Add mempcpy.
58745
58746         * modules/acl, modules/backupfile, modules/c-strtod,
58747         modules/c-strtold, modules/canon-host, modules/canonicalize,
58748         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
58749         modules/exclude, modules/exitfail, modules/file-type,
58750         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
58751         modules/getdate, modules/getline, modules/getpagesize,
58752         modules/getpass, modules/getugroups, modules/group-member,
58753         modules/hard-locale, modules/hash, modules/human, modules/idcache,
58754         modules/inttostr, modules/long-options, modules/makepath,
58755         modules/md5, modules/memcasecmp, modules/memcoll,
58756         modules/modechange, modules/mountlist, modules/path-concat,
58757         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
58758         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
58759         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
58760         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
58761         modules/strftime, modules/strndup, modules/strverscmp,
58762         modules/timespec, modules/unlocked-io, modules/userspec,
58763         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
58764         modules/yesno:
58765         Remove lib_SOURCES line from Makefile.am section, as this is now
58766         done automatically by the corresponding Autoconf macro.
58767
58768 2005-03-21  Jim Meyering  <jim@meyering.net>
58769
58770         Changes imported from coreutils.
58771
58772         * lib/cycle-check.c: Don't include xalloc.h.
58773
58774         * lib/path-concat.c: Don't include assert.h.
58775         (path_concat): Remove assertion that would have triggered
58776         for ABASE starting with more than one slash.
58777         Reported by Andreas Schwab.
58778
58779         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
58780         properly when ABASE is an absolute file name.
58781         Correct the description of this function.
58782         Include <assert.h>.
58783         Add an assertion and a test driver.
58784         This fixes a bug introduced on 2004-07-02.
58785         Andreas Schwab reported the resulting failure of cp --parents:
58786         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
58787
58788 2005-03-21  Jim Meyering  <jim@meyering.net>
58789
58790         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
58791         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
58792
58793 2005-03-21  Jim Meyering  <jim@meyering.net>
58794         and  Paul Eggert  <eggert@cs.ucla.edu>
58795
58796         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
58797         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
58798         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
58799         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
58800         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
58801         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
58802         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
58803         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
58804         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
58805         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
58806         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
58807         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
58808         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
58809         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
58810         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
58811         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
58812         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
58813         for these modules.
58814
58815 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
58816
58817         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
58818         (which shouldn't happen), generate nothing instead of returning 0
58819         immediately, so that nstrftime (NULL, ...) doesn't return 0.
58820
58821 2005-03-16  Bruno Haible  <bruno@clisp.org>
58822
58823         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
58824         HAVE_LONGLONG_64BIT.
58825
58826 2005-03-16  Bruno Haible  <bruno@clisp.org>
58827
58828         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
58829         HAVE_LONGLONG_64BIT.
58830
58831 2005-03-16  Bruno Haible  <bruno@clisp.org>
58832
58833         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
58834         HAVE_LONGLONG_64BIT.
58835
58836 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
58837
58838         * lib/strftime.c (my_strftime): Prepend space to format so that we can
58839         reliably distinguish strftime failure from empty output on POSIX
58840         hosts.
58841
58842 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
58843
58844         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
58845         (iconv_string): Don't guess a size-zero buffer, as that might cause
58846         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
58847         result would be 'too large', where 'too large' is (heuristically)
58848         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
58849         overflow concerns.  This will prevent some unwanted malloc failures
58850         when the inputs are very large.
58851
58852 2005-03-15  Karl Berry  <karl@gnu.org>
58853
58854         * config/srclist.txt (config.rpath): from gettext.
58855         * config/config.rpath: update.
58856
58857 2005-03-15  Bruno Haible  <bruno@clisp.org>
58858
58859         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
58860         to 'negate'.
58861
58862         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
58863         variable.
58864
58865         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
58866         results.
58867
58868 2005-03-14  Simon Josefsson  <jas@extundo.com>
58869
58870         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
58871         <fx@gnu.org>.
58872
58873 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
58874
58875         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
58876         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
58877         intprops.h.
58878         * lib/strtol.c: Likewise.
58879
58880 2005-03-14  Jim Meyering  <jim@meyering.net>
58881
58882         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
58883         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
58884         to be nonzero so that we (and caller) can detect the difference
58885         between a valid zero-length expansion and an error return, even
58886         when the underlying strftime fails before writing anything into
58887         that location.
58888
58889 2005-03-14  Bruno Haible  <bruno@clisp.org>
58890
58891         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
58892         Update from GNU gettext 0.14.3.
58893
58894 2005-03-10  Jim Meyering  <jim@meyering.net>
58895
58896         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
58897
58898 2005-03-10  Jim Meyering  <jim@meyering.net>
58899
58900         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
58901         so that this module works on systems without fchdir.
58902
58903 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
58904
58905         Factor int-properties macros into a single file, except for
58906         glibc-related files.
58907         * lib/intprops.h: New file.
58908         * lib/getloadavg.c: Include it instead of limits.h.
58909         (INT_STRLEN_BOUND): Remove.
58910         * lib/human.c: Include intprops.h.
58911         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
58912         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
58913         302/1000.
58914         * lib/inttostr.h: Include intprops.h instead of limits.h.
58915         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
58916         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
58917         for consistency with intprops.h.
58918         (time_t_is_integer, twos_complement_arithmetic): Use them.
58919         * lib/sig2str.h: Include <signal.h>, intprops.h.
58920         (INT_STRLEN_BOUND): Remove.
58921         * lib/strftime.c (TYPE_SIGNED): Remove.
58922         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
58923         * lib/strtol.c: Adjust comments to match intprops.h.
58924         * lib/userspec.c: Include intprops.h.
58925         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
58926         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
58927         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
58928         instead of rolling our own expressions.
58929         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
58930
58931         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
58932         instead of int.
58933         (my_strftime): Do not mishandle years close to INT_MAX, by doing
58934         the right thing even if adding 1900 would overflow.  Similarly
58935         for tm_mon + 1 and tm_yday + 1.
58936         Make %Y always equivalent to %C%y, and similarly for %G and %g.
58937         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
58938         (DO_SIGNED_NUMBER): New macro.
58939         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
58940
58941 2005-03-07  Bruno Haible  <bruno@clisp.org>
58942
58943         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
58944
58945 2005-03-07  Bruno Haible  <bruno@clisp.org>
58946
58947         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
58948
58949 2005-03-04  Derek R. Price  <derek@ximbiot.com>
58950
58951         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
58952         (func_import): Only replace files via --import when they have actually
58953         changed.
58954
58955 2005-03-03  Derek R. Price  <derek@ximbiot.com>
58956
58957         * m4/mmap-anon.m4: New file.
58958         * m4/pagealign_alloc.m4: New file.
58959
58960 2005-03-03  Derek R. Price  <derek@ximbiot.com>
58961             Bruno Haible  <bruno@clisp.org>
58962
58963         * modules/pagealign_alloc: New file.
58964         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
58965
58966 2005-03-03  Derek R. Price  <derek@ximbiot.com>
58967             Bruno Haible  <bruno@clisp.org>
58968
58969         * lib/pagealign_alloc.h: New file.
58970         * lib/pagealign_alloc.c: New file.
58971
58972 2005-03-03  Bruno Haible  <bruno@clisp.org>
58973
58974         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
58975         Use an all-permissive copyright notice, recommended by RMS.
58976
58977 2005-03-02  Bruno Haible  <bruno@clisp.org>
58978
58979         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
58980         of AIX, the replacement has to be done only after <string.h> is
58981         included, therefore not in config.h. stpncpy.h does the replacement,
58982         and stpncpy.c uses it.
58983
58984 2005-03-02  Bruno Haible  <bruno@clisp.org>
58985
58986         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
58987         stpncpy.c uses it.
58988
58989 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
58990
58991         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
58992         The workaround isn't strictly needed for POSIX conformance, and
58993         it's too much of a pain to configure and maintain.  We'll ask
58994         people to fix their kernels instead.
58995         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
58996         (NANOSLEEP_BUG_WORKAROUND): Remove.
58997         (xnanosleep): Remove the workaround.
58998
58999 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59000
59001         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
59002         Reported by Derek Price.
59003         (Include): Add "timespec.h".
59004
59005         * modules/xnanosleep (Depends-on): Remove gethrxtime.
59006
59007 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59008
59009         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
59010         to detect nanosleep bug.
59011
59012 2005-03-01  Bruno Haible  <bruno@clisp.org>
59013
59014         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
59015
59016 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
59017
59018         * modules/gethrxtime: New file.
59019         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
59020         (Depends-on): Add gethrxtime.
59021         (configure.ac): Add gl_XNANOSLEEP.
59022         (Makefile.am): Remove lib_SOURCES line.
59023
59024 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59025
59026         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
59027         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
59028
59029 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59030
59031         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
59032         * lib/timespec.h (gettime): Return void, since it always
59033         succeeds now.  All uses changed.
59034         * lib/gettime.c (gettime) Likewise.
59035         [HAVE_NANOTIME]: Prefer nanotime.
59036         Assume gettimeofday succeeds, as POSIX requires.
59037         Assime time () succeeds, since other code already does.
59038         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
59039         (timespec_subtract): Remove.
59040         (NANOSLEEP_BUG_WORKAROUND): New constant.
59041         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
59042         things considerably.  Use it only on GNU/Linux hosts, since the
59043         workaround shouldn't be needed elsewhere.
59044
59045 2005-02-24  Bruno Haible  <bruno@clisp.org>
59046
59047         * modules/gettext (Files): Add m4/glibc2.m4.
59048
59049 2005-02-24  Bruno Haible  <bruno@clisp.org>
59050
59051         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
59052         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
59053         * m4/progtest.m4:
59054         Update from GNU gettext 0.14.2.
59055         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
59056
59057 2005-02-24  Bruno Haible  <bruno@clisp.org>
59058
59059         * lib/localcharset.c: Update from GNU gettext 0.14.2.
59060         * lib/config.charset: Update from GNU gettext 0.14.2.
59061
59062 2005-02-24  Bruno Haible  <bruno@clisp.org>
59063
59064         * lib/gettext.h: Update from GNU gettext 0.14.2.
59065
59066 2005-02-23  Simon Josefsson  <jas@extundo.com>
59067
59068         * m4/iconvme.m4: New file.
59069
59070 2005-02-23  Jim Meyering  <jim@meyering.net>
59071
59072         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
59073         change.
59074         Thanks to Bruno Haible for catching it.
59075
59076 2005-02-22  Simon Josefsson  <jas@extundo.com>
59077
59078         * modules/iconvme: New file.
59079
59080         * MODULES.html.sh: Add iconvme.
59081
59082 2005-02-22  Simon Josefsson  <jas@extundo.com>
59083
59084         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
59085
59086 2005-02-22  Simon Josefsson  <jas@extundo.com>
59087
59088         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
59089
59090 2005-02-22  Jim Meyering  <jim@meyering.net>
59091
59092         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
59093         s/ifndef/ifdef/.
59094
59095 2005-02-20  Neil Conway  <neilc@samurai.com>
59096
59097         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
59098         returned by OSX/Darwin if the specified buffer is not large
59099         enough for the hostname.
59100
59101 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59102
59103         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
59104         pass it to _help, otherwise the latter coredumps trying to
59105         dereference state.root_argp.
59106
59107 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59108
59109         * modules/chdir-long (Depends-on): Add memrchr.
59110         * modules/memrchr (Files): Add lib/memrchr.h.
59111         (Include): "memrchr.h".
59112
59113 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59114
59115         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
59116
59117 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59118
59119         * lib/memrchr.h: New file.
59120         * lib/chdir-long.c: Include it.
59121         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
59122         Don't bother including stddef.h.
59123
59124 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
59125
59126         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
59127         inclusion.
59128         Include <sys/types.h>, for dev_t.
59129         (ME_DUMMY, ME_REMOTE): Move from here....
59130         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
59131         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
59132         Dmitry V. Levin.
59133         Include mountlist.h first, to test the interface.
59134
59135 2005-01-29  Bruno Haible  <bruno@clisp.org>
59136
59137         * lib/progname.c (program_name): Initialize.
59138         Needed when linking statically on MacOS X.
59139
59140 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59141
59142         Sync from coreutils.
59143         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
59144         (Depends-on): Add c-strtod.
59145         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
59146
59147 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59148
59149         Sync from coreutils.
59150         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
59151
59152         Remove files that are specific to coreutils.
59153         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
59154
59155 2005-01-28  Bruno Haible  <bruno@clisp.org>
59156
59157         * modules/javacomp: New file.
59158         * MODULES.html.sh (Java): Add javacomp.
59159
59160 2005-01-28  Bruno Haible  <bruno@clisp.org>
59161
59162         * m4/javacomp.m4: New file, from GNU gettext.
59163
59164 2005-01-28  Bruno Haible  <bruno@clisp.org>
59165
59166         * lib/javacomp.sh.in: New file, from GNU gettext.
59167         * lib/javacomp.h: New file, from GNU gettext.
59168         * lib/javacomp.c: New file, from GNU gettext.
59169
59170 2005-01-26  Simon Josefsson  <jas@extundo.com>
59171
59172         * lib/gai_strerror.c: Use GPL in header.
59173
59174 2005-01-26  Bruno Haible  <bruno@clisp.org>
59175
59176         * modules/javaexec: New file.
59177         * MODULES.html.sh (Java): Add javaexec.
59178
59179 2005-01-26  Bruno Haible  <bruno@clisp.org>
59180
59181         * m4/javaexec.m4: New file, from GNU gettext.
59182
59183 2005-01-26  Bruno Haible  <bruno@clisp.org>
59184
59185         * lib/javaexec.sh.in: New file, from GNU gettext.
59186         * lib/javaexec.h: New file, from GNU gettext.
59187         * lib/javaexec.c: New file, from GNU gettext.
59188
59189 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59190
59191         * modules/lchown (Depends-on): Remove lchown.h
59192
59193 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59194
59195         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
59196         must be defined if the header file was not found, in order
59197         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
59198
59199 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59200
59201         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
59202         initializers for struct pentry_state.
59203         (__argp_error): Check return value of __asprintf
59204         (__argp_failure): Translate error message
59205
59206         * lib/argp-parse.c: Removed braces around the expansion of N_()
59207
59208 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59209
59210         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
59211         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
59212         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
59213         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
59214         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
59215         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
59216         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
59217         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
59218         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
59219         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
59220         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
59221         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
59222         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
59223         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
59224         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
59225         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
59226         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
59227         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
59228         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
59229         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
59230         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
59231         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
59232         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
59233         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
59234         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
59235         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
59236         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
59237         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
59238         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
59239         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
59240         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
59241         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
59242         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
59243         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
59244         xstrtol.m4, xstrtoumax.m4, yesno.m4:
59245         Use an all-permissive copyright notice, recommended by RMS.
59246
59247 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
59248
59249         * modules/chdir-long (Depends-on): Remove mempcpy.
59250
59251 2005-01-21  Jim Meyering  <jim@meyering.net>
59252
59253         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
59254         same value as for Solaris 9.
59255
59256         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
59257         component length.  This included changing the parameter to be
59258         of type `char *' rather than `char const *'.
59259         * lib/chdir-long.h (chdir_long): Update prototype.
59260
59261         * lib/openat.c (fdopendir, fstatat): New functions.
59262         * lib/openat.h: Include headers required for use of DIR and struct
59263         stat.
59264         [AT_SYMLINK_NOFOLLOW]: Define.
59265         (fdopendir, fstatat): Add prototypes.
59266
59267 2005-01-21  Bruno Haible  <bruno@clisp.org>
59268
59269         * modules/classpath: New file.
59270         * MODULES.html.sh (Java): Add classpath.
59271
59272 2005-01-21  Bruno Haible  <bruno@clisp.org>
59273
59274         * lib/classpath.h: New file, from GNU gettext.
59275         * lib/classpath.c: New file, from GNU gettext.
59276
59277 2005-01-20  Simon Josefsson  <jas@extundo.com>
59278
59279         * modules/version-etc-fsf: New file.
59280
59281 2005-01-20  Simon Josefsson  <jas@extundo.com>
59282
59283         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
59284         * lib/version-etc.c: Remove version_etc_copyright.
59285         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
59286         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
59287
59288 2005-01-20  Simon Josefsson  <jas@extundo.com>
59289
59290         * lib/base64.h (isbase64): Add.
59291
59292         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
59293         using a unsigned prototype, don't inline.
59294         (base64_decode): Use it.
59295
59296 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59297
59298         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
59299         it.
59300
59301 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59302
59303         * lib/save-cwd.c (save_cwd): Remove code to support the case
59304         where fchdir is missing or flaky.
59305
59306 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59307
59308         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
59309
59310 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59311
59312         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
59313         AC_LIBSOURCES now does this.
59314         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
59315         with new ullong_max module.
59316
59317 2005-01-19  Bruno Haible  <bruno@clisp.org>
59318
59319         * modules/sh-quote: New file.
59320         * MODULES.html.sh (Executing programs): Add sh-quote.
59321
59322 2005-01-19  Bruno Haible  <bruno@clisp.org>
59323
59324         * lib/sh-quote.h: New file, from GNU gettext.
59325         * lib/sh-quote.c: New file, from GNU gettext.
59326
59327 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59328
59329         Merge from coreutils.
59330         * m4/ullong_max.m4: New file.
59331         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
59332         (gl_MACROS): Assume localeconv exists.
59333
59334 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59335
59336         Merge changes from coreutils, as described below in several
59337         changelogs dated today.
59338
59339         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
59340         (O_DIRECTORY): Remove; not needed here, since "." must be
59341         a directory.  All uses removed.
59342         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
59343         universal on Suns, and we also need to test for IRIX.
59344         Revamp code to use 'if' rather than '#if'.
59345         Avoid unnecessary comparison of cwd->desc to 0.
59346
59347         * lib/utimens.c (futimens): Robustify the previous patch, by checking
59348         for known valid error numbers rather than observed invalid ones.
59349
59350 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59351
59352         * modules/ullong_max: New file.
59353
59354         * modules/chdir-long, modules/openat: New files.
59355         * modules/save-cwd (Depends-on): Depend on chdir-long.
59356         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
59357
59358 2005-01-18  Jim Meyering  <jim@meyering.net>
59359
59360         Merge from coreutils.
59361         * m4/chdir-long.m4, m4/openat.m4: New files.
59362         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
59363         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
59364         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
59365         is sane and DOES follow symlinks.  Besides, testing 20 different
59366         systems found no broken chown implementations.
59367         Prompted by a change in rsync's copy of this macro.
59368         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
59369
59370         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
59371
59372         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
59373         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
59374         NULL-means-set-to-current-time semantics.
59375         Remove temporary file immediately, rather than waiting
59376         for configure's at-exit trap code to do it.
59377
59378 2005-01-18  Jim Meyering  <jim@meyering.net>
59379
59380         * lib/version-etc.c (version_etc_copyright): Update copyright date.
59381
59382         * lib/utimens.c (futimens): Account for the fact that futimes
59383         can also fail with errno == ENOSYS or errno == ENOENT.
59384         Patch from Dmitry V. Levin.
59385
59386         Change the name of the robust chdir function from chdir to chdir_long.
59387         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
59388         (restore_cwd): Use chdir_long, not chdir.
59389         * lib/chdir-long.c: Renamed from chdir.c.
59390         * lib/chdir-long.h: Renamed from chdir.h.
59391         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
59392         Hurd.
59393
59394 2005-01-18  Bruno Haible  <bruno@clisp.org>
59395
59396         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
59397         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
59398         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
59399         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
59400         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
59401         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
59402         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
59403         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
59404         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
59405         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
59406         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
59407         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
59408         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
59409         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
59410         Use an all-permissive copyright notice, recommended by RMS.
59411
59412 2005-01-18  Bob Proulx  <bob@proulx.com>
59413
59414         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
59415         simplify offsetof() macro construct to avoid compile failure with
59416         native HP-UX 11.0 ANSI C compiler.
59417
59418 2005-01-17  Bruno Haible  <bruno@clisp.org>
59419
59420         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
59421         redundant because stpncpy.m4 takes care of it.
59422
59423 2005-01-17  Bruno Haible  <bruno@clisp.org>
59424
59425         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
59426
59427 2005-01-17  Bruno Haible  <bruno@clisp.org>
59428
59429         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
59430         used.
59431
59432 2005-01-17  Bruno Haible  <bruno@clisp.org>
59433
59434         * lib/fwriteerror.h (fwriteerror): Change specification to include
59435         fclose.
59436         * lib/fwriteerror.c: Include <stdbool.h>.
59437         (fwriteerror): At the end, close the file stream. Record whether
59438         stdout was already closed.
59439
59440 2005-01-17  Bruno Haible  <bruno@clisp.org>
59441
59442         * lib/execute.c (environ): Declare if needed.
59443         * lib/pipe.c (environ): Likewise.
59444         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
59445
59446 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59447
59448         * modules/argp: Depend on vsnprintf
59449
59450 2005-01-10  Jim Meyering  <jim@meyering.net>
59451
59452         * modules/closeout (Depends-on): Add atexit.
59453
59454 2005-01-06  Bruno Haible  <bruno@clisp.org>
59455
59456         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
59457
59458 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59459
59460         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
59461         definitions to be after all include files, to avoid collisions.
59462         Problem reported by Bob Proulx.
59463
59464 2005-01-04  Jim Meyering  <jim@meyering.net>
59465
59466         Changes imported from coreutils.
59467         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
59468         as the mkstemp template, use a temporary directory and an
59469         8.3-friendly template to avoid trouble on systems like DJGPP.
59470         Reported by Juan M. Guerrero via Stepan Kasal.
59471         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
59472         close. Remove the temporary directory right away, rather than waiting
59473         for configure's at-exit trap code to do it.
59474         Suggestion from Stepan Kasal.
59475
59476 2005-01-01  Simon Josefsson  <jas@extundo.com>
59477
59478         * gnulib-tool: Print #include directives when --import'ing.
59479
59480 2004-12-28  Simon Josefsson  <jas@extundo.com>
59481
59482         * tests/test-base64.c: Include required header files.  Remove
59483         unused variables.
59484
59485 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
59486
59487         * modules/error (Depends-on): Remove gettext.
59488
59489 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
59490
59491         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
59492         not needed.  This removes a dependency on the gettext module.
59493         [defined _LIBC]: Do not include <libintl.h>; not needed.
59494
59495 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
59496
59497         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
59498         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
59499
59500 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
59501
59502         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
59503         HAVE_DECL_STRTOLD.
59504
59505 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59506
59507         * modules/getdate (Depends-on): Remove alloca-opt.
59508
59509 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59510
59511         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
59512
59513 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59514
59515         * lib/argp-parse.c: Include <stddef.h>.
59516         (alignof, alignto): New macros.
59517         (parser_init): Don't assume that void * is aligned sufficiently
59518         for struct option.
59519
59520         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
59521         need to extend the stack.
59522         (YYINITDEPTH): New macro, so that the initial stack isn't overly
59523         large.
59524
59525 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59526
59527         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
59528
59529 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
59530
59531         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
59532         (2004-10-24) change.  Apparently this was a false alarm.
59533
59534         * modules/getdate: Depend on alloca-opt, not alloca.
59535
59536 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
59537
59538         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
59539         Remove now-obsolete comment about AIX.
59540         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
59541         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
59542         (YYMAXDEPTH): New macro.
59543
59544 2004-12-18  Simon Josefsson  <jas@extundo.com>
59545
59546         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
59547
59548 2004-12-18  Bruno Haible  <bruno@clisp.org>
59549
59550         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
59551
59552 2004-12-18  Bruno Haible  <bruno@clisp.org>
59553
59554         * lib/fatal-signal.c (fatal_signals): Make non-const.
59555         (init_fatal_signals): New function.
59556         (uninstall_handlers, install_handlers): Ignore signals that were set to
59557         SIG_IGN.
59558         (at_fatal_signal): Call init_fatal_signals.
59559         (init_fatal_signal_set): Likewise. Ignore signals that were set to
59560         SIG_IGN.
59561         Reported by Paul Eggert.
59562
59563 2004-12-18  Bruno Haible  <bruno@clisp.org>
59564
59565         * doc/alloca.texi: New file.
59566         * doc/alloca-opt.texi: New file.
59567
59568 2004-12-17  Jim Meyering  <jim@meyering.net>
59569
59570         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
59571         Otherwise, install-sh could exit with improper exit status when
59572         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
59573
59574 2004-12-16  Simon Josefsson  <jas@extundo.com>
59575
59576         * tests/test-base64.c: Add license.
59577
59578 2004-12-15  Stepan Kasal  <address@hidden>
59579
59580         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
59581
59582 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
59583
59584         * modules/getcwd (Files): Add m4/d-ino.m4.
59585         Suggested by Mark D. Baushke.
59586
59587 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
59588
59589         * lib/getdate.y (textint): New member "negative".
59590         (time_zone_hhmm): New function.
59591         Expect 14 shift-reduce conflicts, not 13.
59592         (o_colon_minutes): New rule.
59593         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
59594         (yylex): Set the "negative" member of signed numbers.
59595
59596 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
59597
59598         * doc/getdate.texi (Time of day items, Time zone items):
59599         Describe new formats +00:00, UTC+00:00.
59600
59601 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
59602
59603         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
59604         spurious "-l"s.  Problem reported by Stepan Kasal.
59605
59606 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
59607
59608         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
59609         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
59610
59611 2004-12-04  Simon Josefsson  <jas@extundo.com>
59612
59613         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
59614         Vandoorselaere <yoann@prelude-ids.org>.
59615
59616 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59617
59618         Changes imported from coreutils.
59619         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
59620         exist.
59621         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
59622
59623 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59624
59625         Changes imported from coreutils.
59626         * lib/hard-locale.c: Assume <locale.h> exists.
59627         Include "strdup.h".
59628         (GLIBC_VERSION): New macro.
59629         (hard_locale): Assume setlocale exists.
59630         Rewrite to avoid #ifdef.
59631         Use strdup rather than malloc + strcpy.
59632         * lib/human.c: Assume <locale.h> exists.
59633         (human_readable): Assume localeconv exists.
59634
59635 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59636
59637         * modules/hard-locale (Depends-on): Add strdup.
59638
59639 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
59640
59641         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
59642         convert T2, not T.  (Imported from libc.)
59643
59644 2004-11-30  Simon Josefsson  <jas@extundo.com>
59645
59646         * modules/restrict (License): Change to LGPL.
59647
59648 2004-11-30  Simon Josefsson  <jas@extundo.com>
59649
59650         * m4/restrict.m4: Add copyright and copying conditions.
59651
59652 2004-11-30  Simon Josefsson  <jas@extundo.com>
59653
59654         * m4/base64.m4: New file.
59655
59656 2004-11-30  Simon Josefsson  <jas@extundo.com>
59657
59658         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
59659         base64.
59660
59661         * tests/test-base64.c: New file.
59662
59663         * modules/base64: New file.
59664
59665 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
59666
59667         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
59668         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
59669
59670         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
59671
59672 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
59673
59674         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
59675         (__getcwd.c): Don't restore errno; glibc doesn't.
59676         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
59677         first, falling back to our code only if its results look suspicious.
59678         Ensure that the resulting buffer is only as large as necessary.
59679
59680         * lib/readutmp.c: Include readutmp.h first.
59681         Include <errno.h>, since readutmp.h no longer does that.
59682         * lib/readutmp.h: Don't include <errno.h>,
59683         <sys/param.h>, <time.h>; not needed to establish interface.
59684         (errno): Remove decl.
59685         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
59686         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
59687         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
59688
59689 2004-11-28  Simon Josefsson  <jas@extundo.com>
59690
59691         * lib/base64.h, base64.c: New file.
59692
59693 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
59694
59695         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
59696
59697 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
59698
59699         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
59700         (Depends-on): Remove pathmax, same.  Add mempcpy.
59701         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
59702         (Makefile.am): Append getcwd.h to lib_SOURCES.
59703         (Include): Add getcwd.h.
59704         (Maintainer): Change from Jim Meyering to "all, glibc",
59705         since getdate now uses intended-for-glibc code.
59706         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
59707         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
59708
59709 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
59710
59711         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
59712         HP's ANSI C compiler.
59713         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
59714         Declaring int functions causes warnings on some modern systems and
59715         shouldn't be needed to compile on ancient ones.
59716         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
59717         defined.
59718
59719         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
59720         with the following changes.
59721         (__set_errno): Parenthesize properly.
59722         Include <stdbool.h>.
59723         (MIN, MAX, MATCHING_INO): New macros.
59724         (__getcwd): Define with prototype, not K&R form.
59725         Use heuristics to allocate default buffer on stack if possible.
59726         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
59727         behavior, and to avoid the PATH_MAX limit when computing
59728         ../../../../...
59729         Use MATCHING_INO to compare inode number to file.
59730         Check for arithmetic overflow in size calculations.
59731         Fix bug in reallocation of dot array that caused getcwd to fail
59732         on directories nested deeper than 75.
59733         Be more careful about saving errno on error.
59734         Do not use realloc; use only free+malloc, as this is a bit
59735         more flexible and avoids a needless copy operation.
59736         Do not inspect st_dev and st_ino for symbolic links; POSIX
59737         doesn't specify the latter.
59738         Check for closedir errors.
59739         Avoid needless casts.
59740         Use "#ifdef weak_alias" around weak_alias, to be like other
59741         glibc code.
59742         The following changes to getcwd.c have effect only when used in
59743         gnulib; they have no effect inside glibc proper.
59744         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
59745         as alloca isn't used.
59746         (alloca, __alloca): Likewise.
59747         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
59748         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
59749         unconditionally, as gnulib assumes C89 or better.
59750         Do not include <sys/param.h>.
59751         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
59752         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
59753         better.
59754         (NULL) [!defined NULL]: Remove; we assume C89 or better.
59755         Include <dirent.h> in a way that is compatible with modern Autoconf.
59756         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
59757         New macros, if not already defined.
59758         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
59759         Use "_LIBC", not "defined _LIBC", for consistency.
59760         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
59761         a mempcpy module.
59762         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
59763         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
59764         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
59765         credit only to Jim Meyering and adjust the copyright dates.
59766         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
59767         <stdlib.h>, <unistd.h>, "pathmax.h".
59768         Instead, include "xgetcwd.h" (first) and "getcwd.h".
59769         (INITIAL_BUFFER_SIZE): Remove.
59770         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
59771
59772 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
59773
59774         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
59775         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
59776         Use the _ONCE methods, for efficiency.
59777         Check for fcntl.h.  In test program, include <errno.h>
59778         and <fcntl.h> if available.  Remove old K&R cruft from
59779         test program.  Check for common errors in GNU/Linux,
59780         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
59781         don't do AC_LIBOBJ, as that's getcwd.m4's job.
59782         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
59783         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
59784         name accordingly.
59785         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
59786         accommodate new getcwd.c.
59787         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
59788         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
59789         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
59790         that's all we need now.
59791
59792 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59793
59794         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
59795         argp-parse.c depends on getopt internals, that means we should
59796         always use our getopt, to be on the safe side.
59797         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
59798         order not to spoil the result of an eventual previous invocation
59799         of gl_GETOPT_SUBSTITUTE.
59800
59801 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59802
59803         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
59804         redefinition warnings. To avoid them, include the defines
59805         in `#if !defined __need_getopt ... #endif'. The only place
59806         where __getopt_argv_const is used is in definitions
59807         of getopt_long and getopt_long_only below, which are as well
59808         protected by `#ifndef __need_getopt'.
59809         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
59810         __need_getopt after including <stdio.h> and <unistd.h> These
59811         headers might have defined it.
59812
59813 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
59814
59815         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
59816
59817 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
59818
59819         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
59820         (futimens): New function, which uses futimes if available.
59821         (futimens, utimens): Support timespec==NULL, with same semantics
59822         as utime and utimens.
59823         * lib/utimens.h (futimens): New decl.
59824
59825 2004-11-23  Jim Meyering  <jim@meyering.net>
59826
59827         * lib/getopt_.h: Remove trailing blanks.
59828
59829 2004-11-23  Jim Meyering  <jim@meyering.net>
59830
59831         * lib/__fpending.c: Add comment.
59832
59833 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
59834
59835         * modules/canonicalize (Depends-on): Add xreadlink.
59836         Problem reported by James Youngman.
59837
59838 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
59839
59840         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
59841         New macros.
59842         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
59843         optopt): Use them instead of invoking ## directly; otherwise, the
59844         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
59845
59846 2004-11-19  Bruno Haible  <bruno@clisp.org>
59847
59848         * lib/strtok_r.c: Move comments from here...
59849         * lib/strtok_r.h: ... to here.
59850
59851 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
59852
59853         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
59854         implementations that mishandle size_t overflow.
59855
59856 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
59857
59858         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
59859         might fail.  Problem reported by Yoann Vandoorselaere.
59860         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
59861         implementations that mishandle size_t overflow.
59862
59863 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59864
59865         * modules/canon-host (Depends-on): Add strdup.
59866
59867 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59868
59869         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
59870
59871 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59872
59873         * lib/canon-host.c: Include "strdup.h".
59874         (canon_host): Use getaddrinfo if available, so that IPv6 works.
59875         Use strdup instead of malloc/strcpy to duplicate strings.
59876
59877         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
59878         (human_space_before_unit): New constant.
59879         * lib/human.c (human_readable): Support it.
59880
59881         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
59882         (xgetcwd): Set errno correctly when failing.
59883         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
59884         the failure is actually due to a PATH_MAX problem.
59885
59886         Further getopt changes to make it more likely that glibc will
59887         buy the changes back.
59888         * lib/getopt.c (POSIXLY_CORRECT): New constant.
59889         (getopt): Use it, so to preserve glibc semantic
59890         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
59891         when compiling for libc.
59892         * lib/getopt_.h (__getopt_argv_const): Bring it back.
59893         (getopt_long, getopt_long_only): Use it.
59894
59895         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
59896         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
59897         (getopt): Argv is now char * const *, as per standard.
59898         (_getopt_internal_r, _getopt_internal): Argv is now char **,
59899         not char *__getopt_argv_const *.
59900         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
59901         _getopt_long_only_r): Likewise.
59902         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
59903         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
59904         _getopt_long_r, _getopt_long_only_r): Likewise.
59905         * lib/getopt_.h (__getopt_argv_const): Remove.
59906         (getopt): Argv is now char * const *, as per standard.
59907
59908         * lib/getdate.y (tORDINAL): New token.
59909         (day, relunit): Allow it for relative times.
59910         (relative_time_table): Use tORDINAL for ordinals.
59911
59912 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59913
59914         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
59915         Document that "second" isn't allowed as an ordinal number.
59916
59917 2004-11-16  Jim Meyering  <jim@meyering.net>
59918
59919         * modules/closeout (Depends-on): Add fpending.
59920
59921 2004-11-15  Jim Meyering  <jim@meyering.net>
59922
59923         * lib/closeout.c: Include "__fpending.h" once again.
59924         Include <stdbool.h>.
59925         (close_stdout): Don't fail just because stdout was closed initially,
59926         since some programs don't write to stdout in the normal course of
59927         operation (other than --version and --help), and we don't want this
59928         function to make e.g. `touch file >&-' fail.
59929         But do fail if it was closed and someone has tried to write to it.
59930         E.g., `printf foo >&-' must fail.
59931
59932 2004-11-13  Jim Meyering  <jim@meyering.net>
59933
59934         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
59935
59936 2004-11-12  Simon Josefsson  <jas@extundo.com>
59937
59938         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
59939         small doc fix is still pending.
59940
59941 2004-11-11  Simon Josefsson  <jas@extundo.com>
59942
59943         * modules/strtok_r: New file.
59944
59945         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59946         strtok_r.
59947
59948 2004-11-11  Simon Josefsson  <jas@extundo.com>
59949
59950         * m4/strtok_r.m4: New file.
59951
59952         * m4/getopt.m4: Replace opterr.
59953
59954 2004-11-11  Simon Josefsson  <jas@extundo.com>
59955
59956         * lib/strtok_r.h, strtok_r.c: New file.
59957
59958 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
59959
59960         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
59961         of replacing opterr, getopt, etc.  This should handle the
59962         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
59963
59964 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
59965
59966         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
59967         we can stop lying to compilers about the constness of argv when we
59968         are compiled outside glibc.
59969         (getopt, getopt_long, getopt_long_only): Use it.
59970         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
59971         _getopt_internal, getopt): Likewise.
59972         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
59973         _getopt_long_only_r): Likewise.
59974         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
59975         _getopt_long_r, _getopt_long_only_r): Likewise.
59976
59977         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
59978         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
59979         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
59980         the other external symbols.
59981         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
59982         declaration, since the above renaming now works around collisions.
59983
59984 2004-11-11  Jim Meyering  <jim@meyering.net>
59985
59986         * lib/linebreak.c: Remove trailing blanks.
59987         * lib/alloca_.h: Likewise.
59988         * lib/acosl.c: Likewise.
59989         * lib/euidaccess.c: Likewise.
59990         * lib/allocsa.h: Likewise.
59991
59992 2004-11-10  Simon Josefsson  <jas@extundo.com>
59993
59994         * m4/getaddrinfo.m4: New file.
59995
59996 2004-11-10  Simon Josefsson  <jas@extundo.com>
59997
59998         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
59999
60000 2004-11-10  Simon Josefsson  <jas@extundo.com>
60001
60002         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60003         getaddrinfo.
60004
60005         * modules/getaddrinfo: New file.
60006
60007 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60008
60009         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
60010
60011 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60012
60013         * lib/mktime.c (SHR): New macro, which is a portable
60014         substitute for >> that should work even on Crays.
60015         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
60016         Problem reported by Mark D. Baushke in
60017         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
60018         * lib/getdate.y (SHR): Likewise.
60019         (tm_diff): Use it.
60020         * lib/strftime.c (SHR): Likewise.
60021         (tm_diff): Use it.
60022         * lib/quotearg.c (struct quoting_options): Use unsigned int for
60023         quote_these_too, so that right shifts are well defined.  All uses
60024         changed.
60025
60026 2004-11-10  Jim Meyering  <jim@meyering.net>
60027
60028         Ensure that no close failure goes unreported.
60029         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
60030         return early when it seems there's nothing to flush.
60031         Don't include __fpending.h.
60032
60033 2004-11-10  Jim Meyering  <jim@meyering.net>
60034
60035         * modules/closeout (Depends-on): Remove fpending.
60036
60037 2004-11-10  Jim Meyering  <jim@meyering.net>
60038
60039         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
60040
60041 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60042
60043         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
60044         gl_FUNC_STRFTIME.
60045         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
60046         and AC_REQUIRE when possible, to avoid duplicate checks.
60047         Check for <wchar.h>.
60048
60049 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60050
60051         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
60052
60053 2004-11-09  Bruno Haible  <bruno@clisp.org>
60054
60055         * m4/sockpfaf.m4: New file.
60056
60057 2004-11-05  Bruno Haible  <bruno@clisp.org>
60058
60059         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
60060         Reported by Mark D. Baushke <mdb@cvshome.org>.
60061
60062 2004-11-04  Bruno Haible  <bruno@clisp.org>
60063
60064         2004-09-11  Bruno Haible  <bruno@clisp.org>
60065                 * allocsa.valgrind: New file.
60066         2004-02-06  Bruno Haible  <bruno@clisp.org>
60067                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
60068                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
60069                 Reported by Christopher Seip <chris.seip@hp.com>.
60070
60071 2004-11-04  Bruno Haible  <bruno@clisp.org>
60072
60073         * modules/allocsa (Files): Add lib/allocsa.valgrind.
60074         (Makefile.am): Distribute it.
60075
60076 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
60077
60078         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
60079         with errno == ERANGE if the buffer is too small.
60080         Problem reported by Mark D. Baushke.
60081
60082 2004-11-03  Albert Chin  <china@thewrittenword.com>
60083             Paul Eggert  <eggert@cs.ucla.edu>
60084
60085         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
60086         equivalent, substitute $ac_type for equivalent type rather than
60087         blindly using uint32_t *always* which won't work if uint32_t is not
60088         available.  Define _UINT32_T to work around typedef of uint32_t if
60089         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
60090         2.5.1.
60091
60092 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60093
60094         * m4/jm-macros.m4: Sync from coreutils.
60095         (gl_MACROS): Check for mbrlen, for pathchk.
60096         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
60097
60098 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60099
60100         * lib/xreadlink.c (MAXSIZE): New macro.
60101         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
60102         size does not exceed MAXSIZE.  Avoid cast.
60103         As suggested by Mark D. Baushke in
60104         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
60105         if readlink fails with buffer size just under MAXSIZE, try again
60106         with MAXSIZE.
60107
60108 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60109
60110         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
60111
60112 2004-11-02  Derek R. Price  <derek@ximbiot.com>
60113         and  Paul Eggert  <eggert@cs.ucla.edu>
60114
60115         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
60116         (get_date): Overparenthesize to avoid GCC warning.
60117
60118 2004-11-02  Bruno Haible  <bruno@clisp.org>
60119
60120         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
60121         returns void.
60122
60123 2004-11-02  Bruno Haible  <bruno@clisp.org>
60124
60125         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
60126         function returns void.
60127
60128 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60129
60130         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
60131         fflush_unlocked, flockfile, funlockfile, funlockfile,
60132         fputs_unlocked, putc_unlocked.
60133
60134 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60135
60136         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
60137         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
60138         already declared.
60139
60140 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60141
60142         * modules/getdate (Files): Add doc/getdate.texi.
60143         (Depends-on): Add setenv, xalloc.
60144
60145 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60146
60147         * lib/getdate.y: Add support for TZ="foo" within a date string.
60148         Fix some bugs near time_t boundaries.  Reject dates with
60149         out-of-range components, e.g., "Sept 31".
60150         Include <stdlib.h>, "setenv.h", "xalloc.h".
60151         (ISDIGIT_LOCALE): Remove; unused.
60152         Note that the TZ and time functions used here are not reentrant.
60153         (mktime_ok, get_tz): New functions.
60154         (TZBUFSIZE): New constant.
60155         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
60156         This requires that we sometimes generate our own TZ="XXX..." setting.
60157
60158 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60159
60160         * doc/getdate.texi: New file, from coreutils with modifications for
60161         the new TZ parsing.
60162
60163 2004-10-27  Derek R. Price  <derek@ximbiot.com>
60164
60165         * lib/mktime.c (not_equal_tm): Remove redundant check.
60166
60167 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60168
60169         * modules/regex (lib_SOURCES): Add regex.c.
60170         Reported by James Youngman in
60171         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
60172
60173 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60174
60175         * lib/getdate.y: Use Bison 1.875 features, and some minor
60176         code cleanups.  This change does not affect semantics.
60177         Don't include <stdlib.h>; no longer needed.
60178         Don't include unlocked-io.h; only the "#if TEST" code uses
60179         stdio, and performance isn't crucial there.
60180         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
60181         Bison 1.875 features as described below.
60182         All uses of "PC." replaced by "pc->".
60183         (YYSTYPE): Add a forward declaration.
60184         (yylex, yyerror): Use full prototypes in forward decls.
60185         Use "%pure-parser" rather than obsolescent "%pure_parser".
60186         Use %parse-param and %lex-param instead of obsolescent
60187         YYPARSE_PARAM and YYLEX_PARAM.
60188         (meridian_table, month_and_day_table, time_units_table,
60189         relative_time_table, time_zone_table, military_table,
60190         lookup_zone, lookup_word, get_date):
60191         Use NULL instead of 0 where appropriate.
60192         (to_hour): Avoid abort (), to avoid a dependency on
60193         stdlib.h.
60194         (yyerror, yylex): Now accepts parser_control * arg.
60195         (main) [TEST]: Use '\0' rather than 0 for char.
60196
60197 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60198
60199         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
60200
60201 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60202
60203         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
60204         It's now the caller's responsibility to handle the case where
60205         !HAVE_GETPAGESIZE && !defined getpagesize.
60206
60207         * lib/mktime.c (leapyear): Arg is long int, not int.
60208
60209 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
60210
60211         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
60212
60213 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60214
60215         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
60216         missing.  Problem reported by James Youngman.
60217
60218 2004-10-16  Simon Josefsson  <jas@extundo.com>
60219
60220         * gnulib-tool: Fix comments.  Fix parse problem.
60221         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
60222
60223 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
60224
60225         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
60226         implementation of getopt_long.  Problem reported by Alexander Taler in:
60227         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
60228
60229 2004-10-15  Bruno Haible  <bruno@clisp.org>
60230
60231         * gnulib-tool: Untabify. Initialize supplied_libname.
60232         (func_usage): More homogenous output.
60233         (func_modules_transitive_closure, func_modules_to_filelist,
60234         func_emit_lib_Makefile_am): New functions.
60235         (func_import): New function, extracted from big case statement. Use
60236         func_get_license, func_modules_transitive_closure,
60237         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
60238         opt_lgpl. Don't use test -a, as it's not portable.
60239         (func_create_testdir): Use func_modules_transitive_closure,
60240         func_modules_to_filelist, func_emit_lib_Makefile_am.
60241
60242 2004-10-15  Bruno Haible  <bruno@clisp.org>
60243
60244         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
60245
60246 2004-10-15  Bruno Haible  <bruno@clisp.org>
60247
60248         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
60249         the portions belonging to each module.
60250         Suggested by Derek Robert Price <derek@ximbiot.com>.
60251
60252 2004-10-12  Simon Josefsson  <jas@extundo.com>
60253
60254         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
60255         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
60256         to real functions.
60257
60258 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60259
60260         * modules/vsnprintf: New file.
60261
60262 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60263
60264         * m4/vsnprintf.m4: New file.
60265
60266 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60267
60268         * lib/vsnprintf.h: New file.
60269         * lib/vsnprintf.c: New file.
60270
60271 2004-10-11  Bruno Haible  <bruno@clisp.org>
60272
60273         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
60274         vsnprintf.
60275
60276 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
60277
60278         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
60279
60280 2004-10-07  Bruno Haible  <bruno@clisp.org>
60281
60282         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
60283         fits into the provided buffer.
60284
60285 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
60286
60287         * lib/diacrit.c, diacrit.h: Add GPL notice.
60288
60289         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
60290         notice.
60291         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
60292         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
60293         This avoids a potential constant-folding bug.
60294
60295 2004-10-05  Bruno Haible  <bruno@clisp.org>
60296
60297         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
60298         for the declaration of strsep.
60299
60300 2004-10-05  Bruno Haible  <bruno@clisp.org>
60301
60302         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
60303
60304 2004-10-04  Simon Josefsson  <jas@extundo.com>
60305
60306         * modules/memmem: New file.
60307         * tests/test-memmem.c: New file.
60308         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
60309
60310 2004-10-04  Simon Josefsson  <jas@extundo.com>
60311
60312         * m4/memmem.m4: New file.
60313
60314 2004-10-04  Simon Josefsson  <jas@extundo.com>
60315
60316         * lib/memmem.h: New file.
60317         * lib/memmem.c: New file, taken from glibc.
60318
60319 2004-10-04  Simon Josefsson  <jas@extundo.com>
60320
60321         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
60322         '#ifdef USE_UNLOCKED_IO'.
60323
60324 2004-10-04  Simon Josefsson  <jas@extundo.com>
60325
60326         * config/srclist.txt: Add memmem from glibc.
60327
60328 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60329
60330         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
60331
60332         * modules/argmatch, modules/argp, modules/closeout, modules/error,
60333         modules/exclude, modules/getdate, modules/getline,
60334         modules/getndelim2, modules/getpass, modules/getpass-gnu,
60335         modules/getusershell, modules/linebuffer, modules/md5,
60336         modules/mountlist, modules/posixtm, modules/readtokens,
60337         modules/readutmp, modules/regex, modules/sha1,
60338         modules/version-etc, modules/yesno:
60339         Remove dependency on unlocked-io.
60340
60341 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60342
60343         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
60344
60345         * m4/unlocked-io.m4: Add copyright notice.
60346         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
60347
60348 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60349
60350         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
60351         * lib/xmalloc.c (xmemdup): Likewise.
60352         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
60353         XFREE): Remove these long-obsolescent macros.
60354         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
60355         * lib/xstrdup.c: Remove.
60356
60357         * lib/regex.c (re_comp): Cast gettext return value to char *,
60358         Problem reported by Martin Neitzel via Mark D. Baushke.
60359
60360 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60361
60362         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
60363         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
60364         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
60365         regex.c, sha1.c, version-etc.c, yesno.c:
60366         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
60367         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
60368         the includer's responsibility.
60369
60370         Sync from coreutils.
60371
60372         * lib/modechange.c (mode_compile): Don't decrement a pointer that
60373         points to the start of a string, as the C Standard says the
60374         resulting behavior is undefined.
60375
60376         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
60377         simple -> simple_backups, numbered_existing ->
60378         numbered_existing_backups, numbered -> numbered_backups
60379         to avoid shadowing problems.  All uses changed.
60380         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
60381         * lib/backupfile.c (check_extension, numbered_backup):
60382         Rename locals to avoid shadowing 'basename'.
60383         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
60384         once.
60385
60386         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
60387         * lib/.cvsignore: Add getopt.h.
60388
60389 2004-10-04  Bruno Haible  <bruno@clisp.org>
60390
60391         * modules/README: New file.
60392         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
60393         not a module.
60394
60395 2004-10-02  Jim Meyering  <jim@meyering.net>
60396
60397         * lib/dirfd.h, getpagesize.h: Add copyright notice.
60398
60399 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60400
60401         * modules/strsep: New file.
60402
60403 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60404
60405         * m4/strsep.m4: New file.
60406
60407 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60408
60409         * lib/strsep.h: New file.
60410         * lib/strsep.c: New file.
60411
60412 2004-10-01  Simon Josefsson  <jas@extundo.com>
60413
60414         * lib/snprintf.c (snprintf): Handle size==0.
60415
60416 2004-10-01  Simon Josefsson  <jas@extundo.com>
60417             Bruno Haible  <bruno@clisp.org>
60418
60419         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
60420         (snprintf): Declare 'args'.
60421
60422 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
60423
60424         * lib/snprintf.c: Remove comments as to why each header is needed.
60425
60426 2004-10-01  Bruno Haible  <bruno@clisp.org>
60427
60428         * MODULES.html.sh: Add strsep.
60429
60430 2004-09-30  Simon Josefsson  <jas@extundo.com>
60431
60432         * modules/snprintf: New file.
60433
60434 2004-09-30  Simon Josefsson  <jas@extundo.com>
60435
60436         * m4/snprintf.m4: New file.
60437
60438 2004-09-30  Simon Josefsson  <jas@extundo.com>
60439
60440         * lib/snprintf.h, lib/snprintf.c: New files.
60441
60442 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60443
60444         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
60445         (hol_entry_help): Never translate an empty string.
60446         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
60447         * lib/argp.h (OPTION_NO_TRANS): New option.
60448
60449 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60450
60451         * modules/argp (Maintainer): Replace Simon Josefsson
60452         by Sergey Poznyakoff.
60453
60454 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60455
60456         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
60457         changes merged back into glibc.
60458
60459 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60460
60461         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
60462
60463 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
60464
60465         * lib/xvasprintf.c: Include xalloc.h.
60466         (xvasprintf): Use xalloc_die, not xmalloc_die.
60467
60468 2004-09-29  Bruno Haible  <bruno@clisp.org>
60469
60470         * modules/alloca-opt: New file, derived from modules/alloca.
60471         * modules/allocsa: Depend on alloca-opt instead of alloca.
60472         * modules/setenv: Likewise.
60473         * modules/vasnprintf: Likewise.
60474         * MODULES.html.sh: Add alloca-opt.
60475
60476 2004-09-28  Simon Josefsson  <jas@extundo.com>
60477
60478         * gnulib-tool: New parameter --lgpl, to asseert that modules are
60479         LGPL, and to replace license template from GPL to LGPL.
60480
60481 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
60482
60483         * modules/dummy: Change license to LGPL.
60484
60485 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
60486
60487         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
60488
60489 2004-09-24  Simon Josefsson  <jas@extundo.com>
60490
60491         * modules/minmax (License): Change from GPL to LGPL.
60492
60493 2004-09-23  Simon Josefsson  <jas@extundo.com>
60494
60495         * gnulib-tool (--import): Typo.
60496
60497 2004-09-23  Simon Josefsson  <jas@extundo.com>
60498
60499         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
60500
60501 2004-09-22  Bruno Haible  <bruno@clisp.org>
60502
60503         * modules/*: Add 'License' field.
60504         * gnulib-tool: Accept --extract-license option.
60505         (func_get_license): New function.
60506
60507 2004-09-21  Bruno Haible  <bruno@clisp.org>
60508
60509         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
60510         Reported by Simon Josefsson.
60511
60512 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60513
60514         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
60515         gl_AC_TYPE_LONG_LONG.
60516
60517 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60518
60519         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
60520
60521 2004-09-18  Simon Josefsson  <jas@extundo.com>
60522         and  Paul Eggert  <eggert@cs.ucla.edu>
60523
60524         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
60525         calls with autoreconf.  Define GL_LIB.
60526
60527 2004-09-14  Karl Berry  <karl@gnu.org>
60528
60529         * config/srclist.txt: unsync setenv.c, sigh.
60530
60531 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60532
60533         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
60534         Problem reported by Bruno Haible in:
60535         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
60536
60537 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60538
60539         * config/srclist.txt: Comment out argp-pvh.c.
60540
60541 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
60542
60543         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
60544         in case some system header has #define'd it.  Problem reported by
60545         Soeren D. Schulze in
60546         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
60547
60548 2004-09-09  Karl Berry  <karl@gnu.org>
60549
60550         * regex.[ch]: delete from the root.  These were supposed to be
60551                 synced with emacs cvs, but this has not happened for about
60552                 a year, and anyway nothing else uses emacs regex.[ch].
60553                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
60554                 lib/regex[.ch] is untouched.
60555
60556 2004-09-09  Bruno Haible  <bruno@clisp.org>
60557
60558         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
60559
60560 2004-09-09  Bruno Haible  <bruno@clisp.org>
60561
60562         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
60563         modifications.
60564         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
60565
60566 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
60567
60568         * modules/xvasprintf: New file.
60569         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
60570
60571 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
60572
60573         * lib/xvasprintf.h: New file.
60574         * lib/xvasprintf.c: New file.
60575         * lib/xasprintf.c: New file.
60576
60577 2004-09-08  Bruno Haible  <bruno@clisp.org>
60578
60579         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
60580
60581 2004-09-08  Bruno Haible  <bruno@clisp.org>
60582
60583         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
60584         length is > INT_MAX.
60585         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
60586         more.
60587
60588 2004-09-08  Bruno Haible  <bruno@clisp.org>
60589
60590         * lib/stdint_.h: New file, taken from GNU clisp.
60591
60592 2004-09-08  Bruno Haible  <bruno@clisp.org>
60593             Oskar Liljeblad  <oskar@osk.mine.nu>
60594
60595         * modules/stdint: New file.
60596         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
60597
60598 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60599
60600         Import from coreutils.
60601         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
60602         strings on unbounded length.  alloca's performance benefits aren't
60603         that important here.
60604         (V_STRDUP): Remove.
60605         (parse_with_separator): New function, with most of the internals
60606         of the old parse_user_spec.  Allow user to omit both user and group,
60607         for compatibility with FreeBSD.
60608         Clone only the user name, not the entire spec.
60609         Do not set *uid, *gid unless entirely successful.
60610         Avoid memory leak in some failing cases.
60611         Fix regression for USER.GROUP reported by Dmitry V. Levin in
60612         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
60613         (parse_user_spec): Rewrite to use parse_with_separator.
60614
60615 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60616
60617         * modules/userspec: Don't depend on alloca.
60618
60619 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60620
60621         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
60622
60623 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60624
60625         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
60626         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
60627         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
60628
60629 2004-08-16  Simon Josefsson  <jas@extundo.com>
60630
60631         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
60632         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
60633         Add --dry-run for --import.
60634         Let user provided command line parameters override configure.ac
60635         settings.
60636
60637 2004-08-12  Simon Josefsson  <jas@extundo.com>
60638
60639         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
60640         as discussed with Paul Eggert in threads rooted at
60641         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
60642         and
60643         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
60644         Before, the test was empty, and relied on ELIDE_CODE in source
60645         code.)
60646         (gl_PREREQ_GETOPT): New macro.
60647         (gl_GETOPT): Use them.
60648
60649 2004-08-12  Simon Josefsson  <jas@extundo.com>
60650
60651         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
60652         * lib/getopt_.h: Renamed from getopt.h.
60653
60654 2004-08-12  Simon Josefsson  <jas@extundo.com>
60655
60656         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
60657         Change default library name from libfoo to libgnu.
60658         Now, if you have a configure.ac that says:
60659                 gl_SOURCE_BASE(gl)
60660                 gl_M4_BASE(gl/m4)
60661                 gl_MODULES(error getopt etcetera)
60662                 gl_INIT
60663         you can import all you need by running:
60664                 ../gnulib/gnulib-tool --import
60665
60666         * modules/getopt (Files): Rename getopt.h to getopt_.h.
60667         (Makefile.am): Rewrite, use logic from argz.
60668         (Include): Use <getopt.h> instead of "getopt.h".
60669
60670 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60671
60672         * modules/argp (Files): Add m4/unlocked-io.m4.
60673         (Depends-on): Add extensions.
60674
60675 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60676
60677         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
60678         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
60679         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
60680         Check for program_invocation_name, program_invocation_short_name,
60681         flockfile, funlockfile, features.h, _getopt_long_only_r.
60682
60683 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60684
60685         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
60686         its complicated substitute.
60687         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
60688         and program_invocation_name.
60689         (__argp_basename) [!_LIBC]: Remove; the only use was
60690         replaced by its body.
60691         (__argp_short_program_name): Change condition from
60692         !defined __argp_short_program_name to
60693         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
60694         to match argp-namefrob.h.
60695         (__argp_failure): Don't assume strerror_r returns char *.
60696         * lib/argp-parse.c (N_): Define unconditionally.
60697         (argp_default_options): Fill out initializers with 0 to avoid
60698         gcc warnings.
60699
60700 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60701
60702         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
60703         getopt1.c.
60704
60705 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60706
60707         Merge from coreutils.
60708
60709         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
60710
60711         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
60712         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
60713
60714 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60715
60716         Merge from coreutils.
60717
60718         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
60719         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
60720         for Reliant Unix 5.43.
60721
60722         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
60723         (union fooround): Use uintmax_t, not long int.
60724         The rest is a merge from libc:
60725         [defined _LIBC]: Include <shlib-compat.h>.
60726         (_obstack) [defined _LIBC]: Remove after 2.3.4.
60727
60728         * lib/settime.c (settime): Recode to avoid warning with
60729         Sun Forte C 6U2.
60730
60731         * lib/strverscmp.c: Convert to UTF-8.
60732
60733 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60734
60735         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
60736         m4/uintmax_t.m4.
60737
60738 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60739
60740         * modules/xalloc-die: New file.
60741         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
60742
60743         * modules/md5 (Files): Add m4/uint32_t.m4.
60744         * modules/sha1: Renamed from modules/sha.
60745         (Files):
60746         Rename lib/sha.h to lib/sha1.h.
60747         Rename lib/sha.c to lib/sha1.c.
60748         Rename m4/sha.m4 to m4/sha1.m4.
60749         (lib_SOURCES): Likewise.
60750         (configure.ac): Rename gl_SHA to gl_SHA1.
60751         (Include): sha.h -> sha1.h.
60752
60753 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60754
60755         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
60756         * m4/sha1.m4: Renamed from sha.m4.
60757         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
60758
60759 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60760
60761         * lib/obstack.h (obstack_empty_p):
60762         Don't assume that chunk->contents is suitably aligned.
60763         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
60764         Likewise. Problem reported by Benno in
60765         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
60766
60767         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
60768         readable.  This could be improved further but it'd take some work.
60769
60770 2004-08-08  Simon Josefsson  <jas@extundo.com>
60771
60772         * modules/xgethostname (Depends-on): Remove exit and error (not
60773         used).
60774
60775         * modules/getpass-gnu: Add getpass.h.
60776         (Depends-on): Add stdbool.
60777         * modules/getpass: Add getpass.h.
60778
60779 2004-08-08  Simon Josefsson  <jas@extundo.com>
60780
60781         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
60782         Check getpass declaration.
60783
60784 2004-08-08  Simon Josefsson  <jas@extundo.com>
60785
60786         * lib/xgethostname.c: Don't include error.h (not used).
60787
60788         * lib/getpass.h: Add.
60789         * lib/getpass.c: Include getpass.h first.
60790
60791 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
60792
60793         * lib/xalloc-die.c: New file.
60794         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
60795         All uses removed.
60796         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
60797         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
60798         xalloc-die.c.
60799         (_, N_, xalloc_die): Move to xalloc-die.c.
60800         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
60801         so that we needn't mess with xalloc_msg_memory_exhausted.
60802
60803         * lib/sha1.h: Renamed from sha.h.
60804         (SHA1_H): Renamed from _SHA_H.
60805         (sha1_ctx): Renamed from sha_ctx.
60806         (sha1_init_ctx): Renamed from sha_init_ctx.
60807         (sha1_process_block): Renamed from sha_process_block.
60808         (sha1_process_bytes): Renamed from sha_process_bytes.
60809         (sha1_finish_ctx): Renamed from sha_finish_ctx.
60810         (sha1_read_ctx): Renamed from sha_read_ctx.
60811         (sha1_stream): Renamed from sha_stream.
60812         (sha1_buffer): Renamed from sha_buffer.
60813         * lib/sha1.c: Likewise; renamed from sha.c.
60814         Do not include <sys/types.h>.
60815         Include <stddef.h> rather than <stdlib.h>.
60816
60817 2004-08-08  Bruno Haible  <bruno@clisp.org>
60818
60819         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
60820         FILESYSTEM_PREFIX_LEN.
60821         * lib/progreloc.c: Likewise.
60822         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
60823
60824 2004-08-06  Simon Josefsson  <jas@extundo.com>
60825
60826         * modules/progname (Depends-on): Don't depend on stdbool.
60827
60828 2004-08-06  Simon Josefsson  <jas@extundo.com>
60829
60830         * modules/getsubopt: New file.
60831         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60832         getsubopt.
60833
60834 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60835
60836         More merge from coreutils.
60837
60838         * m4/utimens.m4, m4/utimecmp.m4: New files.
60839         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
60840         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
60841         prereq.m4, sha.m4: Import changes from coreutils.
60842
60843 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60844
60845         More merge from coreutils.
60846         * modules/raise, modules/readtokens0, modules/utimens:
60847         * modules/utimecmp, module/xnanosleep: New files.
60848         * modules/strftime: Add lib/strftime.h.
60849         Change include from <time.h> to "strftime.h".
60850         * modules/yesno: Add lib/yesno.h.
60851         * modules/backupfile: Remove lib/addext.c.
60852         * modules/euidaccess: Add stat-macros.h.
60853         * modules/canonicalize, modules/euidaccess,
60854         modules/filemode, modules/lchown, modules/makepath,
60855         modules/rmdir, modules/stat: Likewise.
60856
60857 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60858
60859         Merge from tar.
60860         * lib/argp-help.c (make_hol, hol_append): Don't assume that
60861         SIZE_MAX is a valid preprocessor constant.
60862         (__argp_basename): Change from "#ifndef _LIBC"
60863         to "#ifndef __argp_short_program_name", so that
60864         we don't compile these functions for tar.
60865
60866         More merges from coreutils.
60867         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
60868         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
60869         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
60870         * lib/addext.c: Remove; no longer needed.
60871         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
60872         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
60873         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
60874         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
60875         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
60876         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
60877         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
60878         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
60879         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
60880         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
60881         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
60882         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
60883         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
60884         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
60885         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
60886         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
60887         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
60888         Import changes from coreutils.
60889
60890 2004-08-05  Simon Josefsson  <jas@extundo.com>
60891
60892         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
60893
60894 2004-08-05  Simon Josefsson  <jas@extundo.com>
60895
60896         * m4/getsubopt.m4: New file.
60897
60898 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
60899
60900         Merge from coreutils.
60901
60902         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
60903         * m4/getcwd-path-max.m4: New files.
60904
60905         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
60906         FILESYSTEM_PREFIX_LEN ->
60907         FILE_SYSTEM_PREFIX_LEN.
60908         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
60909         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
60910         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
60911         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
60912
60913         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
60914         prerequisite modules now handle the DOS stuff.
60915         Don't check for unistd.h.
60916
60917 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
60918
60919         Merge from coreutils.
60920
60921         * lib/.gdb-history: Remove; this doesn't belong here.
60922
60923         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
60924         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
60925         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
60926         * lib/getcwd.c: New files.
60927
60928         * lib/dirname.h: Include <stdbool.h>.
60929         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
60930         for consistency with POSIX terminology.  All uses changed.
60931         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
60932         (strip_trailing_slashes): Use bool for booleans.
60933         * lib/stripslash.c (strip_trailing_slashes): Likewise.
60934
60935         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
60936         sometimes returns a positive errno value even when it succeeds.
60937         (print_errno_message) [!LIBC]: Fall back on strerror if
60938         __strerror_r fails.
60939
60940         * lib/path-concat.c (mempcpy): Don't define if a system header defines
60941         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
60942         (longest_relative_suffix): New function.
60943         (path_concat): Use it.  Assume first argument is not NULL.
60944         Port to DOS.  Omit redundant separators.
60945         Report an error instead of returning NULL.
60946         Use mempcpy instead of memcpy.
60947         (xpath_concat): Remove: not declared or used.
60948
60949         * lib/same.h: Include <stdbool.h>
60950         (same_name): Return bool, not int.
60951         * lib/same.c (same_name): Likewise.
60952         (errno): Don't declare; we assume C89 or better now.
60953
60954         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
60955         if not already defined.
60956
60957         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
60958         * lib/dup-safer.c (errno): Likewise.
60959
60960 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
60961
60962         Merge from coreutils.
60963         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
60964         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
60965         * modules/path-concat: Don't depend on strdup.
60966
60967 2004-08-03  Simon Josefsson  <jas@extundo.com>
60968
60969         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
60970         * lib/progname.h: Don't include stdbool.h.
60971
60972 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
60973
60974         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
60975         * MODULES.html.sh (func_all_modules): Remove fatal.
60976
60977 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
60978
60979         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
60980
60981 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
60982
60983         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
60984         working.
60985
60986 2004-08-02  Simon Josefsson  <jas@extundo.com>
60987
60988         * lib/getsubopt.h: New file, with comments from Bruno Haible.
60989         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
60990         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
60991
60992 2004-08-01  Simon Josefsson  <jas@extundo.com>
60993
60994         * lib/xgetdomainname.c: Include stdlib.h, for free().
60995
60996 2004-07-19  Bruno Haible  <bruno@clisp.org>
60997
60998         * MODULES.html.sh (func_all_modules): Add dummy.
60999
61000 2004-07-16  Simon Josefsson  <jas@extundo.com>
61001
61002         * modules/dummy: New file.
61003
61004 2004-07-16  Simon Josefsson  <jas@extundo.com>
61005
61006         * lib/dummy.c: New file.
61007
61008 2004-07-16  Bruno Haible  <bruno@clisp.org>
61009
61010         * lib/backupfile.h: Add extern "C" for C++.
61011         * lib/closeout.h: Likewise.
61012         * lib/copy-file.h: Likewise.
61013         * lib/findprog.h: Likewise.
61014         * lib/full-write.h: Likewise.
61015         * lib/pathname.h: Likewise.
61016         * lib/progname.h: Likewise.
61017         * lib/stpcpy.h: Likewise.
61018         * lib/stpncpy.h: Likewise.
61019         * lib/strcase.h: Likewise.
61020         * lib/strstr.h: Likewise.
61021         * lib/xalloc.h: Likewise.
61022
61023         * lib/mbswidth.h: Add extern "C" for C++.
61024         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
61025
61026 2004-07-13  Robert Millan  <robertmh@gnu.org>
61027
61028         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
61029
61030 2004-07-09  Simon Josefsson  <jas@extundo.com>
61031
61032         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
61033         failed without this.)
61034
61035 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61036
61037         * modules/chown (Files): Add lib/fchown-stub.c, since
61038         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
61039
61040 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61041
61042         * lib/fchown-stub.c: New file.
61043
61044 2004-06-24  Jim Meyering  <jim@meyering.net>
61045
61046         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
61047
61048 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61049
61050         * modules/argz: Omit "#include".
61051
61052         * MODULES.html.sh (func_all_modules): Add calloc, to match
61053         2004-06-01 addition of calloc module.
61054
61055 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61056
61057         * m4/argz.m4: New file, which is autoupdated from libtool.
61058
61059 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61060
61061         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
61062         libtool.
61063
61064 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61065
61066         * config/srclist-update: Don't insist on "USA." before the
61067         close-comment, as libtool omits the period and puts the */ on a
61068         separate line.
61069         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
61070         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
61071
61072 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
61073
61074         * modules/argz: New file.
61075         * MODULES.html.sh (func_all_modules): Add argz.
61076
61077 2004-06-12  Jim Meyering  <jim@meyering.net>
61078         and  Paul Eggert  <eggert@cs.ucla.edu>
61079
61080         * modules/hash (Files): Add lib/xalloc.h.
61081         * modules/pipe (Depends-on): Add wait-process.
61082         * modules/stat (Depends-on): Add xalloc.
61083         * modules/userspec (Files): Add lib/userspec.h.
61084         * modules/xstrto
61085
61086         Upgrade from gettext-0.13.
61087         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
61088         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
61089         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
61090
61091 2004-06-10  Jim Meyering  <jim@meyering.net>
61092
61093         * lib/calloc.c: New file.
61094
61095 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61096
61097         * lib/getdate.y (yylex): Allow space between sign and number.
61098         Problem reported by Dan Jacobson.
61099
61100 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
61101
61102         Merge from coreutils CVS.
61103
61104         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
61105         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
61106         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
61107         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
61108         xstrtol.m4: Fix copyright date and/or serial number.
61109
61110         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
61111         See if we need an fchown replacement.
61112         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
61113         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
61114         and use the replacement function if we detect either defect.
61115
61116         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
61117         gl_UTIMECMP.
61118
61119 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
61120         and  Jim Meyering  <jim@meyering.net>
61121
61122         Merge from coreutils CVS.
61123
61124         * lib/stat-macros.h: New file, with contents from file-type.h
61125         and coreutils' system.h.
61126         * lib/file-type.c: Include "stat-macros.h".
61127         * lib/file-type.h (file_type): Move all macro definitions to new file,
61128         stat-macros.h.
61129
61130         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
61131         Wrap old code with this conditional.
61132         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
61133         function that does not dereference symlinks.
61134         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
61135
61136         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
61137         dependency problems.
61138         (xreadlink): Accept new arg SIZE, for efficiency.
61139         All decls and uses changed.
61140         * lib/xreadlink.h: Include <stddef.h>, for size_t.
61141
61142         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
61143         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
61144
61145         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
61146         sysexits.h.
61147
61148 2004-06-01  Jim Meyering  <jim@meyering.net>
61149
61150         * m4/calloc.m4: New file.
61151
61152 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
61153
61154         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
61155         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
61156         Also, fix a typo in a diagnostic.
61157
61158 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
61159
61160         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
61161         or AC_FUNC_REALLOC.
61162
61163 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
61164
61165         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
61166         macros to be defined.
61167         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
61168         the allocator returns NULL because the requested size is zero.
61169
61170 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
61171
61172         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
61173         var.  Add comment explaining why libc still defines it.  This
61174         merges the following patch from glibc:
61175         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
61176
61177 2004-05-20  Andreas Schwab  <schwab@suse.de>
61178
61179         * m4/free.m4: Replace free if it not known to work, not the other
61180         way round.
61181
61182 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61183
61184         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
61185         present in glibc since revision 1.1 of this file.
61186         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
61187         obstack_alignment_mask, obstack_alloc, obstack_base,
61188         obstack_blank, obstack_blank_fast, obstack_chunk_size,
61189         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
61190         obstack_grow0, obstack_init, obstack_int_grow,
61191         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
61192         obstack_next_free, obstack_object_size, obstack_ptr_grow,
61193         obstack_ptr_grow_fast, obstack_room): Remove declarations of
61194         nonexistent functions.
61195
61196 2004-05-18  Karl Berry  <karl@gnu.org>
61197
61198         * config/srclist.txt: break link for vasnprintf.c.
61199
61200 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61201
61202         Port obstack to the AS/400, where pointers are 16 bytes wide and
61203         you cannot cast an integer to a valid pointer.  This patch is
61204         currently waiting to be integrated into glibc; see
61205         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
61206
61207         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
61208         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
61209         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
61210         (struct obstack): temp member is now a union of a pointer and
61211         an integer, instead of an integer.  All integer uses changed.
61212         This does not affect the physical layout of struct obstack,
61213         except on hosts (like the AS/400) where the size or alignment of
61214         void * is greater than that of ptrdiff_t.
61215         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
61216         __STDC__)]: Store temporary in pointer member of union, not
61217         integer member.
61218         * lib/obstack.c: Include <stddef.h>, for offsetof.
61219         (struct fooalign): Remove; it doesn't need a name.
61220         (union fooround): Change double to long double, and add void *.
61221         (DEFAULT_ALIGNMENT): Use offsetof to compute.
61222         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
61223         not a macro.  Hence the values are always int; so remove all
61224         casts-to-int in uses.
61225
61226 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61227
61228         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
61229         we can get this patch merged into glibc.
61230
61231 2004-05-17  Derek R. Price  <derek@ximbiot.com>
61232             Paul Eggert  <eggert@cs.ucla.edu>
61233
61234         * m4/argp: Depend on alloca.
61235
61236 2004-05-17  Derek R. Price  <derek@ximbiot.com>
61237             Paul Eggert  <eggert@cs.ucla.edu>
61238
61239         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
61240         freecoding.
61241
61242 2004-05-17  Bruno Haible  <bruno@clisp.org>
61243
61244         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
61245         precision that consists of a '.' followed by an empty digit string.
61246         Patch by Tor Lillqvist <tml@iki.fi>.
61247
61248 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61249
61250         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
61251         for backward compatibility with older code.  We need our own
61252         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
61253         it under some other name, and our alloca.h will define it.
61254
61255 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61256             Derek Price  <derek@ximbiot.com>
61257
61258         * lib/alloca.c: Include <alloca.h>, to get our interface.
61259         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
61260         include <alloca.h> first.  Use C89 prototype for alloca; this
61261         requires including <stddef.h> for size_t.  Use extern "C" if C++.
61262         Use #elif for simplicity, since we can assume C89 now.
61263         Don't try to source the system alloca.h since it will not be found
61264         and to prevent recursively including its replacement.
61265         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
61266         * lib/regex.c: Likewise.
61267
61268 2004-05-16  Derek Price  <derek@ximbiot.com>
61269             Paul Eggert  <eggert@cs.ucla.edu>
61270
61271         getline cleanup.  This changes the getndelim2 API: both order of
61272         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
61273         no delimiter).
61274
61275         * lib/getline.c: Don't include stddef.h or stdio.h, since our
61276         interface does that.
61277         (getline): Always use getdelim, so that we don't have two
61278         copies of this code.
61279         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
61280         if available.
61281         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
61282         (GETNDELIM2_MAXIMUM): New macro.
61283         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
61284         instead of the old practice of delim2==0.  All callers changed.
61285         Return -1 on overflow, instead of returning junk.
61286         Do not set *linesize unless allocation succeeds.
61287         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
61288         that we include sys/types.h.
61289         * lib/getnline.h: Likewise.
61290         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
61291         (getndelim2): Reorder arguments.
61292         * lib/getnline.c (getnline, getndelim):
61293         Don't discard the NMAX argument.
61294         (getnline): Invoke getndelim, to avoid code duplication.
61295         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
61296         of (size_t) -1 by callers of the getnline family.
61297
61298 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61299
61300         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
61301         Check for gettimeofday.
61302         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
61303         Check for settimeofday, stime.
61304
61305 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61306
61307         * lib/nanosleep.c (suspended): Change its type from int to
61308         sig_atomic_t volatile.
61309         (first_call): Make it private to rpl_nanosleep, and have it
61310         be zero initially as that's a bit faster.
61311         (my_usleep): Round up fractional times instead of truncating them,
61312         as this is the usual meaning for 'sleep'.
61313
61314         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
61315         doesn't work.
61316         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
61317         (ENOSYS): Define if not defined.
61318         (settime): Fall back on stime if it exists and settimeofday fails.
61319         But don't bother with fallbacks if a method fails with errno == EPERM.
61320
61321 2004-05-11  Jim Meyering  <jim@meyering.net>
61322
61323         Prior to this change, the save_cwd caller required read access to the
61324         current directory on most systems (ones with the fchdir function).
61325
61326         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
61327         fails, try write-only, and finally, resort to using xgetcwd.
61328
61329 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
61330
61331         * lib/obstack.c, obstack.h: Import changes from libc.
61332
61333 2004-04-28  Bruno Haible  <bruno@clisp.org>
61334
61335         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
61336         also implicitly appends .exe to executables.
61337         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
61338         accepts Windows pathnames.
61339         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
61340         Treat Cygwin like Windows, since it now accepts Windows pathnames.
61341         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
61342         Treat Cygwin like Windows, since it now accepts Windows pathnames.
61343         Reported by Derek Robert Price <derek@ximbiot.com>.
61344
61345 2004-04-21  Karl Berry  <karl@gnu.org>
61346
61347         * config/srclist.txt (localcharset.c): break sync.
61348
61349 2004-04-20  Paul Eggert  <eggert@twinsun.com>
61350
61351         * m4/host-os.m4: Add a copyright notice.
61352
61353 2004-04-20  Jim Meyering  <jim@meyering.net>
61354
61355         Change UTILS_ to gl_ in AC_DEFINE'd names.
61356         Change utils_- and jm_-prefixed variables, too.
61357         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
61358         UTILS_FUNC_MKDIR_TRAILING_SLASH.
61359         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
61360
61361         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
61362         Don't emit trailing blanks.
61363         Also rename jm_-prefixed variables to have gl_ prefix.
61364
61365         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
61366         Also rename jm_-prefixed variables to have gl_ prefix.
61367
61368         * m4/jm-macros.m4: Reflect the renamings.
61369         * m4/prereq.m4: Likewise.
61370
61371 2004-04-20  Jim Meyering  <jim@meyering.net>
61372
61373         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
61374         memory.
61375
61376 2004-04-20  Jim Meyering  <jim@meyering.net>
61377             Bruno Haible  <bruno@clisp.org>
61378
61379         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
61380         memory when realloc fails.
61381
61382 2004-04-19  Jim Meyering  <jim@meyering.net>
61383
61384         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
61385         now that readutmp.c may call `free (0)'.
61386
61387 2004-04-19  Bruno Haible  <bruno@clisp.org>
61388
61389         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
61390         * m4/inttypes_h.m4: Likewise.
61391         * m4/stdint_h.m4: Likewise.
61392         * m4/intmax_t.m4: Likewise.
61393         * m4/uintmax_t.m4: Likewise.
61394
61395 2004-04-18  Jim Meyering  <jim@meyering.net>
61396
61397         * m4/prereq.m4: Don't forbid jm_ prefix.
61398
61399         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
61400         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
61401         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
61402         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
61403         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
61404         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
61405         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
61406         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
61407         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
61408         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
61409         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
61410         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
61411         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
61412         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
61413         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
61414         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
61415         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
61416         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
61417         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
61418
61419 2004-04-18  Jim Meyering  <jim@meyering.net>
61420
61421         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
61422         failure, don't leak memory and do call END_UTMP_ENT.
61423
61424 2004-04-16  Jim Meyering  <jim@meyering.net>
61425
61426         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
61427         coreutils' stat program.
61428         (gl_PREREQ): Don't require jm_PREREQ_STAT.
61429
61430 2004-04-11  Paul Eggert  <eggert@twinsun.com>
61431
61432         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
61433         C89.
61434         (CHAR_BIT): Remove, since we assume C89.
61435         Include <stdint.h> if available, as per current Autoconf CVS advice.
61436
61437 2004-03-31  Jim Meyering  <jim@meyering.net>
61438
61439         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
61440         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
61441         * m4/xalloc.m4: Likewise.
61442
61443 2004-03-30  Paul Eggert  <eggert@twinsun.com>
61444
61445         Merge from coreutils.
61446
61447         * m4/inttostr.m4: New file.
61448         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
61449         Require AM_STDBOOL_H and gl_TIMESPEC instead.
61450         Require gl_CLOCK_TIME.
61451         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
61452
61453 2004-03-30  Paul Eggert  <eggert@twinsun.com>
61454
61455         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
61456         not bool, to be more consistent with Unix conventions.
61457         Suggested by Bruno Haible.
61458
61459         Merge from coreutils.
61460
61461         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
61462         * lib/umaxtostr.c: New files.
61463
61464         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
61465         the usual <time.h> dance.
61466         (get_date): Change signature to support fractional time stamps.
61467         All callers changed.
61468         * lib/getdate.y: Include "getdate.h" first, as we can now
61469         assume C89 and don't need to worry about 'const'.
61470         Similarly, include "unlocked-io.h" near start, not in middle.
61471         Include <limits.h>.
61472         (textint.value): Use long int rather than int.
61473         (textint.digits): Use size_t rather than int.
61474         (BILLION, LOG10_BILLION): New constants.
61475         (parser_control): New member rel_ns.  Members day_ordinal,
61476         time_zone, month, day, hour, minutes, rel_year, rel_month,
61477         rel_day, rel_hour, rel_minutes, rel_seconds
61478         are now long int, not int.  Member seconds is now struct timespec,
61479         not int.  New member timespec_seen.  Members dates_seen, days_seen,
61480         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
61481         not int.
61482         (%union.intval): Now long int, not int.
61483         New member timespec.
61484         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
61485         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
61486         (spec): Now is a timespec or an item list.
61487         (timespec, items): New nonterminals.
61488         (time, rel, relunit, number, get_date):
61489         Add support for fractional seconds.
61490         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
61491         (gmtime, localtime, mktime): Remove decls; not needed with C89.
61492         (to_hour): First arg is now long int, not int.
61493         (to_year): Returns long int, not int.
61494         Don't treat year -70 like 70.
61495         (tm_diff): Returns long int, not int.
61496         (lookup_word): Use bool instead of int when appropriate.
61497         (yylex): Use size_t for count, not int.
61498         Detect overflow when parsing large integer constants.
61499         Add support for fractions.
61500         (get_date): Make pointers 'const' if possible.
61501         Use more-portable code to detect integer overflow.
61502         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
61503         Don't use ctime; it's not reliable if the year has >4 digits.
61504
61505         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
61506         This is for compatibility with BSD.
61507
61508         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
61509         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
61510         From coreutils' system.h.
61511
61512         * lib/userspec.c: Don't include "posixver.h".
61513         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
61514         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
61515         compatible extension.  Simplify code by removing a boolean int
61516         that was always nonzero if a string was nonnull.
61517
61518 2004-03-30  Jim Meyering  <jim@meyering.net>
61519
61520         Merge from coreutils.
61521
61522         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
61523         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
61524         on some systems one must include <grp.h> before it.
61525         Reported by Christian Krackowizer.
61526
61527 2004-03-30  Jim Meyering  <jim@meyering.net>
61528
61529         Merge from coreutils.
61530
61531         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
61532
61533         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
61534         an empty input stream.
61535
61536         * lib/readtokens.c: Include <stdbool.h>.
61537         (readtoken): Use `size_t' rather than int/long.
61538         All callers adjusted.
61539         Use `bool' rather than `int' where appropriate.
61540         Use memset rather than an explicit loop.
61541         Use x2nrealloc rather than xrealloc.
61542         Allow the use of `\0' as a delimiter.
61543         (readtokens): Likewise.
61544         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
61545
61546 2004-03-30  Jim Meyering  <jim@meyering.net>
61547
61548         * m4/realloc.m4: Remove file, since now it does no more than
61549         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
61550         the `configure.ac' section of module/realloc.
61551         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
61552
61553 2004-03-30  Bruno Haible  <bruno@clisp.org>
61554
61555         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
61556         nonnull.
61557
61558 2004-03-29  Paul Eggert  <eggert@twinsun.com>
61559
61560         Merge changes to getloadavg.c from coreutils and Emacs.
61561
61562         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
61563         Define to an expression, not to the empty string.
61564         Include cloexec.h and xalloc.h.
61565         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
61566         Use set_cloexec_flag rather than rolling our own.
61567         * lib/cloexec.c, lib/cloexec.h: New files.
61568
61569 2004-03-29  Paul Eggert  <eggert@twinsun.com>
61570
61571         * m4/cloexec.m4: New file.
61572
61573 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61574
61575         * lib/getopt.h: Sync with libc CVS.
61576
61577 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61578             Bruno Haible  <bruno@clisp.org>
61579
61580         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
61581         mbswidth.
61582
61583 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61584             Bruno Haible  <bruno@clisp.org>
61585
61586         * lib/mbswidth.h: Include <wchar.h> only if
61587         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
61588         <wchar.h>.
61589         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
61590
61591 2004-03-09  Paul Eggert  <eggert@twinsun.com>
61592
61593         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
61594         Sync with libc CVS.
61595         * lib/getopt_int.h: New file, also synced from libc.
61596
61597 2004-03-09  Paul Eggert  <eggert@twinsun.com>
61598
61599         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
61600         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
61601         Bring back getopt.c, getopt.h, getopt1.c.
61602
61603 2004-03-07  Paul Eggert  <eggert@twinsun.com>
61604
61605         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
61606         All uses changed.  Check for sa_sigaction member; this fixes
61607         a bug first reported by Jason Andrade in
61608         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
61609
61610 2004-03-07  Paul Eggert  <eggert@twinsun.com>
61611
61612         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
61613         '#if' expressions.  Unlike the code it replaces, it does not
61614         depend on (defined _SC_PAGESIZE).  However, it does depend on
61615         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
61616         first reported by Jason Andrade in
61617         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
61618
61619 2004-02-25  Simon Josefsson  <jas@extundo.com>
61620
61621         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
61622
61623 2004-02-25  Simon Josefsson  <jas@extundo.com>
61624
61625         * lib/strdup.h: New file.
61626         * lib/strdup.c: Include it.
61627         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
61628         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
61629
61630 2004-02-23  Karl Berry  <karl@gnu.org>
61631
61632         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
61633         (from fencepost.gnu.org:/gd/gnuorg).
61634
61635 2004-02-23  Karl Berry  <karl@gnu.org>
61636
61637         * config/srclistvars.sh (GNUORG) [karl]: redefine.
61638         * config/srclist.txt: add maintain/standards documents.
61639
61640 2004-02-18  Bruno Haible  <bruno@clisp.org>
61641
61642         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
61643         Reported by Derek Robert Price <derek@ximbiot.com>.
61644
61645 2004-02-16  Karl Berry  <karl@gnu.org>
61646
61647         * config/mkinstalldirs, install-sh: update from automake.
61648
61649 2004-02-06  Karl Berry  <karl@gnu.org>
61650
61651         * m4/po.m4: update from gettext 0.14.1.
61652
61653 2004-02-06  Karl Berry  <karl@gnu.org>
61654
61655         * lib/config.charset: update from gettext 0.14.1.
61656
61657 2004-02-05  Paul Eggert  <eggert@twinsun.com>
61658
61659         Add comments and code, prompted by suggestions from Bruno Haible
61660         for sh-quote.
61661         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
61662         describing the enum quoting_style values.
61663         * lib/quotearg.c (quotearg_alloc): New function.
61664         (quotearg_buffer_restyled): Treat lone { and } as special.
61665         Treat = as special.  Work around bug with older shells
61666         that "see" a '\' that is really the 2nd byte of a multibyte char.
61667         Quote empty string with shell_quoting_style.
61668
61669 2004-02-03  Bruno Haible  <bruno@clisp.org>
61670
61671         * m4/pipe.m4: New file, from GNU gettext.
61672
61673 2004-02-03  Bruno Haible  <bruno@clisp.org>
61674
61675         * lib/pipe.h: New file, from GNU gettext.
61676         * lib/pipe.c: New file, from GNU gettext.
61677
61678 2004-01-27  Bruno Haible  <bruno@clisp.org>
61679
61680         * m4/execute.m4: New file, from GNU gettext.
61681
61682 2004-01-27  Bruno Haible  <bruno@clisp.org>
61683
61684         * lib/execute.h: New file, from GNU gettext.
61685         * lib/execute.c: New file, from GNU gettext.
61686         * lib/w32spawn.h: New file, from GNU gettext.
61687
61688 2004-01-24  Paul Eggert  <eggert@twinsun.com>
61689
61690         Merge from diffutils.
61691
61692         * lib/file-type.c (file_type): Add typed memory objects.
61693         * lib/file-type.h (S_TYPEISTMO): New macro.
61694
61695         * lib/c-stack.h (c_stack_action): Remove argv argument.
61696         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
61697         (die): Don't calculate message unless segv_action returns.
61698         (get_stack_location, min_address_from_argv, max_address_from_argv,
61699         volatile stack_base, volatile_stack_size): Remove.
61700         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
61701         that every segmentation violation is a stack overflow.  (Ouch!)
61702         See Debian bug 136249 (still outstanding) for more info about why
61703         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
61704
61705 2004-01-24  Paul Eggert  <eggert@twinsun.com>
61706
61707         Exit-status fix from coreutils.
61708
61709         Use exit_failure consistently in place of EXIT_FAILURE,
61710         so that program exit statuses are consistent on failure.
61711
61712         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
61713         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
61714         * lib/argmatch.h: Comment fix to match the above.
61715         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
61716         Now a macro referring to exit_failure, instead of a separate
61717         variable.  Include "exitfail.h" to get it.
61718         * lib/xstrtol.h: Include "exitfail.h".
61719         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
61720
61721         * lib/long-options.c (parse_long_options): Use prototype
61722         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
61723         for clarity.
61724
61725 2004-01-21  Jim Meyering  <jim@meyering.net>
61726
61727         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
61728         so as not to conflict with a different-sized __mktime_internal
61729         function in GNU libc.
61730         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
61731         Problem building statically-linked `ls' reported by Michael Brunnbauer.
61732
61733 2004-01-20  Karl Berry  <karl@gnu.org>
61734
61735         * config/config.guess: update from config.
61736
61737         * config/srclistvars.sh: GNUWWWLICENSES for karl.
61738
61739 2004-01-20  Bruno Haible  <bruno@clisp.org>
61740
61741         Safer stack allocation.
61742         * lib/setenv.c: Include allocsa.h.
61743         (alloca): Remove fallback definition.
61744         (freea): Remove macro.
61745         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
61746         instead of freea.
61747
61748 2004-01-20  Bruno Haible  <bruno@clisp.org>
61749
61750         * m4/eealloc.m4: New file, from GNU gettext.
61751
61752 2004-01-20  Bruno Haible  <bruno@clisp.org>
61753
61754         * m4/allocsa.m4: New file, from GNU gettext.
61755
61756 2004-01-20  Bruno Haible  <bruno@clisp.org>
61757
61758         * lib/xallocsa.h: New file, from GNU gettext.
61759         * lib/xallocsa.c: New file, from GNU gettext.
61760
61761 2004-01-20  Bruno Haible  <bruno@clisp.org>
61762
61763         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
61764
61765 2004-01-20  Bruno Haible  <bruno@clisp.org>
61766
61767         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
61768         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
61769         specially.
61770
61771 2004-01-20  Bruno Haible  <bruno@clisp.org>
61772
61773         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
61774         patch.
61775
61776 2004-01-20  Bruno Haible  <bruno@clisp.org>
61777
61778         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
61779
61780 2004-01-20  Bruno Haible  <bruno@clisp.org>
61781
61782         * lib/eealloc.h: New file.
61783
61784 2004-01-20  Bruno Haible  <bruno@clisp.org>
61785
61786         * lib/binary-io.h: Avoid warnings on Cygwin.
61787
61788 2004-01-20  Bruno Haible  <bruno@clisp.org>
61789
61790         * lib/allocsa.h: New file, from GNU gettext.
61791         * lib/allocsa.c: New file, from GNU gettext.
61792
61793 2004-01-18  Karl Berry  <karl@gnu.org>
61794
61795         * doc/gpl.texi, doc/lgpl.texi: new files.
61796
61797 2004-01-18  Karl Berry  <karl@gnu.org>
61798
61799         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
61800         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
61801
61802 2004-01-15  Paul Eggert  <eggert@twinsun.com>
61803
61804         Merge from coreutils.
61805
61806         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
61807         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
61808         (gl_DEFAULT_POSIX2_VERSION): Move
61809         the documentation from 'configure' into 'config.hin',
61810         so that 'configure --help' isn't burdened by it and
61811         we don't have to worry about its formatting there.
61812         Reword the documentation so that it's more succinct
61813         and can be run together into a single paragraph.
61814         * m4/same.m4 (gl_SAME): Check for pathconf.
61815
61816 2004-01-15  Paul Eggert  <eggert@twinsun.com>
61817
61818         Merge from coreutils.
61819
61820         * lib/posixver.c: Include posixver.h.
61821
61822         * lib/same.c: Include <stdbool.h>, <limits.h>.
61823         (_POSIX_NAME_MAX): Define if not defined.
61824         (MIN): New macro.
61825         (same_name): If file names are silently truncated, report
61826         that the file names are the same if they are the same after
61827         the silent truncation.
61828
61829         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
61830         conversion function.
61831         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
61832         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
61833         longer needed.
61834
61835 2004-01-15  Jim Meyering  <jim@meyering.net>
61836
61837         Merge from coreutils.
61838
61839         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
61840         if no library is required.
61841         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
61842         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
61843         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
61844         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
61845         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
61846         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
61847         value, $ac_cv_search_crypt, if it's "none required".
61848         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
61849         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
61850         not gl_FUNC_GETLOADAVG.
61851         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
61852         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
61853
61854 2004-01-15  Jim Meyering  <jim@meyering.net>
61855
61856         Merge from coreutils.
61857
61858         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
61859         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
61860         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
61861
61862         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
61863         optional configure-time default.
61864
61865         * lib/version-etc.c (version_etc_copyright): Update copyright date.
61866
61867         * lib/xreadlink.c (xreadlink): Correct outdated comment.
61868
61869 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
61870
61871         Merge from coreutils.
61872
61873         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
61874         value, $ac_cv_search_nanosleep, if it's "none required".
61875
61876 2004-01-14  Paul Eggert  <eggert@twinsun.com>
61877
61878         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
61879         with like-named macro in fnmatch.c.
61880         (EXT): Use an internal constant instead.
61881
61882         Merge fnmatch patches from glibc.
61883         * lib/fnmatch.c (mbsinit): Remove define.
61884         Add libc_hidden_ver (__fnmatch, fnmatch).
61885         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
61886         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
61887
61888 2004-01-14  Karl Berry  <karl@gnu.org>
61889
61890         * config/install-sh: update from automake.
61891
61892 2004-01-13  Karl Berry  <karl@gnu.org>
61893
61894         * config/install-sh: update from automake.
61895
61896 2004-01-09  Karl Berry  <karl@gnu.org>
61897
61898         * config/install-sh: update from automake.
61899
61900 2004-01-05  Karl Berry  <karl@gnu.org>
61901
61902         * config/config.{sub,guess}: update from config.
61903
61904 2003-12-31  Karl Berry  <karl@gnu.org>
61905
61906         * config/depcomp: update from automake.
61907
61908 2003-12-14  Karl Berry  <karl@gnu.org>
61909
61910         * lib/config.charset: update from gettext-runtime.
61911
61912 2003-12-03  Paul Eggert  <eggert@twinsun.com>
61913
61914         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
61915         Bug reported by Alfred M. Szmidt.
61916
61917 2003-12-03  Bruno Haible  <bruno@clisp.org>
61918
61919         * m4/gettext.m4: Upgrade from gettext-0.13.
61920         * m4/po.m4: Upgrade from gettext-0.13.
61921         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
61922         * m4/intmax.m4: New file, from gettext-0.13.
61923         * m4/printf-posix.m4: New file, from gettext-0.13.
61924
61925 2003-11-29  Karl Berry  <karl@gnu.org>
61926
61927         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
61928
61929 2003-11-25  Paul Eggert  <eggert@twinsun.com>
61930             Bruno Haible  <bruno@clisp.org>
61931
61932         * lib/printf-parse.h: Don't include sys/types.h.
61933         (ARG_NONE): New macro.
61934         (char_directive): Change type of *arg_index fields to size_t.
61935         * lib/printf-parse.c: Don't include sys/types.h.
61936         (SSIZE_MAX): Remove macro.
61937         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
61938         Remove unnecessary overflow check.
61939         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
61940         fields.
61941
61942 2003-11-25  Bruno Haible  <bruno@clisp.org>
61943
61944         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
61945
61946 2003-11-25  Bruno Haible  <bruno@clisp.org>
61947
61948         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
61949         gt_TYPE_SSIZE_T.
61950
61951 2003-11-24  Paul Eggert  <eggert@twinsun.com>
61952
61953         * modules/alloca: Remove dependency on xalloc.
61954
61955 2003-11-24  Paul Eggert  <eggert@twinsun.com>
61956
61957         * lib/alloca.c: Remove dependency on xalloc module.
61958         (xalloc_die): Remove.
61959         (memory_full) [!defined emacs]: New macro.
61960         [!defined emacs]: Don't include xalloc.h.
61961         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
61962         address arithmetic overflows.  Change datatypes a bit to avoid
61963         unnecessary casts.
61964
61965 2003-11-22  Jim Meyering  <jim@meyering.net>
61966
61967         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
61968         s/size/size_t/.
61969
61970 2003-11-21  Karl Berry  <karl@gnu.org>
61971
61972         * config/config.{sub,guess}: update from config.
61973
61974 2003-11-18  Karl Berry  <karl@gnu.org>
61975
61976         * config/config.{sub,guess}: update from config.
61977
61978         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
61979
61980 2003-11-17  Paul Eggert  <eggert@twinsun.com>
61981
61982         * README: Mention that S+T cannot overflow if S is the size of
61983         an existing object and T is sufficiently small.
61984
61985 2003-11-17  Jim Meyering  <jim@meyering.net>
61986
61987         On systems without utime and without a utimes function capable of
61988         dealing with a NULL struct utimbuf* argument, this utime replacement
61989         could -- in unusual circumstances -- leak a file descriptor.
61990         * lib/utime.c: Include <unistd.h> and <errno.h>.
61991         (utime_null): Be sure to close `fd' and to preserve errno.
61992         Reported by Geoff Collyer via Arnold Robbins.
61993
61994 2003-11-17  Bruno Haible  <bruno@clisp.org>
61995
61996         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
61997         (Depends-on): Add xsize.
61998
61999 2003-11-17  Bruno Haible  <bruno@clisp.org>
62000
62001         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
62002
62003 2003-11-17  Bruno Haible  <bruno@clisp.org>
62004
62005         * lib/vasnprintf.c (alloca): Remove fallback definition.
62006         (freea): Remove definition.
62007         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
62008         Reported by Paul Eggert.
62009
62010 2003-11-16  Paul Eggert  <eggert@twinsun.com>
62011             Bruno Haible  <bruno@clisp.org>
62012
62013         Protect against address arithmetic overflow.
62014         * lib/printf-args.h: Include stddef.h.
62015         (arguments): Change type of field 'count' to size_t.
62016         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
62017         'unsigned int' where appropriate.
62018         * lib/printf-parse.h: Include sys/types.h.
62019         (char_directive): Change type of *arg_index fields to ssize_t.
62020         (char_directives): Change type of fields 'count', max_*_length to
62021         size_t.
62022         * lib/printf-parse.c: Include sys/types.h and xsize.h.
62023         (SSIZE_MAX): Define fallback value.
62024         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
62025         instead of 'int' where appropriate. Check a_allocated, d_allocated
62026         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
62027         * lib/vasnprintf.c: Include xsize.h.
62028         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
62029         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
62030         overflow. Avoid wraparound when converting a width or precision from
62031         decimal to binary.
62032
62033 2003-11-16  Bruno Haible  <bruno@clisp.org>
62034
62035         Update from GNU gettext.
62036         * lib/printf-parse.c: Generalize to it can be compiled for wide
62037         strings.
62038         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
62039         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
62040         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
62041         SNPRINTF): New macros.
62042         Don't include <alloca.h> if the file is used inside libintl.
62043         (local_wcslen): New function, for Solaris 2.5.1.
62044         (VASNPRINTF): Use it instead of wcslen.
62045
62046 2003-11-16  Bruno Haible  <bruno@clisp.org>
62047
62048         * lib/xsize.h (xmax): New function.
62049         (xsum, xsum3, xsum4): Declare as "pure" functions.
62050
62051 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62052
62053         * modules/xalloc (Files): Undo latest change, since xalloc.h
62054         no longer needs SIZE_MAX or PTRDIFF_MAX.
62055
62056 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62057
62058         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
62059         gl_PTRDIFF_MAX.
62060
62061 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62062
62063         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
62064         "return", to pacify some unknown compiler.  Problem reported
62065         by Joerg Schilling.
62066
62067 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62068
62069         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
62070         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
62071         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
62072         heuristic is just as accurate as far as we know, and it removes a
62073         dependency on size_max.m4 and ptrdiff_max.m4.
62074
62075 2003-11-11  Bruno Haible  <bruno@clisp.org>
62076
62077         * modules/xsize (Files): Add m4/size_max.m4.
62078         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
62079
62080 2003-11-11  Bruno Haible  <bruno@clisp.org>
62081
62082         * m4/size_max.m4: New file.
62083         * m4/ptrdiff_max.m4: New file.
62084         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
62085         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
62086         (gl_XALLOC): Invoke it.
62087
62088 2003-11-11  Bruno Haible  <bruno@clisp.org>
62089
62090         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
62091         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
62092         defined.
62093
62094 2003-11-10  Paul Eggert  <eggert@twinsun.com>
62095
62096         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
62097         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
62098         rejected some allocations of exactly SIZE_MAX - 2 bytes.
62099         From Bruno Haible.
62100         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
62101         not (size_t) -1, since it's defined here.
62102
62103 2003-11-09  Karl Berry  <karl@gnu.org>
62104
62105         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
62106
62107 2003-11-06  Paul Eggert  <eggert@twinsun.com>
62108
62109         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
62110         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
62111         Reject sizes of exactly SIZE_MAX bytes.
62112         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
62113         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
62114
62115 2003-11-05  Bruno Haible  <bruno@clisp.org>
62116
62117         * lib/xsize.h: Include limits.h, to avoid a possible collision with
62118         SIZE_MAX defined in <limits.h> on Solaris.
62119
62120 2003-11-04  Jim Meyering  <jim@meyering.net>
62121
62122         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
62123         variable names, rather than @VAR@.
62124         * modules/poll: Likewise.
62125
62126 2003-11-04  Bruno Haible  <bruno@clisp.org>
62127
62128         * modules/xsize: New file.
62129         * modules/linebreak: Depend on xsize.
62130         * MODULES.html.sh (func_all_modules): Add xsize.
62131
62132 2003-11-04  Bruno Haible  <bruno@clisp.org>
62133
62134         * m4/xsize.m4: New file.
62135
62136 2003-11-04  Bruno Haible  <bruno@clisp.org>
62137
62138         * lib/xsize.h: New file.
62139         * lib/linebreak.c: Include xsize.h.
62140         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
62141         argument for overflow.
62142         Suggested by Paul Eggert.
62143
62144 2003-11-03  Karl Berry  <karl@gnu.org>
62145
62146         * config/config.{guess,sub}: update from config.
62147
62148 2003-11-03  Jim Meyering  <jim@meyering.net>
62149
62150         * modules/userspec (lib_SOURCES): Add userspec.h.
62151         (Include): Add "userspec.h".
62152         Improve description.
62153
62154 2003-11-03  Jim Meyering  <jim@meyering.net>
62155
62156         * lib/userspec.c: Include "userspec.h".
62157         * lib/userspec.h: New file.
62158
62159 2003-11-03  Bruno Haible  <bruno@clisp.org>
62160
62161         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
62162
62163 2003-11-03  Bruno Haible  <bruno@clisp.org>
62164
62165         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
62166         available, to avoid (extremely rare) race condition.
62167         Suggested by Paul Eggert.
62168
62169 2003-11-02  Karl Berry  <karl@gnu.org>
62170
62171         * config/srclist.txt (vasprintf.c): sync broken, sigh.
62172
62173 2003-10-31  Paul Eggert  <eggert@twinsun.com>
62174
62175         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
62176         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
62177         (read_filesystem_list): Set and use me_type_malloced.
62178         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
62179         whatever the type happens to be), for brevity and consistency.
62180         Check for size calculation overflow on Alphas running OSF/1.
62181
62182 2003-10-31  Jim Meyering  <jim@meyering.net>
62183
62184         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
62185
62186         * lib/linebuffer.c: Include <string.h> for declaration of memset.
62187
62188 2003-10-30  Paul Eggert  <eggert@twinsun.com>
62189             Bruno Haible  <bruno@clisp.org>
62190
62191         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
62192         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
62193
62194 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62195
62196         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
62197         netbsd*-gnu*.  Suggested by Robert Millan.
62198
62199 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62200
62201         * modules/group-member: Depend on stdbool.
62202
62203 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62204
62205         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
62206
62207 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62208
62209         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
62210         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
62211         after the 'gnu' in these cases.  This fixes some bugs in the
62212         previous change, and is based on suggestions by Robert Millan.
62213
62214 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62215
62216         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
62217         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
62218         no longer needed.
62219         * lib/quotearg.c (quotearg_n_options): Use it.
62220         * lib/group-member.c: Include <stdbool.h>.
62221         (free_group_info): Arg is now const *; don't free arg.
62222         (get_group_info): Now returns bool and accepts struct group_info *,
62223         rather than returning a malloc'ed struct group_info *.
62224         All uses changed.  Check for overflow in internal size calculation.
62225
62226         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
62227         rather than xmalloc/xrealloc.
62228         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
62229         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
62230         conformance bug: the old code used a pointer after freeing the
62231         storage that it addressed.
62232         * lib/hash.c (hash_initialize): Simplify the code by using
62233         xalloc_oversized rather than doing it by hand.
62234         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
62235         the buffer preserved.  Use free and xmalloc instead.
62236         * lib/quotearg.c (quotearg_n_options): Likewise.
62237         Use a simpler test for size overflow.  Don't use xalloc_oversized
62238         because unsigned int might be wider than size_t (!); this suggests
62239         that we should switch from unsigned int to size_t for slot numbers.
62240
62241 2003-10-28  Paul Eggert  <eggert@twinsun.com>
62242
62243         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
62244         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
62245         NetBSD kernels.  Requested by Richard Stallman.
62246
62247 2003-10-27  Paul Eggert  <eggert@twinsun.com>
62248
62249         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
62250         to allocate the returned structure.  Do not allocate a subarray,
62251         as x2nrealloc will do that.
62252         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
62253         instead of xnrealloc.
62254         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
62255
62256 2003-10-27  Bruno Haible  <bruno@clisp.org>
62257
62258         * lib/stdbool_.h: Better support for BeOS.
62259
62260 2003-10-26  Paul Eggert  <eggert@twinsun.com>
62261
62262         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
62263         now uses inline.
62264
62265 2003-10-26  Paul Eggert  <eggert@twinsun.com>
62266
62267         * lib/xalloc.h (xalloc_oversized): New static inline function, for
62268         callers that want to do their own size-overflow checking.  Include
62269         <stdbool.h>, since xalloc_oversized returns bool.
62270         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
62271         to use xalloc_oversized.
62272
62273         Add two functions x2realloc, x2nrealloc, for programs that grow
62274         arrays dynamically by doubling their sizes.
62275         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
62276         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
62277         New functions.
62278
62279         Port to C99 semantics for 'inline' of external functions.
62280         Bug reported by Bruno Haible.
62281         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
62282         with the old contents of xnmalloc.
62283         (xnmalloc, xmalloc): Use it.
62284         (xnrealloc_inline): New static inline function,
62285         with the old contents of xnrealloc.
62286         (xnrealloc, xrealloc): Use it.
62287
62288         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
62289         that.
62290
62291 2003-10-26  Karl Berry  <karl@gnu.org>
62292
62293         * config/srclist.txt (COPYING.DOC): no longer available from
62294         /gd/gnuorg; don't know where the ultimate source is.
62295
62296 2003-10-25  Paul Eggert  <eggert@twinsun.com>
62297
62298         Fix several address-calculation bugs in the hash modules,
62299         plus some minor code cleanup.
62300
62301         * lib/hash.h: Include <stdbool.h>, for bool.
62302         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
62303         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
62304         hash_get_n_entries, hash_get_max_bucket_length,
62305         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
62306         hash_rehash): Use size_t rather than unsigned.
62307         * lib/hash.c (struct hash_table, hash_get_n_buckets,
62308         hash_get_n_buckets_used, hash_get_n_entries,
62309         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
62310         hash_get_entries, hash_do_for_each, hash_string, is_prime,
62311         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
62312         Likewise.
62313         (SIZE_MAX): Define if not defined.
62314         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
62315         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
62316         hash_print):
62317         Use const * when possible.
62318         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
62319         (check_tuning): Fix bug: if tuning parameters were very close to
62320         0 or 1, rounding errors could have caused subscript violations.
62321         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
62322         (hash_initialize): Add 'fail:' label
62323         to free table and return NULL, and use it to simplify code.
62324         Use calloc rather than clearing the storage ourself.
62325         (hash_initialize, hash_rehash): Check for arithmetic overflow in
62326         buffer size calculations.
62327         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
62328         Include <stddef.h>, for size_t.
62329         * lib/hash-pjw.c (hash_pjw): Likewise.
62330         Switch to method described by Bruno Haible.
62331         Include <limits.h>, for CHAR_BIT.
62332         (SIZE_BITS): New macro.
62333
62334 2003-10-23  Paul Eggert  <eggert@twinsun.com>
62335
62336         * m4/getline.m4 (AM_FUNC_GETLINE):
62337         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
62338         hosts.  Problem reported by Derek Robert Price in
62339         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
62340         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
62341         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
62342
62343 2003-10-21  Paul Eggert  <eggert@twinsun.com>
62344
62345         * lib/getndelim2.c (getndelim2): When size calculation overflows,
62346         ceiling the allocation at NMAX bytes rather than silently
62347         discarding input bytes before NMAX is reached.  This makes
62348         a difference only if NMAX exceeds SIZE_MAX / 2.
62349
62350         * lib/obstack.c: Merge from glibc.
62351         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
62352         Add libc_hidden_def (_obstack_newchunk).
62353         (_obstack_free) [! defined _LIBC]: Remove.
62354         [defined _LIBC]: Make a strong alias from obstack_free, rather than
62355         a clone of the function body.
62356         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
62357         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
62358
62359         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
62360         glibc.
62361         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
62362         arg to memcpy.
62363
62364         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
62365         (obstack_ptr_grow_fast, obstack_int_grow_fast):
62366         Don't use lvalue casts, as GCC plans to remove support for them
62367         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
62368         was also present in the non-GCC version, indicating that this
62369         code had always been buggy and had never been widely used.
62370         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
62371         Use the fast variant of each macro, rather than copying the
62372         definiens of the fast variant; that way, we'll be more likely to
62373         catch future bugs in the fast variants.
62374
62375 2003-10-20  Bruno Haible  <bruno@clisp.org>
62376
62377         * modules/wait-process: New file.
62378         * MODULES.html.sh (func_all_modules): Add wait-process.
62379
62380 2003-10-20  Bruno Haible  <bruno@clisp.org>
62381
62382         * m4/wait-process.m4: New file.
62383
62384 2003-10-20  Bruno Haible  <bruno@clisp.org>
62385
62386         * lib/wait-process.h: New file, from GNU gettext.
62387         * lib/wait-process.c: New file, from GNU gettext.
62388
62389 2003-10-19  Jim Meyering  <jim@meyering.net>
62390
62391         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
62392         HPUX 10.20.
62393
62394 2003-10-18  Karl Berry  <karl@gnu.org>
62395
62396         * config/config.guess: update from config.
62397
62398 2003-10-16  Paul Eggert  <eggert@twinsun.com>
62399
62400         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
62401         (getgroups): First arg is int, not size_t.
62402         Don't let 'free' mangle errno.
62403
62404 2003-10-16  Paul Eggert  <eggert@twinsun.com>
62405
62406         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
62407
62408 2003-10-16  Karl Berry  <karl@gnu.org>
62409
62410         * config/config.{guess,sub}: update from config.
62411
62412 2003-10-16  Jim Meyering  <jim@meyering.net>
62413
62414         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
62415         memcpy.
62416
62417 2003-10-15  Paul Eggert  <eggert@twinsun.com>
62418
62419         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
62420         (SIZE_MAX): Remove.
62421         (new_exclude, add_exclude_file): Initial size no longer needs to
62422         be a power of 2.
62423         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
62424         our own address arithmetic overflow checking.
62425
62426         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
62427         (fnmatch): Do not alloca more than 2000 wide characters;
62428         instead, use malloc for large buffers.
62429         Check for address arithmetic overflow, and return -1
62430         with errno set to ENOMEM in that case.
62431         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
62432         (NEW_PATTERN): Do not alloca more than 8000 bytes;
62433         instead, return -1.  Check for address arithmetic overflow.
62434
62435 2003-10-14  Paul Eggert  <eggert@twinsun.com>
62436
62437         Handle invalid suffixes and overflow independently, so that
62438         callers can treat them independently as needed.  Fix some bugs in
62439         suffix handling, e.g., "100k@" was not diagnosed as an invalid
62440         suffix for a human-readable blocksize.  The major caller-visible
62441         change is the addition of a new
62442         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
62443         that both overflow and suffix chars were found.
62444
62445         * lib/human.c (humblock): Don't check separately for invalid suffix
62446         char; that is xstrtoumax's job (now that its bug is fixed).
62447         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
62448         INTMAX_MAX]: New macros.
62449         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
62450         TYPE_MAXIMUM): New macros.
62451         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
62452         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
62453         if overflow occurs, as it's what __strtol does and it's more useful
62454         in practice.
62455         (__xstrtol): If __strtol reports some error other than ERANGE,
62456         reflect it to the caller as LONGINT_INVALID.  If it reports
62457         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
62458         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
62459         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
62460         value.
62461         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
62462         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
62463         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
62464         [defined UINTMAX_MAX]: New macros.
62465
62466 2003-10-14  Bruno Haible  <bruno@clisp.org>
62467
62468         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
62469
62470 2003-10-14  Bruno Haible  <bruno@clisp.org>
62471
62472         * m4/sig_atomic_t: New file, from GNU gettext.
62473         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
62474
62475 2003-10-14  Bruno Haible  <bruno@clisp.org>
62476
62477         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
62478         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
62479         Also use volatile where needed.
62480
62481 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62482
62483         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
62484         Change maintainer from Bruno Haible to 'all'.
62485
62486 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62487
62488         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
62489
62490 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62491
62492         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
62493         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
62494         and define in terms of the other primitives.
62495         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
62496         (SIZE_MAX): Define if not already defined.
62497         (array_size_overflow): New function.
62498         (xalloc_die): Abort instead of exiting if 'error' returns.
62499         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
62500         (xmalloc, xrealloc): Use them.
62501         (xcalloc): Check for address arithmetic overflow.
62502         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
62503         a bit faster than strcpy.
62504
62505 2003-10-10  Simon Josefsson  <jas@extundo.com>
62506
62507         * modules/argp (Depends-on): Add restrict and strcase.
62508
62509 2003-10-10  Simon Josefsson  <jas@extundo.com>
62510
62511         * m4/argp.m4: Add AC_C_INLINE.
62512
62513 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62514
62515         Merge getpass from libc, plus a few fixes.
62516
62517         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
62518         Include <stdbool.h>.
62519         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
62520         __fsetlocking to empty.
62521         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
62522         do include <bits/libc-lock.h>.
62523         Do not include <fcntl.h>; not needed.
62524         [_LIBC]: Include <wchar.h>.
62525         (NOTCANCEL_MODE): New macro.
62526         (flockfile, funlockfile) [_LIBC]: New macros.
62527         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
62528         [!_LIBC]: New macros.
62529         (call_fclose): New function.
62530         (getpass): Use it.  Save tty stream separately; this simplifies the
62531         code and makes it more reliable if stdin happens to equal stdout.
62532         Invoke __fsetlocking on tty.
62533         Handle thread cancellation if needed.
62534         Namespace cleanup (use __tcgetattr, __getline).
62535         Use bool for Booleans.
62536         [USE_IN_LIBIO]: Handle wide streams.
62537         [!_LIBC]: Unconditionally do the fseek, since we don't know what
62538         stream might go where.
62539
62540         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
62541         doesn't have to include <stdio.h> before us.
62542         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
62543         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
62544         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
62545         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
62546         if not declared, so that we can use getpass.c code from libc without
62547         rewriting it.
62548         (flockfile, ftrylockfile, funlockfile): New macros.
62549
62550 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62551
62552         * modules/getpass: Depend on stdbool.
62553
62554 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62555
62556         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
62557
62558 2003-10-07  Karl Berry  <karl@gnu.org>
62559
62560         * config/config.{guess,sub}: update from config.
62561
62562 2003-10-06  Jim Meyering  <jim@meyering.net>
62563             Bruno Haible  <bruno@clisp.org>
62564
62565         This lets translators provide better translations for the
62566         "Written by ..." part of --version output.
62567         * lib/version-etc.h: Include stdarg.h.
62568         (version_etc_copyright): Declare as readonly.
62569         (version_etc): Make this function variadic with a NULL-terminated list
62570         of author name strings.
62571         (version_etc_va): New declaration.
62572         * lib/version-etc.c: Include stdarg.h, stdlib.h.
62573         (version_etc_copyright): Declare as readonly.
62574         (version_etc_va): New function. Provide a different translatable string
62575         for each possible number of authors < 10. Abbreviate when there are 10
62576         authors or more.
62577         (version_etc): Make this function variadic. Call version_etc_va.
62578         Suggestion from Gary V. Vaughan.
62579
62580         * lib/long-options.h (parse_long_options): Change prototype: the
62581         authors string is moved to the end and becomes variadic.
62582         * lib/long-options.c: Include stdarg.h.
62583         (parse_long_options): Make this function variadic, too.
62584         Call version_etc_va, not version_etc.
62585
62586 2003-10-06  Bruno Haible  <bruno@clisp.org>
62587
62588         * modules/version-etc-2: Remove file.
62589         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
62590
62591 2003-10-06  Bruno Haible  <bruno@clisp.org>
62592
62593         * modules/fatal-signal: New file.
62594         * MODULES.html.sh (func_all_modules): Add fatal-signal.
62595
62596 2003-10-06  Bruno Haible  <bruno@clisp.org>
62597
62598         * m4/fatal-signal.m4: New file.
62599         * m4/signalblocking.m4: New file, from GNU gettext.
62600
62601 2003-10-06  Bruno Haible  <bruno@clisp.org>
62602
62603         * lib/version-etc-2.h: Remove file.
62604         * lib/version-etc-2.c: Remove file.
62605
62606 2003-10-06  Bruno Haible  <bruno@clisp.org>
62607
62608         * lib/fatal-signal.h: New file, from GNU gettext.
62609         * lib/fatal-signal.c: New file, from GNU gettext.
62610
62611 2003-10-05  Paul Eggert  <eggert@twinsun.com>
62612
62613         * README: Rework advice for preventing empty .o files.
62614         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
62615         not <sys/types.h>.
62616
62617 2003-10-04  Karl Berry  <karl@gnu.org>
62618
62619         * lib/argp*: update from libc.
62620
62621 2003-10-04  Karl Berry  <karl@gnu.org>
62622
62623         * config/config.{guess,sub}: update from config.
62624
62625 2003-10-02  Bruno Haible  <bruno@clisp.org>
62626
62627         * modules/lchown (Include): Add lchown.h.
62628         * modules/time_r (Include): Use "..." syntax.
62629         * modules/xgetdomainname (Include): Add xgetdomainname.h.
62630
62631 2003-10-01  Simon Josefsson  <jas@extundo.com>
62632
62633         * MODULES.html.sh (func_all_modules): Move gethostname from section
62634         'based on' to section 'lacking' POSIX:2001.
62635
62636 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
62637
62638         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
62639         to output mode on the same stream.
62640
62641 2003-09-29  Paul Eggert  <eggert@twinsun.com>
62642
62643         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
62644         Fix arg typo in previous patch.
62645
62646 2003-09-28  Jim Meyering  <jim@meyering.net>
62647
62648         * lib/error.c: Correct cpp indentation.
62649
62650 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62651
62652         * modules/free: New file.
62653
62654 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62655
62656         * m4/free.m4: New file.
62657
62658 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62659
62660         * lib/minmax.h (MIN, MAX)
62661         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
62662         Omit the special code that used __typeof__, since we worry that
62663         it could be more trouble than it's worth.  See:
62664         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
62665         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
62666
62667         * lib/free.c: New file.
62668
62669 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
62670
62671         Trivial fixes to Makefile.am parts of module listings.
62672         * modules/strstr: Append strstr.h to lib_SOURCES.
62673         * modules/strcase: Likewise, for strcase.h.
62674
62675 2003-09-27  Karl Berry  <karl@gnu.org>
62676
62677         * config/mkinstalldirs: update from automake.
62678
62679 2003-09-26  Paul Eggert  <eggert@twinsun.com>
62680
62681         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
62682         (error_tail): Do not loop, reallocating temporary buffer, since
62683         the output cannot contain more wide characters than the input
62684         contains bytes, the size must be big enough already.  This avoids
62685         one potential size overflow calculation.  Check for size overflow
62686         when calculating temporary buffer size.  Free temporary buffer
62687         when done, if it was allocated with malloc; this plugs a memory
62688         leak.  Remove casts from void * to pointers, that are no longer
62689         needed now that we're assuming C89 or better.
62690
62691         Merge error changes from glibc.
62692
62693         * lib/error.c, error.h: Update copyright notice header to match glibc.
62694         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
62695         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
62696         Disable cancellation while printing error.
62697         * lib/error.h: Prepend __ to parameter names.
62698
62699 2003-09-26  Jim Meyering  <jim@meyering.net>
62700
62701         * lib/error.c (error_tail): Move some declarations
62702         into inner scope where the local variables are used.
62703
62704 2003-09-26  Bruno Haible  <bruno@clisp.org>
62705
62706         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
62707         stpncpy().
62708         Don't define stpncpy through config.h; it's now done through stpncpy.h.
62709
62710 2003-09-26  Bruno Haible  <bruno@clisp.org>
62711
62712         * lib/stpncpy.h (gnu_stpncpy): New declaration.
62713         (stpncpy): Define as alias for gnu_stpncpy.
62714         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
62715
62716 2003-09-25  Simon Josefsson  <jas@extundo.com>
62717
62718         * lib/xgetdomainname.h: New file.
62719         * lib/xgetdomainname.c: New file.
62720
62721 2003-09-25  Simon Josefsson  <jas@extundo.com>
62722             Bruno Haible  <bruno@clisp.org>
62723
62724         * modules/getdomainname: New file.
62725         * modules/xgetdomainname: New file.
62726         * MODULES.html.sh (func_all_modules): Add getdomainname,
62727         xgetdomainname.
62728
62729 2003-09-25  Simon Josefsson  <jas@extundo.com>
62730             Bruno Haible  <bruno@clisp.org>
62731
62732         * m4/getdomainname.m4: New file.
62733
62734 2003-09-25  Simon Josefsson  <jas@extundo.com>
62735             Bruno Haible  <bruno@clisp.org>
62736
62737         * lib/getdomainname.h: New file.
62738         * lib/getdomainname.c: New file.
62739
62740 2003-09-25  Karl Berry  <karl@gnu.org>
62741
62742         * lib/argp-fmtstream.c, argp-help.c: update from libc.
62743
62744 2003-09-25  Karl Berry  <karl@gnu.org>
62745
62746         * config/install-sh: update from automake.
62747
62748 2003-09-25  Bruno Haible  <bruno@clisp.org>
62749
62750         * modules/version-etc-2: New file, from modules/version-etc with
62751         modifications.
62752         * MODULES.html.sh (func_all_modules): Add version-etc-2.
62753
62754 2003-09-25  Bruno Haible  <bruno@clisp.org>
62755
62756         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
62757         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
62758
62759 2003-09-24  Simon Josefsson  <jas@extundo.com>
62760
62761         * modules/xgethostname: Add xgethostname.h.
62762
62763 2003-09-24  Paul Eggert  <eggert@twinsun.com>
62764
62765         * lib/linebuffer.c (freebuffer): Don't free the argument, just
62766         the buffer associated with the argument.  Bug reported by
62767         Simon Josefsson.
62768
62769 2003-09-24  Paul Eggert  <eggert@twinsun.com>
62770
62771         * README: Document assumptions that 'int' is at least 32 bits
62772         wide, that integer arithmetic is 2's complement without overflow,
62773         that there are no holes in integer values, that adding sizes of
62774         two nonoverlapping objects can't overflow, and that all-bits-zero
62775         yields scalar zero.  Fix spelling and capitalization typos.
62776
62777 2003-09-19  Karl Berry  <karl@gnu.org>
62778
62779         * lib/argp.h: update from libc.
62780
62781 2003-09-17  Paul Eggert  <eggert@twinsun.com>
62782
62783         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
62784         to avoid spurious warnings like "AC_RUN_IFELSE was called before
62785         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
62786
62787 2003-09-17  Paul Eggert  <eggert@twinsun.com>
62788
62789         * gnulib-tool: Use "test -h", not "test -L", for portability
62790         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
62791         (tags_regexp): Remove, since \| doesn't conform to POSIX.
62792         (sed_extract_prog): Issue s commands one-by-one, rather than
62793         using \| in one s command.
62794
62795 2003-09-16  Paul Eggert  <eggert@twinsun.com>
62796
62797         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
62798         input error, instead of returning NULL the next time we are called
62799         (and therefore losing track of errno).
62800
62801 2003-09-16  Bruno Haible  <bruno@clisp.org>
62802
62803         * gnulib-tool (func_create_testdir): Warn about duplicated
62804         dependencies.
62805
62806 2003-09-15  Paul Eggert  <eggert@twinsun.com>
62807
62808         * modules/argmatch, modules/fatal, modules/obstack,
62809         modules/xalloc, modules/xgethostname: Sort dependencies by
62810         importance, not alphabetically.
62811
62812 2003-09-15  Paul Eggert  <eggert@twinsun.com>
62813
62814         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
62815         fails, so that the caller gets the proper errno.
62816
62817         * lib/readutmp.c (read_utmp): Likewise.
62818         Check for fstat error.  Close stream and free storage
62819         when failing.
62820
62821 2003-09-14  Karl Berry  <karl@gnu.org>
62822
62823         * config/srclist.txt (strdup.c): disable for c89 changes.
62824
62825 2003-09-14  Jim Meyering  <jim@meyering.net>
62826
62827         * lib/getloadavg.c: Correct cpp indentation.
62828         * lib/strdup.c: Likewise.
62829         * lib/vasnprintf.c: Likewise.
62830
62831 2003-09-14  Bruno Haible  <bruno@clisp.org>
62832
62833         * modules/fwriteerror: New file.
62834         * MODULES.html.sh (func_all_modules): Add fwriteerror.
62835
62836 2003-09-14  Bruno Haible  <bruno@clisp.org>
62837
62838         * lib/fwriteerror.h: New file.
62839         * lib/fwriteerror.c: New file.
62840
62841 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62842
62843         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
62844         modules/xgethostname, modules/xalloc: Depend on exit.
62845
62846 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62847
62848         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
62849
62850         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
62851         and AC_MINIX, too, so that their extensions are available.
62852
62853         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
62854         This macro has been superseded by gl_BACKUPFILE.
62855
62856         More patches to assume C89 or better.
62857
62858         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
62859
62860         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
62861         unconditionally.
62862         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
62863         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
62864         Include <string.h>, <stdlib.h> unconditionally.
62865         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
62866         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
62867         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
62868         headers or for string.h.
62869         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
62870         or strtoul.
62871
62872         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
62873         headers.
62874         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
62875         * m4/userspec.m4 (gl_USERSPEC): Likewise.
62876         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
62877         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
62878         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62879         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
62880         memcpy, memset.
62881         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
62882         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
62883         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
62884         strtol.
62885         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
62886         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
62887         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
62888         strtoul.
62889
62890 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62891
62892         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
62893         * lib/obstack.c [!defined _LIBC]: Likewise.
62894         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
62895         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
62896         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
62897
62898         More changes to assume C89 or better.
62899
62900         * lib/error.c (error_tail): Assume vprintf.
62901
62902         * lib/argmatch.c (getenv): Remove decl.
62903         * lib/progreloc.c (get_full_program_name): Define via prototype.
62904         * lib/setenv.c (clearenv): Likewise.
62905         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
62906         needed.
62907         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
62908         (malloc, memcpy): Remove decls.
62909         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
62910         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
62911         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
62912         (memcpy): Remove macro.
62913         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
62914         (__P): Remove.  All uses removed.
62915         (PTR): Remove.  All uses changed to void *.
62916         (CHAR_BIT, NULL): Remove.
62917         (spaces, zeros, memset_space, memset_zero)
62918         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
62919         Remove.
62920         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
62921         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
62922         Define with prototype.
62923         Remove now-unnecessary prototype decl.
62924         (extra_args_spec): Assume ANSI C.  All uses changed.
62925         (extra_args_spec_iso): Remove.
62926         (my_strftime, emacs_strftimeu): Define via prototype.
62927         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
62928         unconditionally.
62929         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
62930         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
62931         (strtoul, strtol): Remove decls.
62932         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
62933         LONG_MAX): Remove.
62934         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
62935         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
62936         (LOCALE_PARAM_PROTO): New macro.
62937         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
62938         (INTERNAL (strtol), strtol): Define with a prototype.
62939         (PARAMS): Remove.  All uses removed.
62940         * lib/tempname.c: Include <string.h> unconditionally.
62941         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
62942         * lib/xgethostname.c (main): Define with a prototype.
62943         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
62944         Include <stdlib.h> unconditionally.
62945         (calloc, malloc, realloc, free): Remove decls.
62946         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
62947         Include <stdlib.h> unconditionally.  Sort include file names.
62948         (strtod): Remove.
62949         (xstrtod): Define with a prototype.
62950         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
62951         (strtol, strtoul): Remove decls.
62952
62953 2003-09-11  Paul Eggert  <eggert@twinsun.com>
62954
62955         More patches to assume C89 or better.
62956         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
62957         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
62958         string.h, memchr, STDC_HEADERS.
62959
62960 2003-09-11  Paul Eggert  <eggert@twinsun.com>
62961
62962         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
62963         Include <stdlib.h>, <string.h> unconditionally.
62964         Remove now-unnecessary cast to char *.
62965         * lib/strnlen.c: Include <string.h> unconditionally.
62966         * lib/yesno.c (yesno): Define with a prototype.
62967
62968 2003-09-11  Bruno Haible  <bruno@clisp.org>
62969
62970         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
62971
62972 2003-09-10  Jim Meyering  <jim@meyering.net>
62973
62974         * lib/error.c: Correct indentation of cpp directives.
62975
62976 2003-09-10  Bruno Haible  <bruno@clisp.org>
62977
62978         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
62979         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
62980         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
62981         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
62982         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
62983         <stdlib.h> and <string.h> checks.
62984         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
62985         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
62986
62987 2003-09-10  Bruno Haible  <bruno@clisp.org>
62988
62989         * lib/strcspn.c: Include <string.h> unconditionally.
62990         * lib/strpbrk.c: Include <string.h> unconditionally.
62991         * lib/strstr.c: Include <string.h> unconditionally.
62992         * lib/unicodeio.c: Include <string.h> unconditionally.
62993         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
62994         * lib/unsetenv.c: Likewise.
62995         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
62996         * lib/yesno.c: Include <stdlib.h> unconditionally.
62997         (rpmatch): Add prototype.
62998
62999 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63000
63001         More patches to assume C89 or better.
63002         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
63003         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
63004         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
63005         or for string.h.
63006         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
63007         stdlib.h.
63008         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
63009         C headers.
63010         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
63011         string.h.
63012         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
63013         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
63014         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
63015         or for string.h.
63016         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
63017         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
63018         C headers.
63019         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
63020         memcpy.
63021         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
63022         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
63023         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
63024         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
63025         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
63026         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
63027         string.h, free.
63028         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
63029         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
63030         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
63031         C headers, or for string.h.
63032         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
63033         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
63034         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
63035         headers, memory.h, stdlib.h, string.h, strings.h.
63036         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
63037         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
63038         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
63039         strchr.
63040         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
63041         headers, memory.h, string.h.
63042         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
63043         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
63044         free.
63045         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
63046         headers.
63047         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
63048         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
63049         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
63050         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
63051         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
63052
63053 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63054
63055         More K&R removal.
63056
63057         * lib/acosl.c (main): Use a prototype.
63058         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
63059         tanl.c: Likewise.
63060
63061         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
63062
63063         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
63064         (getopt, etopt_long, getopt_long_only, _getopt_internal)
63065         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
63066         with a prototype.
63067         * lib/getopt.c (const): Remove macro.
63068         Include <string.h> unconditionally.
63069         (my_index): Remove; all uses changed to strchr.
63070         (strlen): Remove decl.
63071         (exchange): Remove forward decl; no longer needed.
63072         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
63073         Define with prototype.
63074         * lib/getopt1.c (const): Remove macro.
63075         (getopt_long, getopt_long_only, main): Define with prototype.
63076
63077         * lib/getugroups.c: Include <string.h> unconditionally.
63078
63079         * lib/getusershell.c: Include <stdlib.h> unconditionally.
63080         (getusershell, setusershell, endusershell, readname, main):
63081         Define with prototypes.
63082
63083         * lib/group-member.c: Include group-member.h first.
63084         Include <stdlib.h> unconditionally.
63085
63086         * lib/hard-locale.c: Include hard-locale.h first.
63087         Include <stdlib.h>, <string.h> unconditionally.
63088
63089         * lib/hash.c (free, malloc): Remove decls.
63090         Include <stdlib.h> unconditionally.
63091
63092         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
63093         (getenv): Do not declare.
63094
63095         * lib/idcache.c: Include <string.h> unconditionally.
63096
63097         * lib/long-options.c: Include long-options.h first, to test interface.
63098         Include <stdlib.h> unconditionally.
63099
63100         * lib/makepath.c: Include makepath.h first, to test interface.
63101         Include <stdlib.h> and <string.h> unconditionally.
63102
63103         * lib/linebuffer.c: Include <stdlib.h>.
63104         (free): Remove decl.
63105
63106         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
63107         stddef.h. rpl_malloc returns void *, not char *.
63108         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
63109         prototype.
63110
63111         * lib/md5.h: Include <limits.h> unconditionally.
63112         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
63113         (__P): Remove; all uses removed.
63114         * lib/md5.c: Include "md5.h" first.
63115         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
63116         md5_buffer, md5_process_bytes, md5_process_block):
63117         Define with prototypes.
63118         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
63119         * lib/sha.c: Include "sha.h" first.
63120         Include <stdlib.h>, <string.h> unconditionally.
63121
63122         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
63123         * lib/memcmp.c (__ptr_t): Likewise.
63124         * lib/memrchr.c (__ptr_t): Likewise.
63125         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
63126         Include <string.h> unconditionally.
63127         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
63128         * lib/memchr.c: Include <stdlib.h> unconditionally.
63129         * lib/memchr.c (LONG_MAX): Remove.
63130         * lib/memrchr.c (LONG_MAX): Likewise.
63131         * lib/memchr.c (__memchr): Define via a prototype.
63132         * lib/memrchr.c (__memrchr): Likewise.
63133         * lib/memcmp.c (__P): Remove, and remove all uses.
63134         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
63135         Remove forward decls; no longer needed.
63136         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
63137         Use types required by C89 in prototype.
63138
63139         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
63140         * lib/savedir.c: Likewise.
63141         * lib/mkdir.c (free): Remove decl.
63142         * lib/rmdir.c (rmdir): Define with a prototype.
63143         * lib/savedir.c: Include savedir.h first, to test interface.
63144
63145         * lib/mktime.c (STDC_HEADERS): Remove.
63146         Include <stdlib.h>, <string.h> unconditionally.
63147
63148         * lib/modechange.c: Include <stdlib.h> unconditionally.
63149         (malloc): Remove decl.
63150
63151         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
63152         (free): Remove decl.
63153
63154         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
63155         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
63156         (This type really should be intptr_t, but that's a C99ism.)
63157         (_obstack_memcpy): Remove: all uses changed to memcpy.
63158         Include <string.h> unconditionally.
63159         (struct obstack): Assume __STDC__ for types of members
63160         chunkfun, freefun, extra_arg.
63161         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
63162         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
63163         obstack_begin, obstack_specify_allocation,
63164         obstack_specify_allocation_with_arg, obstack_chunkfun,
63165         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
63166         Remove unprototyped decls and the macros that use them.
63167         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
63168         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
63169         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
63170         (defined __STDC__ && __STDC__)]:
63171         Remove nonprototyped code.
63172         Include <stdlib.h> unconditionally.
63173         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
63174         _obstack_allocated_p, _obstack_free, obstack_free,
63175         _obstack_memory_used, print_and_abort):
63176         Define using prototypes.
63177         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
63178         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
63179         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
63180         obstack_next_free, obstack_object_size, obstack_room) [0]:
63181         Remove unused, unprototyped code.
63182
63183         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
63184
63185         * lib/physmem.c (physmem_total, physmem_available, main): Define
63186         with prototypes.
63187
63188         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
63189         (main): Define with a prototype.
63190
63191         * lib/posixver.c (getenv): Remove decl.
63192
63193         * lib/putenv.c (malloc): Returns void *, not char *.
63194         Include <string.h> unconditionally.
63195         (strchr, memcpy, NULL): Do not define.
63196
63197         * lib/readtokens.c: Include readtokens.h first, to test interface.
63198         Include <stdlib.h>, <string.h> unconditionally.
63199         (init_tokenbuffer): Define with a prototype.
63200
63201         * lib/regex.c (PARAMS): Remove.  All uses removed.
63202         All uses of _RE_ARGS removed, too.
63203         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
63204         unconditionally.
63205         (bzero): Assume memset exists.
63206         (memcmp, memcpy, NULL): Remove.
63207         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
63208         char, or assignments to local vars of type signed char.
63209         (init_syntax_once, PREFIX(extract_number_and_incr),
63210         PREFIX(print_partial_compiled_pattern),
63211         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
63212         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
63213         PREFIX(regex_grow_registers), PREFIX(regex_compile),
63214         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
63215         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
63216         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
63217         wcs_compile_range, byte_compile_range, truncate_wchar,
63218         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
63219         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
63220         count_mbs_length, wcs_re_match_2_internal,
63221         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
63222         PREFIX(alt_match_null_string_p),
63223         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
63224         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
63225         regfree, PREFIX(extract_number)): Define with prototype.  Remove
63226         now-unnecessary declaration, if any.
63227         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
63228         regcomp, regexec):
63229         Remove now-unnecessary casts among pointer types.
63230         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
63231
63232         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
63233         (free): Remove decl.
63234
63235         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
63236
63237         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
63238         (free): Remove decl.
63239
63240         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
63241         * lib/xgetcwd.c: Likewise.
63242
63243         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
63244         (free): Remove decl.
63245
63246         * lib/strchrnul.c (strchrnul): Define with a prototype.
63247         Fix bug: c_in was not converted to char before searching.
63248
63249         The following changes are not K&R related:
63250
63251         * lib/group-member.h: Include <sys/types.h>, so that this file is
63252         self-contained.
63253         * lib/makepath.h: Likewise.
63254
63255         * lib/getusershell.c (readname, default_index, line_size, readname):
63256         Use size_t, not int, for sizes.
63257         (readname): If the size overflows, report an error instead of
63258         looping forever.
63259
63260 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63261
63262         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
63263         libc.
63264
63265 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63266
63267         * README: New section: portability guidelines.
63268
63269 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
63270
63271         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
63272         C89 spec.
63273
63274 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
63275
63276         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
63277
63278 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63279
63280         Assume C89 or better; remove K&R cruft.
63281         A few of these changes were first proposed by Derek Robert Price
63282         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
63283
63284         * lib/addext.c: Include <string.h> unconditionally.
63285         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
63286         Don't declare getenv or malloc.
63287
63288         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
63289         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
63290         (NULL): Remove.
63291         (find_stack_direction, alloca): Use prototypes.
63292
63293         * lib/atexit.c (atexit): Define using a prototype.
63294
63295         * lib/basename.c, dirname.c, stripslash.c:
63296         Include <string.h> unconditionally.
63297
63298         * lib/bcopy.c: Include <stddef.h>.
63299         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
63300
63301         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
63302
63303         * lib/error.h (error, error_at_line, error_print_progname)
63304         [! (defined (__STDC__) && __STDC__)]: Remove decls.
63305         * lib/error.c: Include error.h first, to check interface.
63306         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
63307         (VA_START): Remove; all uses changeed to va_start.
63308         (exit, strerror): Remove decls.
63309         (error_print_progname): Prototype uncondionally.
63310         Don't include <errno.h>; no longer needed.
63311         (private_strerror): Remove.
63312         (error_tail): Always define.
63313         (error, error_at_line): Assume C89 or better; always use prototypes.
63314         * lib/fatal.c: Include "fatal.h" first, to test interface.
63315         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
63316         (VA_START): Remove; all uses changed to va_start.
63317         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
63318         this case.
63319         (exit): Remove decl.
63320         (fatal): Prototype unconditionally.  Assume va_start works.
63321         Abort at end, to pacify gcc.
63322
63323         * lib/euidaccess.c (main): Define with a prototype.
63324
63325         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
63326
63327         * lib/exitfail.c: Include <stdlib.h> unconditionally.
63328
63329         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
63330         prototypes.
63331         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
63332         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
63333         (getenv): Remove decl.
63334         (fnmatch): Define using a prototype.
63335         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
63336         (FCT): Define using a prototype.
63337
63338         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
63339
63340         * lib/gethostname.c: Include <stddef.h>.
63341         (gethostname): Define with prototype.  Length is size_t, not int.
63342
63343 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63344
63345         Assume C89 or better; remove K&R cruft.
63346         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
63347         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
63348         string.h, getenv, malloc.
63349         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
63350         headers.
63351         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
63352         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
63353         do not check for strerror.
63354         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
63355         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
63356         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
63357         do not check for doprnt or vprintf.
63358         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
63359         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
63360
63361 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63362
63363         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
63364         getversion.c should have been removed then, but was accidentally
63365         preserved.
63366
63367         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
63368         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
63369
63370 2003-09-08  Karl Berry  <karl@gnu.org>
63371
63372         * config/config.sub, config.guess, srclistvars.sh: update from savannah
63373                 config, forget about prep.
63374
63375         * config/depcomp, missing: update from automake.
63376
63377 2003-09-07  Paul Eggert  <eggert@twinsun.com>
63378
63379         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
63380         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
63381
63382 2003-09-07  Paul Eggert  <eggert@twinsun.com>
63383
63384         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
63385         copy_tm_result.  Bug reported by Simon Josefsson in
63386         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
63387
63388 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63389
63390         * m4/time_r.m4: New file.
63391         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
63392         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
63393         is. Check for timegm declaration.
63394         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
63395         Do not check for gmtime_r.
63396         Replace mktime if __mktime_internal does not exist and if mktime
63397         hasn't been replaced already.
63398
63399 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63400
63401         * lib/time_r.c, lib/time_r.h: New files.
63402
63403         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
63404         __localtime_r.
63405         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
63406         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
63407
63408         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
63409         __gmtime_r.
63410         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
63411         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
63412         Include <time_r.h>.
63413
63414         * lib/timegm.c: Switch to glibc implementation, with the following
63415         changes:
63416         [defined HAVE_CONFIG_H]: Include <config.h>.
63417         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
63418         (__mktime_internal) [!defined _LIBC]: New decl.
63419         (__gmtime_r) [!defined _LIBC]: New macro and function.
63420         (timegm): Use a prototype, since gnulib assumes C89.
63421         Do not bother declaring tmp to be const, as it's not really usefu.
63422         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
63423         (timegm): Declare only if HAVE_DECL_TIMEGM.
63424
63425 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63426
63427         * MODULES.html.sh (func_all_modules): Add time_r.
63428         * modules/time_r: New file.
63429         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
63430         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
63431
63432 2003-09-03  Paul Eggert  <eggert@twinsun.com>
63433
63434         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
63435         Bug reported by Lute Kamstra in
63436         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
63437
63438         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
63439         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
63440         course with correspondingly smaller numbers for tomorrow and
63441         yesterday.  From Tadayoshi Funaba.  Originally installed into
63442         sh-utils on 1999-08-07, but the patch got lost (I guess during the
63443         coreutils merge?).
63444
63445 2003-08-31  Simon Josefsson  <jas@extundo.com>
63446
63447         * modules/timegm: New file.
63448         * MODULES.html.sh (func_all_modules): Add timegm.
63449
63450 2003-08-31  Simon Josefsson  <jas@extundo.com>
63451
63452         * m4/timegm.m4: New file.
63453
63454 2003-08-31  Simon Josefsson  <jas@extundo.com>
63455
63456         * lib/timegm.h: New file.
63457         * lib/timegm.c: New file.  Based on
63458         wget-1.8.2/src/http.c:mktime_from_utc.
63459
63460 2003-08-31  Karl Berry  <karl@gnu.org>
63461
63462         * lib/argp.h: update from libc.
63463
63464 2003-08-28  Bruno Haible  <bruno@clisp.org>
63465
63466         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
63467         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
63468         followed by '#define fnmatch fnmatch_posix' gives an error.
63469
63470 2003-08-28  Bruno Haible  <bruno@clisp.org>
63471
63472         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
63473         warning on QNX, which defines O_BINARY to 000000.
63474
63475 2003-08-27  Jim Meyering  <jim@meyering.net>
63476
63477         * m4/mkstemp.m4: Require that the system mkstemp be able to create
63478         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
63479         would fail after 32.  Reported by Danny Levinson.  Details here:
63480         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
63481
63482 2003-08-24  Bruno Haible  <bruno@clisp.org>
63483
63484         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
63485         MSVC7 <stdio.h> is included later.
63486
63487 2003-08-22  Simon Josefsson  <jas@extundo.com>
63488
63489         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
63490
63491 2003-08-20  Karl Berry  <karl@gnu.org>
63492
63493         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
63494
63495 2003-08-20  Bruno Haible  <bruno@clisp.org>
63496
63497         * modules/progname: New file.
63498         * MODULES.html.sh (func_all_modules): Add progname.
63499
63500 2003-08-20  Bruno Haible  <bruno@clisp.org>
63501
63502         * lib/progname.h: New file, from GNU gettext.
63503         * lib/progname.c: New file, from GNU gettext.
63504         * lib/progreloc.c: New file, from GNU gettext.
63505
63506 2003-08-19  Jim Meyering  <jim@meyering.net>
63507
63508         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
63509         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
63510
63511 2003-08-19  Bruno Haible  <bruno@clisp.org>
63512
63513         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
63514         more.
63515
63516 2003-08-19  Bruno Haible  <bruno@clisp.org>
63517
63518         * lib/xstrdup.c: Assume <string.h> exists.
63519
63520 2003-08-18  Paul Eggert  <eggert@twinsun.com>
63521
63522         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
63523         in makefile rules.
63524
63525 2003-08-18  Jim Meyering  <jim@meyering.net>
63526
63527         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
63528         * m4/lib-ld.m4: Likewise.
63529
63530 2003-08-18  Jim Meyering  <jim@meyering.net>
63531
63532         * lib/setenv.h: Indent nested cpp directive.
63533         * lib/vasnprintf.c: Remove trailing blanks.
63534
63535 2003-08-17  Simon Josefsson  <jas@extundo.com>
63536
63537         * modules/xstrndup: New file.
63538         * MODULES.html.sh (func_all_modules): Add xstrndup.
63539
63540 2003-08-17  Simon Josefsson  <jas@extundo.com>
63541
63542         * modules/argp: Fix autoconf macro name. Add more dependencies.
63543
63544 2003-08-17  Simon Josefsson  <jas@extundo.com>
63545
63546         * m4/xstrndup.m4: New file.
63547
63548 2003-08-17  Simon Josefsson  <jas@extundo.com>
63549
63550         * m4/argp.m4: New file.
63551
63552 2003-08-17  Simon Josefsson  <jas@extundo.com>
63553             Bruno Haible  <bruno@clisp.org>
63554
63555         * lib/xstrndup.h: New file.
63556         * lib/xstrndup.c: New file.
63557
63558 2003-08-17  Bruno Haible  <bruno@clisp.org>
63559
63560         * modules/strndup (Files, Include): Add lib/strndup.h.
63561
63562 2003-08-17  Bruno Haible  <bruno@clisp.org>
63563
63564         * modules/euidaccess (Files): Add lib/euidaccess.h.
63565
63566 2003-08-17  Bruno Haible  <bruno@clisp.org>
63567
63568         * lib/strndup.h: New file.
63569
63570 2003-08-17  Bruno Haible  <bruno@clisp.org>
63571
63572         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
63573         like AC_GNU_SOURCE.
63574         * modules/extensions (configure.ac): Comment out the invocation of
63575         gl_USE_SYSTEM_EXTENSIONS.
63576
63577 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63578
63579         Merges from coreutils, etc.
63580         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
63581         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
63582         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
63583         fixing a typo.
63584         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
63585         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
63586
63587 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63588
63589         Document merge from coreutils.
63590         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
63591         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
63592         * modules/utime: Add m4/utimes-null.m4.
63593
63594 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63595
63596         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
63597         space, undoing this 2003-08-12 change:
63598         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
63599
63600 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63601
63602         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
63603         strtoul.c from libc, undoing this 2003-08-12 change:
63604         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
63605
63606 2003-08-16  Jim Meyering  <jim@meyering.net>
63607
63608         Merges from coreutils.
63609         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
63610         prefix.  Adjust cache variables similarly.  Create 500 rather than
63611         just 300 files, to exercise bug on Darwin6.5, too.
63612         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
63613         $missing_dir.
63614         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
63615         AM_SYS_POSIX_TERMIOS.
63616         Reported by mkc@mathdogs.com.
63617         Also change use of $am_cv_sys_posix_termios
63618         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
63619         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
63620         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
63621         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
63622         in /proc/mounts until it finds one with matching device number.  This
63623         is unnecessary when the FILE argument *is* a mount point.  No stat call
63624         is necessary in that case.  So, disable the statvfs-testing code on
63625         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
63626         as RedHat bug# 84846.
63627         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
63628         to 1MB, so as not to render systems with no stack size limit (e.g.,
63629         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
63630         Include <unistd.h>.  On some systems,
63631         it is required for the definition of _SC_PAGESIZE.
63632
63633 2003-08-16  Jim Meyering  <jim@meyering.net>
63634
63635         Merge from coreutils.
63636         * lib/xstrtoimax.c: #else #if -> #elif.
63637         * lib/xstrtoumax.c: Likewise.
63638
63639 2003-08-16  Jim Meyering  <jim@meyering.net>
63640
63641         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
63642         * m4/utimes.m4: Removed.
63643         * m4/utimes-null.m4: Renamed from utimes.m4.
63644
63645         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
63646         to 1MB, so as not to render systems with no stack size limit (e.g.,
63647         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
63648         Include <unistd.h>.  On some systems,
63649         it is required for the definition of _SC_PAGESIZE.
63650
63651 2003-08-16  Jim Meyering  <jim@meyering.net>
63652         and Paul Eggert  <eggert@cs.ucla.edu>
63653
63654         Merges from coreutils, etc.
63655
63656         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
63657         using the latest version from cvs.  This avoids problems with #line
63658         directives using a vendor (Sun) compiler.
63659         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
63660         Don't set GETGROUPS_LIB here; now it's
63661         done via getgroups.m4's wrapper function.
63662         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
63663         rather than just in sh-util/configure.in, so that the
63664         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
63665         same.
63666         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
63667         AC_FUNC_GETLOADAVG where to find getloadavg.c.
63668         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
63669         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
63670         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
63671         Remove code that is now done by the newly-required macros.
63672         Append $(EXEEXT) to DF_PROG.
63673         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
63674         Do not invoke or require the following here,
63675         since prereq.m4 or some gnulib .m4 now does this for us:
63676         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
63677         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
63678         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
63679         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
63680         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
63681         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
63682         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
63683         AC_FUNC_OBSTACK.
63684         Do not replace the following functions, as this is now the job
63685         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
63686         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
63687         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
63688         atexit getpass, strdup, getpagesize.
63689         Replace 'raise'.
63690         Do not check for the following functions, as this is now the job
63691         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
63692         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
63693         setregid.
63694         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
63695         Check for sys/sysctl.h.
63696         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
63697         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
63698         of checking for ssize_t ourselves.
63699
63700         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
63701         Require every macro that gnulib/modules/* suggests for us.
63702         (jm_PREREQ_ADDEXT): New macro.
63703         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
63704         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
63705
63706         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
63707         (gl_PHYSMEM): Use it.
63708         Also check for `table' function.
63709         Check for new headers and functions.
63710         Add check for sys/sysmp.h.
63711         With suggestions from Kaveh Ghazi.
63712         Ignore headers that are present but cannot be compiled.  This
63713         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
63714         C 5.4.
63715
63716 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63717
63718         Document merge from coreutils.
63719         * modules/userspec: Depend on posixver.
63720         * modules/strftime: Depend on tzset.
63721
63722 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63723
63724         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
63725         rather than tab, after '#' in shell-script copyright notices.
63726         Suggested by Bruno Haible.
63727
63728 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63729
63730         * config/srclist-update: Use three spaces, rather than tab, after '#'
63731         in shell-script copyright notices.  Suggested by Bruno Haible.
63732         Remove unnecessary parenthesization in regular expression.
63733
63734 2003-08-15  Jim Meyering  <jim@meyering.net>
63735
63736         Merge from coreutils.
63737         * lib/xgethostname.c: Include <stdlib.h>.
63738         (xghostname): Don't exit for anything other than memory-related
63739         failure; just return NULL.
63740         * lib/userspec.c: Include "posixver.h".
63741         (parse_user_spec): Accept `.' as a separator only
63742         in pre-POSIX-200112 mode.
63743         * lib/strtoimax.c: Use #elif rather than #else #if.
63744         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
63745         Remove function, now that we can rely on a working tzset function.
63746         [!_LIBC]: Ensure that the required autoconf test has been run.
63747         [!defined _NL_CURRENT && HAVE_STRFTIME]:
63748         Use underlying_strftime for %r.
63749         * lib/sha.c: Merge in some clean-up and optimization changes from
63750         glibc.
63751         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
63752         Ensure that it is a multiple of 64.
63753         Rearrange loop exit tests so as to avoid performing an
63754         additional fread after encountering an error or EOF.
63755         * lib/realloc.c: Update copyright date.
63756
63757 2003-08-15  Jim Meyering  <jim@meyering.net>
63758         and Paul Eggert  <eggert@twinsun.com>
63759
63760         Merge from coreutils.
63761         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
63762         member but strut utmpx does not.  Needed for AIX 4.3.3.
63763         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
63764
63765 2003-08-15  Jim Meyering  <jim@meyering.net>
63766         and Paul Eggert  <eggert@cs.ucla.edu>
63767
63768         Merges from coreutils, etc.
63769         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
63770         Require gl_FUNC_TZSET_CLOBBER.
63771         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
63772         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
63773         members.
63774
63775 2003-08-14  Paul Eggert  <eggert@twinsun.com>
63776
63777         Help the merge from coreutils.
63778         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
63779         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
63780         * m4/tzset.m4: Use it too.
63781
63782 2003-08-14  Paul Eggert  <eggert@twinsun.com>
63783
63784         * modules/tzset: New file.
63785
63786 2003-08-14  Jim Meyering  <jim@meyering.net>
63787
63788         Merges from coreutils.
63789         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
63790         variable names, rather than @FNMATCH_H@.
63791         * modules/alloca: Likewise for $(ALLOCA_H).
63792
63793         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
63794         the three copies of the literal target, `fnmatch.h'.
63795         * modules/alloca (alloca.h): Likewise.
63796
63797 2003-08-14  Jim Meyering  <jim@meyering.net>
63798
63799         Merge from coreutils.
63800         * m4/tzset.m4: New file.
63801         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
63802         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
63803         otherwise, AIX 5.1 systems would end up using the latter.
63804         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
63805         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
63806         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
63807         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
63808
63809 2003-08-14  Jim Meyering  <jim@meyering.net>
63810
63811         Merge from coreutils.
63812         * lib/obstack.h: Whitespace changes.
63813         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
63814         and xcalloc return values.
63815         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
63816         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
63817         hang on OSF/1 5.1 for DIR on both local and remote file systems.
63818         Reported by (and fix confirmed by) Nelson H. F. Beebe.
63819         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
63820         error from mntctl.
63821         Use mntctl's return value to drive the entry-processing loop, since
63822         we can't rely on the value of the vmt_length member in the last
63823         entry.  On some systems doing so could result in exhausting
63824         virtual memory.  Based in part on a patch from Mike Jetzer.
63825
63826 2003-08-14  Jim Meyering  <jim@meyering.net>
63827         and Paul Eggert  <eggert@twinsun.com>
63828
63829         Merges from coreutils, plus other fixes.
63830         * lib/physmem.c: Merge in portability changes from gcc/libiberty
63831         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
63832         for credits and details.  Thanks to Kaveh Ghazi for helping
63833         to keep these files in sync.
63834         (ARRAY_SIZE): Define it.
63835         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
63836         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
63837         (memcasecmp): Don't assume size_t fits in unsigned int.
63838         Remove casts and duplicate code.
63839         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
63840         (memcpy): Remove definition.
63841         Merge in some clean-up and optimization changes from glibc.
63842         [BLOCKSIZE]: Move definition to top of file.
63843         Ensure that it is a multiple of 64.
63844         Rearrange loop exit tests so as to avoid performing an
63845         additional fread after encountering an error or EOF.
63846         * lib/md5.h (md5_uintptr): Define.
63847         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
63848         return to the initial working directory.  Preserve errno
63849         for caller.
63850         * lib/idcache.c: Include "xalloc.h".
63851         (xmalloc, xrealloc): Remove decls.
63852         (getuser): Remove casts no longer required in C89.
63853         * lib/human.c: Include stdio.h, for sprintf.
63854         * lib/group-member.c: Include "xalloc.h".
63855         (xmalloc, xrealloc): Remove decls.
63856         (get_group_info): Remove casts no longer required in C89.
63857         * lib/getusershell.c (readname): Remove casts no longer required in
63858         C89.
63859         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
63860         * lib/getline.c: Whitespace fix, from coreutils.
63861
63862 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63863
63864         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
63865         Check for isascii.
63866
63867         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
63868         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
63869         Undo previous (whitespace-only) change.
63870
63871 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63872
63873         * lib/exclude.c: Include <ctype.h>
63874         (IN_CTYPE_DOMAIN): New macro.
63875         (is_space): New fn.
63876         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
63877         and empty lines.
63878
63879         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
63880         Undo previous (whitespace-only) change.
63881
63882 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63883
63884         * config/srclist-update: Change update back to the old behavior,
63885         leaving whitespace alone.  Use one 'sed' command rather than a
63886         pipeline.
63887         (fixlicense): Now a variable, not a function.
63888         (remove_trailing_blanks): Remove.
63889         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
63890         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
63891         Undo previous (whitespace-only) change.
63892
63893 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63894
63895         Merge from coreutils.
63896         * modules/euidaccess: Add lib_SOURCES, include for new
63897         file euidaccess.h
63898
63899 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63900
63901         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
63902         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
63903         Normalize leading white space and remove trailing white space.
63904
63905         Merge from coreutils
63906         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
63907
63908         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
63909         0.12.1.  These files are now being upgraded automatically by
63910         ../config/srclist-update.
63911
63912 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63913
63914         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
63915         Normalize leading white space and remove trailing white space.
63916         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
63917         notice, as per ../config/srclist-update.
63918
63919         Merge from coreutils.
63920         * lib/euidaccess.h: New file.
63921         * lib/euidaccess.c: Include it.
63922         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
63923         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
63924         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
63925
63926 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63927
63928         * config/srclist-update: Add copyright notice.
63929         (remove_id_lines, remove_trailing_blanks): New constants.
63930         (fixfile): Use them to normalize spacing a bit in copied files.
63931         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
63932         Normalize leading white space and remove trailing white space.
63933
63934         * config/texinfo.tex: Sync with texinfo.
63935
63936         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
63937         strtoul.c from libc, to merge coreutils whitespace changes.
63938
63939         * config/srclist.txt: Get the following m4 files from gettext:
63940         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
63941         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
63942         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
63943         wint_t.m4.
63944
63945 2003-08-12  Karl Berry  <karl@gnu.org>
63946
63947         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
63948         been made.
63949
63950 2003-08-11  Paul Eggert  <eggert@twinsun.com>
63951
63952         * modules/gnu-source, m4/gnu-source.m4:
63953         Remove; we're assuming Autoconf 2.54 or later now.
63954         Suggested by Bruno Haible.
63955         * MODULES.html.sh (func_all_modules): Remove gnu-source.
63956
63957 2003-08-11  Bruno Haible  <bruno@clisp.org>
63958
63959         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
63960
63961 2003-08-11  Bruno Haible  <bruno@clisp.org>
63962
63963         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
63964         (vasnprintf): Use it instead of wcslen.
63965
63966 2003-08-11  Bruno Haible  <bruno@clisp.org>
63967
63968         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
63969         value to ensure that _Bool promotes to int. Use #define for _Bool when
63970         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
63971
63972 2003-08-10  Karl Berry  <karl@gnu.org>
63973
63974         * lib/regex.h: update from libc (whitespace fix).
63975
63976 2003-08-09  Paul Eggert  <eggert@twinsun.com>
63977
63978         Merge some files from coreutils.  These changes were
63979         originally made by Jim Meyering.
63980         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
63981         many older Unixes require this.
63982         * lib/alloca.c (alloca): Remove cast to argument of free;
63983         no longer needed in C89.
63984         * lib/alloca_.h, regex.h: Fix white space to match
63985         what GNU indent does.
63986
63987 2003-08-09  Paul Eggert  <eggert@twinsun.com>
63988
63989         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
63990         apparently Emacs's Unicode mode got confused before my 2003-08-05
63991         checkin.
63992
63993 2003-08-08  Paul Eggert  <eggert@twinsun.com>
63994
63995         * m4/extensions.m4: New file.
63996         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
63997         Require gl_USE_SYSTEM_EXTENSIONS.
63998         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
63999         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
64000
64001 2003-08-08  Paul Eggert  <eggert@twinsun.com>
64002
64003         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
64004         * modules/extensions, modules/gnu-source: New files.
64005         * modules/timespec, modules/unlocked-io: Depend on extensions.
64006
64007 2003-08-07  Paul Eggert  <eggert@twinsun.com>
64008
64009         * modules/restrict: New file.
64010         * MODULES.html.sh (func_all_modules): Add restrict.
64011         * modules/regex: Depend on restrict.
64012
64013 2003-08-07  Paul Eggert  <eggert@twinsun.com>
64014
64015         * m4/restrict.m4: New file.
64016         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
64017
64018 2003-08-07  Bruno Haible  <bruno@clisp.org>
64019
64020         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
64021         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
64022
64023 2003-08-07  Bruno Haible  <bruno@clisp.org>
64024
64025         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
64026         makes the module 'getndelim2' compatible with the module 'getline'.
64027
64028 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64029
64030         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
64031         byte with "\201" to avoid glitches when editing that source file
64032         with multi-gnome-terminal.
64033
64034 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64035
64036         * lib/bumpalloc.h: Remove.
64037
64038 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64039
64040         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
64041         * modules/bumpalloc: Remove.
64042
64043 2003-08-04  Paul Eggert  <eggert@twinsun.com>
64044
64045         * lib/getloadavg.c: Change copyright notice and spacing to conform to
64046         GNU coding style.
64047
64048         Merge from coreutils.
64049         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
64050         1. From glibc.
64051         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
64052         from Karl Berry, implemented by Jim Meyering.
64053         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
64054         from Dmitry V. Levin.
64055         Remove anachronistic cast of xrealloc.
64056         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
64057         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
64058         type. Otherwise, it wouldn't compile with at least /bin/cc on
64059         ymp-cray-unicos9.0.2.X.
64060         Combine two mostly-identical uses of alloca into one.
64061         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
64062
64063 2003-08-04  Dave Love  <d.love@dl.ac.uk>
64064
64065         [From Emacs.]
64066
64067         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
64068         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
64069         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
64070         obsolete NLIST_NAME_UNION.
64071         [__GNU__]: Undef BSD and FSCALE.
64072         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
64073
64074 2003-08-03  Paul Eggert  <eggert@twinsun.com>
64075
64076         * lib/stdbool_.h (_Bool): Make it signed char, instead of
64077         an enum type, so that it's guaranteed to promote to int.  See:
64078         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
64079
64080 2003-08-03  Karl Berry  <karl@gnu.org>
64081
64082         * config/depcomp: update from automake.
64083
64084 2003-07-31  Paul Eggert  <eggert@twinsun.com>
64085
64086         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
64087         (strerror): Don't assume that a printable int fits in 14 bytes.
64088
64089 2003-07-31  Bruno Haible  <bruno@clisp.org>
64090
64091         * modules/getpass-gnu: New file.
64092         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
64093
64094 2003-07-31  Bruno Haible  <bruno@clisp.org>
64095
64096         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
64097
64098 2003-07-24  Karl Berry  <karl@gnu.org>
64099
64100         * config/missing: update from automake.
64101
64102 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
64103             Bruno Haible  <bruno@clisp.org>
64104
64105         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
64106         * lib/getline.c (getline, getdelim): Likewise.
64107         Remove _GNU_SOURCE define; now it's defined in config.h through
64108         m4/getline.m4.
64109
64110 2003-07-23  Karl Berry  <karl@gnu.org>
64111
64112         * config/config.sub: update from prep.
64113
64114 2003-07-22  Paul Eggert  <eggert@twinsun.com>
64115
64116         * modules/xalloc (Depends-on): Add exitfail.
64117         * modules/xmemcoll: Likewise.
64118
64119 2003-07-22  Paul Eggert  <eggert@twinsun.com>
64120
64121         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
64122         over-parenthesization in macros.
64123
64124         Sync with coreutils.
64125
64126         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
64127         required by C99.
64128
64129         Use `exit_failure' for xalloc and xmemcoll instead of their own
64130         private exit-failure variables.
64131         * lib/xalloc.h (xalloc_exit_failure): Remove.
64132         * lib/xmalloc.c: Likewise.  Include exitfail.h.
64133         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
64134         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
64135         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
64136         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
64137
64138 2003-07-20  Jim Meyering  <jim@meyering.net>
64139
64140         * modules/closeout (Depends-on): Add exitfail.
64141         Suggestion from Bruno Haible.
64142
64143 2003-07-19  Karl Berry  <karl@gnu.org>
64144
64145         * config/config.sub: update from prep.
64146
64147 2003-07-18  Paul Eggert  <eggert@twinsun.com>
64148
64149         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
64150         Remove.
64151         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
64152         to test that it can stand by itself.  Include "exitfail.h".
64153         Clients should set exit_failure instead.
64154         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
64155
64156 2003-07-18  Bruno Haible  <bruno@clisp.org>
64157
64158         * modules/getndelim2: New file.
64159         * modules/getline: Share files with module getndelim2.
64160         * modules/getnline: Depend on getndelim2 instead of sharing files with
64161         it. Add getnline.c to lib_SOURCES.
64162         * MODULES.html.sh (func_all_modules): Add getndelim2.
64163
64164 2003-07-18  Bruno Haible  <bruno@clisp.org>
64165
64166         * m4/getndelim2.m4: New file.
64167         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
64168         invoke gl_PREREQ_GETNDELIM2.
64169         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
64170         gl_PREREQ_GETNDELIM2.
64171         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
64172         gl_GETNDELIM2.
64173
64174 2003-07-18  Bruno Haible  <bruno@clisp.org>
64175
64176         * lib/getndelim2.h: New file.
64177         * lib/getndelim2.c: Make into a module of its own. Include config.h,
64178         getndelim2.h.
64179         (getndelim2): Make non-static. Change return type to ssize_t.
64180         * lib/getline.h: Change argument names.
64181         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
64182         * lib/getnline.c: Include getndelim2.h.
64183
64184 2003-07-18  Andreas Schwab  <schwab@suse.de>
64185
64186         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
64187
64188 2003-07-17  Karl Berry  <karl@gnu.org>
64189
64190         * config/config.sub: update from prep.
64191
64192 2003-07-17  Bruno Haible  <bruno@clisp.org>
64193
64194         * modules/getnline: New file.
64195         * modules/getline: Add lib/getndelim2.c to source file list.
64196         * MODULES.html.sh (func_all_modules): Add getnline.
64197
64198 2003-07-17  Bruno Haible  <bruno@clisp.org>
64199
64200         * m4/getnline.m4: New file.
64201
64202 2003-07-17  Bruno Haible  <bruno@clisp.org>
64203
64204         * m4/Makefile.am.in: Remove file.
64205         * m4/Makefile.am: Remove file.
64206         * m4/Makefile.in: Remove file.
64207
64208 2003-07-17  Bruno Haible  <bruno@clisp.org>
64209
64210         * lib/getnline.h: New file.
64211         * lib/getnline.c: New file.
64212         * lib/getndelim2.c: New file, extracted from getline.c.
64213         (getndelim2): Renamed from getdelim2, with added nmax argument.
64214         * lib/getline.c: Include getndelim2.c.
64215         (getdelim2): Moved out to getndelim2.c.
64216         (getline, getdelim): Update.
64217
64218 2003-07-17  Bruno Haible  <bruno@clisp.org>
64219
64220         * lib/Makefile.am: Remove file.
64221         * lib/Makefile.in: Remove file.
64222
64223 2003-07-17  Bruno Haible  <bruno@clisp.org>
64224
64225         * configure.in: Remove file.
64226         * Makefile.in: Remove file.
64227
64228 2003-07-17  Bruno Haible  <bruno@clisp.org>
64229
64230         * MODULES.html.sh: Put the </BODY> right before </HTML>.
64231
64232 2003-07-16  Karl Berry  <karl@gnu.org>
64233
64234         * config/srclist-update: was running fixlicense twice, which caused
64235                 texinfo.tex to be nullified for some reason.  Simplify,
64236                 $gplsrc is no longer needed as far as I can see?
64237
64238 2003-07-16  Jim Meyering  <jim@meyering.net>
64239
64240         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
64241
64242 2003-07-15  Paul Eggert  <eggert@twinsun.com>
64243
64244         * config/srclist.txt: Get the following files from gettext-runtime/intl
64245         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
64246         ref-del.sin.  From Bruno Haible.
64247         * config/srclist-update (fixfile): Change grep pattern again, since the
64248         previous fix didn't work (there was another trailing $).  Use
64249         '[$]' to escape the $s.
64250
64251 2003-07-15  Karl Berry  <karl@gnu.org>
64252
64253         * lib/vasnprintf.c: update from gettext.
64254
64255 2003-07-15  Karl Berry  <karl@gnu.org>
64256
64257         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
64258         gets expanded when surrounded by '$'.
64259
64260 2003-07-15  Jim Meyering  <jim@meyering.net>
64261
64262         * modules/save-cwd: Don't depend on error.  From Derek Price.
64263
64264 2003-07-15  Jim Meyering  <jim@meyering.net>
64265
64266         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
64267
64268 2003-07-14  Simon Josefsson  <jas@extundo.com>
64269
64270         * modules/mempcpy: New file.
64271         * MODULES.html.sh (func_all_modules): Add mempcpy.
64272
64273 2003-07-14  Simon Josefsson  <jas@extundo.com>
64274
64275         * m4/mempcpy.m4: New file.
64276
64277 2003-07-14  Simon Josefsson  <jas@extundo.com>
64278
64279         * lib/mempcpy.h: New file.
64280         * lib/mempcpy.c: New file.
64281
64282 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64283
64284         * modules/getdate, modules/posixtm: Depend on mktime.
64285
64286 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64287
64288         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
64289         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
64290         unicodeio.c, unicodeio.h, unlocked-io.h:
64291         Switch from LGPL to GPL.
64292
64293 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64294
64295         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
64296         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
64297         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
64298         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
64299         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
64300         updated automatically by ../config/srclist-update.  This changes
64301         their license from LPGL to GPL.
64302
64303 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64304
64305         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
64306         assumed to refer to the root of the most recent stable gettext version.
64307         * config/srclistvars.sh: Add defaults for eggert.
64308         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
64309         Match "This program" as well as "The program".  This is needed
64310         for gettext.
64311
64312 2003-07-14  Jim Meyering  <jim@meyering.net>
64313
64314         Don't emit diagnostics.  Let callers do that.
64315         * lib/save-cwd.c: Don't include "error.h".
64316         (save_cwd): Don't call error.  Ensure that errno is valid
64317         when returning nonzero.
64318
64319         * lib/save-cwd.h (restore_cwd): Update prototype.
64320         * lib/save-cwd.c (restore_cwd): Remove two parameters.
64321         Simplify.  Don't call error upon failure.  Let callers do that.
64322         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
64323         when auditing is enabled.  But don't bother updating the #if.
64324
64325 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
64326
64327         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
64328         it breaks C++ compilation.
64329         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
64330
64331 2003-07-10  Simon Josefsson  <jas@extundo.com>
64332
64333         * modules/strchrnul (Makefile.am): Add strchrnul.h.
64334
64335 2003-07-10  Jim Meyering  <jim@meyering.net>
64336
64337         * m4/clock_time.m4: Remove trailing blank.
64338         * m4/intmax_t.m4: Likewise.
64339
64340 2003-07-10  Jim Meyering  <jim@meyering.net>
64341
64342         * lib/vasnprintf.c: Remove trailing blanks.
64343         Make cpp indentation consistent.
64344
64345 2003-07-09  Paul Eggert  <eggert@twinsun.com>
64346
64347         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
64348         posixver.c, strftime.c, strnlen.c, strverscmp.c:
64349         Switch from LGPL to GPL.
64350
64351 2003-07-09  Paul Eggert  <eggert@twinsun.com>
64352
64353         * config/srclist.txt: Sort sublists.  Add
64354         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
64355         that differ from gnulib for one reason or another; we'd like this list
64356         to be smaller but for now let's document what we have.
64357
64358 2003-07-08  Paul Eggert  <eggert@twinsun.com>
64359
64360         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
64361         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
64362         and sweeter "eval x=$x".
64363         * config/srclist.txt: Get lib/argp* from glibc.
64364
64365 2003-07-07  Paul Eggert  <eggert@twinsun.com>
64366
64367         * lib/mktime.c: Fix some boundary cases and remove need for floating
64368         point.
64369
64370         Issue a compile-time diagnostic if time_t is floating point, or if
64371         two's complement arithmetic is not in effect, or if arithmetic
64372         right shift does not propagate the sign.  These assumptions were
64373         all in the original code but they weren't checked.
64374
64375         (TIME_T_MIDPOINT, verify): New macros.
64376         (__isleap): Remove; it has integer overflow problems.
64377         (leapyear): New function, without those problems.
64378         (ydhms_tm_diff): Remove; splitting into two parts.
64379         (ydhms_diff): New function, containing the arithmetic part of
64380         the old ydhms_tm_diff function.  Issue a compile-time
64381         diagnostic if we are not using C99 integer division.
64382         Avoid casts when possible.
64383         (guess_time_tm): New function, containing the checking part of
64384         the old ydhms_tm_diff function.  Return the new value, rather than
64385         the difference between it and the old.  Accept a new argument T
64386         so that *T specifies the old value.  Check for overflow in the result.
64387
64388         (__mktime_internal): Use a time_t offset, not a long int offset.
64389         This undoes the 2003-06-04 change, which is no longer needed now
64390         that we have better overflow checking.
64391         (localtime_offset): Likewise.
64392
64393         (__mktime_internal): Avoid harmful overflow on hosts where time_t
64394         and long are 64-bit but int is only 32-bit.
64395         (ydhms_diff): Use long int to store year1 and yday1.
64396         Issue a compile-time diagnostic if long int is not wide enough.
64397
64398         (__mktime_internal): Use long int to store adjusted year and yday.
64399         Use plain C rather than preprocessor commands, if that doesn't
64400         affect efficiency.
64401         Check for overflow (and try to repair) after each probe
64402         rather than checking only at the very end.  This avoids some bugs
64403         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
64404         does not equal GMT offset at maximum time).
64405         Use integer to check for overflow rather than floating point; this
64406         is more portable to non-IEEE hosts, and is a tad faster.
64407         When we detect that we are oscillating between two values,
64408         don't check whether tm_isdst has the requested value, since
64409         we already know the answer.  When tm_isdst has the wrong value,
64410         use a different heuristic to find the right one, based on the
64411         extreme values actually observed in practice in tz2003a,
64412         rather than the (overly optimistic) "previous 3 calendar quarters".
64413
64414         (not_equal_tm, print_tm, check_result): Use "const T" rather than
64415         "T const" to accommodate glibc style.
64416         (check_result): Use less-confusing report format.  "long" -> "long int.
64417         (main): Likewise.
64418         Don't loop if the iteration overflows time_t.
64419         Allow a negative step in the iteration.
64420
64421 2003-07-06  Karl Berry  <karl@gnu.org>
64422
64423         * config/depcomp: update from automake.
64424         * config/config.sub: update from prep.
64425
64426 2003-07-03  Karl Berry  <karl@gnu.org>
64427
64428         * config/config.guess: update from prep.
64429
64430 2003-07-01  Paul Eggert  <eggert@twinsun.com>
64431
64432         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
64433         xreadlink.c now includes it unconditionally.
64434
64435 2003-07-01  Paul Eggert  <eggert@twinsun.com>
64436
64437         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
64438         having it depend on HAVE_SYS_TYPES_H.
64439
64440 2003-07-01  Bruno Haible  <bruno@clisp.org>
64441
64442         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
64443         <sys/types.h> should be sufficient.
64444         Reported by Paul Eggert.
64445
64446 2003-06-26  Karl Berry  <karl@gnu.org>
64447
64448         * config/depcomp: update from automake.
64449
64450 2003-06-26  Bruno Haible  <bruno@clisp.org>
64451
64452         * modules/human: Depend on module stdbool.
64453
64454 2003-06-25  Bruno Haible  <bruno@clisp.org>
64455
64456         * modules/readlink: New file.
64457         * modules/xreadlink: Depend on it.
64458         * MODULES.html.sh (func_all_modules): Add readlink.
64459
64460 2003-06-25  Bruno Haible  <bruno@clisp.org>
64461
64462         * m4/readlink.m4: New file.
64463
64464 2003-06-25  Bruno Haible  <bruno@clisp.org>
64465
64466         * lib/readlink.c: New file.
64467
64468 2003-06-22  Karl Berry  <karl@gnu.org>
64469
64470         * config/srclist.txt: update mkinstalldirs from automake.
64471         * config/mkinstalldirs: update.
64472
64473 2003-06-22  Bruno Haible  <bruno@clisp.org>
64474
64475         Portability to mingw32.
64476         * m4/ssize_t.m4: New file, from GNU gettext.
64477         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
64478         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
64479
64480 2003-06-22  Bruno Haible  <bruno@clisp.org>
64481
64482         * modules/safe-read: Add m4/ssize_t.m4.
64483         * modules/xreadlink: Add m4/ssize_t.m4.
64484
64485 2003-06-20  Bruno Haible  <bruno@clisp.org>
64486
64487         Assume C89, so PARAMS isn't needed.
64488         * lib/unicodeio.h (PARAMS): Remove.
64489         * lib/unicodeio.c: Don't use PARAMS.
64490
64491 2003-06-18  Karl Berry  <karl@gnu.org>
64492
64493         * config/config.{guess,sub}: update from prep.
64494
64495 2003-06-18  Jim Meyering  <jim@meyering.net>
64496
64497         Merge changes from coreutils.
64498         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
64499         Remove explicit declarations of xmalloc and realloc.
64500         Include xalloc.h.
64501         (read_utmp): Remove anachronistic cast of xmalloc.
64502
64503 2003-06-17  Paul Eggert  <eggert@twinsun.com>
64504
64505         Assume C89, so PARAMS isn't needed.
64506         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
64507         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
64508         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
64509         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
64510         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
64511         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
64512         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
64513         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
64514         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
64515         lib/xstrtod.h, lib/xstrtol.h: Likewise.
64516         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
64517         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
64518         no longer needed. Anyway, config.h should always be included before any
64519         other file.
64520
64521 2003-06-11  Simon Josefsson  <jas@extundo.com>
64522
64523         * modules/sysexits: New file.
64524         * MODULES.html.sh (func_all_modules): Add sysexits.
64525
64526 2003-06-11  Simon Josefsson  <jas@extundo.com>
64527
64528         * lib/sysexit_.h: New file.
64529
64530 2003-06-11  Derek Price  <derek@ximbiot.com>
64531
64532         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
64533         necessary.
64534
64535 2003-06-11  Bruno Haible  <bruno@clisp.org>
64536
64537         * m4/sysexits.m4: New file.
64538
64539 2003-06-10  Simon Josefsson  <jas@extundo.com>
64540
64541         * lib/argp.h: New file, from glibc.
64542         * lib/argp-ba.c: New file, from glibc.
64543         * lib/argp-eexst.c: New file, from glibc.
64544         * lib/argp-fmtstream.c: New file, from glibc.
64545         * lib/argp-fmtstream.h: New file, from glibc.
64546         * lib/argp-fs-xinl.c: New file, from glibc.
64547         * lib/argp-help.c: New file, from glibc.
64548         * lib/argp-namefrob.h: New file, from glibc.
64549         * lib/argp-parse.c: New file, from glibc.
64550         * lib/argp-pv.c: New file, from glibc.
64551         * lib/argp-pvh.c: New file, from glibc.
64552         * lib/argp-xinl.c: New file, from glibc.
64553
64554 2003-06-10  Simon Josefsson  <jas@extundo.com>
64555
64556         * modules/strchrnul: New file.
64557
64558 2003-06-10  Simon Josefsson  <jas@extundo.com>
64559
64560         * modules/argp: New file.
64561
64562 2003-06-10  Simon Josefsson  <jas@extundo.com>
64563
64564         * m4/strchrnul.m4: New file.
64565
64566 2003-06-10  Simon Josefsson  <jas@extundo.com>
64567
64568         * lib/strchrnul.h: New file.
64569         * lib/strchrnul.c: New file.
64570
64571 2003-06-10  Bruno Haible  <bruno@clisp.org>
64572
64573         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
64574
64575 2003-06-07  Karl Berry  <karl@gnu.org>
64576
64577         * config/config.{guess,sub}: update from prep.
64578
64579 2003-06-07  Jim Meyering  <jim@meyering.net>
64580
64581         * modules/strtod: Use $(...) notation, not @...@ for
64582         AC_REPLACE'd variables.
64583         * modules/localcharset: Likewise.
64584
64585 2003-06-07  Jim Meyering  <jim@meyering.net>
64586
64587         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
64588         in place of my name in the copyright comment.
64589         Remove definition and uses of __P.
64590
64591         From coreutils.
64592         * lib/stat.c: Don't declare xmalloc explicitly.
64593         Instead, include "xalloc.h".
64594         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
64595         xrealloc, and xcalloc return values.
64596         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
64597         Improve comment.
64598         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
64599
64600 2003-06-07  Bruno Haible  <bruno@clisp.org>
64601
64602         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
64603         avoid AC_CONFIG_LINKS.
64604         * modules/fnmatch (Makefile.am): Use explicit creation rule for
64605         fnmatch.h, to avoid AC_CONFIG_LINKS.
64606         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
64607
64608 2003-06-07  Bruno Haible  <bruno@clisp.org>
64609
64610         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
64611         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
64612         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
64613         directory.
64614         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
64615         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
64616         directory.
64617
64618 2003-06-06  Jim Meyering  <jim@meyering.net>
64619
64620         Merge from coreutils.
64621         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
64622         Consolidate declarations and initializations of *_base* locals.
64623
64624         Merge from coreutils.
64625         This avoids a core dump on systems without GNU putenv,
64626         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
64627         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
64628         (unsetenv): New static function, from GNU libc.
64629         (rpl_putenv): Use it.
64630
64631         * lib/modechange.c: Remove trailing blanks.
64632
64633         Merge from coreutils.
64634         * lib/fsusage.c: Remove declaration of statfs.
64635         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
64636
64637         * lib/posixtm.c: Include <stdbool.h> unconditionally.
64638
64639 2003-06-06  Jim Meyering  <jim@meyering.net>
64640
64641         * lib/stdbool_.h: Renamed from stdbool.h.in.
64642
64643 2003-06-06  Jim Meyering  <jim@meyering.net>
64644             Bruno Haible  <bruno@clisp.org>
64645
64646         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
64647         Adjust Makefile.am snippet not to redirect directly to target.
64648         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
64649
64650 2003-06-05  Paul Eggert  <eggert@twinsun.com>
64651
64652         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
64653         mismatch, look in future quarters as well as past.  This fixes a
64654         bug when processing fall-backwards gaps immediately after a long
64655         period of daylight-saving time.
64656
64657         * lib/mktime.c: Assume freestanding C89 or better.
64658         (HAVE_LIMITS_H): Remove.  Assume it's 1.
64659         (__P): Remove; not used.
64660         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
64661         (mktime, not_equal_tm, print_tm, check_result,
64662         main): Use prototypes.  Use const * where appropriate.
64663         (main): Fix typo in testing code that uncovered by above changes.
64664         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
64665
64666 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64667
64668         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
64669         locale.h, localeconv.  This merges changes from coreutils.
64670
64671         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
64672         It can be removed after the next Autoconf is released.
64673         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
64674         needed.
64675
64676 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64677
64678         * lib/mktime.c: Fix Debian bug 177940
64679         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
64680         (localtime_offset): Now long int, not time_t, because we want it
64681         to be guaranteed to be signed.  All uses changed.
64682         (__mktime_internal): If overflow would occur when adding offset,
64683         don't add it.
64684
64685         Merge 'human' changes from coreutils.  Rewrite to support
64686         locale-specific notations like thousands separators.
64687         * lib/human.c: Simplify authorship notice.
64688         Include human.h immediately after config.h.
64689         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
64690         <limits.h>: Do not include, since human.h does.
64691         (SIZE_MAX, UINTMAX_MAX): New macros.
64692         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
64693         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
64694         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
64695         (power_letter): Renamed from suffixes.
64696         (generate_suffix_backwards): Remove.
64697         (adjust_value): Now takes int style (because of human.h changes)
64698         and long double value (for greater precision on some platforms).
64699         (group_number): New function.
64700         (human_readable): Use it.  Use integer options, not enum.
64701         Put the options before the sizes in the arg list.
64702         Support all the new options.
64703         The old human_readable function has been removed;
64704         use inttostr.h instead.
64705         (human_readable, default_block_size, humblock):
64706         Use uintmax_t, not int, for block sizes.
64707         (human_readable_inexact, block_size_types): Remove.
64708         (block_size_opts): New constant.
64709         (human_options): Renamed from human_block_size, with new signature
64710         that allows block sizes up to UINTMAX_MAX.  All callers changed.
64711         * lib/human.h: Add copyright and authorship notice.
64712         Include <limits.h> and <stdbool.h> unconditionally.
64713         (PARAMS): Remove.  All uses removed.
64714         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
64715         (enum human_inexact_style): Remove tag; now a nameless enum.
64716         (human_floor, human_ceiling, human_round_to_even): Now have
64717         values 2, 0, 1 rather than -1, 1, 0.
64718         (human_group_digits, human_suppress_point_zero, human_autoscale,
64719         human_base_1024, human_SI, human_B): New constants.
64720         (human_readable_inexact, human_block_size): Remove.
64721         (human_readable): Size args are now uintmax_t, not int.
64722         (human_options): New decl.
64723
64724         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
64725         unnecessary now that we assume C89 or better.  This change
64726         imported from coreutils.
64727
64728         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
64729         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
64730         in the 2003-05-30 sync from glibc.
64731
64732         .h files should stand alone, but we shouldn't include <sys/types.h>
64733         if we can get away with just <stddef.h>.
64734
64735         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
64736         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
64737         rather than <sys/types.h>, as we merely need size_t.
64738         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
64739         to get size_t.
64740         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
64741         Include <stdio.h>, to get FILE.
64742         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
64743         memcasecmp.h has included <stddef.h> and all we need is size_t.
64744         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
64745         our interface, instead of including <sys/types.h>
64746
64747 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64748
64749         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
64750         now, as glibc mktime is buggy on non-glibc systems.
64751
64752 2003-06-03  Karl Berry  <karl@gnu.org>
64753
64754         * config/config.sub: update from prep.
64755
64756 2003-06-02  Paul Eggert  <eggert@twinsun.com>
64757
64758         [from coreutils]
64759         Fix some minor time-related bugs with POSIX time arguments.
64760         Some valid time stamps were being rejected (notably -1, and
64761         time stamps before 1900 on 64-bit hosts).  And some invalid
64762         time stamps were being accepted, e.g. September 31.
64763
64764         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
64765         that we can return (time_t) -1 successfully.
64766         * lib/posixtm.c: Likewise.
64767         [HAVE_STDBOOL_H]: Include <stdbool.h>.
64768         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
64769         (t): Remove static var.
64770         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
64771         of static var.  All uses changed.
64772         (year): Do not reject years before 1900; they can occur with
64773         64-bit time_t.
64774         (posix_time_parse): Do not check for out-of-range components;
64775         that is now the caller's responsibility, since our checks were
64776         only approximations.
64777         (posixtime): Use mktime to check for out-of-range components,
64778         since it knows them exactly.
64779         If mktime returns (time_t) -1, check whether an error actually occurred
64780         by invoking localtime on -1.
64781         (main) [TEST_POSIXTIME]: Check for input data errors, and report
64782         posixtime failures better.
64783         Improve the test data (in comments only).
64784
64785 2003-06-02  Karl Berry  <karl@gnu.org>
64786
64787         * config/mkinstalldirs (version): new variable.
64788         (--version): new option.
64789         (usage): improve message.
64790
64791 2003-05-30  Karl Berry  <karl@gnu.org>
64792
64793         * lib/mktime.c: update from libc.
64794
64795 2003-05-30  Bruno Haible  <bruno@clisp.org>
64796
64797         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
64798         * config/config.rpath: Upgrade to gettext-0.12.1.
64799
64800 2003-05-30  Bruno Haible  <bruno@clisp.org>
64801
64802         * m4/gettext.m4: Upgrade to gettext-0.12.1.
64803         * m4/nls.m4: New file, from gettext-0.12.1.
64804         * m4/po.m4: New file, from gettext-0.12.1.
64805         * m4/progtest.m4: Upgrade to gettext-0.12.1.
64806
64807 2003-05-30  Bruno Haible  <bruno@clisp.org>
64808
64809         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
64810         * lib/localcharset.h: Likewise.
64811         * lib/localcharset.c: Likewise.
64812
64813 2003-05-29  Karl Berry  <karl@gnu.org>
64814
64815         * config/config.rpath: update from gettext.
64816
64817 2003-05-28  Paul Eggert  <eggert@twinsun.com>
64818
64819         Assume the headers required for C89 freestanding compilers.
64820         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
64821         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
64822         * m4/human.m4 (gl_HUMAN): Likewise.
64823         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
64824         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
64825         * m4/userspec.m4 (gl_USERSPEC): Likewise.
64826         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
64827         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
64828         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
64829
64830 2003-05-28  Paul Eggert  <eggert@twinsun.com>
64831
64832         Assume the headers required for C89 freestanding compilers.
64833         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
64834         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
64835         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
64836         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
64837         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
64838         define, since <limits.h> is guaranteed to do that.
64839         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
64840         * lib/exclude.c: Include <stdbool.h> unconditionally.
64841         * lib/tempname.c: Include <stddef.h> unconditionally.
64842         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
64843         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
64844         <stddef.h> does that.
64845         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
64846         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
64847         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
64848         needed.
64849         * lib/xstrtol.c: Likewise.
64850         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
64851         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
64852
64853         * lib/addext.c (addext): Use assignment rather than cast, to avoid
64854         warnings on some platforms.
64855
64856         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
64857         arbitrarily.
64858
64859 2003-05-26  Jim Meyering  <jim@meyering.net>
64860
64861         Merge in a change from coreutils:
64862         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
64863         that is guaranteed to be `no'.  Use `no_such_member' to indicate
64864         that condition, rather than `-1' which is slightly misleading.
64865         Change the name of the cache variable to have the gl_ prefix.
64866         Prompted by a patch from Richard Dawe for DJGPP.
64867
64868 2003-05-24  Karl Berry  <karl@gnu.org>
64869
64870         * config/config.guess: update from prep.
64871
64872 2003-05-22  Karl Berry  <karl@gnu.org>
64873
64874         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
64875
64876 2003-05-20  Karl Berry  <karl@gnu.org>
64877
64878         * config/config.guess: update from prep.
64879
64880 2003-05-18  Karl Berry  <karl@gnu.org>
64881
64882         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
64883         might actually be set by the user.
64884
64885         * config/depcomp, install-sh, mdate-sh: update from automake.
64886
64887 2003-05-17  Bruno Haible  <bruno@clisp.org>
64888
64889         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
64890         invalid expansion for AC_EGREP_CPP.
64891         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
64892         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
64893         Suggested by Akim Demaille <akim@epita.fr> in
64894         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
64895
64896 2003-05-12  Jim Meyering  <jim@meyering.net>
64897
64898         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
64899         the space-padded-by-default conversion specifiers, %e, %k, %l.
64900
64901 2003-05-12  Bruno Haible  <bruno@clisp.org>
64902
64903         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
64904         the string is longer than 4 KB.
64905
64906 2003-05-11  Karl Berry  <karl@gnu.org>
64907
64908         * config/config.{guess,sub}: update from prep.
64909
64910 2003-05-09  Bruno Haible  <bruno@clisp.org>
64911
64912         * modules/error: Add m4/strerror_r.m4 to file list.
64913
64914 2003-05-03  Bruno Haible  <bruno@clisp.org>
64915
64916         Upgrade to Unicode-4.0.
64917         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
64918         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
64919         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
64920         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
64921         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
64922         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
64923         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
64924         Change width of U+E0100..U+E01EF from 1 to 0.
64925
64926 2003-04-25  Jim Meyering  <jim@meyering.net>
64927
64928         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
64929         of type size_t, not int.
64930
64931 2003-04-25  Bruno Haible  <bruno@clisp.org>
64932
64933         * lib/copy-file.c: Include <stddef.h>, for size_t.
64934
64935 2003-04-21  Paul Eggert  <eggert@twinsun.com>
64936
64937         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
64938         code which expansion is under static control.  Patch imported from
64939         Akim Demaille's patch to Bison; see
64940         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
64941
64942 2003-04-14  Bruno Haible  <bruno@clisp.org>
64943
64944         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
64945
64946 2003-04-11  Jim Meyering  <jim@meyering.net>
64947
64948         Merge changes from Coreutils.
64949
64950         2003-03-22  Jim Meyering  <jim@meyering.net>
64951
64952         * lib/strftime.c (widen): Cast alloca return value to proper type.
64953
64954         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
64955
64956         From GNU libc.
64957         * lib/strftime.c (my_strftime): Handle very large width
64958         specifications for numeric values correctly.  Improve checks for
64959         overflow.
64960
64961         2003-01-19  Jim Meyering  <jim@meyering.net>
64962
64963         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
64964         definitions.
64965         (nl_get_alt_digit) [! defined my_strftime]: Define.
64966         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
64967         _nl_get_alt_digit and _nl_get_walt_digit.
64968
64969         * lib/strftime.c (my_strftime): Merge in locale-related changes from
64970         libc. These changes have no effect outside of _LIBC.
64971
64972 2003-04-10  Bruno Haible  <bruno@clisp.org>
64973
64974         * modules/findprog: New file.
64975         * MODULES.html.sh (func_all_modules): Add it.
64976
64977 2003-04-10  Bruno Haible  <bruno@clisp.org>
64978
64979         * m4/findprog.m4: New file.
64980         * m4/eaccess.m4: New file.
64981
64982 2003-04-10  Bruno Haible  <bruno@clisp.org>
64983
64984         * lib/findprog.h: New file, from GNU gettext.
64985         * lib/findprog.c: New file, from GNU gettext.
64986
64987 2003-04-05  Jim Meyering  <jim@meyering.net>
64988
64989         Merge changes from Coreutils.
64990
64991         * lib/exclude.h (PARAMS): Remove definition and uses.
64992         * lib/exclude.c: Remove uses of `PARAMS'.
64993
64994         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
64995         Add test-cases for DOS filenames. Declare program_name.
64996         (main): Set up program_name.  Patch by Rich Dawe.
64997
64998         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
64999         error from mntctl.
65000         Use mntctl's return value to drive the entry-processing loop, since
65001         we can't rely on the value of the vmt_length member in the last
65002         entry.  On some systems doing so could result in exhausting
65003         virtual memory.  Based in part on a patch from Mike Jetzer.
65004
65005 2003-04-04  Bruno Haible  <bruno@clisp.org>
65006
65007         * modules/linebreak: New file.
65008         * MODULES.html.sh (func_all_modules): Add it.
65009
65010 2003-04-04  Bruno Haible  <bruno@clisp.org>
65011
65012         * m4/linebreak.m4: New file.
65013
65014 2003-04-04  Bruno Haible  <bruno@clisp.org>
65015
65016         * lib/linebreak.h: New file, from GNU gettext.
65017         * lib/linebreak.c: New file, from GNU gettext with slight
65018         modifications.
65019         * lib/lbrkprop.h: New file, from GNU gettext.
65020
65021 2003-04-03  Bruno Haible  <bruno@clisp.org>
65022
65023         * modules/utf8-ucs4: New file.
65024         * modules/utf16-ucs4: New file.
65025         * modules/ucs4-utf8: New file.
65026         * modules/ucs4-utf16: New file.
65027         * MODULES.html.sh (func_all_modules): Add them.
65028
65029 2003-04-03  Bruno Haible  <bruno@clisp.org>
65030
65031         * m4/utf-ucs4.m4: New file.
65032         * m4/ucs4-utf.m4: New file.
65033
65034 2003-04-03  Bruno Haible  <bruno@clisp.org>
65035
65036         * lib/utf8-ucs4.h: New file, from GNU gettext.
65037         * lib/utf16-ucs4.h: New file, from GNU gettext.
65038         * lib/ucs4-utf8.h: New file, from GNU gettext.
65039         * lib/ucs4-utf16.h: New file, from GNU gettext.
65040
65041 2003-04-02  Bruno Haible  <bruno@clisp.org>
65042
65043         * modules/binary-io: New file.
65044         * MODULES.html.sh (func_all_modules): Add it.
65045
65046 2003-04-02  Bruno Haible  <bruno@clisp.org>
65047
65048         * lib/binary-io.h: New file, from GNU gettext.
65049
65050 2003-04-01  Bruno Haible  <bruno@clisp.org>
65051
65052         * modules/pathname: New file.
65053         * MODULES.html.sh (func_all_modules): Add it.
65054
65055 2003-04-01  Bruno Haible  <bruno@clisp.org>
65056
65057         * lib/pathname.h: New file, from GNU gettext.
65058         * lib/concatpath.c: New file, from GNU gettext.
65059
65060 2003-03-30  Bruno Haible  <bruno@clisp.org>
65061
65062         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
65063
65064 2003-03-30  Bruno Haible  <bruno@clisp.org>
65065
65066         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
65067         function chown() doesn't exist.
65068
65069 2003-03-28  Bruno Haible  <bruno@clisp.org>
65070
65071         * modules/copy-file: New file.
65072         * MODULES.html.sh (func_all_modules): Add it.
65073
65074 2003-03-28  Bruno Haible  <bruno@clisp.org>
65075
65076         * m4/copy-file.m4: New file.
65077
65078 2003-03-28  Bruno Haible  <bruno@clisp.org>
65079
65080         * lib/copy-file.h: New file, from GNU gettext.
65081         * lib/copy-file.c: New file, from GNU gettext.
65082
65083 2003-03-18  Jim Meyering  <jim@meyering.net>
65084
65085         * lib/quote.c (quote_n): Fix typo in comment.
65086
65087 2003-03-18  Bruno Haible  <bruno@clisp.org>
65088
65089         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
65090         checking.
65091         * m4/onceonly_2_57.m4: Likewise.
65092
65093 2003-03-17  Bruno Haible  <bruno@clisp.org>
65094
65095         * m4/onceonly.m4: Require autoconf 2.54 or newer.
65096         (m4_quote): Remove macro.
65097         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
65098
65099 2003-03-14  Jim Meyering  <jim@meyering.net>
65100
65101         Merge changes from Coreutils.
65102         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
65103         to be const, in order to avoid warnings.
65104         (obstack_room): Likewise.
65105         (obstack_empty_p): Likewise.
65106
65107 2003-03-14  Bruno Haible  <bruno@clisp.org>
65108
65109         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
65110         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
65111
65112 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65113
65114         Merge changes from Bison.
65115         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
65116         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
65117         when compiling Bison 1.875's `bitset bset = obstack_alloc
65118         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
65119         * lib/hash.c: Include <stdbool.h> unconditionally.
65120
65121 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65122
65123         * m4/onceonly.m4 (m4_quote): New macro.
65124         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
65125         Quote AC_FOREACH variable-expansions properly.
65126
65127 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65128
65129         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
65130
65131 2003-03-09  Paul Eggert  <eggert@twinsun.com>
65132
65133         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
65134         Reported by Bruce Becker; see:
65135         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
65136
65137 2003-03-03  Paul Eggert  <eggert@twinsun.com>
65138             Bruno Haible  <bruno@clisp.org>
65139
65140         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
65141         Reported by John Hughes, see
65142         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
65143
65144 2003-02-20  Bruno Haible  <bruno@clisp.org>
65145
65146         * MODULES.html.sh (func_all_modules): Add poll.
65147
65148 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65149
65150         * modules/poll: New file.
65151
65152 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65153
65154         * lib/poll_.h: New file.
65155         * lib/poll.c: New file.
65156
65157 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65158
65159         * m4/poll.m4: New file.
65160
65161 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65162
65163         * modules/mathl: New file.
65164
65165 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65166
65167         * lib/mathl.h: New file.
65168         * lib/acosl.c: New file.
65169         * lib/asinl.c: New file.
65170         * lib/atanl.c: New file.
65171         * lib/ceill.c: New file.
65172         * lib/cosl.c: New file.
65173         * lib/expl.c: New file.
65174         * lib/floorl.c: New file.
65175         * lib/frexpl.c: New file.
65176         * lib/ldexpl.c: New file.
65177         * lib/logl.c: New file.
65178         * lib/sincosl.c: New file.
65179         * lib/sinl.c: New file.
65180         * lib/sqrtl.c: New file.
65181         * lib/tanl.c: New file.
65182         * lib/trigl.c: New file.
65183         * lib/trigl.h: New file.
65184
65185 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65186
65187         * m4/mathl.m4: New file.
65188
65189 2003-02-18  Bruno Haible  <bruno@clisp.org>
65190
65191         * MODULES.html.sh (func_all_modules): Add mathl.
65192
65193 2003-02-17  Bruno Haible  <bruno@clisp.org>
65194
65195         * modules/mkdtemp: New module.
65196         * MODULES.html.sh (func_all_modules): Add it.
65197
65198 2003-02-17  Bruno Haible  <bruno@clisp.org>
65199
65200         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
65201
65202 2003-02-17  Bruno Haible  <bruno@clisp.org>
65203
65204         * lib/mkdtemp.h: New file, from GNU gettext.
65205         * lib/mkdtemp.c: New file, from GNU gettext.
65206
65207 2003-02-02  Jim Meyering  <jim@meyering.net>
65208
65209         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
65210         e.g. glibc-2.2.93.
65211
65212 2003-01-31  Bruno Haible  <bruno@clisp.org>
65213
65214         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
65215         'rpl_rename'.
65216         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
65217         'rpl_strnlen'.
65218         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
65219         'rpl_strtod'.
65220         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
65221         'rpl_utime'.
65222
65223 2003-01-31  Bruno Haible  <bruno@clisp.org>
65224
65225         * lib/rename.c: #undef rename before defining rpl_rename.
65226         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
65227
65228 2003-01-30  Bruno Haible  <bruno@clisp.org>
65229
65230         * modules/vasnprintf, modules/vasprintf: New modules.
65231         * MODULES.html.sh (func_all_modules): Add them.
65232
65233 2003-01-30  Bruno Haible  <bruno@clisp.org>
65234
65235         * m4/signed.m4: New file, from GNU gettext.
65236         * m4/longdouble.m4: New file, from GNU gettext.
65237         * m4/wchar_t.m4: New file, from GNU gettext.
65238         * m4/wint_t.m4: New file, from GNU gettext.
65239         * m4/vasnprintf.m4: New file.
65240         * m4/vasprintf.m4: New file.
65241
65242 2003-01-30  Bruno Haible  <bruno@clisp.org>
65243
65244         * lib/printf-args.h: New file, from GNU gettext.
65245         * lib/printf-args.c: New file, from GNU gettext.
65246         * lib/printf-parse.h: New file, from GNU gettext.
65247         * lib/printf-parse.c: New file, from GNU gettext.
65248         * lib/vasnprintf.h: New file, from GNU gettext.
65249         * lib/vasnprintf.c: New file, from GNU gettext.
65250         * lib/asnprintf.c: New file, from GNU gettext.
65251         * lib/vasprintf.h: New file, from GNU gettext with modifications.
65252         * lib/vasprintf.c: New file, from GNU gettext.
65253         * lib/asprintf.c: New file, from GNU gettext.
65254
65255 2003-01-29  Bruno Haible  <bruno@clisp.org>
65256
65257         * modules/stpncpy: New module.
65258         * MODULES.html.sh (func_all_modules): Add it.
65259
65260 2003-01-29  Bruno Haible  <bruno@clisp.org>
65261
65262         * m4/stpncpy.m4: New file.
65263
65264 2003-01-29  Bruno Haible  <bruno@clisp.org>
65265
65266         * lib/stpncpy.h: New file, from GNU gettext with modifications.
65267         * lib/stpncpy.c: New file, from GNU gettext with modifications.
65268
65269 2003-01-28  Bruno Haible  <bruno@clisp.org>
65270
65271         * modules/c-ctype: New module.
65272         * MODULES.html.sh (func_all_modules): Add it.
65273
65274 2003-01-28  Bruno Haible  <bruno@clisp.org>
65275
65276         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
65277         Paul Eggert.
65278         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
65279         Paul Eggert.
65280
65281 2003-01-27  Bruno Haible  <bruno@clisp.org>
65282
65283         * modules/xsetenv: New module.
65284         * MODULES.html.sh (func_all_modules): Add it.
65285
65286 2003-01-27  Bruno Haible  <bruno@clisp.org>
65287
65288         * lib/xsetenv.h: New file, from GNU gettext.
65289         * lib/xsetenv.c: New file, from GNU gettext.
65290
65291 2003-01-23  Jim Meyering  <jim@meyering.net>
65292
65293         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
65294         from working on systems without dirfd (at least Irix and OSF1/Tru64).
65295
65296 2003-01-23  Bruno Haible  <bruno@clisp.org>
65297
65298         * modules/minmax: New module.
65299         * MODULES.html.sh (func_all_modules): Add it.
65300
65301 2003-01-23  Bruno Haible  <bruno@clisp.org>
65302
65303         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
65304         Eggert.
65305
65306 2003-01-22  Bruno Haible  <bruno@clisp.org>
65307
65308         * modules/exit: New module.
65309         * MODULES.html.sh (func_all_modules): Add it.
65310
65311 2003-01-22  Bruno Haible  <bruno@clisp.org>
65312
65313         * lib/exit.h: New file, from GNU gettext.
65314
65315 2003-01-19  Bruno Haible  <bruno@clisp.org>
65316
65317         * gnulib-tool: Recognize option --extract-maintainer.
65318         (func_get_maintainer): New function.
65319         * modules/*: Add Maintainer entry.
65320
65321 2003-01-16  Jim Meyering  <jim@meyering.net>
65322
65323         * m4/regex.m4: The `regex' struct is both input and output.
65324         Initialize it before each use.  Patch by Tim Waugh.
65325
65326 2003-01-16  Bruno Haible  <bruno@clisp.org>
65327
65328         * MODULES.html.sh: Add a table of contents. Add the module name as
65329         leftmost column. Add hyperlinks.
65330
65331 2003-01-15  Bruno Haible  <bruno@clisp.org>
65332
65333         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
65334
65335 2003-01-15  Bruno Haible  <bruno@clisp.org>
65336
65337         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
65338         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
65339         suffix.
65340
65341 2003-01-15  Bruno Haible  <bruno@clisp.org>
65342
65343         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
65344
65345 2003-01-15  Bruno Haible  <bruno@clisp.org>
65346
65347         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
65348         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
65349
65350 2003-01-14  Jim Meyering  <jim@meyering.net>
65351
65352         * lib/same.c (same_name): Tweak a comment.
65353
65354 2003-01-14  Bruno Haible  <bruno@clisp.org>
65355
65356         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
65357         when a string comparison is sufficient.
65358
65359 2003-01-14  Bruno Haible  <bruno@clisp.org>
65360
65361         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
65362         'unsigned int'.
65363
65364 2003-01-14  Bruno Haible  <bruno@clisp.org>
65365
65366         * lib/hash-pjw.c: Add comment about low quality of this function.
65367
65368 2003-01-13  Bruno Haible  <bruno@clisp.org>
65369
65370         * modules/stpcpy: Distribute lib/stpcpy.h.
65371         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
65372
65373 2003-01-13  Bruno Haible  <bruno@clisp.org>
65374
65375         * modules/*: Add a description.
65376         * modules/strpbrk: Fix Makefile.am snippet.
65377         * modules/strtoimax: Fix dependencies.
65378         * modules/strtoumax: Likewise.
65379
65380 2003-01-13  Bruno Haible  <bruno@clisp.org>
65381
65382         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
65383         * modules/alloca (Makefile.am): All object files depend on alloca.h.
65384         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
65385
65386 2003-01-13  Bruno Haible  <bruno@clisp.org>
65387
65388         * gnulib-tool (func_create_testdir): Store config/* files in the main
65389         directory.
65390         * config.rpath: Move to ...
65391         * config/config.rpath: ... here.
65392         * modules/gettext: Contains config/config.rpath, not config.rpath.
65393         * modules/iconv: Likewise.
65394
65395 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65396
65397         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65398         to avoid collisions with libcurses and libreadline.
65399
65400         * m4/getstr.m4: Remove.
65401         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
65402
65403 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65404
65405         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65406         to avoid collisions with libcurses and libreadline.
65407
65408         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
65409         * lib/getstr.h, getstr.c: Remove.
65410         * lib/getline.c: Include "getline.h", to check interface.
65411         Move body of old getstr.c here: this defines MIN_CHUNK and
65412         declares getdelim2, which is renamed from getstr.
65413         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
65414
65415         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
65416         All uses changed.
65417         * lib/linebuffer.h: Likewise.
65418         (readline): Remove backward-compatibility macro.
65419
65420 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65421
65422         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65423         to avoid collisions with libcurses and libreadline.
65424         * getstr: Remove.
65425         * MODULES.html.sh: Remove getstr.
65426         * modules/getline: Depend on unlocked-io, not getstr.
65427
65428 2003-01-12  Jim Meyering  <jim@meyering.net>
65429
65430         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
65431
65432 2003-01-10  Bruno Haible  <bruno@clisp.org>
65433
65434         * modules/alloca: Change Makefile.am requirements. Simplify Include
65435         requirements. Add lib/alloca_.h to file list.
65436
65437 2003-01-10  Bruno Haible  <bruno@clisp.org>
65438
65439         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
65440
65441 2003-01-10  Bruno Haible  <bruno@clisp.org>
65442
65443         * lib/alloca_.h: New file.
65444         * lib/getdate.y: Unconditionally include alloca.h.
65445         * lib/makepath.c: Likewise.
65446         * lib/setenv.c: Likewise.
65447         * lib/userspec.c: Likewise.
65448
65449 2003-01-09  Karl Berry  <karl@gnu.org>
65450
65451         * MODULES.html.sh: include `dirname $0` in PATH, to find
65452         gnulib-tool.
65453
65454 2003-01-09  Bruno Haible  <bruno@clisp.org>
65455
65456         * modules/stdbool: Change configure.ac, Makefile.am requirements.
65457         Simplify Include requirements. Add lib/stdbool.h.in to file list.
65458
65459 2003-01-09  Bruno Haible  <bruno@clisp.org>
65460
65461         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
65462
65463 2003-01-09  Bruno Haible  <bruno@clisp.org>
65464
65465         * lib/stdbool.h.in: New file.
65466
65467 2003-01-09  Bruno Haible  <bruno@clisp.org>
65468
65469         * gnulib-tool (func_all_modules): Ignore files ending in ~.
65470         * MODULES.html.sh: Likewise.
65471
65472 2003-01-08  Jim Meyering  <jim@meyering.net>
65473
65474         * lib/full-write.c: Undefine and define-away `const' after inclusion
65475         of errno.h, not before.  Suggestion from Bruno Haible.
65476
65477 2003-01-08  Bruno Haible  <bruno@clisp.org>
65478
65479         * modules/full-read: Depend on full-write.
65480
65481 2003-01-08  Bruno Haible  <bruno@clisp.org>
65482
65483         * lib/safe-read.c: Include specification header first, to ensure its
65484         selfcontainedness.
65485         * lib/full-write.c: Likewise.
65486
65487 2003-01-07  Jim Meyering  <jim@meyering.net>
65488
65489         * lib/full-write.c: Rework so that it may serve to define full_read,
65490         too.
65491         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
65492
65493 2003-01-07  Bruno Haible  <bruno@clisp.org>
65494
65495         * lib/strtoimax.c: Include <stdint.h> as an alternative to
65496         <inttypes.h>.
65497         * lib/xstrtol.h: Likewise.
65498         * lib/xstrtoimax.c: Likewise.
65499         * lib/xstrtoumax.c: Likewise.
65500         * lib/human.h: Likewise.
65501
65502         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
65503         on systems that have <inttypes.h> but not <stdint.h>.
65504
65505 2003-01-07  Bruno Haible  <bruno@clisp.org>
65506
65507         * MODULES.html.sh: Add copyright notice.
65508         (missed_files): Omit CVS directory entries.
65509         (func_module): Make it work with sed-3.02.
65510         * MODULES.txt: Remove file.
65511
65512 2003-01-06  Jim Meyering  <jim@meyering.net>
65513
65514         * lib/version-etc.c: Update year in translatable copyright string.
65515
65516 2003-01-03  Karl Berry  <karl@gnu.org>
65517
65518         * config/config.{guess,sub}: update from prep.
65519
65520 2003-01-02  Karl Berry  <karl@gnu.org>
65521
65522         * doc/COPYING.DOC: belatedly updated to 1.2.
65523
65524 2003-01-01  Karl Berry  <karl@gnu.org>
65525
65526         * gnulib-tool (func_verify_module): report module name $module in
65527         error message, not $1.
65528         * gnulib-tool (create-testdir): don't complain if destdir couldn't
65529         be created, only if it doesn't exist.
65530         * gnulib-tool (last_checkin_date): don't expand the $Date here.
65531
65532 2002-12-31  Paul Eggert  <eggert@twinsun.com>
65533
65534         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
65535
65536 2002-12-31  Paul Eggert  <eggert@twinsun.com>
65537
65538         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
65539         memcmp if strcoll doesn't work.
65540
65541 2002-12-31  Bruno Haible  <bruno@clisp.org>
65542
65543         * lib/utime.c (utime_null): No need to call ftruncate if the file was
65544         nonempty.
65545
65546 2002-12-31  Bruno Haible  <bruno@clisp.org>
65547
65548         * lib/memcoll.c (STRCOLL): New macro.
65549         (memcoll): Use it.
65550
65551 2002-12-31  Bruno Haible  <bruno@clisp.org>
65552
65553         * lib/localcharset.h: New file.
65554         * lib/localcharset.c: Include it.
65555         * lib/unicodeio.c: Likewise.
65556
65557 2002-12-31  Bruno Haible  <bruno@clisp.org>
65558
65559         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
65560         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
65561
65562 2002-12-31  Bruno Haible  <bruno@clisp.org>
65563
65564         * lib/getline.h: Include <stddef.h>, for size_t.
65565
65566         * lib/unicodeio.h: Include <stddef.h>, for size_t.
65567         * lib/unicodeio.c: Don't include <stddef.h>.
65568
65569 2002-12-31  Bruno Haible  <bruno@clisp.org>
65570
65571         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
65572         HAVE_TM_ZONE.
65573
65574 2002-12-24  Karl Berry  <karl@gnu.org>
65575
65576         * config/config.guess: update from prep.
65577
65578 2002-12-24  Bruno Haible  <bruno@clisp.org>
65579
65580         General infrasructure.
65581         * m4/README: Rewritten.
65582         * m4/onceonly.m4: New file.
65583         * m4/onceonly_2_57.m4: New file.
65584
65585         Module atexit.
65586         * m4/atexit.m4: New file.
65587
65588         Module strtod.
65589         * m4/strtod.m4: New file.
65590
65591         Module strtol.
65592         * m4/strtol.m4: New file.
65593
65594         Module strtoul.
65595         * m4/strtoul.m4: New file.
65596
65597         Module memchr.
65598         * m4/memchr.m4: New file.
65599
65600         Module memcmp.
65601         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
65602         (jm_FUNC_MEMCMP): Invoke it.
65603
65604         Module memcpy.
65605         * m4/memcpy.m4: New file.
65606
65607         Module memmove.
65608         * m4/memmove.m4: New file.
65609
65610         Module memset.
65611         * m4/memset.m4: New file.
65612
65613         Module strcspn.
65614         * m4/strcspn.m4: New file.
65615
65616         Module strpbrk.
65617         * m4/strpbrk.m4: New file.
65618
65619         Module strstr.
65620         * m4/strstr.m4: New file.
65621
65622         Module strerror.
65623         * m4/strerror.m4: New file.
65624
65625         Module mktime.
65626         * m4/mktime.m4: Renamed from jm-mktime.m4.
65627         (gl_PREREQ_MKTIME): New macro.
65628         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
65629
65630         Module malloc.
65631         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
65632         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
65633         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
65634
65635         Module realloc.
65636         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
65637         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
65638         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
65639
65640         Module strftime.
65641         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
65642         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
65643         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
65644         gl_TM_GMTOFF.
65645         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
65646
65647         Module xalloc.
65648         * m4/xalloc.m4: New file.
65649
65650         Module alloca.
65651         * m4/alloca.m4: New file.
65652
65653         Module putenv.
65654         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
65655         (jm_FUNC_PUTENV): Invoke it.
65656
65657         Module setenv.
65658         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
65659         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
65660         when invoked twice.
65661         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
65662         gt_FUNC_SETENV.
65663
65664         Module memrchr.
65665         * m4/memrchr.m4: New file.
65666
65667         Module stpcpy.
65668         * m4/stpcpy.m4: New file.
65669
65670         Module strcase.
65671         * m4/strcase.m4: New file.
65672
65673         Module strdup.
65674         * m4/strdup.m4: New file.
65675
65676         Module strnlen.
65677         * m4/strnlen.m4: New file.
65678
65679         Module strndup.
65680         * m4/strndup.m4: New file.
65681
65682         Module xstrtod.
65683         * m4/xstrtod.m4: New file.
65684
65685         Module xstrtol.
65686         * m4/xstrtol.m4: New file.
65687
65688         Module getdate.
65689         * m4/getdate.m4: New file.
65690
65691         Module unlocked-io.
65692         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
65693         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
65694         * m4/jm-glibc-io.m4n: Remove file.
65695
65696         Module long-options.
65697         * m4/long-options.m4: New file.
65698
65699         Module md5.
65700         * m4/md5.m4: New file.
65701
65702         Module sha.
65703         * m4/sha.m4: New file.
65704
65705         Module getstr.
65706         * m4/getstr.m4: New file.
65707
65708         Module getline.
65709         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
65710         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
65711         <sys/types.h>, for size_t. Use the function name gnu_getline, not
65712         simply getline. Infoke gl_PREREQ_GETLINE.
65713
65714         Module obstack.
65715         * m4/obstack.m4: New file.
65716
65717         Module hash.
65718         * m4/hash.m4: New file.
65719
65720         Module readtokens.
65721         * m4/readtokens.m4: New file.
65722
65723         Module strverscmp.
65724         * m4/strverscmp.m4: New file.
65725
65726         Module stdbool.
65727         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
65728         OSF/1.
65729
65730         Module strtoll.
65731         * m4/strtoll.m4: New file.
65732
65733         Module strtoull.
65734         * m4/strtoull.m4: New file.
65735
65736         Module strtoimax.
65737         * m4/strtoimax.m4: New file.
65738
65739         Module strtoumax.
65740         * m4/strtoumax.m4: New file.
65741
65742         Module xstrtoimax.
65743         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
65744         jm_AC_PREREQ_XSTRTOIMAX.
65745         Moved the strtol prerequisites to strtol.m4.
65746         Moved the strtoll prerequisites to strtoll.m4.
65747         Moved the strtoimax prerequisites to strtoimax.m4.
65748
65749         Module xstrtoumax.
65750         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
65751         jm_AC_PREREQ_XSTRTOUMAX.
65752         Moved the strtoul prerequisites to strtoul.m4.
65753         Moved the strtoull prerequisites to strtoull.m4.
65754         Moved the strtoumax prerequisites to strtoumax.m4.
65755
65756         Module chown.
65757         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
65758         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
65759
65760         Module dup2.
65761         * m4/dup2.m4: New file.
65762
65763         Module ftruncate.
65764         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
65765         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
65766
65767         Module getgroups.
65768         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
65769         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
65770
65771         Module gettimeofday.
65772         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
65773         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
65774         gl_PREREQ_GETTIMEOFDAY.
65775
65776         Module mkdir.
65777         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
65778         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
65779
65780         Module mkstemp.
65781         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
65782         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
65783         jm_AC_TYPE_UINTMAX_T.
65784         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
65785
65786         Module stat.
65787         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
65788         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
65789
65790         Module lstat.
65791         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
65792         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
65793
65794         Module timespec.
65795         * m4/timespec.m4 (gl_TIMESPEC): New macro.
65796         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
65797         * m4/st_mtim.m4: Indentation.
65798
65799         Module nanosleep.
65800         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
65801         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
65802         gl_PREREQ_NANOSLEEP.
65803
65804         Module regex.
65805         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
65806         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
65807         (gl_REGEX): New macro.
65808
65809         Module rename.
65810         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
65811         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
65812
65813         Module rmdir.
65814         * m4/rmdir.m4: New file.
65815
65816         Module utime.
65817         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
65818         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
65819         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
65820
65821         Module dirname.
65822         * m4/dirname.m4: New file.
65823
65824         Module getopt.
65825         * m4/getopt.m4: New file.
65826
65827         Module unistd-safer.
65828         * m4/unistd-safer.m4: New file.
65829
65830         Module fnmatch.
65831         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
65832         declaration.
65833         (gl_PREREQ_FNMATCH_EXTRA): New macro.
65834         (gl_FUNC_FNMATCH_POSIX): New macro.
65835         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
65836         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
65837         simply fnmatch.
65838
65839         Module exclude.
65840         * m4/exclude.m4: New file.
65841
65842         Module human.
65843         * m4/human.m4: New file.
65844
65845         Module acl.
65846         * m4/acl.m4: Nop.
65847
65848         Module backupfile.
65849         * m4/backupfile.m4: New file.
65850         * m4/d-ino.m4: Indentation.
65851
65852         Module fsusage.
65853         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
65854         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
65855         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
65856
65857         Module dirfd.
65858         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
65859         requirements.
65860
65861         Module euidaccess.
65862         * m4/euidaccess.m4: New file.
65863
65864         Module file-type.
65865         * m4/file-type.m4: New file.
65866
65867         Module fileblocks.
65868         * m4/fileblocks.m4: New file.
65869
65870         Module filemode.
65871         * m4/filemode.m4: New file.
65872
65873         Module isdir.
65874         * m4/isdir.m4: New file.
65875
65876         Module lchown.
65877         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
65878         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
65879
65880         Module makepath.
65881         * m4/makepath.m4: New file.
65882
65883         Module modechange.
65884         * m4/modechange.m4: New file.
65885
65886         Module mountlist.
65887         * m4/mountlist.m4: New file.
65888         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
65889         Indentation.
65890
65891         Module path-concat.
65892         * m4/path-concat.m4: New file.
65893
65894         Module pathmax.
65895         * m4/pathmax.m4: New file.
65896
65897         Module same.
65898         * m4/same.m4: New file.
65899
65900         Module save-cwd.
65901         * m4/save-cwd.m4: New file.
65902
65903         Module savedir.
65904         * m4/savedir.m4: New file.
65905
65906         Module xgetcwd.
65907         * m4/xgetcwd.m4: New file.
65908         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
65909
65910         Module xreadlink.
65911         * m4/xreadlink.m4: New file.
65912
65913         Module safe-read.
65914         * m4/safe-read.m4: New file.
65915
65916         Module safe-write.
65917         * m4/safe-write.m4: New file.
65918
65919         Module closeout.
65920         * m4/closeout.m4: New file.
65921
65922         Module stdio-safer.
65923         * m4/stdio-safer.m4: New file.
65924
65925         Module getpass.
65926         * m4/getpass.m4: New file.
65927
65928         Module getugroups.
65929         * m4/getugroups.m4: New file.
65930
65931         Module group-member.
65932         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
65933         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
65934
65935         Module idcache.
65936         * m4/idcache.m4: New file.
65937
65938         Module userspec.
65939         * m4/userspec.m4: New file.
65940
65941         Module gettime.
65942         * m4/clock_time.m4: New file.
65943         * m4/gettime.m4: New file.
65944
65945         Module settime.
65946         * m4/settime.m4: New file.
65947
65948         Module posixtm.
65949         * m4/posixtm.m4: New file.
65950
65951         Module gethostname.
65952         * m4/gethostname.m4: New file.
65953
65954         Module canon-host.
65955         * m4/canon-host.m4: New file.
65956
65957         Module gettext.
65958         * m4/codeset.m4: New file, from gettext-0.11.5.
65959         * m4/gettext.m4: New file, from gettext-0.11.5.
65960         * m4/glibc21.m4: New file, from gettext-0.11.5.
65961         * m4/iconv.m4: New file, from gettext-0.11.5.
65962         * m4/intdiv0.m4: New file, from gettext-0.11.5.
65963         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
65964         * m4/inttypes.m4: New file, from gettext-0.11.5.
65965         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
65966         * m4/isc-posix.m4: New file, from gettext-0.11.5.
65967         * m4/lcmessage.m4: New file, from gettext-0.11.5.
65968         * m4/lib-ld.m4: New file, from gettext-0.11.5.
65969         * m4/lib-link.m4: New file, from gettext-0.11.5.
65970         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
65971         * m4/progtest.m4: New file, from gettext-0.11.5.
65972         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
65973         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
65974         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
65975
65976         Module localcharset.
65977         * m4/localcharset.m4: New file.
65978
65979         Module hard-locale.
65980         * m4/hard-locale.m4: New file.
65981
65982         Module mbswidth.
65983         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
65984         onceonly macros.
65985         * m4/mbrtowc.m4: Add comment.
65986
65987         Module memcasecmp.
65988         * m4/memcasecmp.m4: New file.
65989
65990         Module memcoll.
65991         * m4/memcoll.m4: New file.
65992
65993         Module unicodeio.
65994         * m4/unicodeio.m4: New file.
65995
65996         Module rpmatch.
65997         * m4/rpmatch.m4: New file.
65998
65999         Module yesno.
66000         * m4/yesno.m4: New file.
66001
66002         Module exitfail.
66003         * m4/exitfail.m4: New file.
66004
66005         Module c-stack.
66006         * m4/c-stack.m4 (gl_C_STACK): New macro.
66007         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
66008
66009         Module error.
66010         * m4/error.m4 (gl_ERROR): New macro.
66011         (jm_PREREQ_ERROR): Use onceonly macros.
66012
66013         Module fatal.
66014         * m4/fatal.m4: New file.
66015
66016         Module getloadavg.
66017         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
66018         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
66019
66020         Module getpagesize.
66021         * m4/getpagesize.m4: New file.
66022
66023         Module getusershell.
66024         * m4/getusershell.m4: New file.
66025
66026         Module physmem.
66027         * m4/physmem.m4: New file.
66028
66029         Module posixver.
66030         * m4/posixver.m4: New file.
66031
66032         Module quotearg.
66033         * m4/quotearg.m4: New file.
66034
66035         Module quote.
66036         * m4/quote.m4: New file.
66037
66038         Module readutmp.
66039         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
66040
66041         Module sig2str.
66042         * m4/sig2str.m4: New file.
66043
66044         Other.
66045         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
66046         ulonglong.m4.
66047         * m4/intmax_t.m4: New file.
66048         * m4/d-type.m4: Indentation.
66049         * m4/jm-macros.m4: Update.
66050         * m4/prereq.m4 (jm_PREREQ): Update.
66051         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
66052         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
66053         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
66054         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
66055         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
66056         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
66057         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
66058         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
66059         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
66060         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
66061         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
66062         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
66063         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
66064         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
66065         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
66066         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
66067         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
66068         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
66069         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
66070
66071 2002-12-24  Bruno Haible  <bruno@clisp.org>
66072
66073         * MODULES.txt: Update according to m4/ changes.
66074
66075         Module gettext.
66076         * config.rpath: New file, from gettext-0.11.5.
66077
66078         * modules/*: New module descriptions.
66079         * gnulib-tool: New file.
66080         * MODULES.html.sh: New file.
66081
66082 2002-12-21  Karl Berry  <karl@gnu.org>
66083
66084         * doc/fdl.texi: update to version 1.2.
66085
66086 2002-12-19  Karl Berry  <karl@gnu.org>
66087
66088         * config/config.guess: update from prep.
66089
66090 2002-12-18  Bruno Haible  <bruno@clisp.org>
66091
66092         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
66093         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
66094
66095 2002-12-17  Bruno Haible  <bruno@clisp.org>
66096
66097         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
66098         stdlib.h, string.h.
66099
66100 2002-12-17  Bruno Haible  <bruno@clisp.org>
66101
66102         * lib/canon-host.c (strdup): Remove unused declaration.
66103
66104         * lib/fsusage.c: Include full_read.h.
66105         (get_fs_usage): Use full_read instead of safe_read.
66106
66107         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
66108
66109 2002-12-12  Karl Berry  <karl@gnu.org>
66110
66111         * config/config.guess: update from prep.
66112
66113 2002-12-11  Bruno Haible  <bruno@clisp.org>
66114
66115         * m4/setenv.m4: New file, from gettext-0.11.5.
66116
66117 2002-12-11  Bruno Haible  <bruno@clisp.org>
66118
66119         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
66120         not unsetenv().
66121         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
66122         modifications:
66123
66124         2002-12-11  Bruno Haible  <bruno@clisp.org>
66125
66126                 * setenv.c (alloca): Fall back to malloc.
66127                 (freea): New macro.
66128                 (setenv): Use freea() to free memory allocated with alloca().
66129
66130         2002-11-13  Bruno Haible  <bruno@clisp.org>
66131
66132                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
66133                 function declarations.
66134                 * unsetenv.c (unsetenv): Likewise.
66135
66136         2002-03-04  Bruno Haible  <bruno@clisp.org>
66137
66138                 Portability to AIX 4.3.3.
66139                 * unsetenv.c: New file, extracted from setenv.c.
66140                 * setenv.c: Move the unsetenv() function to unsetenv.c.
66141
66142         2001-12-20  Bruno Haible  <bruno@clisp.org>
66143
66144                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
66145                 use malloc instead. For SunOS 4.
66146
66147         2001-12-11  Bruno Haible  <bruno@clisp.org>
66148
66149                 * setenv.c: Declare alloca.
66150                 (compar_fn_t): New typedef.
66151                 (KNOWN_VALUE, STORE_VALUE): Use it.
66152
66153         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
66154         setenv.h.
66155
66156 2002-12-10  Paul Eggert  <eggert@twinsun.com>
66157
66158         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
66159         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
66160         Choose values that are less likely to collide with system fnmatch
66161         options.
66162         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
66163         defined (e.g., a pure POSIX system).
66164         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
66165         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
66166
66167 2002-12-06  Paul Eggert  <eggert@twinsun.com>
66168
66169         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
66170         a pain in practice to deal with generated m4 files.  This change
66171         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
66172
66173         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
66174         and jm-glibc-io.m4, as they are no longer a special case.
66175         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
66176         kludge and the auto-generation stuff.  Check only whether the
66177         functions are declared, not whether they exist, since older hosts
66178         that don't declare the functions can't use the optimization anyway.
66179
66180 2002-12-06  Jim Meyering  <jim@meyering.net>
66181
66182         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
66183
66184         Merge in changes from libc's misc/error.c, in preparation
66185         for the merge of gnulib's changes back into libc.
66186
66187         * lib/error.c (_): Define only if not already defined.
66188         Move definition to follow all #include directives.
66189         Include unlocked-io.h only if !_LIBC.
66190         [_LIBC]: Include <libio/libioP.h>.
66191         [USE_IN_LIBIO]: Include <libio/iolibio.h>
66192         (fflush): Tweak definition to use INTUSE.
66193         (putc): Define.
66194
66195 2002-12-05  Paul Eggert  <eggert@twinsun.com>
66196
66197         * lib/alloca.c [defined emacs]: Include "lisp.h".
66198         (xalloc_die) [defined emacs]: New macro.
66199         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
66200         [! defined emacs]: Include <xalloc.h>.
66201         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
66202         (pointer): Typedef to POINTER_TYPE *.
66203         (malloc): Remove decl; we now always use xmalloc.
66204         (alloca): Use old-style definition, since Emacs needs this.
66205         Check for arithmetic overflow when computing combined size.
66206
66207 2002-12-04  Paul Eggert  <eggert@twinsun.com>
66208
66209         Do not generate unlocked-io.h automatically, since it's easier to
66210         maintain it by hand.
66211
66212         * lib/unlocked-io.h: New file, from GNU diffutils,
66213         but with proper copyright notice and attribution.
66214         * lib/gen-uio: Remove.
66215         * lib/Makefile.am: Add copyright notice.
66216         (libfetish_a_SOURCES): Add unlocked-io.h.
66217         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
66218         (DISTCLEANFILES, io_functions): Remove macros.
66219         (EXTRA_DIST): Remove gen_uio.
66220         (unlocked-io.h): Remove rule.
66221
66222 2002-12-04  Jim Meyering  <jim@meyering.net>
66223
66224         Reflect the fact that stat.c and lstat.c are no longer generated.
66225         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
66226         (DISTCLEANFILES): Likewise.
66227         (EXTRA_DIST): Likewise.
66228         (all_local): Don't depend on stat.c or lstat.c.
66229         (stat.c, lstat.c): Remove rules.
66230         (EXTRA_DIST): Remove xstat.in.
66231
66232         * lib/xstat.in: Remove file.  Contents moved into stat.c.
66233         * lib/stat.c: New file.  Contents mostly from xstat.in.
66234         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
66235         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
66236
66237         * lib/safe-read.c: Rework so that it may serve to define safe_write,
66238         too.
66239         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
66240
66241 2002-12-03  Jim Meyering  <jim@meyering.net>
66242
66243         * lib/safe-read.c, safe-write.c: Change variable names and comments,
66244         but not semantics, to minimize the differences between these two files.
66245         (safe_read): Change comment to mention SAFE_READ_ERROR.
66246
66247         * lib/safe-read.c (IS_EINTR): Define.
66248         (safe_read): Use IS_EINTR in place of in-function cpp directives.
66249
66250 2002-12-02  Jim Meyering  <jim@meyering.net>
66251
66252         * lib/safe-read.c (EINTR): Define.
66253         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
66254         (INT_MAX): Provide fallback.
66255         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
66256
66257         * lib/safe-read.h (SAFE_READ_ERROR): Define.
66258
66259 2002-12-02  Bruno Haible  <bruno@clisp.org>
66260
66261         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
66262         Define, taken from safe-read.c.
66263         (INT_MAX): Provide fallback.
66264         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
66265         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
66266
66267         * lib/safe-read.c (EINTR): Remove definition.
66268         (safe_read): Don't use EINTR if it is absent.
66269
66270 2002-12-01  Jim Meyering  <jim@meyering.net>
66271
66272         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
66273         zero.
66274         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
66275
66276 2002-11-27  Paul Eggert  <eggert@twinsun.com>
66277
66278         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
66279         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
66280         with `if (! (value < limit)) abort ();', for readability.
66281
66282 2002-11-26  Karl Berry  <karl@gnu.org>
66283
66284         * lib/strdup.c: copy from libc again, with jim's ok.
66285         * lib/.cppi-disable: re-add strdup.c
66286
66287 2002-11-25  Karl Berry  <karl@gnu.org>
66288
66289         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
66290         instead of "strtol.c".
66291
66292 2002-11-25  Karl Berry  <karl@gnu.org>
66293
66294         * config/install-sh: update from automake for variable quoting, $0 in
66295         error msgs, etc.
66296
66297         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
66298         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
66299         entry.
66300
66301 2002-11-25  Jim Meyering  <jim@meyering.net>
66302
66303         * lib/mktime.c: Sync from libc, now that it has the latest fix.
66304
66305 2002-11-24  Karl Berry  <karl@gnu.org>
66306
66307         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
66308         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
66309
66310 2002-11-24  Jim Meyering  <jim@meyering.net>
66311
66312         Update from coreutils:
66313
66314         * lib/mktime.c: Merge in changes from libc.
66315
66316         Avoid a link-time failure on some Linux systems.
66317         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
66318         (otherwise).
66319         (__mon_yday): Declare with the STATIC attribute.
66320         (__mktime_internal): Likewise.
66321         Based on a report from Greg Schafer.
66322
66323 2002-11-23  Jim Meyering  <jim@meyering.net>
66324
66325         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
66326         Use `unsigned', not `int', as type of index.
66327
66328         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
66329
66330         * lib/fsusage.c: Remove unneeded parentheses around operands of
66331         `defined'.
66332
66333 2002-11-22  Paul Eggert  <eggert@twinsun.com>
66334
66335         * lib/quotearg.h: Allow multiple inclusion by surrounding with
66336         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
66337         so that we can be included first.
66338         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
66339         * lib/quotearg.c: Include quotearg.h immediately after config.h.
66340         No need to include stddef.h or sys/types.h any more.
66341         Surround local include files with "", not "<>".
66342         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
66343         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
66344         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
66345         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
66346         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
66347         (ISPRINT): Remove; no longer needed now that we assume C89.
66348
66349         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
66350         Preserve errno.
66351
66352         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
66353         quotearg_char): Use SIZE_MAX rather than
66354         (size_t) -1 when we are talking about "infinity".
66355
66356         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
66357
66358 2002-11-22  Paul Eggert  <eggert@twinsun.com>
66359
66360         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
66361         hint that one should use `if (! x) abort ();' rather than `assert
66362         (x);', and anyway it's one less thing to worry about configuring.
66363         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
66364         hash_rehash, hash_insert): Use abort rather than assert.
66365
66366 2002-11-22  Bruno Haible  <bruno@clisp.org>
66367
66368         * lib/safe-read.h: Assume C89. Add comments.
66369         (safe_read): Change return type to size_t.
66370         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
66371         byte counts > SSIZE_MAX correctly.
66372         * lib/safe-write.h: New file.
66373         * lib/safe-write.c: New file.
66374         * lib/full-read.h: New file.
66375         * lib/full-read.c: New file.
66376         * lib/full-write.h: Assume C89. Add comments.
66377         * lib/full-write.c: Include safe-write.h.
66378         (full_write): Rewritten to use safe_write.
66379         Suggested by Jim Meyering and Paul Eggert.
66380
66381 2002-11-21  Jim Meyering  <jim@meyering.net>
66382
66383         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
66384
66385         Merge in changes from the coreutils.
66386
66387         2002-09-25  Paul Eggert  <eggert@twinsun.com>
66388         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
66389         <stdint.h>.
66390         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
66391         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
66392         int.  Work more efficiently if X is the same width as uintmax_t.
66393         Do not compare X to -1, to avoid bogus compiler warning.
66394         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
66395         Don't assume that f_frsize and f_bsize are the same type.
66396
66397         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
66398         warning on FreeBSD.
66399
66400         * lib/makepath.c (make_path): Restore umask *before* creating the final
66401         component.
66402         (make_path): Minor reformatting.
66403
66404         * lib/xmalloc.c: Adjust to work with new autoconf macros,
66405         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
66406         HAVE_MALLOC/HAVE_REALLOC.
66407
66408         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
66409         dummy ones.  At least on GNU/Linux systems, `auto' means something
66410         else.
66411         From Michael Stone.
66412
66413 2002-11-21  Bruno Haible  <bruno@clisp.org>
66414
66415         Remove case insensitive option matching.
66416         * lib/argmatch.h (argcasematch): Remove declaration.
66417         (ARGCASEMATCH): Remove macro.
66418         (__xargmatch_internal): Remove case_sensitive argument.
66419         (XARGMATCH): Update.
66420         (XARGCASEMATCH): Remove macro.
66421         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
66422         case_sensitive argument.
66423         (argcasematch): Remove function.
66424         (__xargmatch_internal): Remove case_sensitive argument.
66425         (main): Use XARGMATCH instead of XARGCASEMATCH.
66426
66427         * lib/xmalloc.c: Change compile-time error message. Add comment about
66428         required autoconf version.
66429
66430 2002-11-20  Paul Eggert  <eggert@twinsun.com>
66431
66432         Merge argmatch cleanups from Bison.  Assume C89.
66433
66434         * lib/argmatch.c: Include config.h here, not in argmatch.h.
66435         Include stdlib.h, for EXIT_FAILURE.
66436         Always include <string.h>, since we assume C89.
66437         (EXIT_FAILURE): Remove pre-C89 bug workaround.
66438         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
66439         Include <stddef.h> instead, since it's all we need for size_t.
66440         (PARAMS): Remove.  All uses removed.
66441         (ARRAY_CARDINALITY): Do not bother to #undef.
66442         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
66443         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
66444         Remove unnecessary parentheses.
66445         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
66446         Insert necessary parentheses.
66447         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
66448         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
66449
66450 2002-11-19  Bruno Haible  <bruno@clisp.org>
66451
66452         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
66453         * lib/mbswidth.h: Include <stddef.h>, for size_t.
66454
66455         * lib/mbswidth.h (PARAMS): Remove macro.
66456         (mbswidth, mbsnwidth): Use ANSI C function declarations.
66457         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
66458
66459         * lib/gcd.h (PARAMS): Remove macro.
66460         (gcd): Use ANSI C function declarations.
66461         * lib/gcd.c (gcd): Likewise.
66462
66463 2002-11-15  Bruno Haible  <bruno@clisp.org>
66464
66465         * lib/strcspn.c: Include <stddef.h>.
66466         (strcspn): Use ANSI C function declaration. Change return type to
66467         size_t. Use NULL.
66468         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
66469         (strpbrk): Use NULL.
66470         * lib/strpbrk.h (PARAMS): Remove macro.
66471         (strpbrk): Use ANSI C function declaration.
66472         * lib/strstr.c: Don't include <sys/types.h>.
66473         * lib/strstr.h (PARAMS): Remove macro.
66474         (strstr): Use ANSI C function declarations.
66475
66476 2002-11-14  Karl Berry  <karl@gnu.org>
66477
66478         * config/mkinstalldirs: `do' on separate line, instead of
66479         `for var; do'.
66480
66481 2002-11-06  Bruno Haible  <bruno@clisp.org>
66482
66483         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
66484         * lib/gcd.c (gcd): Likewise.
66485
66486 2002-11-05  Bruno Haible  <bruno@clisp.org>
66487
66488         * lib/gcd.h: New file, from gettext-0.11.5.
66489         * lib/gcd.c: New file, from gettext-0.11.5.
66490
66491 2002-11-05  Bruno Haible  <bruno@clisp.org>
66492
66493         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66494         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66495         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66496         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66497
66498         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
66499         <libintl.h>.
66500         * lib/makepath.c: Include gettext.h instead of <locale.h> and
66501         <libintl.h>.
66502
66503         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
66504         * lib/human.c: Include gettext.h instead of <libintl.h>.
66505         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
66506         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
66507         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
66508         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
66509         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
66510         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
66511         (textdomain): Remove definition.
66512         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
66513
66514         * lib/long-options.c: Remove include of <libintl.h> and definition of
66515         _.
66516         * lib/same.c: Remove include of <libintl.h> and definition of _.
66517
66518 2002-11-04  Owen Taylor  <otaylor@redhat.com>
66519
66520         * lib/config.charset: A few additions for Solaris.
66521
66522 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
66523
66524         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
66525         * lib/localcharset.c (locale_charset): Declare as extern "C".
66526
66527 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
66528
66529         * lib/config.charset: msdos in uk_UA uses CP1125.
66530
66531 2002-11-04  Bruno Haible  <bruno@clisp.org>
66532
66533         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
66534         * lib/strcase.h: New file, from GNU gettext-0.11.5.
66535         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
66536         * lib/strstr.h: New file, from GNU gettext-0.11.5.
66537         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
66538
66539 2002-11-04  Bruno Haible  <bruno@clisp.org>
66540
66541         * lib/localcharset.c (locale_charset): Don't return an empty string.
66542
66543 2002-11-04  Bruno Haible  <bruno@clisp.org>
66544
66545         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
66546         aliases.
66547
66548 2002-11-04  Bruno Haible  <bruno@clisp.org>
66549
66550         * lib/config.charset: Update for newest glibc. Add canonical names
66551         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
66552
66553 2002-11-04  Bruno Haible  <bruno@clisp.org>
66554
66555         * lib/config.charset: Add support for NetBSD.
66556
66557 2002-11-04  Bruno Haible  <bruno@clisp.org>
66558
66559         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
66560
66561 2002-11-01  Bruno Haible  <bruno@clisp.org>
66562
66563         * configure.in: Add AC_CONFIG_AUX_DIR call.
66564         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
66565         test/Makefile.
66566         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
66567
66568 2002-09-28  Karl Berry  <karl@gnu.org>
66569
66570         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
66571         installed automake until the next release, since changes have been
66572         made.
66573
66574 2002-09-25  Karl Berry  <karl@gnu.org>
66575
66576         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
66577         * lib/getopt*: copy from libc/posix.
66578         * lib/gettext.h: copy from gettext.
66579         * lib/.cppi-disable: add strdup.c, gettext.h.
66580
66581 2002-09-25  Karl Berry  <karl@gnu.org>
66582
66583         * config/srclist.txt: enable gettext.h check.
66584         * config/config.{guess,sub}: update from prep.
66585         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
66586                 from automake 1.6.3.
66587         See srclist*.
66588
66589 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
66590
66591         * regex.c (PATFETCH): Remove the translating fetch.
66592         (PATFETCH_RAW): Rename to PATFETCH.
66593         (set_image_of_range): New fun.
66594         (SET_RANGE_TABLE_WORK_AREA): Use it.
66595         (regex_compile): Don't translate the pattern chars so eagerly.
66596         Only do it when inserting an `exactn' bytecode or when handling
66597         a char-range.
66598         (mutually_exclusive_p): Avoid empty statement.
66599
66600 2002-07-06  Jim Meyering  <meyering@lucent.com>
66601
66602         * m4/README: Don't mention Makefile.am.in.
66603         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
66604
66605 2002-07-01  Jim Meyering  <meyering@lucent.com>
66606
66607         * lib/c-stack.c: Include sys/time.h.
66608         From Volker Borchert.
66609
66610 2002-06-26  Paul Eggert  <eggert@twinsun.com>
66611
66612         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
66613
66614 2002-06-26  Paul Eggert  <eggert@twinsun.com>
66615
66616         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
66617         New macro.  Use it uniformly instead of
66618         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
66619         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
66620         reported by Vin Shelton.
66621
66622 2002-06-22  Paul Eggert  <eggert@twinsun.com>
66623
66624         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
66625         Do not assume SA_SIGINFO behavior.
66626         Bug reported by Jim Meyering on NetBSD 1.5.2.
66627
66628 2002-06-22  Jim Meyering  <meyering@lucent.com>
66629
66630         * m4/c-stack.m4: New file, from diffutils-2.8.2.
66631         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
66632
66633         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
66634         now that configure.ac uses AC_GNU_SOURCE.
66635         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
66636         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
66637
66638         Update to latest tools.  Suggestions from Paul Eggert.
66639         * m4/stdbool.m4: New file, from diffutils-2.8.2.
66640         * m4/gnu-source.m4: Update from diffutils-2.8.2.
66641         * m4/fnmatch.m4: Likewise.
66642         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
66643         to AC_HEADER_STDBOOL
66644
66645 2002-06-22  Jim Meyering  <meyering@lucent.com>
66646
66647         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
66648         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
66649
66650 2002-06-22  Jim Meyering  <meyering@lucent.com>
66651
66652         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
66653
66654         * lib/exitfail.c, exitfail.h: Likewise.
66655         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
66656
66657         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
66658         of fnmatch.h.
66659         (EXTRA_DIST): Add fnmatch_loop.c.
66660         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
66661
66662         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
66663         * lib/fnmatch.c: Update from diffutils-2.8.2.
66664         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
66665         * lib/fnmatch.h: Remove file.
66666
66667 2002-06-21  Jim Meyering  <meyering@lucent.com>
66668
66669         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
66670         * m4/mbrtowc.m4: Likewise.
66671
66672         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
66673         * m4/mbswidth.m4: Reflect name change:
66674         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
66675         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
66676
66677         * m4/lib-link.m4: Update from gettext-0.11.2.
66678         * m4/gettext.m4: Likewise.
66679
66680         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
66681         From Alfred M. Szmidt.
66682
66683 2002-06-18  Paul Eggert  <eggert@twinsun.com>
66684
66685         * lib/file-type.h: Report an error if neither S_ISREG nor
66686         S_IFREG is defined, instead of using a test specific to glibc
66687         2.2.  This should be safe, since POSIX requires S_ISREG and
66688         Unix Version 7 had S_IFREG.  We don't need to check for
66689         <sys/types.h> since we don't use any symbols that it defines.
66690
66691 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
66692
66693         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
66694         $@-t, so that each temporary file name is unique and valid in the first
66695         8 characters, for operation under DOS.
66696
66697 2002-06-15  Paul Eggert  <eggert@twinsun.com>
66698
66699         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
66700
66701 2002-06-15  Jim Meyering  <meyering@lucent.com>
66702
66703         Work even with DJGPP 2.03, which lacks support for symlinks.
66704         From Richard Dawe.
66705         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
66706         is defined.
66707         * lib/lchown.c (S_ISLNK): Likewise.
66708
66709 2002-06-15  Jim Meyering  <meyering@lucent.com>
66710
66711         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
66712         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
66713         have been included before this file.
66714
66715 2002-06-14  Jim Meyering  <meyering@lucent.com>
66716
66717         * lib/file-type.h: Use the version from diffutils-2.8.2.
66718         * lib/file-type.c: Likewise.
66719
66720 2002-06-07  Jim Meyering  <meyering@lucent.com>
66721
66722         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
66723         They're needed at least for NetBSD 1.5.2.
66724         ($statxfs_includes): Include those same headers.
66725         ($statxfs_includes): Include sys/vfs.h if available.
66726         ($statxfs_includes): Likewise for sys/statvfs.h.
66727         Check for the following members in both structs statfs and statvfs:
66728         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
66729
66730 2002-06-01  Jim Meyering  <meyering@lucent.com>
66731
66732         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
66733         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
66734
66735 2002-05-28  Jim Meyering  <meyering@lucent.com>
66736
66737         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
66738         Reported by Volker Borchert.
66739
66740 2002-05-27  Jim Meyering  <meyering@lucent.com>
66741
66742         Fix a problem seen only on nonconforming systems whereby ls.c's
66743         use of localtime, and then of gettimeofday would cause trouble:
66744         the localtime call used to initialize rpl_gettimeofday's save
66745         mechanism would clobber ls's current local time information so
66746         that in any long listing the first file would always be listed
66747         with date 1970-01-01.  Analysis by Volker Borchert.
66748
66749         * lib/gettimeofday.c (localtime): Undefine.
66750         (rpl_localtime): New function.
66751
66752 2002-05-27  Jim Meyering  <meyering@lucent.com>
66753
66754         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
66755         localtime.
66756
66757         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
66758         use the replacement function; it wouldn't resolve at link time.
66759         Reported by Volker Borchert.
66760
66761 2002-05-22  Jim Meyering  <meyering@lucent.com>
66762
66763         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
66764         file-type.h.
66765         * lib/file-type.h: New file.
66766         * lib/file-type.c (file_type): New file/function.  Extracted from
66767         diffutils.
66768
66769 2002-04-30  Jim Meyering  <meyering@lucent.com>
66770
66771         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
66772
66773 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66774
66775         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
66776
66777 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66778
66779         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
66780         Do not check for alloca.h (no longer used) or stdbool.h (was never
66781         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
66782
66783 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66784
66785         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
66786
66787 2002-04-29  Jim Meyering  <meyering@lucent.com>
66788
66789         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
66790         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
66791         Use AC_FUNC_STRNLEN here instead.
66792
66793         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
66794         With autoconf-2.53a, it's part of AC_PROG_CC.
66795
66796 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66797
66798         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
66799         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
66800
66801 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66802
66803         * lib/sig2str.h, lib/sig2str.c: New files.
66804         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
66805
66806 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66807
66808         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
66809         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
66810         of 127, since 64 is the largest conceivable number for ancient
66811         nonstandard hosts.
66812         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
66813
66814 2002-04-28  Jim Meyering  <meyering@lucent.com>
66815
66816         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
66817
66818 2002-04-24  Jim Meyering  <meyering@lucent.com>
66819
66820         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
66821         (jm_PREREQ): Use it.
66822
66823         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
66824         mach/mach.h fcntl.h.
66825         Check for this function: setlocale.
66826
66827 2002-04-24  Jim Meyering  <meyering@lucent.com>
66828
66829         * lib/gettext.h: New file, from Gettext.
66830         * lib/Makefile.am (INCLUDES): Remove -I../intl.
66831         (libfetish_a_SOURCES): Add gettext.h.
66832
66833 2002-04-16  Jim Meyering  <meyering@lucent.com>
66834
66835         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
66836         ut_pid, ut_id, ut_exit.
66837
66838 2002-04-16  Jim Meyering  <meyering@lucent.com>
66839
66840         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
66841         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
66842         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
66843
66844 2002-04-12  Jim Meyering  <meyering@lucent.com>
66845
66846         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
66847         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
66848         existence of the getmntinfo function.  Needed for Darwin 5.3.
66849
66850         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
66851         This is necessary at least on Darwin 5.3.
66852
66853         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
66854         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
66855         strnlen.o in the library, and that makes some versions of ranlib
66856         object.
66857
66858 2002-04-12  Jim Meyering  <meyering@lucent.com>
66859
66860         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
66861
66862 2002-04-09  Jim Meyering  <meyering@lucent.com>
66863
66864         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
66865         to be more precise.  Rather than saying we're checking whether the
66866         function `works', say what we're testing.
66867         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
66868         Reported by Bruno Haible.
66869
66870 2002-03-10  Jim Meyering  <meyering@lucent.com>
66871
66872         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
66873         Suggestion from Santiago Vila.
66874
66875 2002-03-08  Jim Meyering  <meyering@lucent.com>
66876
66877         * lib/rename.c: Mention that this wrapper is needed also on
66878         mips-dec-ultrix4.4 systems.
66879
66880 2002-03-02  Jim Meyering  <meyering@lucent.com>
66881
66882         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
66883         not HAVE_CLOCK_SETTIME.
66884
66885 2002-02-27  Paul Eggert  <eggert@twinsun.com>
66886
66887         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
66888         Check for clock_settime.
66889
66890 2002-02-27  Paul Eggert  <eggert@twinsun.com>
66891
66892         * lib/nanosleep.h: Rename to....
66893         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
66894
66895         * lib/gettime.c: New file.
66896         * lib/settime.c: New file.
66897         * lib/stime.c: Remove.
66898
66899         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
66900         timespec.h.  Remove nanosleep.h.
66901
66902 2002-02-25  Paul Eggert  <eggert@twinsun.com>
66903
66904         * m4/acl.m4: New file.
66905         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
66906         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
66907
66908 2002-02-25  Paul Eggert  <eggert@twinsun.com>
66909
66910         * lib/acl.c, lib/acl.h: New files.
66911         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
66912
66913 2002-02-24  Jim Meyering  <meyering@lucent.com>
66914
66915         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
66916         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
66917         cause trouble.  Reported by Nelson Beebe.
66918
66919 2002-02-23  Paul Eggert  <eggert@twinsun.com>
66920
66921         * lib/path-concat.c (xpath_concat): Reorder code to pacify
66922         compilers that don't know that xalloc_die never returns.
66923
66924 2002-02-20  Jim Meyering  <meyering@lucent.com>
66925
66926         * lib/getdate.c: Regenerate using bison-1.33.
66927
66928 2002-02-17  Jim Meyering  <meyering@lucent.com>
66929
66930         * config/config.guess (main): Don't use `head -1'; it's no longer
66931         portable. Use `sed 1q' instead.
66932
66933 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
66934
66935         * m4/codeset.m4: Upgrade to gettext-0.11.
66936         * m4/gettext.m4: Upgrade to gettext-0.11.
66937         * m4/glibc21.m4: Upgrade to gettext-0.11.
66938         * m4/iconv.m4: Upgrade to gettext-0.11.
66939         * m4/isc-posix.m4: Upgrade to gettext-0.11.
66940         * m4/lcmessage.m4: Upgrade to gettext-0.11.
66941         * m4/lib-ld.m4: New file, from gettext-0.11.
66942         * m4/lib-link.m4: New file, from gettext-0.11.
66943         * m4/lib-prefix.m4: New file, from gettext-0.11.
66944         * m4/progtest.m4: Upgrade to gettext-0.11.
66945
66946 2002-02-15  Paul Eggert  <eggert@twinsun.com>
66947
66948         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
66949         (jm_PREREQ): Use it.
66950
66951 2002-02-15  Paul Eggert  <eggert@twinsun.com>
66952
66953         * lib/posixver.c, lib/posixver.h: New files.
66954         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
66955
66956 2002-02-02  Paul Eggert  <eggert@twinsun.com>
66957             Bruno Haible  <bruno@clisp.org>
66958
66959         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
66960         (fwrite_success_callback): New declaration.
66961         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
66962         print_unicode_char. Call failure callback instead of error.
66963         (fwrite_success_callback): New function.
66964         (exit_failure_callback): New function.
66965         (fallback_failure_callback): New function.
66966         (print_unicode_char): Call unicode_to_mb.
66967
66968 2002-01-26  Jim Meyering  <meyering@lucent.com>
66969
66970         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
66971         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
66972
66973 2002-01-26  Jim Meyering  <meyering@lucent.com>
66974
66975         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
66976
66977 2002-01-22  Paul Eggert  <eggert@twinsun.com>
66978
66979         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
66980
66981 2002-01-22  Jim Meyering  <meyering@lucent.com>
66982
66983         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
66984         Otherwise, some versions of automake would omit the rule that makes
66985         Makefile from Makefile.in.
66986
66987 2002-01-21  Paul Eggert  <eggert@twinsun.com>
66988
66989         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
66990         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
66991         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
66992         (memcoll): Set errno to zero if there is no error.
66993
66994         * lib/quotearg.c (quotearg_buffer_restyled):
66995         Fix bug with quoting buffers containing NUL when backslashing escapes.
66996         This bug was exposed by the other changes in this patch.
66997         (quotearg_n_options): New arg ARGSIZE.
66998         All callers changed.
66999         (quoting_options_from_style): New function.
67000         (quotearg_n_style): Use it.
67001         (quotearg_n_style_mem): New function.
67002
67003         * lib/quotearg.h (quotearg_n_style_mem): New function.
67004
67005 2002-01-19  Jim Meyering  <meyering@lucent.com>
67006
67007         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
67008         Remove useless quotes: DF_PROG="df".
67009         * m4/strnlen.m4: New file.
67010
67011 2002-01-16  Paul Eggert  <eggert@twinsun.com>
67012
67013         * lib/backupfile.c (ISDIGIT): Comment fix.
67014         * lib/getdate.y (ISDIGIT): Likewise.
67015         * lib/posixtm.c (ISDIGIT, year): Likewise.
67016         * lib/strverscmp.c (ISDIGIT): Likewise.
67017         * lib/userspec.c (ISDIGIT): Likewise.
67018
67019 2002-01-16  Jim Meyering  <meyering@lucent.com>
67020
67021         * lib/getdate.y: Add three semicolons, each just before a closing
67022         brace. Bison (as of version 1.31) no longer papers over that mistake.
67023
67024 2002-01-05  Jim Meyering  <meyering@lucent.com>
67025
67026         * lib/version-etc.c (version_etc_copyright): Update copyright year.
67027
67028 2001-12-19  Paul Eggert  <eggert@twinsun.com>
67029
67030         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
67031         not silently exit merely because the output buffer happens to
67032         have nothing pending.
67033
67034 2001-12-18  Paul Eggert  <eggert@twinsun.com>
67035
67036         See the big note in ../ChangeLog.
67037         * lib/human.c (suffixes): Prefer K to k for 1024.
67038         (generate_suffix_backwards): New function.
67039         (human_readable_inexact): Use it.
67040         * lib/xstrtol.c (__xstrtol): If there is no number but there
67041         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
67042         Accept 'K' as well as 'k'.
67043
67044 2001-12-15  Jim Meyering  <meyering@lucent.com>
67045
67046         * lib/regex.h (__restrict_arr): Update from libc.
67047
67048         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
67049         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
67050         (STREQ): Define.
67051
67052 2001-12-14  Jim Meyering  <meyering@lucent.com>
67053
67054         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
67055         Suggestion from Bruno Haible.
67056
67057 2001-12-10  Jim Meyering  <meyering@lucent.com>
67058
67059         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
67060         xrealloc, Instead, include "xalloc.h".
67061         (initbuffer): Don't cast xmalloc return value to char*.
67062         (readline): Reword comment.
67063         Don't cast xrealloc return value to char*
67064         Return NULL, not 0.
67065
67066 2001-12-09  Jim Meyering  <meyering@lucent.com>
67067
67068         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
67069         about `signed and unsigned type in conditional expression'.
67070         * lib/posixtm.c (posix_time_parse): Likewise.
67071
67072         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
67073
67074         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
67075         to avoid a pedantic warning.
67076
67077         * lib/getstr.c: Don't include assert.h.
67078         (getstr): Remove warning-evoking assertions.
67079         Return -1 if offset parameter is out of bounds.
67080         Change the type of a local from int to size_t.
67081
67082         * lib/strftime.c (my_strftime_localtime_r): Include this function
67083         definition in the `#if ! HAVE_TM_GMTOFF' block.
67084
67085         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
67086         Include xalloc.h instead.
67087
67088 2001-12-02  Jim Meyering  <meyering@lucent.com>
67089
67090         * lib/tempname.c: Don't declare getenv, thus reverting the change of
67091         2001-11-18.  It's no longer necessary, now that stdlib.h is always
67092         included.
67093
67094         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
67095         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
67096
67097 2001-11-30  Akim Demaille  <akim@epita.fr>
67098
67099         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
67100         before being defined.
67101
67102 2001-11-27  Paul Eggert  <eggert@twinsun.com>
67103
67104         * lib/quotearg.h (quotearg_n, quotearg_n_style):
67105         First arg is int, not unsigned.
67106         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
67107         (SIZE_MAX, UINT_MAX): New macros.
67108         (quotearg_n_options): Abort if N is negative.
67109         Avoid overflow check on hosts where size_t is 64 bits and int
67110         is 32 bits, as overflow is impossible there.
67111         Fix off-by-one typo that caused unnecessary reallocation.
67112
67113 2001-11-27  Jim Meyering  <meyering@lucent.com>
67114
67115         * lib/tempname.c: Merge with version from libc.
67116         * lib/regex.c: Likewise.
67117
67118         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
67119         systems for which STDC_HEADERS is 0, it was not included, resulting in
67120         a warning about an integer-to-pointer conversion problem with getenv.
67121         Reported by Volker Borchert.
67122
67123 2001-11-26  Jim Meyering  <meyering@lucent.com>
67124
67125         * lib/gtod.h: Remove file.
67126         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
67127         * lib/gettimeofday.c: Don't include gtod.h.
67128         (GTOD_init): Remove function.
67129         (rpl_gettimeofday): Do its job here instead, rather than aborting.
67130         Suggestion from Volker Borchert.
67131
67132 2001-11-23  Jim Meyering  <meyering@lucent.com>
67133
67134         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
67135         it.
67136         * lib/hash.c (struct hash_table): Define it here instead.
67137
67138 2001-11-22  Jim Meyering  <meyering@lucent.com>
67139
67140         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
67141
67142 2001-11-20  Jim Meyering  <meyering@lucent.com>
67143
67144         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
67145         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
67146
67147 2001-11-19  Jim Meyering  <meyering@lucent.com>
67148
67149         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
67150         directory.  Use "conftestXXXXXX" as the template.
67151         Suggestion from Paul Eggert.
67152
67153         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
67154         immediately, so the test doesn't mistakenly hit the max-open-files
67155         limit.
67156
67157 2001-11-18  Paul Eggert  <eggert@twinsun.com>
67158
67159         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
67160         (TEMPORARIES): New macro.
67161         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
67162         removes an artificial limitation (e.g. HP-UX 10.20, where
67163         TMP_MAX is 17576).
67164
67165 2001-11-18  Jim Meyering  <meyering@lucent.com>
67166
67167         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
67168
67169 2001-11-18  Jim Meyering  <meyering@lucent.com>
67170
67171         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
67172         on SunOS 4.
67173
67174         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
67175         files will be created before anything else.
67176
67177 2001-11-17  Paul Eggert  <eggert@twinsun.com>
67178
67179         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
67180         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
67181
67182 2001-11-17  Jim Meyering  <meyering@lucent.com>
67183
67184         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
67185         Prompted by a report from Bob Proulx.
67186
67187         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
67188         Instead, require UTILS_FUNC_MKSTEMP.
67189
67190 2001-11-17  Jim Meyering  <meyering@lucent.com>
67191
67192         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
67193         Now, that's done as part of AC_FUNC_STRTOD.
67194
67195 2001-11-17  Jim Meyering  <meyering@lucent.com>
67196
67197         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
67198         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
67199         rather than group writable.  Patch by Juan F. Codagnone.
67200
67201         * lib/readtokens.c: Remove explicit declarations of xmalloc and
67202         xrealloc, Instead, include "xalloc.h".
67203
67204         * lib/mountlist.c: Include unlocked-io.h after all system headers.
67205         Remove explicit declarations of xmalloc, xrealloc,
67206         and xstrdup.  Instead, include "xalloc.h".
67207
67208         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
67209         unlocked-io.h.
67210         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
67211         Likewise.
67212         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
67213
67214         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
67215         Reported by Padraig Brady.
67216
67217         * lib/mkstemp.c: #undef mkstemp.
67218         Include config.h.
67219         (rpl_mkstemp): Rename from mkstemp.
67220         Protoize.
67221
67222 2001-11-16  Jim Meyering  <meyering@lucent.com>
67223
67224         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
67225         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
67226         determine the amount of total physical memory, use pstat_getstatic.
67227         HPUX-11 doesn't define _SC_PHYS_PAGES.
67228         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
67229         If sysconf couldn't be used to determine the amount of available
67230         physical memory, use both pstat_getstatic and pstat_getdynamic.
67231         Based on a patch from Bob Proulx.
67232
67233 2001-11-10  Jim Meyering  <meyering@lucent.com>
67234
67235         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
67236         (jm_PREREQ): Use it.
67237
67238 2001-11-09  Jim Meyering  <meyering@lucent.com>
67239
67240         * m4/jm-macros.m4: Require autoconf-2.52f.
67241         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
67242         Use these AC_-prefixed names, not the AM_-prefixed ones.
67243
67244         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
67245
67246 2001-11-05  Jim Meyering  <meyering@lucent.com>
67247
67248         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
67249
67250 2001-11-04  Jim Meyering  <meyering@lucent.com>
67251
67252         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
67253         $DEFS.
67254
67255 2001-11-03  Jim Meyering  <meyering@lucent.com>
67256
67257         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
67258         of AC_DEFUN.
67259
67260         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
67261         know the name of the variable in the macro definition.
67262
67263 2001-11-03  Jim Meyering  <meyering@lucent.com>
67264
67265         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
67266         in argmatch_to_argument call.
67267
67268         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
67269         argument.
67270
67271         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
67272         e.g., a fault due to an attempt to free a NULL pointer.
67273
67274 2001-11-01  Jim Meyering  <meyering@lucent.com>
67275
67276         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
67277         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
67278
67279 2001-11-01  Jim Meyering  <meyering@lucent.com>
67280
67281         * lib/dirfd.c, lib/dirfd.h: New files.
67282         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
67283
67284         * lib/hash.c (hash_print) [TESTING]: Clean up.
67285
67286 2001-10-22  Paul Eggert  <eggert@twinsun.com>
67287
67288         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
67289         to avoid a warning if -Wall.
67290
67291 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
67292
67293         * README: New file
67294         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
67295         (per RMS's instructions, this is now the canonical source)
67296         * lgpl/, gpl/: New directories.
67297
67298 2001-10-21  Paul Eggert  <eggert@twinsun.com>
67299
67300         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
67301
67302 2001-10-21  Jim Meyering  <meyering@lucent.com>
67303
67304         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
67305         this code would end up calling gettext even in packages built
67306         with --disable-nls.
67307         * lib/getopt.c (_): Likewise.
67308         * lib/regex.c (_): Likewise.
67309
67310 2001-10-20  Paul Eggert  <eggert@twinsun.com>
67311
67312         * m4/error.m4 (jm_PREREQ_ERROR):
67313         Do not invoke AC_CHECK_FUNCS with strerror_r, as
67314         AC_FUNC_STRERROR_R does that.
67315         Check for strerror declaration.
67316
67317         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
67318         are supposed to have them these days.
67319         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
67320         Merge changes from latest Autoconf CVS.
67321         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
67322         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
67323         POSIX decided to standardize on the int flavor of strerror_r.
67324
67325 2001-10-20  Paul Eggert  <eggert@twinsun.com>
67326
67327         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
67328         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
67329         Use strerror_r that is only a macro, even if it is not a function.
67330         (strerror): Check for HAVE_DECL_STRERROR before declaring.
67331         (private_strerror): Use prototypes, not old-style function definition.
67332         (print_errno_message): New function.
67333         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
67334         char*-flavored one.
67335         (error_tail, error, error_at_line): Use it.
67336
67337 2001-10-11  Jim Meyering  <meyering@lucent.com>
67338
67339         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
67340         and quote_n (1, ... to avoid clobbering a buffer.
67341
67342 2001-10-05  Jim Meyering  <meyering@lucent.com>
67343
67344         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
67345         hash-pjw.h.
67346         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
67347         * lib/hash-pjw.h: New file.
67348
67349 2001-09-30  Jim Meyering  <meyering@lucent.com>
67350
67351         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
67352         `struct fsstat' has the `f_fstypename' member.
67353         Use that to define FS_TYPE, which is now used to make
67354         the getfsstat link test tighter.
67355
67356 2001-09-30  Jim Meyering  <meyering@lucent.com>
67357
67358         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
67359         Include <sys/ucred.h>, for Apple Darwin.
67360         Include sys/mount.h and sys/fs_types.h only if available.
67361         (FS_TYPE): Define.
67362         (read_filesystem_list): Use FS_TYPE.
67363
67364 2001-09-29  Paul Eggert  <eggert@twinsun.com>
67365
67366         * lib/exclude.c (excluded_filename): 0 -> false, since it's
67367         a boolean context.
67368
67369 2001-09-29  Jim Meyering  <meyering@lucent.com>
67370
67371         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
67372         [one-argument getmntent function]): Include stdio.h before mntent.h.
67373         SunOS 4.1.x needs it for the declaration of `FILE'.
67374         Patch by Volker Borchert.
67375
67376         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
67377         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
67378         sys/fs_types.h, and make the link-test for getfsstat guard #include
67379         directives with appropriate #if HAVE_*_H tests so that we can
67380         detect getfsstat on Apple Darwin1.3.7 systems.
67381         Reported by Nelson Beebe.
67382         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
67383
67384 2001-09-28  Paul Eggert  <eggert@twinsun.com>
67385
67386         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
67387         #defines strtoimax.  Also treat the other strto* functions
67388         like strtoimax.
67389
67390         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
67391         Check for strtoul and strtoumax,
67392         as those declarations are made even in the signed case.
67393         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
67394         Likewise, for strtol and strtoimax.
67395
67396 2001-09-28  Paul Eggert  <eggert@twinsun.com>
67397
67398         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
67399         #defines strtoimax.  Also treat the other strto* functions
67400         like strtoimax.
67401
67402         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
67403         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
67404         (strtoimax, strtoumax): Do not declare if already defined as a macro.
67405
67406 2001-09-26  Jim Meyering  <meyering@lucent.com>
67407
67408         Most macros in unlocked-io.h had the wrong number of arguments.
67409         * lib/gen-uio: New script.
67410         (USE_UNLOCKED_IO): Define to 1 if not already defined.
67411         * lib/unlocked-io.hin: Remove file.
67412         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
67413         rather than trying to embed it here.
67414         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
67415         Reported by Padraig Brady.
67416
67417 2001-09-25  Volker Borchert  <bt@teknon.de>
67418
67419         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
67420         `result'.
67421
67422 2001-09-24  Jim Meyering  <meyering@lucent.com>
67423
67424         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
67425
67426 2001-09-23  Jim Meyering  <meyering@lucent.com>
67427
67428         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
67429         instead of the mere test for existence of mntent.h.  The latter
67430         would get a false-positive on AIX 3.4 systems.
67431         In the outer getmntent if-block, don't die if neither of the getmntent
67432         tests succeeds.  Instead, just fall through and continue with the
67433         remaining tests.
67434
67435 2001-09-23  Jim Meyering  <meyering@lucent.com>
67436
67437         * lib/mountlist.c: Remove useless parentheses in #if directives.
67438         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
67439         the deprecated MOUNTED symbol is no longer defined in mntent.h.
67440
67441 2001-09-22  Jim Meyering  <meyering@lucent.com>
67442
67443         * m4/gettext.m4: New file.  From gettext.
67444         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
67445         * m4/progtest.m4: Likewise
67446         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
67447         * m4/glibc21.m4: Likewise.
67448
67449         * m4/libintl.m4: Remove.  No longer used.
67450
67451 2001-09-22  Jim Meyering  <meyering@lucent.com>
67452
67453         * lib/localcharset.c: Update from latest gettext.
67454         * lib/config.charset: Likewise.
67455
67456 2001-09-20  Jim Meyering  <meyering@lucent.com>
67457
67458         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
67459         strtoimax.
67460         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
67461         strtoumax.
67462
67463 2001-09-20  Jim Meyering  <meyering@lucent.com>
67464
67465         * lib/xstrtol.c (strtoimax): Guard declaration with
67466         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
67467         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
67468         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
67469         (strtoumax): Likewise, for completeness (it wasn't necessary).
67470
67471 2001-09-17  Paul Eggert  <eggert@twinsun.com>
67472
67473         * lib/strtoimax.c (HAVE_LONG_LONG):
67474         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
67475         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
67476         to work around bug in IBM C compiler.
67477
67478 2001-09-17  Jim Meyering  <meyering@lucent.com>
67479
67480         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
67481         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
67482         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
67483         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
67484         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
67485         whenever the right hand side need not be expanded by the shell.
67486
67487 2001-09-16  Paul Eggert  <eggert@twinsun.com>
67488
67489         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
67490         library.  It's not correct, as some older glibcs are buggy.
67491         fnmatch wasn't fixed until glibc 2.2.
67492
67493         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
67494         special shell magic here.
67495
67496 2001-09-16  Jim Meyering  <meyering@lucent.com>
67497
67498         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
67499         * m4/jm-macros.m4: Require it.
67500
67501 2001-09-16  Jim Meyering  <meyering@lucent.com>
67502
67503         * lib/mkdir.c: New file.
67504
67505 2001-09-15  Jim Meyering  <meyering@lucent.com>
67506
67507         * m4/jm-macros.m4: Check for help2man.
67508
67509 2001-09-11  Jim Meyering  <meyering@lucent.com>
67510
67511         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
67512         The body, by Paul Eggert, was moved here from configure.in.
67513         * m4/jm-macros.m4: Require UTILS_HOST_OS.
67514
67515 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67516
67517         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
67518         (jm_PREREQ): Use it.
67519
67520 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67521
67522         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
67523         Use ssize_t, not int, to store result of readlink.
67524         Check for ssize_t overflow as well as size_t overflow,
67525         as POSIX says the result of readlink is implementation-defined
67526         when ssize_t overflows.
67527         Remove unnecessary cast to char*.
67528         Use free+malloc instead of realloc, as the storage doesn't need
67529         to be preserved and it's clearer and can be more efficient that way.
67530         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
67531         * lib/xreadlink.h (xreadlink): Update prototype.
67532
67533 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67534
67535         * lib/xgetcwd.c: Revert some of the previous change; intead,
67536         fix the HAVE_GETCWD_NULL code to behave more like the
67537         !HAVE_GETCWD_NULL code used to.
67538
67539         Include "xalloc.h".
67540         (xgetcwd): Do not return NULL when memory is exhausted; instead,
67541         invoke xalloc_die.
67542
67543 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67544
67545         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
67546         sys/param.h, as pathmax.h includes them.
67547
67548 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67549
67550         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
67551         (jm_PREREQ_XGETCWD): New macro.
67552
67553         * m4/getcwd.m4: New file.
67554
67555 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67556
67557         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
67558         like the HAVE_GETCWD_NULL code.
67559         Include pathmax.h if not HAVE_GETCWD.
67560         Do not include xalloc.h.
67561         (INITIAL_BUFFER_SIZE): New symbol.
67562         Do not use xmalloc / xrealloc, since the caller is responsible for
67563         handling errors.  Preserve errno around `free' during failure.
67564         Do not overrun buffer when using getwd.
67565
67566 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67567
67568         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
67569         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
67570         getcwd (NULL, 0).
67571
67572 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67573
67574         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
67575         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
67576         spotted by Jim Meyering.
67577
67578 2001-09-03  Jim Meyering  <meyering@lucent.com>
67579
67580         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
67581         failure.
67582
67583 2001-09-02  Jim Meyering  <meyering@lucent.com>
67584
67585         * lib/error.c: Update from GNU libc.
67586
67587 2001-09-01  Jim Meyering  <meyering@lucent.com>
67588
67589         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
67590         Used by df.
67591
67592 2001-09-01  Jim Meyering  <meyering@lucent.com>
67593
67594         * lib/xreadlink.c: New file.
67595         * lib/xreadlink.h: New file.
67596         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
67597         xreadlink.h.
67598
67599         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
67600         doesn't conflict with sparc Solaris 7's definition in
67601         /usr/include/sys/int_types.h.
67602
67603         * lib/exclude.c: Use `""', not `<>' to #include non-system header
67604         files.
67605         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
67606         and strncasecmp as r-values.  Unixware didn't have declarations.
67607
67608 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67609
67610         * lib/xstrtol.h: Add copyright notice.
67611         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
67612         LONGINT_INVALID_SUFFIX_CHAR.
67613
67614 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67615
67616         * lib/xstrtol.c (strtoimax): New decl.
67617
67618 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67619
67620         * lib/xgetcwd.c: Don't include pathmax.h.
67621         Include stdlib.h and unistd.h if available.
67622         Include xalloc.h.
67623         (xmalloc, xstrdup, free): Remove decls.
67624         (xgetcwd): Don't assume sizes fit in unsigned.
67625         Check for overflow when computing sizes.
67626         Simplify reallocation code.
67627
67628 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67629
67630         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
67631         a directory's st_size can have an arbitrary value, so the old
67632         usage could waste an arbitrary amount of memory.  All uses
67633         changed.
67634         * lib/savedir.h: Update prototype.
67635
67636 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67637
67638         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
67639
67640         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
67641         old strtoimax.c.
67642
67643         Also, make the following further changes to make this file's
67644         configuration more similar to that of strtol.c:
67645         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
67646         (strtoumax, uintmax_t, strtoull, strtol): Remove.
67647         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
67648         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
67649         changed to signed values.
67650
67651         And make the following changes as well:
67652         Fix copyright notice, as 1999 was missing.
67653         (verify): New macro.
67654         (strtoimax): Check sizes at compile-time, not run-time.
67655         Prefer strtol to strtoll if both work.
67656         (main): Remove; it was not that useful and was a pain to maintain.
67657
67658         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
67659
67660 2001-08-31  Jim Meyering  <meyering@lucent.com>
67661
67662         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
67663         Use an initial, malloc'd, buffer of length 128 rather than
67664         a statically allocated one of length 1024.
67665
67666 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67667
67668         Simplify code, partly by assuming autoconf 2.52 semantics.
67669
67670         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
67671
67672         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
67673         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
67674         All uses removed.
67675         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
67676         Move AC_REQUIRE to next-to-top level, to avoid confusion.
67677         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
67678         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
67679         jm_AC_HEADER_INTTYPES_H.
67680         * m4/jm-macros.m4 (jm_MACROS): Likewise.
67681
67682         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
67683
67684         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
67685         Quote first arg of AC_DEFUN.
67686         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
67687         since they are needed to parse the include file even if we need
67688         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
67689         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
67690         but with opposite signedness.
67691
67692 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67693
67694         Merge 'exclude' changes from tar 1.13.22.
67695         This fixes one or two unlikely storage allocation overflow bugs,
67696         but doesn't change user-visible behavior otherwise.
67697
67698 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67699
67700         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
67701         (jm_PREREQ_EXCLUDE): New macro.
67702
67703 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67704
67705         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
67706         tm to be declared.
67707
67708 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67709
67710         * lib/hash.c: Remove '2001' from copyright notice.
67711
67712 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67713
67714         * lib/full-write.h: New file.
67715         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
67716         * lib/full-write.c: Correct credits, as cccp.c no longer
67717         exists and anyway it was so heavily changed from the old cccp
67718         code as to be unrecognizable.  Include full-write.h.
67719         (full_write) Return size_t, with short writes meaning failure.
67720         All callers changed.  This fixes a bug with large buffers
67721         on 64-bit hosts.
67722         * lib/utime.c: Include full-write.h.
67723
67724 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67725
67726         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
67727         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
67728         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
67729         Include if available.
67730         (<xalloc.h>): Include
67731         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
67732         (verify): New macro.  Use it to verify that EXCLUDE macros do not
67733         collide with FNM macros.
67734         (struct patopts): New struct.
67735         (struct exclude): Use it, as exclude patterns now come with options.
67736         (new_exclude): Support above changes.
67737         (new_exclude, add_exclude_file):
67738         Initial size must now be a power of two to simplify overflow checking.
67739         (free_exclude, fnmatch_no_wildcards): New function.
67740         (excluded_filename): No longer requires options arg, as the options
67741         are determined by add_exclude.  Now returns bool, not int.
67742         (excluded_filename, add_exclude):
67743         Add support for the fancy new exclusion options.
67744         (add_exclude, add_exclude_file): Now takes int options arg.
67745         Check for arithmetic overflow when computing sizes.
67746         (add_exclude_file): xrealloc might modify errno, so don't
67747         realloc until after errno might be used.
67748
67749         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
67750         New macros.
67751         (free_exclude): New decl.
67752         (add_exclude, add_exclude_file): Now takes int options arg.
67753         (excluded_filename): No longer requires options arg, as the options
67754         are determined by add_exclude.  Now returns bool, not int.
67755
67756 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67757
67758         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
67759
67760 2001-08-27  Jim Meyering  <meyering@lucent.com>
67761
67762         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
67763
67764         * lib/version-etc.c (N_): Remove definition.
67765         Revert most of last change.
67766         Instead, simply don't mark the `Copyright...' string for translation.
67767         Based on advice from Paul Eggert.
67768
67769         * lib/strtoxmax.c: Tweak comment.
67770
67771 2001-08-26  Jim Meyering  <meyering@lucent.com>
67772
67773         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
67774
67775         * m4/xstrtoimax.m4: New file.
67776         * m4/xstrtoumax.m4: Add comments explaining why we
67777         AC_REPLACE_FUNCS(strtol).
67778
67779 2001-08-26  Jim Meyering  <meyering@lucent.com>
67780
67781         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
67782         of copyright with `%s' so translators don't get an untranslated
67783         message in 2002.
67784         (COPYRIGHT_YEAR): Define.
67785         (version_etc): Use fprintf rather than fputs.
67786         Suggestion from Ulrich Drepper.
67787
67788         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
67789
67790         * lib/strtoll.c: New file, from GNU libc.
67791         * lib/xstrtoimax.c: New file.
67792
67793         * lib/xstrtol.h: Add xstrtoimax.
67794         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
67795         * lib/strtoimax.c: New file.  Likewise, but first define
67796         STRTOUXMAX_SIGNED.
67797
67798         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
67799         ...
67800         * lib/strtoxmax.c: ... then renamed to this.
67801
67802 2001-08-18  Paul Eggert  <eggert@twinsun.com>
67803
67804         * m4/inttypes.m4: Add AC_PREREQ(2.13).
67805         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
67806         (jm_AC_TYPE_INTMAX_T): New macro.
67807         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
67808
67809         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
67810
67811         * m4/longlong.m4: Renamed from ulonglong.m4.
67812         * m4/inttypes.m4: Renamed from inttypes_h.m4.
67813         * m4/uintmax_t.m4: Removed.
67814
67815 2001-08-13  Paul Eggert  <eggert@twinsun.com>
67816
67817         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
67818         Port to Solaris 8, where 'sed' requires a space after the 'r'
67819         command, and where sh dislikes "$/".  Clean up the spacing a bit.
67820         Redirect output to $tmp just once.
67821
67822 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
67823
67824         * lib/addext.c (<errno.h>): Include.
67825         (errno): Declare if not defined.
67826         (addext): Work correctly when pathconf returns -1 and leaves
67827         errno alone because there is no limit.  Also, work even if
67828         pathconf returns a value greater than SIZE_MAX.
67829
67830 2001-08-12  Jim Meyering  <meyering@lucent.com>
67831
67832         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
67833         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
67834         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
67835         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
67836         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
67837         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
67838         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
67839         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
67840         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
67841         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
67842         utime.m4, utimes.m4, xstrtoumax.m4:
67843         Quote the first argument in each use of AC_DEFUN.
67844
67845 2001-08-12  Jim Meyering  <meyering@lucent.com>
67846
67847         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
67848         Simply `return getcwd (NULL, 0);'.
67849         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
67850         Use 1300 as initial value for length, not PATH_MAX.
67851
67852         * lib/pathmax.h: Clean up cpp syntax.
67853
67854 2001-08-12  Jim Meyering  <meyering@lucent.com>
67855
67856         * lib/gettimeofday.c: New file.
67857         * lib/gtod.h: New file.
67858         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
67859
67860 2001-08-05  Jim Meyering  <meyering@lucent.com>
67861
67862         * m4/jm-macros.m4: Require autoconf-2.52.
67863
67864 2001-08-04  Jim Meyering  <meyering@lucent.com>
67865
67866         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
67867         stmt, to get in sync with glibc.
67868
67869 2001-08-03  Paul Eggert  <eggert@twinsun.com>
67870
67871         The following changes are from gettext 0.10.39 as maintained by
67872         Bruno Haible.
67873
67874         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
67875         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
67876         with inverted sense.  All uses changed.
67877
67878         * lib/mbswidth.c: Don't include <limits.h>.
67879         Include <stdlib.h> and <string.h> unconditionally.
67880         (iswcntrl, mbsinit, ISCNTRL): New macros.
67881         (mbsnwidth): Use K&R style function declarations.
67882         Don't bother checking for MB_LEN_MAX == 1, since the compiler
67883         can optimize it when MB_CUR_MAX == 1.
67884         The width of control characters is zero, not 1.
67885
67886 2001-08-03  Paul Eggert  <eggert@twinsun.com>
67887
67888         The following changes are from gettext 0.10.39 as maintained by
67889         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
67890
67891         * m4/codeset.m4: Upgrade to serial AM1.
67892         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
67893         all uses changed.  Quote first arg of AC_DEFUN.
67894         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
67895
67896         * m4/iconv.m4: Upgrade to serial AM2.
67897         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
67898         Add --with-libconv-prefix.
67899         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
67900         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
67901         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
67902         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
67903         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
67904
67905         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
67906         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
67907         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
67908         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
67909         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
67910         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
67911         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
67912         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
67913         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
67914
67915         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
67916         string.h any more.
67917
67918         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
67919         not the default value.
67920
67921         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
67922         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
67923         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
67924         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
67925         Also check for iswcntrl, used for wcwidth fallback.
67926         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
67927         to Autoconf 2.13.
67928
67929 2001-08-03  Jim Meyering  <meyering@lucent.com>
67930
67931         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
67932         as it was in the original.  Reported by Paul Eggert.
67933
67934 2001-07-16  Jim Meyering  <meyering@lucent.com>
67935
67936         * m4/gettimeofday.m4: New file.
67937         Prompted by a report from Bernhard Baehr.
67938
67939 2001-07-15  Jim Meyering  <meyering@lucent.com>
67940
67941         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
67942         stuff. Now it's in ../Makefile.cfg.
67943
67944 2001-07-15  Jim Meyering  <meyering@lucent.com>
67945
67946         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
67947         (BUILT_SOURCES): Add unlocked-io.h.
67948         (io_functions): Define.
67949         (unlocked-io.h): New rule.
67950         (DISTCLEANFILES): Add unlocked-io.h.
67951         (all-local): Depend on unlocked-io.h, to ensure it is created.
67952
67953         * lib/unlocked-io.hin: New file
67954
67955         * lib/regex.c: Update from glibc.
67956
67957 2001-07-05  Jim Meyering  <meyering@lucent.com>
67958
67959         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
67960         recommendation.
67961         (libfetish_a_SOURCES): Put all .h files here instead.
67962         Remove a thus-exposed (better checks in automake) duplicate and
67963         two unnecessary .h files.
67964
67965 2001-07-04  Jim Meyering  <meyering@lucent.com>
67966
67967         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
67968         that generates jm-glibc-io.m4 so that it doesn't trigger any make
67969         distcheck failure.
67970
67971 2001-07-02  Jim Meyering  <meyering@lucent.com>
67972
67973         The following changes were prompted by suggestions from Bruno Haible.
67974
67975         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
67976         is now generated.
67977         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
67978         definition of EXTRA_DIST.
67979         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
67980         ensure that the generated file is created/updated whenever the list
67981         of $(unlocked_functions) is changed.
67982         (jm-glibc-io.m4): New rule.
67983         (unlocked-io.h): New rule -- currently unused.
67984
67985 2001-06-24  Jim Meyering  <meyering@lucent.com>
67986
67987         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
67988         unmatched right bracket, rather than kludging it with an extra,
67989         falsely-matching quote in a comment.  Patch by Akim Demaille.
67990
67991 2001-06-11  Jim Meyering  <meyering@lucent.com>
67992
67993         * lib/regex.c: Update from GNU libc.
67994
67995 2001-05-27  Jim Meyering  <meyering@lucent.com>
67996
67997         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
67998         Check for ut_type in struct utmp.
67999
68000 2001-05-27  Jim Meyering  <meyering@lucent.com>
68001
68002         * lib/readutmp.h (UT_TYPE): Define.
68003
68004 2001-05-24  Jim Meyering  <meyering@lucent.com>
68005
68006         * lib/argmatch.c: Include "quote.h".
68007         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
68008         quote function.  Reported by Göran Uddeborg.
68009
68010 2001-05-22  Jim Meyering  <meyering@lucent.com>
68011
68012         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
68013         now that we use the package-supplied version unconditionally.
68014         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
68015
68016 2001-05-21  Jim Meyering  <meyering@lucent.com>
68017
68018         * m4/regex.m4: Change a couple backticks to single quotes to avoid
68019         shell syntax errors.
68020
68021 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
68022
68023         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
68024
68025 2001-05-20  Paul Eggert  <eggert@twinsun.com>
68026
68027         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
68028         Don't bother to check library strftime, since
68029         we'll be using our own my_strftime function anyway.
68030         Define my_strftime instead of strftime.
68031
68032 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
68033
68034         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
68035         which is not yet declared.
68036
68037 2001-05-15  Jim Meyering  <meyering@lucent.com>
68038
68039         * m4/regex.m4: Use proper quoting so brackets appear in the test
68040         program.
68041         Reported by, and with help from, Bruno Haible.
68042
68043 2001-05-13  Jim Meyering  <meyering@lucent.com>
68044
68045         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
68046         undefined.
68047
68048 2001-05-11  Paul Eggert  <eggert@twinsun.com>
68049
68050         dirname code cleanup.  base_name now behaves more compatibly
68051         with POSIX basename when given file names that have trailing
68052         slashes, and similarly for dir_name.  Add new primitives
68053         base_len and dir_len.  Put the directory-name-related decls
68054         into dirname.h.
68055
68056         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
68057         * lib/backupfile.c (base_name): Likewise.
68058         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
68059         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
68060         * lib/makepath.c (strip_trailing_slashes): Likewise.
68061         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
68062         ISSLASH): Likewise.
68063         * lib/rename.c (strip_trailing_slashes): Likewise.
68064         * lib/same.c (base_name): Likewise.
68065         * lib/stripslash.c (ISSLASH): Likewise.
68066
68067         * lib/addext.c: Include <dirname.h> after size_t is defined.
68068         * lib/backupfile.c: Likewise.
68069
68070         * lib/addext.c (addext): Use base_len to trim redundant
68071         trailing slashes instead of doing it ourselves.
68072         But do not trim the last slash if it is not redundant.
68073
68074         * lib/backupfile.c (find_backup_file_name,
68075         max_backup_version): Use base_len instead of rolling it ourselves.
68076         Handle the case of "" and (on DOS) "C:" correctly.
68077
68078         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
68079         needed. Include <string.h>, <dirname.h>.
68080         (base_name): Allow file names ending in slashes, other than names
68081         that are all slashes.  In this case, return the basename followed
68082         by the slashes.  This is more general, and can be used in places
68083         where the original base_name purposely had an assertion failure.
68084         (base_len): New function.
68085
68086         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
68087         Do not include <assert.h>; no longer needed.
68088         Include xalloc.h.
68089         (memrchr): Remove decl.
68090         (dir_name_r): Remove.
68091         (dir_len): Renamed from dirlen.  All callers changed.
68092         Rewrite in terms of base_name, for simplicity and consistency.
68093         (dir_name): Never return NULL.  All callers changed.
68094         Do not include <stdlib.h> in test program; no longer needed.
68095         return 0; is fine for test program.
68096
68097         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
68098         New macros.
68099         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
68100
68101         * lib/path-concat.c (path_concat): Use base_len to compute
68102         base length, not strlen; this means we cannot rely on memcpy
68103         to null-terminate.
68104
68105         * lib/same.c (STREQ): Remove.
68106         (same_name): Handle the case where the basename ends in trailing '/'.
68107
68108         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
68109         a slash was stripped.  Do not strip the last slash after a
68110         file system prefix.
68111
68112 2001-05-11  Paul Eggert  <eggert@twinsun.com>
68113
68114         * lib/Makefile.am (libfetish_a_SOURCES):
68115         Add strftime.c, since we now compile it on all hosts.
68116
68117         * lib/strftime.c (my_strftime):
68118         Define to nstrftime if emacs, but only if my_strftime is not defined.
68119         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
68120         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
68121         Add one more extra argument: a nanoseconds value.
68122         All uses changed.
68123         (ns): New macro.
68124         (my_strftime function): Add %N format.
68125         (emacs_strftimeu): Renamed from emacs_strftime,
68126         with extra ut argument.
68127
68128 2001-05-09  Paul Eggert  <eggert@twinsun.com>
68129
68130         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
68131
68132 2001-04-21  Jim Meyering  <meyering@lucent.com>
68133
68134         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
68135         doesn't interfere.
68136
68137 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
68138
68139         * m4/ftruncate.m4: Check for chsize.
68140         Link with ftruncate.o unconditionally if ftruncate is missing.
68141         This was required when cross-compiling to i586-mingw32msvc.
68142
68143 2001-04-08  Jim Meyering  <meyering@lucent.com>
68144
68145         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
68146         recomputed; that's necessary when the offset spans a DST transition.
68147         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
68148
68149 2001-04-02  Jim Meyering  <meyering@lucent.com>
68150
68151         * lib/regex.h, regex.c: Update from GNU libc.
68152
68153 2001-03-24  Jim Meyering  <meyering@lucent.com>
68154
68155         * m4/jm-macros.m4: Require autoconf-2.49d.
68156
68157 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
68158
68159         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
68160
68161 2001-03-19  Paul Eggert  <eggert@twinsun.com>
68162
68163         * lib/version-etc.c (version_etc_copyright): Update to 2001.
68164
68165 2001-03-17  Jim Meyering  <meyering@lucent.com>
68166
68167         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
68168         now that the version in autoconf is equivalent.
68169         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
68170
68171         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
68172         Suggestion from Akim Demaille.
68173
68174         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
68175         (jm_PREREQ_TEMPNAME): New function.
68176
68177 2001-03-16  Paul Eggert  <eggert@twinsun.com>
68178
68179         * lib/tempname.c (uint64_t): Define to uintmax_t if
68180         not defined, and if UINT64_MAX is not defined.
68181         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
68182         Reported by John David Anglin.
68183
68184 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
68185
68186         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
68187         resolve alias if codeset is empty.
68188         * lib/config.charset (BeOS): Use wildcard syntax.
68189
68190 2001-03-13  Jim Meyering  <meyering@lucent.com>
68191
68192         * lib/path-concat.c (path_concat)
68193         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
68194         concatenating e.g., `C:' and `foo'.
68195         From Bruno Haible.
68196
68197 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
68198
68199         * lib/localcharset.c (locale_charset): Don't use
68200         setlocale(LC_CTYPE,NULL). Don't return NULL.
68201         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
68202
68203 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
68204
68205         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
68206         support for DOS/DJGPP.
68207
68208 2001-03-01  Paul Eggert  <eggert@twinsun.com>
68209
68210         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
68211         lacks mkstemp.  Compile our own tempname.c if we compile our own
68212         mkstemp.c, as mkstemp relies on tempname.
68213
68214 2001-03-01  Jim Meyering  <meyering@lucent.com>
68215
68216         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
68217         AH_VERBATIM really does output its argument verbatim.
68218
68219 2001-02-28  Paul Eggert  <eggert@twinsun.com>
68220
68221         * lib/Makefile.am (libfetish_a_SOURCES):
68222         Add dup-safer.c, fopen-safer.c.
68223         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
68224
68225         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
68226         * lib/unistd-safer.h: New files.
68227
68228 2001-02-25  Paul Eggert  <eggert@twinsun.com>
68229
68230         The mkstemp replacement is taken from glibc 2.2.2, with some
68231         portability fixes for use outside glibc, as follows:
68232
68233         * lib/tempname.c (struct_stat64): New macro.
68234         (direxists, __gen_tempname): Use it.
68235         This avoids a portability problem with Solaris 8.
68236
68237         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
68238         (<stddef.h>, <stdint.h>, <string.h>):
68239         Include only if STDC_HEADERS || _LIBC.
68240         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
68241         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
68242         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
68243         (__set_errno): Define this macro if <errno.h> doesn't.
68244         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
68245         Define these macros if <stdio.h> doesn't.
68246         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
68247         Define these macros if <sys/stat.h>
68248         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
68249         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
68250         __xstat64): Define if not _LIBC.
68251         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
68252         (__gen_tempname): Invoke gettimeofday only if
68253         HAVE_GETTIMEOFDAY || _LIBC;
68254         otherwise, fall back on plain "time".
68255         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
68256
68257         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
68258
68259         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
68260
68261 2001-02-18  Paul Eggert  <eggert@twinsun.com>
68262
68263         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
68264
68265 2001-02-17  Paul Eggert  <eggert@twinsun.com>
68266
68267         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
68268         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
68269         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
68270         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
68271
68272 2001-02-17  Paul Eggert  <eggert@twinsun.com>
68273
68274         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
68275         Remove workaround macros for hosts that have mbrtowc but not
68276         mbstate_t, as we now insist on proper declarations for both
68277         before using mbrtowc.
68278
68279 2001-02-17  Jim Meyering  <meyering@lucent.com>
68280
68281         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
68282         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
68283         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
68284         UnixWare 7.1.1.
68285
68286         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
68287         rather than AC_CACHE_VAL.
68288
68289 2001-02-17  Jim Meyering  <meyering@lucent.com>
68290
68291         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
68292         around included file name.
68293
68294         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
68295
68296         * lib/strftime.c: Update from GNU libc (the only changes were to
68297         comments).
68298
68299 2001-02-17  Jim Meyering  <meyering@lucent.com>
68300
68301         * lib/regex.c: Update from libc.
68302
68303 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
68304
68305         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
68306         clash.
68307
68308 2001-02-16  Paul Eggert  <eggert@twinsun.com>
68309
68310         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
68311         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
68312         Reported by Mark Hounschell via Paul Eggert.
68313
68314 2001-02-07  Jim Meyering  <meyering@lucent.com>
68315
68316         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
68317
68318 2001-02-05  Jim Meyering  <meyering@lucent.com>
68319
68320         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
68321         it includes the patch required for `large file' support with at least
68322         HP-UX's 10.20 /bin/cc.
68323
68324 2001-02-03  Jim Meyering  <meyering@lucent.com>
68325
68326         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
68327         AS_IF, now that it works once again (mysteriously).
68328         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
68329
68330 2001-01-30  Jim Meyering  <meyering@lucent.com>
68331
68332         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
68333         * m4/chown.m4: Rename conftestchown to conftest.chown.
68334         * m4/rename.m4: s/conftestdir/conftest.d1/ and
68335         s/conftestdir2/conftest.d2/.
68336         * m4/utimes.m4: s/conftestdata/conftest.data/
68337         Inspired by Pavel Roskin's change in autoconf.
68338
68339 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
68340
68341         * lib/config.charset: Update for FreeBSD 4.2.
68342
68343 2001-01-27  Jim Meyering  <meyering@lucent.com>
68344
68345         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
68346         a use of AS_IF.
68347         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
68348
68349 2001-01-26  Jim Meyering  <meyering@lucent.com>
68350
68351         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
68352         quotearg.c includes it.
68353
68354 2001-01-26  Jim Meyering  <meyering@lucent.com>
68355
68356         * lib/quotearg.c: Include stddef.h.
68357         * lib/quote.c: Include stddef.h.
68358         Reported by Axel Kittenberger.
68359
68360         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
68361         line in double quotes so that it evokes a better diagnostic.
68362         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
68363         Reported by Axel Kittenberger.
68364
68365 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
68366
68367         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
68368         as if it was a `charset'.
68369
68370 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
68371
68372         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
68373         has const.
68374
68375 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
68376
68377         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
68378         to avoid a warning.  Add back 'const' to inptr.
68379
68380 2001-01-20  Jim Meyering  <meyering@lucent.com>
68381
68382         Be sure that headers are checked before used in code compiled
68383         for the type checks.
68384         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
68385         In place of that, invoke jm_CHECK_ALL_TYPES.
68386         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
68387         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
68388         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
68389         The check for ssize_t was mistakenly run before the test for unistd.h.
68390
68391         The configure-time check for stdbool.h was missing.
68392         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
68393         (jm_PREREQ_HASH): New function.
68394
68395 2001-01-17  Jim Meyering  <meyering@lucent.com>
68396
68397         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
68398         for autoconf-2.49c.
68399         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
68400
68401 2001-01-16  Jim Meyering  <meyering@lucent.com>
68402
68403         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
68404         From Bruno Haible.
68405
68406 2001-01-14  Jim Meyering  <meyering@lucent.com>
68407
68408         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
68409         foo and bar.  Create conftestdir/ in the script, not in the C code.
68410         Remove directories in the script, not in the C code.
68411         Remove conftestdir{,2} before trying to create the directory.
68412         Make the entire configure script fail if the mkdir fails.
68413
68414 2001-01-14  Jim Meyering  <meyering@lucent.com>
68415
68416         * lib/rename.c: New file.  From Volker Borchert.
68417         Include stdlib.h, string.h or strings.h, and xalloc.h.
68418         Use strip_trailing_slashes rather than open-coding it.
68419
68420 2001-01-03  Paul Eggert  <eggert@twinsun.com>
68421
68422         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
68423
68424 2001-01-03  Jim Meyering  <meyering@lucent.com>
68425
68426         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
68427         of local `inptr' to avoid warning with some system declarations of
68428         iconv.
68429
68430 2001-01-02  Volker Borchert  <bt@teknon.de>
68431
68432         * m4/rename.m4: New file.
68433         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
68434
68435 2001-01-01  Jim Meyering  <meyering@lucent.com>
68436
68437         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
68438         even on systems with utmpx.h.  It's necessary for the declaration of
68439         utmp's ut_user member.  Reported by Andreas Jaeger.
68440
68441         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
68442         available. They are required for the declarations of getgrgid and
68443         getpwuid resp.
68444         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
68445         Reported by Andreas Jaeger.
68446
68447 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
68448
68449         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
68450         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
68451         so `make install' also works in VPATH builds.
68452
68453 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
68454
68455         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
68456         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
68457         can be used in subdirectories.
68458
68459 2000-12-29  Paul Eggert  <eggert@twinsun.com>
68460
68461         * lib/modechange.c: Do not assume that mode_t uses the
68462         traditional octal encoding.  E.g. "chmod 1 FOO" should set
68463         the other-execute bit of FOO even if S_IXOTH != 1.
68464
68465         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
68466         WOTH, XOTH, ALLM): New macros.
68467         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
68468          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
68469         Use them.
68470         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
68471         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
68472         (mode_compile):
68473         No need to use uintmax_t; unsigned long is long enough.
68474         Don't bother to get suffix since we don't use it.
68475
68476 2000-12-26  Jim Meyering  <meyering@lucent.com>
68477
68478         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
68479         better with autoheader.
68480
68481 2000-12-24  Jim Meyering  <meyering@lucent.com>
68482
68483         * lib/hash.c (is_prime): Return explicit boolean values.
68484         (hash_get_first): Return NULL to appease Irix5.6's 89.
68485         Reported by Nelson Beebe.
68486
68487 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
68488
68489         * lib/localcharset.c (locale_charset): Add support for Win32.
68490
68491 2000-12-18  Paul Eggert  <eggert@twinsun.com>
68492
68493         * lib/physmem.h, lib/physmem.c: New files.
68494
68495         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
68496         (noinst_HEADERS): Add physmem.h.
68497
68498         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
68499         't' for compatibility with Solaris 8 sort.
68500
68501 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
68502
68503         * lib/config.charset: Add support for BeOS.
68504
68505 2000-12-17  Jim Meyering  <meyering@lucent.com>
68506
68507         * m4/dos.m4 (jm_AC_DOS): New file and macro.
68508         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
68509
68510 2000-12-16  Jim Meyering  <meyering@lucent.com>
68511
68512         This bug had a serious impact on chown: `chown N:M FILE' (for integer
68513         N and M) would have treated it like `chown N:N FILE'.
68514
68515         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
68516
68517 2000-12-16  Jim Meyering  <meyering@lucent.com>
68518
68519         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
68520         SHELLS_FILE to a file name that's useful on djgpp systems.
68521         Include stdlib.h.
68522         (ADDITIONAL_DEFAULT_SHELLS): Define.
68523         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
68524         Based mostly on a patch from Prashant TR.
68525
68526 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
68527
68528         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
68529         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
68530         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
68531
68532 2000-12-08  Andreas Schwab  <schwab@suse.de>
68533
68534         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
68535         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
68536
68537 2000-12-07  Jim Meyering  <meyering@lucent.com>
68538
68539         * lib/stripslash.c (ISSLASH): Define.
68540         (strip_trailing_slashes): Use ISSLASH rather than comparing against
68541         `/'.
68542         From Prashant TR.
68543
68544         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
68545         (dir_name_r): Declare this function as static.
68546         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
68547         manifest itself on a name containing a mix of slashes and
68548         backslashes.
68549         Make this function work with names starting with a DOS-style
68550         drive letter and colon prefix.
68551         (dir_name): Append `.' if necessary.
68552         Based mostly on patches from Prashant TR and Eli Zaretskii.
68553
68554         * lib/dirname.h (dir_name_r): Remove prototype.
68555
68556 2000-12-06  Paul Eggert  <eggert@twinsun.com>
68557
68558         * m4/off_t-format.m4: Remove this file.
68559         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
68560
68561 2000-12-06  Jim Meyering  <meyering@lucent.com>
68562
68563         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
68564         replacement strtoull, we may well need the replacement strtoul, too.
68565         Check for declarations of strtoul and strtoull.
68566         Check for strtol.  Mainly as a cue to cause automake to include
68567         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
68568         Check for limits.h -- strtol.c needs it.
68569
68570 2000-12-05  Jim Meyering  <meyering@lucent.com>
68571
68572         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
68573
68574 2000-12-04  Jim Meyering  <meyering@lucent.com>
68575
68576         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
68577         Also include memory.h, stdlib.h, unistd.h if appropriate.
68578         Reported by Andreas Jaeger (conflicting declaration of malloc).
68579
68580 2000-12-02  Jim Meyering  <meyering@lucent.com>
68581
68582         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
68583         * m4/jm-macros.m4 (jm_MACROS): require it.
68584
68585 2000-12-02  Jim Meyering  <meyering@lucent.com>
68586
68587         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
68588
68589 2000-12-01  Paul Eggert  <eggert@twinsun.com>
68590
68591         * lib/memrchr.c: Include <config.h> before any system include file.
68592
68593 2000-11-30  Jim Meyering  <meyering@lucent.com>
68594
68595         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
68596
68597 2000-11-30  Jim Meyering  <meyering@lucent.com>
68598
68599         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
68600
68601 2000-11-29  Paul Eggert  <eggert@twinsun.com>
68602
68603         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
68604
68605 2000-11-26  Jim Meyering  <meyering@lucent.com>
68606
68607         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
68608
68609 2000-11-22  Paul Eggert  <eggert@twinsun.com>
68610
68611         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
68612         size of (size_t) -1; it's not portable.
68613
68614 2000-11-17  Jim Meyering  <meyering@lucent.com>
68615
68616         * lib/strstr.c: Update from GNU libc.
68617
68618 2000-11-17  Akim Demaille  <akim@epita.fr>
68619
68620         * lib/obstack.h: Formatting changes.
68621         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
68622         prevent type checking.
68623         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
68624         cast the value to (void *): assigning a `foo *' to a `void *'
68625         variable is valid.
68626         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
68627
68628 2000-11-16  Jim Meyering  <meyering@lucent.com>
68629
68630         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
68631
68632 2000-11-11  Jim Meyering  <meyering@lucent.com>
68633
68634         * lib/error.c: Add a couple #includes, merging from GNU libc version.
68635
68636 2000-11-10  Jim Meyering  <meyering@lucent.com>
68637
68638         * lib/obstack.h: Update from GNU libc.
68639         * lib/obstack.c: Likewise.
68640
68641 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
68642
68643         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
68644
68645 2000-11-06  Paul Eggert  <eggert@twinsun.com>
68646
68647         * lib/getusershell.c (setusershell): Use rewind rather than
68648         fseek/fseeko, to avoid configuration hassles with fseeko.
68649         Don't bother opening SHELLS_FILE if shellstream is NULL;
68650         it's not necessary.
68651
68652 2000-11-05  Jim Meyering  <meyering@lucent.com>
68653
68654         * lib/makepath.h (make_dir): Declare.
68655         * lib/makepath.c (make_dir): Remove `static' attribute.
68656         Tweak a comment.
68657
68658 2000-11-04  Jim Meyering  <meyering@lucent.com>
68659
68660         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
68661
68662 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
68663
68664         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
68665         last one in a bucket, advance to the next bucket.
68666
68667 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
68668
68669         * lib/fnmatch.c: Do not comment out all the code if we are using
68670         the GNU C library, because in some cases we are replacing buggy
68671         code in the GNU C library itself.
68672
68673 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
68674
68675         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
68676         (regex_compile): Catch bogus \(\1\).
68677
68678 2000-10-30  Paul Eggert  <eggert@twinsun.com>
68679
68680         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
68681         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
68682         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
68683
68684 2000-10-30  Paul Eggert  <eggert@twinsun.com>
68685
68686         * lib/error.h, getline.h, modechange.h:
68687         Remove "2000" from Copyright line, as the file hasn't been
68688         changed this year other than in the copyright notice.
68689
68690         * lib/xalloc.h: Add "2000" to Copyright line, as this file
68691         was changed this year.
68692
68693 2000-10-29  Jim Meyering  <meyering@lucent.com>
68694
68695         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
68696         renaming.
68697         * m4/ls-mntd-fs.m4: Likewise
68698
68699 2000-10-29  Jim Meyering  <meyering@lucent.com>
68700
68701         * lib/xstat.in: Fix grammar in comment.
68702
68703 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
68704
68705         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
68706         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
68707         doesn't define __restrict_arr.
68708
68709 2000-10-28  Jim Meyering  <meyering@lucent.com>
68710
68711         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
68712         (jm_PREREQ_MEMCHR): New function.
68713
68714 2000-10-28  Jim Meyering  <meyering@lucent.com>
68715
68716         * lib/memchr.c: Update from libc.
68717         Adjust for portability:
68718         [HAVE_STDLIB_H]: Include stdlib.h.
68719         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
68720         Undef __memchr, too.
68721         [!weak_alias]: Define __memchr to memchr.
68722
68723         * lib/regex.c: Update from libc.
68724         * lib/regex.h: Likewise.
68725         * lib/getopt1.c: Likewise.
68726         * lib/memcmp.c: Likewise.
68727
68728         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
68729         Avoid using fseek, when possible -- it's broken by design.
68730         Patch by Ulrich Drepper.
68731
68732 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
68733
68734         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
68735         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
68736         Giving in to popular pressure to shut up the compiler with casts.
68737
68738 2000-10-26  Jim Meyering  <meyering@lucent.com>
68739
68740         * lib/strftime.c: Update from libc.
68741
68742 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
68743
68744         * regex.c: More `unsigned char' -> `re_char' changes.
68745         Also change several `int' into `re_wchar_t'.
68746         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
68747         (PUSH_FAILURE_POINTER): Don't cast any more.
68748         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
68749         We want GCC to complain, since this piece of code makes
68750         re_match non-reentrant, which *should* be fixed.
68751         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
68752         (EXTEND_BUFFER): Use RETALLOC.
68753         (SET_LIST_BIT): Don't cast.
68754         (re_wchar_t): New type.
68755         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
68756         that those two functions will always properly return.
68757         (IMMEDIATE_QUIT_CHECK): Cast to void.
68758         (analyse_first): Use recursion rather than an explicit stack.
68759         (re_compile_fastmap): Can't fail anymore.
68760         (re_search_2): Don't check re_compile_fastmap for failure.
68761         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
68762         Now also sets the new value (passed in a new argument).
68763         (re_match_2_internal): Use it.
68764         Also, use a new var `reg' of type size_t when looping through regs
68765         rather than reuse the inappropriate `mcnt'.
68766
68767 2000-10-25  Jim Meyering  <meyering@lucent.com>
68768
68769         * lib/obstack.c: Update from libc.
68770
68771 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
68772
68773         * regex.c (regex_compile): Change the way of handling a range from
68774         a char less than 256 to a char not less than 256.
68775
68776 2000-10-24  Andrew Innes  <andrewi@gnu.org>
68777
68778         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
68779         NT-Emacs only.
68780         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
68781         so that re_search functions only quit when callers expect them to.
68782
68783 2000-10-23  Jim Meyering  <meyering@lucent.com>
68784
68785         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
68786         wrong.  That set_locale call must not have any side effects.
68787         From Paul Eggert.
68788
68789 2000-10-22  Jim Meyering  <meyering@lucent.com>
68790
68791         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
68792         [CYCLIC]: Remove now-unused definition.
68793
68794         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
68795         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
68796         Suggestion from Ulrich Drepper.
68797
68798 2000-10-21  Jim Meyering  <meyering@lucent.com>
68799
68800         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
68801         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
68802         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
68803
68804 2000-10-21  Jim Meyering  <meyering@lucent.com>
68805
68806         * lib/dirname.c (memrchr): Declare if necessary.
68807         (dir_name): Remove the restriction that there be no
68808         trailing slashes.  Now, this code skips past them, effectively
68809         ignoring them.
68810         [TEST_DIRNAME] (main): New unit tests.
68811
68812         * lib/memrchr.c: New file from GNU libc.
68813         Undef __memrchr, too.
68814         [!weak_alias]: Define __memrchr to memrchr.
68815         Guard weak_alias use with `#ifdef weak_alias'.
68816
68817 2000-10-21  Jim Meyering  <meyering@lucent.com>
68818
68819         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
68820         (dir_name): Use dir_name_r.
68821         * lib/dirname.h (dir_name_r): Declare it.
68822
68823 2000-10-17  Jim Meyering  <meyering@lucent.com>
68824
68825         * lib/quote.h (PARAMS): Define and use.
68826         Reported by Akim Demaille.
68827
68828         * lib/getopt.c: Update from libc.
68829
68830 2000-10-16  Jim Meyering  <meyering@lucent.com>
68831
68832         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
68833         setlocale.
68834         From Jan Fedak.
68835
68836 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
68837
68838         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
68839
68840 2000-09-25  Jim Meyering  <meyering@lucent.com>
68841
68842         * lib/md5.h (rol): Define (from GnuPG).
68843
68844         * lib/sha.c: Give credit (GnuPG) where due.
68845         (M): Use rol rather than open-coding it.
68846         Add a FIXME comment.
68847
68848 2000-09-21  Jim Meyering  <meyering@lucent.com>
68849
68850         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
68851         Reported by Michael Stone.
68852
68853 2000-09-20  Jim Meyering  <meyering@lucent.com>
68854
68855         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
68856         (noinst_HEADERS): Add sha.h.
68857         Based on code from Scott G. Miller and from GnuPG.
68858
68859 2000-09-18  Jim Meyering  <meyering@lucent.com>
68860
68861         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
68862         LIBS. Otherwise, everyone ends up linking with -lelf for some
68863         configurations.
68864         Reported by Mike Stone.
68865
68866 2000-09-15  Jim Meyering  <meyering@lucent.com>
68867
68868         * lib/regex.c: Update from libc.
68869
68870 2000-09-10  Jim Meyering  <meyering@lucent.com>
68871
68872         * lib/getopt.c (_getopt_internal): Update from glibc.
68873
68874 2000-09-09  Jim Meyering  <meyering@lucent.com>
68875
68876         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
68877         think it should be used as a general replacement for isascii.
68878         * lib/fnmatch.c: Likewise.
68879         * lib/mbswidth.c: Likewise
68880         * lib/regex.c: Likewise.
68881
68882         Don't use atoi.
68883         * lib/userspec.c: Include sys/param.h and limits.h.
68884         Include xstrtol.h.
68885         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
68886         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
68887         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
68888         UID, GID.  Check range.
68889
68890 2000-09-06  Jim Meyering  <meyering@lucent.com>
68891
68892         * lib/getopt.c (_getopt_internal): Update from glibc.
68893
68894 2000-08-30  Jim Meyering  <meyering@lucent.com>
68895
68896         * lib/strftime.c: Merge in changes from GNU libc.
68897
68898 2000-08-26  Jim Meyering  <meyering@lucent.com>
68899
68900         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
68901         * m4/fpending.m4: New file.
68902
68903 2000-08-26  Jim Meyering  <meyering@lucent.com>
68904
68905         * lib/closeout.c: Include "__fpending.h".
68906         (close_stdout_status): Return right away if there's nothing to flush.
68907
68908         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
68909         * lib/__fpending.c: New file.
68910         * lib/__fpending.h: New file.
68911
68912 2000-08-20  Jim Meyering  <meyering@lucent.com>
68913
68914         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
68915         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
68916         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
68917
68918 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
68919
68920         Improve fileutils installation on systems where running
68921         programs (like install) can't be unlinked.
68922         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
68923         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
68924
68925 2000-08-07  Paul Eggert  <eggert@twinsun.com>
68926
68927         Standardize on "memory exhausted" instead of "Memory exhausted"
68928         or "virtual memory exhausted".
68929         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
68930         "virtual memory exhausted".
68931         * lib/same.c (same_name): Invoke xalloc_die instead of printing
68932         our own message.
68933         * lib/userspec.c (parse_user_spec): Likewise.
68934         * lib/bumpalloc.h: comment fix
68935         * lib/same.c, userspec.c: Include xalloc.h.
68936
68937         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
68938         not char *const and pointing to a constant array.
68939         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
68940         (xrealloc): Comment fix.
68941
68942         * lib/userspec.c (parse_user_spec):
68943         Don't translate a message until just before returning,
68944         to avoid unnecessary translation.
68945
68946 2000-08-07  Jim Meyering  <meyering@lucent.com>
68947
68948         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
68949         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
68950         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
68951         getgroups.c, gethostname.c, getopt.h, group-member.c,
68952         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
68953         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
68954         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
68955         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
68956         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
68957         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
68958         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
68959         yesno.c: Back out Copyright date changes for each file with no change
68960         this year.  This eases coordination with other programs using the same
68961         source code modules.  From Paul Eggert.
68962
68963 2000-08-06  Paul Eggert  <eggert@twinsun.com>
68964
68965         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
68966         not char, for compatibility with glibc 2.1.3 strftime.c.
68967
68968 2000-08-03  Greg McGary  <greg@mcgary.org>
68969
68970         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
68971         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
68972         (EXTEND_BUFFER): Use them.
68973
68974 2000-08-01  Jim Meyering  <meyering@lucent.com>
68975
68976         * lib/dirname.c (ISSLASH): Define.
68977         (BACKSLASH_IS_PATH_SEPARATOR): Define.
68978         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
68979         both `\' and `/' may be use as path separators.
68980         Based on a patch from Prashant TR.
68981
68982 2000-07-31  Paul Eggert  <eggert@twinsun.com>
68983
68984         * lib/quotearg.c (quotearg_n_options): Don't make the initial
68985         slot vector a constant, since it might get modified.
68986
68987 2000-07-31  Jim Meyering  <meyering@lucent.com>
68988
68989         * lib/xmalloc.c: Use `virtual memory exhausted', not
68990         `Memory exhausted'.
68991         * lib/obstack.c (print_and_abort): Likewise.
68992
68993 2000-07-30  Paul Eggert  <eggert@twinsun.com>
68994
68995         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
68996         buffer, so that the caller can always quote one small
68997         component of a "memory exhausted" message in slot 0.
68998         From a suggestion by Jim Meyering.
68999
69000 2000-07-30  Jim Meyering  <meyering@lucent.com>
69001
69002         * lib/makepath.c (make_path): Quote the other instance, too.
69003
69004         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
69005         (STATIC_BUF_SIZE): Define.
69006         (quotearg_n_options): Use only statically allocated storage when
69007         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
69008         than STATIC_BUF_SIZE.
69009
69010 2000-07-29  Jim Meyering  <meyering@lucent.com>
69011
69012         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
69013         * lib/dirname.c (dir_name): Likewise.
69014
69015         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
69016         `/'.
69017
69018         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
69019         (dir_name): Assert that there are no trailing slashes.
69020
69021 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
69022
69023         * lib/mbswidth.h (mbswidth): Add a flags argument.
69024         (mbswidth): New declaration.
69025         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
69026         * lib/mbswidth.c (mbswidth): Add a flags argument.
69027         (mbsnwidth): New function.
69028
69029 2000-07-24  Jim Meyering  <meyering@lucent.com>
69030
69031         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
69032
69033 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69034
69035         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
69036
69037 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69038
69039         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
69040         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
69041         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
69042         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
69043         invoke multibyte primitives.
69044
69045 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69046
69047         * lib/quotearg.c:
69048         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
69049         so that mbstate_t is always defined.
69050
69051         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
69052         be 1 in at least one GCC installation, and this configuration
69053         error is likely to be common.  Ignoring MB_LEN_MAX hurts
69054         performance on hosts that have mbrtowc but have only unibyte
69055         locales, but I assume these hosts are rare.
69056
69057 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69058
69059         * lib/mbswidth.c (_XOPEN_SOURCE):
69060         Don't define; this causes problems on Solaris 7.
69061         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
69062
69063 2000-07-23  Jim Meyering  <meyering@lucent.com>
69064
69065         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
69066         too: getgrgid, getpwuid, getuid.
69067
69068 2000-07-23  Jim Meyering  <meyering@lucent.com>
69069
69070         * lib/basename.c (base_name): Add an assertion.
69071
69072 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
69073
69074         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
69075         shadow its mbsinit function.
69076
69077 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
69078
69079         * lib/mbswidth.h: New file.
69080         * lib/mbswidth.c: New file.
69081         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
69082         (noinst_HEADERS): Add mbswidth.h.
69083
69084 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
69085
69086         * lib/config.charset: Add support for FreeBSD. Improve support for
69087         HP-UX and IRIX 6.
69088
69089 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
69090
69091         * m4/mbswidth.m4: New file.
69092         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
69093
69094 2000-07-15  Jim Meyering  <meyering@lucent.com>
69095
69096         * lib/makepath.c: Include quote.h.
69097         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
69098         corresponding argument in a `quote (...)' call.
69099         Give better diagnostics.
69100
69101         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
69102         (noinst_HEADERS): Add quote.h.
69103
69104         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
69105         from tar's src/misc.c.
69106         * lib/quote.h: New file.  Prototypes for same.
69107
69108 2000-07-14  Paul Eggert  <eggert@twinsun.com>
69109
69110         From a suggestion by Bruno Haible.
69111         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
69112         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
69113         to decide whether to define the BeOS workaround macro;
69114         this adjusts to the change to AC_MBSTATE_T.
69115
69116 2000-07-14  Jim Meyering  <meyering@lucent.com>
69117
69118         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
69119         jm_AC_TYPE_UINTMAX_T.
69120
69121 2000-07-13  Paul Eggert  <eggert@twinsun.com>
69122
69123         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
69124
69125         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
69126         quotearg_buffer_restyled): Add support for
69127         clocale_quoting_style.  Undo previous change to
69128         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
69129         and "{RIGHT QUOTATION MARK}" msgids.
69130
69131 2000-07-10  Paul Eggert  <eggert@twinsun.com>
69132
69133         From a suggestion by Bruno Haible.
69134         * m4/mbstate_t.m4 (AC_MBSTATE_T):
69135         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
69136         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
69137         and mbstate_t, to a single-part test that simply defines mbstate_t.
69138         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
69139         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
69140
69141 2000-07-10  Jim Meyering  <meyering@lucent.com>
69142
69143         * m4/strerror_r.m4: Mirror the correction made in autoconf.
69144
69145         * m4/gnu-source.m4: Output to confdefs.h directly.
69146         Suggestion from Akim Demaille.
69147
69148 2000-07-09  Paul Eggert  <eggert@twinsun.com>
69149
69150         The old behavior of quoting `like this' doesn't look good with
69151         newer, ISO-style fonts.  See:
69152         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
69153
69154         Instead, quote "like this" by default.  Let the translator
69155         tailor the locale-specific quoting behavior by providing
69156         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
69157
69158         * lib/quotearg.c (N_): New macro.
69159         (gettext_default): New function.
69160         (quotearg_buffer_restyled): Use
69161         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
69162         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
69163
69164 2000-07-09  Jim Meyering  <meyering@lucent.com>
69165
69166         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
69167         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
69168
69169         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
69170         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
69171
69172 2000-07-09  Jim Meyering  <meyering@lucent.com>
69173
69174         * lib/Most files: Update copyright dates to include 2000.
69175
69176 2000-07-08  Jim Meyering  <meyering@lucent.com>
69177
69178         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
69179         if not defined.
69180         (xgethostname): Remove now-unnecessary #ifdef.
69181         Move declaration of `err' into loop where it's used.
69182
69183 2000-07-05  Paul Eggert  <eggert@twinsun.com>
69184         and Bruno Haible  <haible@clisp.cons.org>
69185
69186         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
69187         only if the test for an object-type mbstate_t fails.  This
69188         prevents us from mistakenly reporting that mbstate_t is a
69189         system object type after we "#define mbstate_t int" to work
69190         around its lack.
69191
69192 2000-07-05  Paul Eggert  <eggert@twinsun.com>
69193         and Bruno Haible  <haible@clisp.cons.org>
69194
69195         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
69196
69197 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69198
69199         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
69200         to strerror_r.
69201         Include <ctype.h> for use of isalpha.
69202
69203 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69204
69205         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
69206         by allocating a larger buffer. Test the gethostname return value for
69207         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
69208         returns an error and ENAMETOOLONG isn't defined.
69209
69210 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69211
69212         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
69213         dimension.
69214
69215 2000-07-04  Jim Meyering  <meyering@lucent.com>
69216
69217         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
69218         of the deprecated AC_CHECKING.
69219
69220 2000-07-04  Jim Meyering  <meyering@lucent.com>
69221
69222         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
69223         Reported by Bruno Haible.
69224
69225 2000-07-04  Jim Meyering  <meyering@lucent.com>
69226
69227         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
69228         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
69229         lacks mbrtowc.
69230
69231 2000-07-03  Paul Eggert  <eggert@twinsun.com>
69232
69233         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
69234         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
69235
69236 2000-07-03  Paul Eggert  <eggert@twinsun.com>
69237         and Bruno Haible  <haible@clisp.cons.org>
69238
69239         * lib/quotearg.c (mbrtowc):
69240         Assign to *pwc, and return 1 only if result is nonzero.
69241         (iswprint): Use ISPRINT when substituting our own mbrtowc.
69242
69243 2000-07-03  Jim Meyering  <meyering@lucent.com>
69244
69245         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
69246
69247 2000-07-03  Jim Meyering  <meyering@lucent.com>
69248
69249         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
69250         This is necessary to get a definition of e.g., UTMP_FILE on
69251         HP-UX 10.20.
69252         From Bob Proulx.
69253
69254 2000-07-02  Jim Meyering  <meyering@lucent.com>
69255
69256         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
69257
69258         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
69259         AC_LIBOBJ(function_name).
69260         * m4/chown.m4: Likewise.
69261         * m4/fnmatch.m4: Likewise.
69262         * m4/ftruncate.m4: Likewise.
69263         * m4/getgroups.m4: Likewise.
69264         * m4/getline.m4: Likewise.
69265         * m4/group-member.m4: Likewise.
69266         * m4/jm-macros.m4: Likewise.
69267         * m4/lstat.m4: Likewise.
69268         * m4/malloc.m4: Likewise.
69269         * m4/memcmp.m4: Likewise.
69270         * m4/nanosleep.m4: Likewise.
69271         * m4/putenv.m4: Likewise.
69272         * m4/realloc.m4: Likewise.
69273         * m4/regex.m4: Likewise.
69274         * m4/stat.m4: Likewise.
69275         * m4/strftime.m4: Likewise.
69276
69277 2000-07-02  Jim Meyering  <meyering@lucent.com>
69278
69279         * lib/quotearg.c (mbstate_t): Don't define here.
69280
69281 2000-07-02  Jim Meyering  <meyering@lucent.com>
69282
69283         * lib/nanosleep.c (SIGCONT): Define if not already defined.
69284
69285 2000-07-01  Jim Meyering  <meyering@lucent.com>
69286
69287         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
69288
69289 2000-07-01  Jim Meyering  <meyering@lucent.com>
69290
69291         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
69292         problem.
69293
69294 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
69295
69296         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
69297         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
69298
69299 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
69300
69301         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
69302         per change in ../m4/ls-mntd-fs.m4.
69303         (read_filesystem_list): Ignore symbolic links.
69304
69305 2000-06-29  Jim Meyering  <meyering@lucent.com>
69306
69307         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
69308         for declaration of strcmp.
69309
69310         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
69311
69312         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
69313         Avoid warning by casting result to `char *' to remove `const'.
69314
69315 2000-06-28  Jim Meyering  <meyering@lucent.com>
69316
69317         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
69318         included by quotearg.c, for which we perform this test.  From
69319         Bruno Haible.
69320
69321 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
69322
69323         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
69324         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
69325         <utmpx.h> exists, put readutmp.o into LIBOBJS.
69326
69327 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
69328
69329         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
69330
69331 2000-06-26  Paul Eggert  <eggert@twinsun.com>
69332
69333         savedir now sets errno on failure and invokes xmalloc to get memory.
69334         Fix a couple of other minor bugs while we're at it.
69335
69336         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
69337         (NAMLEN): Remove macro.
69338         (malloc, realloc): Remove decls.
69339         (stpcpy): Likewise.
69340         ("xalloc.h"): Include.
69341         (NAME_SIZE_DEFAULT): New macro.
69342         (savedir): Use xmalloc / xrealloc to allocate memory.
69343         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
69344         Skip "" directory entries.
69345         Use strlen to calculate directory entry length, since the old method
69346         is rarely used these days and isn't worth supporting.
69347         Don't use a pointer after freeing it.
69348         Check for integer overflow when calculating allocation size.
69349         Use memcpy to copy entries, instead of stpcpy.
69350         Set errno properly when returning NULL.
69351         Check for readdir error.
69352
69353 2000-06-26  Jim Meyering  <meyering@lucent.com>
69354
69355         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
69356
69357 2000-06-25  Jim Meyering  <meyering@lucent.com>
69358
69359         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
69360         Linux header bug when _XOPEN_SOURCE is defined to 500.
69361
69362 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
69363
69364         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
69365         deficiency.
69366
69367 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
69368
69369         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
69370         Include xalloc.h.
69371         Don't include <stdlib.h>.  Don't declare malloc, realloc.
69372
69373 2000-06-24  Jim Meyering  <meyering@lucent.com>
69374
69375         * m4/strerror_r.m4: Revive this file -- to try out an experimental
69376         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
69377         for which strerror does return char*, but which lacks a conveniently
69378         accessible declaration of the function.  If the compile-test says
69379         strerror_r doesn't work, then resort to a `run'-test that works on
69380         BeOS and segfaults on DEC Unix.
69381
69382 2000-06-24  Jim Meyering  <meyering@lucent.com>
69383
69384         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
69385
69386 2000-06-23  Paul Eggert  <eggert@twinsun.com>
69387
69388         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
69389         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
69390
69391 2000-06-23  Paul Eggert  <eggert@twinsun.com>
69392
69393         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
69394         (mbrtowc, mbstate_t): Define substitutes if
69395         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
69396         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
69397         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
69398
69399 2000-06-23  Jim Meyering  <meyering@lucent.com>
69400
69401         * m4/afs.m4: Add missing AC_MSG_RESULT.
69402         Reported by Bruno Haible.
69403
69404         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
69405         Suggestion from Bruno Haible.
69406
69407 2000-06-23  Jim Meyering  <meyering@lucent.com>
69408
69409         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
69410
69411 2000-06-21  Jim Meyering  <meyering@lucent.com>
69412
69413         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
69414
69415 2000-06-21  Jim Meyering  <meyering@lucent.com>
69416
69417         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
69418         (noinst_HEADERS): Add getstr.h.
69419
69420         * lib/getline.c (getstr): Move into a separate file.
69421         * lib/getstr.c (getstr): New file, extracted from getline.c, with
69422         the following changes: new parameter, delim2; both delim[12]
69423         parameters have type `int', not `char'.  The latter would lose
69424         with 8-bit delimiters.
69425         * lib/getstr.h: New file.
69426
69427 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69428
69429         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
69430         than 1024, return a memory chunk of least possible size, instead
69431         of size PATH_MAX + 2. In the loop, increment the size proportionally.
69432         Use free/xmalloc instead of xrealloc to avoid copying for very long
69433         paths.
69434
69435 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69436
69437         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
69438         the empty string.
69439
69440 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69441
69442         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
69443         address, not strdup.  Include <stdlib.h> and don't declare free().
69444
69445 2000-06-19  Jim Meyering  <meyering@lucent.com>
69446
69447         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
69448
69449 2000-06-18  Jim Meyering  <meyering@lucent.com>
69450
69451         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
69452
69453         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
69454         `checking whether...' message to be consistent with that of the
69455         lstat test.
69456
69457 2000-06-18  Jim Meyering  <meyering@lucent.com>
69458
69459         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
69460         Besides, these days every porting target provides a mkdir function.
69461
69462         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
69463         needed. (this snippet comes from src/system.h).
69464
69465 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
69466
69467         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
69468
69469 2000-06-15  Paul Eggert  <eggert@twinsun.com>
69470
69471         * lib/human.c (adjust_value): New function.
69472         (human_readable_inexact): Apply rounding style even when
69473         printing approximate values.
69474
69475 2000-06-14  Paul Eggert  <eggert@twinsun.com>
69476
69477         * lib/human.c (human_readable_inexact): Allow an input block
69478         size that is not a multiple of the output block size, and vice versa.
69479         Reported by Piergiorgio Sartor.
69480
69481 2000-06-14  Paul Eggert  <eggert@twinsun.com>
69482
69483         * lib/getdate.y (get_date): Apply relative times after time
69484         zone indicator, not before.  Reported by Todd A. Jacobs.
69485
69486 2000-06-13  Jim Meyering  <meyering@lucent.com>
69487
69488         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
69489
69490         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
69491
69492 2000-06-12  Paul Eggert  <eggert@twinsun.com>
69493
69494         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
69495
69496 2000-06-12  Jim Meyering  <meyering@lucent.com>
69497
69498         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
69499         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
69500         optional argument.
69501         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
69502         the optional argument, `lib'.
69503
69504 2000-06-08  Jim Meyering  <meyering@lucent.com>
69505
69506         * m4/largefile.m4: Remove file (now that it's part of autoconf).
69507
69508 2000-06-04  Paul Eggert  <eggert@twinsun.com>
69509
69510         Rewrite largefile configuration so that we don't need to run
69511         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
69512         AC_CANONICAL_HOST in configure.in -- jmm]
69513
69514         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
69515         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
69516         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
69517         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
69518         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
69519         All uses changed.
69520         Instead of inspecting the output of getconf, try to compile the
69521         test program without and with the macro definition.
69522         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
69523         for getconf.  Instead, check for the needed flags by compiling
69524         test programs.
69525
69526 2000-06-04  Paul Eggert  <eggert@twinsun.com>
69527
69528         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
69529
69530 2000-06-04  Jim Meyering  <meyering@lucent.com>
69531
69532         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
69533         SunOS 4.1.4 for which gid_t is an unsigned type.
69534
69535 2000-06-03  Jim Meyering  <meyering@lucent.com>
69536
69537         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
69538         now that autoconf requires that.
69539
69540         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
69541         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
69542         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
69543
69544 2000-06-03  Jim Meyering  <meyering@lucent.com>
69545
69546         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
69547
69548 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
69549
69550         * m4/glibc21.m4: New file.
69551         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
69552
69553 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
69554
69555         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
69556         newer, don't install charset.alias.
69557         * lib/config.charset: Change the Linux/glibc rules so they become empty
69558         on glibc-2.1 or newer.
69559
69560 2000-06-02  Jim Meyering  <meyering@lucent.com>
69561
69562         * lib/mountlist.c: Back out last change.  Instead, do this...
69563         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
69564         me_dummy member using the same `ignore'-testing code.
69565         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
69566         fs_type strings.
69567         From Mark D. Roth.
69568
69569 2000-05-29  Jim Meyering  <meyering@lucent.com>
69570
69571         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
69572         mounts with the `ignore' attribute.  Based on a patch from
69573         Mark D. Roth.
69574
69575 2000-05-28  Jim Meyering  <meyering@lucent.com>
69576
69577         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
69578         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69579         * m4/stat.m4: Likewise.
69580         * m4/lstat.m4: Likewise.
69581         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
69582
69583         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
69584         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
69585
69586 2000-05-26  Jim Meyering  <meyering@lucent.com>
69587
69588         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
69589
69590 2000-05-24  Jim Meyering  <meyering@lucent.com>
69591
69592         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
69593         autoconf requires that.
69594         * m4/lib-check.m4: Likewise.
69595         * m4/jm-macros.m4: Likewise.
69596         * m4/strftime.m4: Likewise.
69597
69598         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
69599         AC_CHECK_DECLS, now that autoconf requires that.
69600
69601 2000-05-22  Jim Meyering  <meyering@lucent.com>
69602
69603         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69604         * m4/lstat.m4: Likewise.
69605
69606 2000-05-22  Jim Meyering  <meyering@lucent.com>
69607
69608         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
69609
69610 2000-05-20  Jim Meyering  <meyering@lucent.com>
69611
69612         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
69613         (jm_PREREQ): Use it.
69614
69615 2000-05-18  Jim Meyering  <meyering@lucent.com>
69616
69617         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
69618         back, too, since it may have been modified by allocate_entry.
69619         (hash_delete): Rewrite to use neither the assignment operator
69620         nor the comma operator in an if-expression.
69621
69622 2000-05-15  Paul Eggert  <eggert@twinsun.com>
69623
69624         * lib/closeout.c:
69625         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
69626         Remove; no longer needed.
69627         "quotearg.h": Add include.
69628         (file_name): Do not bother to explicitly initialize to NULL; it's less
69629         efficient on some hosts.
69630         (close_stdout_status): Remove test as to whether stdout was already
69631         closed; it breaks for the case "echo x | sort >&-".
69632         Quote file name colons.
69633         Do not assume that _("write error") lacks format strings.
69634
69635 2000-05-15  Jim Meyering  <meyering@lucent.com>
69636
69637         * lib/version-etc.c (version_etc_copyright): Update the copyright
69638         string used in all --version output.
69639
69640 2000-05-14  Jim Meyering  <meyering@lucent.com>
69641
69642         * lib/closeout.c (close_stdout_set_file_name): New function.
69643         (close_stdout_status): Use new file-scoped global.
69644         Return right away if fstat says the stdout file descriptor is invalid.
69645         * lib/closeout.h (close_stdout_set_file_name): Declare.
69646
69647 2000-05-10  Jim Meyering  <meyering@lucent.com>
69648
69649         * lib/closeout.c [default_exit_status]: New file-scoped variable.
69650         (close_stdout_set_status): New function.
69651         * lib/closeout.h (close_stdout_set_status): Declare.
69652
69653 2000-05-09  Jim Meyering  <meyering@lucent.com>
69654
69655         * m4/gettext.m4: Rename this...
69656         * m4/libintl.m4: ...to this.
69657
69658 2000-05-08  Jim Meyering  <meyering@lucent.com>
69659
69660         * lib/long-options.c: Don't include closeout.h.
69661         (parse_long_options): Don't call close_stdout for --version.
69662
69663 2000-05-06  Paul Eggert  <eggert@twinsun.com>
69664
69665         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
69666         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
69667         2.1.3 bug.  This avoids a clash when files like regex.c define
69668         _GNU_SOURCE.
69669
69670 2000-05-06  Jim Meyering  <meyering@lucent.com>
69671
69672         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
69673         (AC_REPLACE_FUNCS): Add strnlen.
69674
69675         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
69676         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
69677
69678         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
69679         AC_SEARCH_LIBS call for nanosleep.
69680         (LIB_NANOSLEEP): Set and AC_SUBST.
69681
69682 2000-05-06  Jim Meyering  <meyering@lucent.com>
69683
69684         * lib/strnlen.c: Undefine __strnlen and strnlen.
69685         [!weak_alias]: Define __strnlen to strnlen.
69686
69687         * lib/atexit.c: New file, from libiberty.
69688
69689 2000-05-06  Jim Meyering  <meyering@lucent.com>
69690
69691         * lib/closeout.c (close_stdout_status): Also check for errors on the
69692         stderr stream.
69693
69694 2000-05-05  Jim Meyering  <meyering@lucent.com>
69695
69696         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
69697         AC_SEARCH_LIBS call for clock_gettime.
69698         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
69699
69700         * m4/search-libs.m4: Update from autoconf.
69701
69702         su doesn't work on Solaris 2.6.
69703         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
69704         <shadow.h>.  Reported by Dragos Harabor.
69705
69706 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
69707
69708         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
69709         memcpy instead of xmalloc, xrealloc, path_concat.
69710         (locale_charset): Treat empty environment variables as absent.
69711         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
69712
69713 2000-05-04  Jim Meyering  <meyering@lucent.com>
69714
69715         * lib/getopt.c: Update from glibc.
69716         * lib/obstack.c: Likewise.
69717         * lib/obstack.h: Likewise.
69718         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
69719         file
69720
69721         * lib/regex.h: Likewise.
69722         * lib/strndup.c: Likewise.
69723         * lib/strnlen.c: New file, from glibc.
69724
69725 2000-05-03  Jim Meyering  <meyering@lucent.com>
69726
69727         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
69728
69729 2000-05-02  Paul Eggert  <eggert@twinsun.com>
69730
69731         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
69732         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
69733         compile-time test, rather than inspecting host and OS, to
69734         decide whether to define _LARGEFILE_SOURCE.
69735
69736 2000-05-01  Jim Meyering  <meyering@lucent.com>
69737
69738         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
69739
69740         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
69741         Based on a patch from Bruno Haible.
69742
69743 2000-05-01  Jim Meyering  <meyering@lucent.com>
69744
69745         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
69746
69747 2000-04-29  Jim Meyering  <meyering@lucent.com>
69748
69749         * lib/path-concat.c: Declare strdup only if it's not defined.
69750         * lib/canon-host.c: Likewise.
69751
69752 2000-04-28  Jim Meyering  <meyering@lucent.com>
69753
69754         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
69755         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
69756         is included first, then limits.h is included by locale.h by libintl.h.
69757         From John David Anglin.
69758
69759 2000-04-25  Jim Meyering  <meyering@lucent.com>
69760
69761         * lib/makepath.c (S_IRWXUGO): Define.
69762         (make_path): Always perform explicit chmod if MODE specifies any
69763         of the `special' permission bits.  Prompted by a bug report against
69764         install from Mate Wierdl and Joost van Baal.
69765
69766 2000-04-18  Jim Meyering  <meyering@lucent.com>
69767
69768         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
69769         (jm_PREREQ): Use it.
69770
69771 2000-04-18  Jim Meyering  <meyering@lucent.com>
69772
69773         * lib/README: New file.
69774
69775         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
69776         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
69777
69778 2000-04-17  Jim Meyering  <meyering@lucent.com>
69779
69780         Get it right :-)
69781         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
69782         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
69783         Suggestion from Akim Demaille.
69784
69785 2000-04-17  Jim Meyering  <meyering@lucent.com>
69786
69787         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
69788         the definition of it to rpl_strftime also defined-away the system's
69789         declaration.
69790
69791 2000-04-15  Jim Meyering  <meyering@lucent.com>
69792
69793         Use `C' to denote so-called `contiguous' files, the same way
69794         that tar does.
69795         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
69796         (ftypelet): Use S_ISCTG.
69797         From Michael Deutschmann.
69798
69799 2000-04-14  Jim Meyering  <meyering@lucent.com>
69800
69801         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
69802         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
69803         clobbered.
69804
69805 2000-04-14  Jim Meyering  <meyering@lucent.com>
69806
69807         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
69808
69809 2000-04-13  Jim Meyering  <meyering@lucent.com>
69810
69811         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
69812         AH_VERBATIM to insert required #ifndef into config.h.in.
69813         Suggestion from Akim Demaille.
69814
69815 2000-04-12  Jim Meyering  <meyering@lucent.com>
69816
69817         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
69818         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
69819         Christian Krackowizer.
69820
69821         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
69822         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
69823         (AC_SYS_LARGEFILE): Require.
69824         (AM_C_PROTOTYPES): Require.
69825
69826 2000-04-08  Jim Meyering  <meyering@lucent.com>
69827
69828         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
69829         names don't conflict.  Reported by Eli Zaretskii.
69830
69831 2000-04-07  Jim Meyering  <meyering@lucent.com>
69832
69833         * lib/putenv.c: Move inclusion of errno.h so it follows that of
69834         sys/types.h, to work around system header problems on AIX 3.2.5.
69835         From Bruno Haible.
69836
69837 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
69838
69839         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
69840         bug.  Deal with the different error behavior of Irix iconv.
69841
69842 2000-04-05  Paul Eggert  <eggert@twinsun.com>
69843
69844         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
69845         IRIX if the installer said otherwise.
69846
69847 2000-04-05  Jim Meyering  <meyering@lucent.com>
69848
69849         Portability tweaks required for ultrix4.3.
69850         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
69851         (jm_CHECK_DECLS): Add getutent to the list of functions.
69852         (_jm_DECL_HEADERS): Add utmpx.h.
69853         From John David Anglin.
69854
69855         * m4/strftime.m4: Back out the 2000-04-02 change.
69856         Instead of that change, simply undefine putenv in the test program.
69857
69858 2000-04-05  Jim Meyering  <meyering@lucent.com>
69859
69860         Portability tweaks required for ultrix4.3.
69861         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
69862         getutent.
69863         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
69864         * lib/canon-host.c: Declare strdup.
69865         * lib/path-concat.c: Likewise.
69866         From John David Anglin.
69867
69868 2000-04-04  Jim Meyering  <meyering@lucent.com>
69869
69870         Be more DOS 8.3-friendly.
69871         * lib/ref-add.sin: Renamed from ref-add.sed.in.
69872         * lib/ref-del.sin: Renamed from ref-del.sed.in.
69873         * lib/Makefile.am: Reflect renaming.
69874         Reported by Eli Zaretskii.
69875
69876         Use a temporary file name that won't clash with `charset.alias'
69877         in the DOS 8.3 name space.
69878         * lib/Makefile.am (charset_tmp): Define.
69879         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
69880         (uninstall-local): Likewise.
69881         Reported by Eli Zaretskii.
69882
69883 2000-04-03  Jim Meyering  <meyering@lucent.com>
69884
69885         * m4/gettext.m4: Fix typo in comment.
69886
69887         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
69888         textutils/configure.in).  Suggestion from Paul Eggert.
69889         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
69890
69891 2000-04-02  Paul Eggert  <eggert@twinsun.com>
69892
69893         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
69894         variable in the shell rather than using putenv, which isn't
69895         portable.  This avoids the configure-time inter-test dependency
69896         on the potentially-renamed putenv function.
69897
69898 2000-03-30  Paul Eggert  <eggert@twinsun.com>
69899
69900         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
69901         before checking struct stat.st_blksize, so that
69902         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
69903
69904 2000-03-29  Paul Eggert  <eggert@twinsun.com>
69905
69906         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
69907         since strftime.c uses HAVE_STRFTIME to decide whether to use
69908         the underlying strftime.
69909
69910 2000-03-29  Paul Eggert  <eggert@twinsun.com>
69911
69912         * lib/time/strftime.c (my_strftime): Make sure we call the system
69913         strftime, not ourselves, when invoking the underlying strftime.
69914
69915 2000-03-24  Jim Meyering  <meyering@lucent.com>
69916
69917         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
69918         (charset_alias): Define.
69919         (install-exec-local): Factor out common code.
69920         (uninstall-local): Split lines longer than 80.
69921         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
69922         (SUFFIXES): Define.
69923         (.sed.in.sed): New rule.  Don't redirect directly to $@.
69924         (CLEANFILES): Add ref-add.sed and ref-del.sed.
69925
69926 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
69927
69928         * lib/config.charset: Output a line containing "Packages using this
69929         file".
69930         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
69931         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
69932         ref-del.sed): New rules.
69933
69934 2000-03-17  Jim Meyering  <meyering@lucent.com>
69935
69936         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
69937         Otherwise, include <strings.h>
69938
69939 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
69940
69941         * lib/unicodeio.c (utf8_wctomb): New function.
69942         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
69943         format instead of in UCS-4 with platform dependent endianness.
69944
69945 2000-03-10  Jim Meyering  <meyering@lucent.com>
69946
69947         * m4/lib-check.m4: Look for getspnam in -lgen, too.
69948         From Marco Franzen.
69949
69950 2000-03-07  Paul Eggert  <eggert@twinsun.com>
69951
69952         * lib/savedir.c (savedir): Work even if directory size is
69953         negative; this can happen with some screwy NFS configurations.
69954
69955 2000-03-06  Jim Meyering  <meyering@lucent.com>
69956
69957         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
69958         if it's NULL (because we ran out of memory).  From Bruno Haible.
69959
69960 2000-03-05  Jim Meyering  <meyering@lucent.com>
69961
69962         * lib/localcharset.c ("path-concat.h"): Include.
69963         (get_charset_aliases): Use path_concat instead of ANSI string
69964         concatenation.
69965
69966         * lib/unicodeio.h (PARAMS): Define.
69967         Use it to guard prototype.
69968
69969 2000-03-04  Jim Meyering  <meyering@lucent.com>
69970
69971         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
69972         for lib/localcharset.c.
69973
69974 2000-03-04  Jim Meyering  <meyering@lucent.com>
69975
69976         * lib/Makefile.am (install-exec-local): Create $(libdir) before
69977         installing into it.
69978         (uninstall-local): Uncomment this rule so `make distcheck' works
69979         once again.
69980
69981         * lib/unicodeio.c (<errno.h>): Include it.
69982         (errno): Declare if not defined.
69983
69984         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
69985
69986         * lib/config.charset: New version, incorporating remarks from a linux
69987         i18n mailing list.  From Bruno Haible.
69988
69989 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
69990
69991         * m4/codeset.m4: New file.
69992         * m4/iconv.m4: New file.
69993         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
69994
69995 2000-03-03  Jim Meyering  <meyering@lucent.com>
69996
69997         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
69998
69999 2000-03-02  Jim Meyering  <meyering@lucent.com>
70000
70001         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
70002         the messages come out on separate lines.
70003
70004         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
70005         rather than jm_CHECK_DECLARATIONS.
70006         * m4/decl.m4: Remove now-unused file.
70007
70008         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
70009         geteuid.
70010
70011 2000-03-02  Jim Meyering  <meyering@lucent.com>
70012
70013         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
70014
70015 2000-03-01  Jim Meyering  <meyering@lucent.com>
70016
70017         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
70018         * lib/unicodeio.c: Likewise.
70019
70020 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
70021
70022         * lib/config.charset: New file.
70023         * lib/localcharset.c: New file.
70024         * lib/unicodeio.h, lib/unicodeio.c: New files.
70025         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
70026         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
70027         (noinst_HEADERS): Add unicodeio.h.
70028         (all-local, install-exec-local, charset.alias): New targets.
70029
70030 2000-02-28  Paul Eggert  <eggert@twinsun.com>
70031
70032         * lib/quotearg.c (ALERT_CHAR): New macro.
70033         (quotearg_buffer_restyled): Use it.
70034
70035 2000-02-27  Jim Meyering  <meyering@lucent.com>
70036
70037         * m4/check-decl.m4: Add getenv to the list.
70038
70039 2000-02-27  Jim Meyering  <meyering@lucent.com>
70040
70041         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
70042         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
70043
70044         * lib/backupfile.c: Guard inclusion of stdlib.h with
70045         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
70046         Declare malloc if needed.
70047
70048         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
70049         `#ifndef HAVE_DECL..'
70050         now that autoconf always defines the HAVE_DECL_ symbols.
70051         * lib/human.c: Likewise.
70052         * lib/same.c: Likewise.
70053         * lib/strtoumax.c: Likewise.
70054
70055         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
70056         declaration check was not run.
70057         * lib/hash.c: Likewise.
70058         * lib/human.c: Likewise.
70059         * lib/same.c: Likewise.
70060         * lib/strtoumax.c: Likewise.
70061
70062         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
70063         `.', then first look up the entire `.'-containing string as a login
70064         name.
70065
70066 2000-02-23  Jim Meyering  <meyering@lucent.com>
70067
70068         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
70069         in place of my hack.
70070
70071 2000-02-18  Paul Eggert  <eggert@twinsun.com>
70072
70073         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
70074         (textint): New typedef.
70075         (parser_control): Member year changed from int to textint.
70076         All uses changed.
70077         (YYSTYPE): Removed; replaced by %union with int and textint members.
70078         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
70079         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
70080         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
70081         (tSNUMBER, tUNUMBER): Now of type <textintval>.
70082         (date, number, to_year): Use width of number in digits, not its value,
70083         to determine whether it's a 2-digit year, or a 2-digit time.
70084         (yylex): Store number of digits of numeric tokens.
70085         Reported by John Kendall.
70086
70087         (parser_control): Changed from struct parser_control to typedef (for
70088         consistency).  All uses changed.
70089
70090         (tID): Removed; not used.
70091         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
70092
70093 2000-02-14  Paul Eggert  <eggert@twinsun.com>
70094
70095         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
70096         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
70097
70098 2000-02-12  Jim Meyering  <meyering@lucent.com>
70099
70100         * lib/userspec.c (ISDIGIT): Define it.
70101         (isdigit): Remove definition.
70102         (is_number): Use ISDIGIT, not isdigit.
70103         <libintl.h>: Include.
70104         (_ and N_): Define.
70105         (parse_user_spec): Mark translatable strings.
70106
70107 2000-02-10  Jim Meyering  <meyering@lucent.com>
70108
70109         With these changes, nanosleep.[ch] are finally enough like the other
70110         lib/* replacement files to compile on a few more losing systems.
70111
70112         * lib/nanosleep.h: Don't include config.h.
70113         Remove prototype from declaration of nanosleep.
70114         (PARAMS): Remove now-unneeded definition.
70115         * lib/nanosleep.c: #undef nanosleep.
70116         (rpl_nanosleep): Rename from nanosleep.
70117
70118 2000-02-10  Jim Meyering  <meyering@lucent.com>
70119
70120         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
70121         gnu_nanosleep to rpl_nanosleep.
70122
70123 2000-02-09  Jim Meyering  <meyering@lucent.com>
70124
70125         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
70126         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
70127
70128 2000-02-08  Akim Demaille  <akim@epita.fr>
70129
70130         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
70131         `[' and `]' and remove uses of `changequote'.
70132         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
70133         (AC_SYS_LARGEFILE): Likewise.
70134         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70135         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
70136         of changequote.
70137         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
70138         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
70139         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
70140         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
70141
70142 2000-02-05  Jim Meyering  <meyering@lucent.com>
70143
70144         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
70145         Remove explicit use of AC_HEADER_TIME.  It is required by
70146         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
70147         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
70148         in autoconf whereby the expansion of the latter ended up preceding
70149         the expansion of its prerequisite, AC_HEADER_TIME.
70150         Reported by Volker Borchert.
70151
70152 2000-02-03  Jim Meyering  <meyering@lucent.com>
70153
70154         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
70155
70156 2000-02-03  Jim Meyering  <meyering@lucent.com>
70157
70158         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
70159         rather than with `#if HAVE_UTMPNAME'.
70160
70161 2000-02-02  Jim Meyering  <meyering@lucent.com>
70162
70163         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
70164         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
70165         Reported by Eli Zaretskii.
70166
70167 2000-02-01  Jim Meyering  <meyering@lucent.com>
70168
70169         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
70170
70171 2000-01-31  Jim Meyering  <meyering@lucent.com>
70172
70173         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
70174         functions.  Add the time.h and sys/time.h headers along with the
70175         AC_REQUIRE'ment of AC_HEADER_TIME.
70176
70177 2000-01-31  Jim Meyering  <meyering@lucent.com>
70178
70179         * lib/nanosleep.h (nanosleep): Guard declaration with
70180         `#if ! HAVE_DECL_NANOSLEEP'.
70181         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
70182         the declaration in that vendor's sys/timers.h.
70183         Reported by Christian Krackowizer.
70184
70185         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
70186         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
70187         (ISPRINT): Likewise.
70188         Reported by Tom Tromey.
70189
70190 2000-01-30  Jim Meyering  <meyering@lucent.com>
70191
70192         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
70193
70194         * m4/prereq.m4 (utmp_includes): Define.
70195         Check for ut_user and ut_name members in both struct utmpx
70196         and struct utmp.
70197
70198 2000-01-30  Jim Meyering  <meyering@lucent.com>
70199
70200         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
70201         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
70202         header files where only utmpx.ut_user is declared.
70203
70204         * lib/readutmp.h (UT_USER): Define.
70205
70206 2000-01-29  Jim Meyering  <meyering@lucent.com>
70207
70208         * m4/lib-check.m4: New file containing library-related checks from
70209         fileutils and sh-utils (textutils had none).
70210
70211 2000-01-28  Jim Meyering  <meyering@lucent.com>
70212
70213         * m4/perl.m4: Change format of warning message to look more like that
70214         from the missing script.  Suggestion from François Pinard.
70215
70216 2000-01-25  Jim Meyering  <meyering@lucent.com>
70217
70218         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
70219         well as time.h in the compile check.
70220         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
70221         Fix typo in cross-compiling case: s/yes/no/.
70222
70223 2000-01-23  Jim Meyering  <meyering@lucent.com>
70224
70225         * m4/jm-macros.m4: Move df-related tests here from
70226         fileutils/configure.in
70227
70228         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
70229         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
70230
70231         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
70232         s/space/ac_fsusage_space/.
70233         (jm_FILE_SYSTEM_USAGE): Take two parameters.
70234
70235         * m4/ftruncate.m4: New file (derived from part of
70236         fileutils/configure.in).
70237         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
70238         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
70239
70240         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
70241         AC_SUBST these here, rather than just in sh-util/configure.in, so
70242         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
70243         all the same.
70244         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
70245         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
70246         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
70247         (AC_SUBST(POW_LIBM)): Likewise.
70248         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
70249
70250 2000-01-23  Jim Meyering  <meyering@lucent.com>
70251
70252         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
70253         obstack.c.
70254
70255 2000-01-22  Jim Meyering  <meyering@lucent.com>
70256
70257         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
70258
70259         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
70260
70261         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
70262         configure.in
70263         (AC_CHECK_HEADERS): Likewise for sh-utils.
70264         (AC_CHECK_HEADERS): Likewise for textutils.
70265         Merge the three lists of headers.
70266
70267         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
70268         from fileutils' configure.in.
70269
70270         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
70271         code. Moved tests into their own function (_jm_DECL_HEADERS) in
70272         check-decl.m4.
70273
70274         * m4/check-decl.m4: Use #if rather than #ifdef.
70275         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
70276         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
70277         (_jm_DECL_HEADERS): Define new function.
70278         (jm_CHECK_DECLARATIONS): Require it.
70279
70280 2000-01-22  Jim Meyering  <meyering@lucent.com>
70281
70282         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
70283         [! HAVE_DECL_STRTOULL]: Declare strtoull.
70284         Required for some AIX systems.  Reported by Christian Krackowizer.
70285         [TESTING] (main): New function.
70286
70287         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
70288         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
70289         letters.
70290
70291         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
70292         iswprint.
70293
70294         * lib/strverscmp.c (ISDIGIT): Define.
70295         (strverscmp): Use ISDIGIT, not isdigit.
70296
70297 2000-01-19  Jim Meyering  <meyering@lucent.com>
70298
70299         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
70300         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
70301         defines `struct timespec' in <sys/time.h>
70302
70303         * m4/c-bs-a.m4: Remove uses of changequote altogether.
70304         Thanks to Akim for explaining.
70305
70306 2000-01-17  Paul Eggert  <eggert@twinsun.com>
70307
70308         * lib/nanosleep.c (nanosleep):
70309         Don't use SA_INTERRUPT to decide whether to call sigaction, as
70310         POSIX.1 doesn't require SA_INTERRUPT and some systems
70311         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
70312         it's been part of POSIX.1 since day 1 (in 1988).
70313
70314 2000-01-17  Jim Meyering  <meyering@lucent.com>
70315
70316         * lib/interlock: Remove unused file.  Reported by François Pinard.
70317
70318 2000-01-16  Paul Eggert  <eggert@twinsun.com>
70319
70320         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
70321         alert, backslash, formfeed, and vertical tab unnecessarily in
70322         shell quoting style.
70323
70324 2000-01-16  Jim Meyering  <meyering@lucent.com>
70325
70326         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
70327         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
70328         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
70329         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
70330
70331 2000-01-16  Jim Meyering  <meyering@lucent.com>
70332
70333         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
70334         because the latter didn't work.
70335
70336 2000-01-15  Jim Meyering  <meyering@lucent.com>
70337
70338         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
70339         (AC_REPLACE_FUNCS): Add memcpy and memset.
70340         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
70341         Add strpbrk.
70342         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
70343
70344 2000-01-12  Jim Meyering  <meyering@lucent.com>
70345
70346         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
70347         (jm_PREREQ): Use it.
70348         (jm_PREREQ_READUTMP): New macro.
70349         (jm_PREREQ): Use it.
70350
70351 2000-01-11  Paul Eggert  <eggert@twinsun.com>
70352
70353         Quote multibyte characters correctly.
70354         * m4/c-bs-a.m4: New file.
70355         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
70356         (jm_PREREQ): Use it.
70357
70358 2000-01-11  Paul Eggert  <eggert@twinsun.com>
70359
70360         * m4/uintmax_t.m4: Port to autoconf 2.13.
70361
70362 2000-01-08  Jim Meyering  <meyering@ascend.com>
70363
70364         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
70365         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
70366
70367 2000-01-04  Jim Meyering  <meyering@ascend.com>
70368
70369         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
70370         jm_STRUCT_DIRENT_D_TYPE.
70371         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
70372         jm_STRUCT_DIRENT_D_INO.
70373         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
70374         jm_STRUCT_UTIMBUF.
70375         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
70376         renamings.
70377         * m4/utime.m4: Likewise.
70378
70379         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
70380         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
70381
70382 2000-01-03  Paul Eggert  <eggert@twinsun.com>
70383
70384         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
70385         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
70386
70387 2000-01-02  Jim Meyering  <meyering@ascend.com>
70388
70389         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
70390         remember if this is necessary.
70391
70392 1999-12-26  Jim Meyering  <meyering@ascend.com>
70393
70394         * m4/jm-macros.m4: Use it here.
70395         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
70396
70397 1999-12-23  Jim Meyering  <meyering@ascend.com>
70398
70399         * m4/jm-macros.m4: Check for clock_gettime (moved from
70400         fileutils/configure.in)
70401         Check for gettimeofday.
70402
70403 1999-12-20  Jim Meyering  <meyering@ascend.com>
70404
70405         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
70406         autoconf-2.14a-1999-12-20.
70407
70408 1999-12-19  Jim Meyering  <meyering@ascend.com>
70409
70410         * m4/lstat-slash.m4: New file.
70411         * m4/jm-macros.m4: Use the new macro:
70412         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70413
70414 1999-12-07  Jim Meyering  <meyering@ascend.com>
70415
70416         * m4/perl.m4: Require that File::Compare be available, too.
70417         Too many systems seem to lack it.
70418
70419         * m4/strftime.m4: Add checks for most of the cpp macros tested in
70420         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
70421
70422 1999-11-18  Paul Eggert  <eggert@twinsun.com>
70423
70424         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
70425         problem with the QNX 4.25 shell, which doesn't propagate exit
70426         status of failed commands inside shell assignments.
70427
70428 1999-11-17  Jim Meyering  <meyering@ascend.com>
70429
70430         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
70431
70432 1999-11-07  Jim Meyering  <meyering@ascend.com>
70433
70434         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
70435
70436 1999-11-06  Jim Meyering  <meyering@ascend.com>
70437
70438         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
70439         * m4/jm-macros.m4 (jm_MACROS): Use it here.
70440
70441 1999-11-05  Jim Meyering  <meyering@ascend.com>
70442
70443         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
70444         configure.in of textutils, fileutils, and sh-utils into this one
70445         (shared between those packages) file.
70446         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
70447         AC_STRUCT_ST_BLKSIZE.
70448
70449 1999-11-03  Jim Meyering  <meyering@ascend.com>
70450
70451         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
70452         of AC_CHECK_TYPE checks includes unistd.h.
70453         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
70454         Suggestion from Akim Demaille.
70455
70456 1999-10-30  Jim Meyering  <meyering@ascend.com>
70457
70458         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
70459         m4-quoted string.
70460         * m4/ls-mntd-fs.m4: Likewise.
70461         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
70462         * m4/jm-winsz1.m4: Likewise.
70463
70464         * m4/const.m4: Remove file, since the fix made it into the experimental
70465         version of autoconf.
70466         * m4/mktime.m4: Likewise.
70467
70468         * m4/check-type.m4: Remove file, now that the latest version of
70469         AC_CHECK_TYPE takes a third arg to specify additional #includes.
70470
70471         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
70472         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
70473         AC_CHECK_TYPE.
70474
70475 1999-10-04  Jim Meyering  <meyering@ascend.com>
70476
70477         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
70478
70479 1999-09-22  Paul Eggert  <eggert@twinsun.com>
70480
70481         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
70482         2.95.1 bug with HP-UX 10.20.
70483
70484 1999-09-17  Jim Meyering  <meyering@ascend.com>
70485
70486         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
70487         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
70488         due to missing strdup (against sh-utils-2.0).
70489
70490 1999-08-29  Jim Meyering  <meyering@ascend.com>
70491
70492         * m4/jm-macros.m4: Require jm_BISON.
70493         * m4/bison.m4: New file.
70494
70495 1999-08-17  Paul Eggert  <eggert@twinsun.com>
70496
70497         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
70498         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
70499
70500 1999-08-05  Jim Meyering  <meyering@ascend.com>
70501
70502         * m4/getline.m4: Rename test file from conftestdata to conftest.data
70503         to avoid conflicts with `conftest' on 8+3 filesystems.
70504         Suggestion from Eli Zaretskii.
70505
70506 1999-08-04  Jim Meyering  <meyering@ascend.com>
70507
70508         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
70509         fileutils and sh-utils (textutils's getline test was inadequate).
70510         (AM_FUNC_GETLINE): Run this test.
70511         (AC_CHECK_FUNCS): Check for getdelim.
70512         Reported by Bob Proulx.
70513
70514 1999-08-02  Jim Meyering  <meyering@ascend.com>
70515
70516         * m4/jm-macros.m4: Add a comment.
70517
70518 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70519
70520         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
70521         <inttypes.h> defines strtoumax as a macro (and not as a
70522         function).
70523
70524 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70525
70526         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
70527         that we can shift, multiply and divide unsigned long long
70528         values; Ultrix cc can't do it.
70529
70530 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70531
70532         * m4/mktime.m4: New file, which is a preview of what should appear
70533         in the next public autoconf release.
70534
70535 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70536
70537         * m4/lfs.m4: Remove this file.
70538         * m4/largefile.m4: New file.  It contains the old contents of
70539         lfs.m4, except that all names with prefix AC_LFS have been
70540         changed to use the prefix AC_SYS_LARGEFILE instead, to be
70541         compatible with future autoconf versions.  Also, some minor m4
70542         quoting problems have been fixed.
70543
70544 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70545
70546         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
70547         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
70548         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
70549         and simplify the shell code.
70550
70551 1999-08-01  Jim Meyering  <meyering@ascend.com>
70552
70553         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
70554         m4.
70555
70556 1999-07-20  Jim Meyering  <meyering@ascend.com>
70557
70558         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
70559
70560 1999-07-15  Jim Meyering  <meyering@ascend.com>
70561
70562         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
70563
70564 1999-05-22  Jim Meyering  <meyering@ascend.com>
70565
70566         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
70567
70568 1999-05-20  Jim Meyering  <meyering@ascend.com>
70569
70570         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
70571         Add a colon after each `then' in case $4 is empty.
70572
70573 1999-05-16  Jim Meyering  <meyering@ascend.com>
70574
70575         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
70576
70577 1999-05-10  Jim Meyering  <meyering@ascend.com>
70578
70579         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
70580
70581         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
70582         AC_FUNC_MKTIME.
70583
70584 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
70585
70586         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
70587
70588 1999-05-04  Paul Eggert  <eggert@twinsun.com>
70589
70590         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
70591         not CPPFLAGS, so that linking works correctly in IRIX.
70592
70593 1999-04-30  Paul Eggert  <eggert@twinsun.com>
70594
70595         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
70596
70597 1999-04-20  Paul Eggert  <eggert@twinsun.com>
70598
70599         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
70600         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
70601         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
70602         jm_AC_TYPE_UNSIGNED_LONG_LONG.
70603         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
70604
70605         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
70606
70607 1999-04-20  Jim Meyering  <meyering@ascend.com>
70608
70609         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
70610         AC_REPLACE xstroull if necessary.  From Paul Eggert.
70611         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
70612
70613 1999-04-18  Jim Meyering  <meyering@ascend.com>
70614
70615         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
70616         * m4/jm-macros.m4: Use it.
70617
70618 1999-04-06  Jim Meyering  <meyering@ascend.com>
70619
70620         * m4/strftime.m4: Remove test for %f.
70621
70622 1999-03-29  Jim Meyering  <meyering@ascend.com>
70623
70624         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
70625         superset of the AC_TYPE_* checks in the textutils, fileutils,
70626         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
70627         AC_TYPE_PID_T.
70628
70629 1999-03-28  Jim Meyering  <meyering@ascend.com>
70630
70631         * m4/jm-macros.m4: Define GNU_PACKAGE here.
70632         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
70633         replaced e.g., in the *.sh files of the sh-utils.
70634
70635 1999-03-20  Jim Meyering  <meyering@ascend.com>
70636
70637         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
70638         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
70639         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
70640
70641 1999-03-19  Jim Meyering  <meyering@ascend.com>
70642
70643         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
70644
70645 1999-03-12  Jim Meyering  <meyering@ascend.com>
70646
70647         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
70648
70649 1999-03-07  Jim Meyering  <meyering@ascend.com>
70650
70651         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
70652         declared.
70653
70654 1999-02-17  Jim Meyering  <meyering@ascend.com>
70655
70656         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
70657         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
70658
70659 1999-02-07  Jim Meyering  <meyering@ascend.com>
70660
70661         * m4/group-member.m4: New file -- extracted from sh-utils'
70662         configure.in.
70663
70664         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
70665         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
70666
70667 1999-02-06  Jim Meyering  <meyering@ascend.com>
70668
70669         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
70670         * m4/fnmatch.m4: Likewise.
70671         * m4/getgroups.m4: Likewise.
70672         * m4/lstat.m4: Likewise.
70673         * m4/malloc.m4: Likewise.
70674         * m4/putenv.m4: Likewise.
70675         * m4/realloc.m4: Likewise.
70676         * m4/regex.m4: Likewise.
70677         * m4/stat.m4: Likewise.
70678         * m4/strftime.m4: Likewise.
70679         Suggestion from Alain Magloire.
70680
70681         * m4/chown.m4: Use `.$ac_objext', not `.o'.
70682         * m4/fnmatch.m4: Likewise.
70683         * m4/getgroups.m4: Likewise.
70684         * m4/getline.m4: Likewise.
70685         * m4/lstat.m4: Likewise.
70686         * m4/malloc.m4: Likewise.
70687         * m4/memcmp.m4: Likewise.
70688         * m4/putenv.m4: Likewise.
70689         * m4/realloc.m4: Likewise.
70690         * m4/regex.m4: Likewise.
70691         * m4/stat.m4: Likewise.
70692         * m4/strftime.m4: Likewise.
70693         Suggestion from Alain Magloire.
70694
70695         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
70696         an argument.
70697
70698         * m4/regex.m4: Add a run-time Test for proper operation of
70699         re_compile_pattern.
70700
70701 1999-01-31  Jim Meyering  <meyering@ascend.com>
70702
70703         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
70704
70705 1999-01-30  Jim Meyering  <meyering@ascend.com>
70706
70707         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
70708
70709         * m4/jm-mktime.m4: Make this a wrapper around the official
70710         AM_FUNC_MKTIME rather than my private copy, now that the official one
70711         is up to date.
70712         * m4/mktime.m4: Remove file.
70713
70714         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
70715         * m4/uptime.m4: Likewise.
70716         * m4/uintmax_t.m4: Likewise.
70717
70718 1999-01-28  Jim Meyering  <meyering@ascend.com>
70719
70720         * m4/jm-macros.m4: Use jm_AFS.
70721         * m4/afs.m4: New file (from fileutils' configure.in).
70722
70723         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
70724         * m4/chown.m4: Likewise.
70725         * m4/d-ino.m4: Likewise.
70726         * m4/d-type.m4: Likewise.
70727         * m4/fnmatch.m4: Likewise.
70728         * m4/getgroups.m4: Likewise.
70729         * m4/gettext.m4: Likewise.
70730         * m4/jm-mktime.m4: Likewise.
70731         * m4/jm-winsz2.m4: Likewise.
70732         * m4/lcmessage.m4: Likewise.
70733         * m4/ls-mntd-fs.m4: Likewise.
70734         * m4/malloc.m4: Likewise.
70735         * m4/memcmp.m4: Likewise.
70736         * m4/putenv.m4: Likewise.
70737         * m4/realloc.m4: Likewise.
70738         * m4/st_mtim.m4: Likewise.
70739         * m4/strftime.m4: Likewise.
70740
70741 1999-01-16  Jim Meyering  <meyering@ascend.com>
70742
70743         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
70744         (ARGMATCH_DIE_DECL): Define.
70745
70746 1999-01-12  Jim Meyering  <meyering@ascend.com>
70747
70748         * m4/Makefile.am.in: Rewrite to avoid using fmt.
70749         Reported by Lars Hecking.
70750
70751 1999-01-10  Jim Meyering  <meyering@ascend.com>
70752
70753         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
70754         gross kludge.
70755         * m4/inttypes_h.m4: Likewise.
70756         * m4/lstat.m4: Likewise.
70757         * m4/malloc.m4: Likewise.
70758         * m4/readdir.m4: Likewise.
70759         * m4/realloc.m4: Likewise.
70760         * m4/st_dm_mode.m4: Likewise.
70761         * m4/stat.m4: Likewise.
70762         * m4/utimbuf.m4: Likewise.
70763         * m4/utimes.m4: Likewise.
70764
70765         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
70766         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
70767         comments in config.h.in are meaningful.
70768
70769         * m4/jm-macros.m4: Require autoconf-2.13 here.
70770
70771         * m4/regex.m4: By default, don't use the included regex.c on systems
70772         with glibc 2.  Suggestion from Uli Drepper.
70773
70774 1999-01-02  Jim Meyering  <meyering@ascend.com>
70775
70776         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
70777
70778 1998-12-18  Jim Meyering  <meyering@ascend.com>
70779
70780         * m4/Makefile.am.in (Makefile.am): Simplify rule.
70781         Based on a suggestion from Lars Hecking.
70782
70783 1998-11-16  Paul Eggert  <eggert@twinsun.com>
70784
70785         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
70786
70787 1998-11-16  Jim Meyering  <meyering@ascend.com>
70788
70789         * m4/lfs.m4: Double-quote the `uname...` expression.
70790
70791 1998-11-14  Jim Meyering  <meyering@ascend.com>
70792
70793         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
70794         * m4/stat.m4: Likewise.
70795
70796 1998-11-03  Jim Meyering  <meyering@ascend.com>
70797
70798         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
70799         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
70800
70801 1998-10-18  Jim Meyering  <meyering@ascend.com>
70802
70803         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
70804
70805 1998-10-17  Jim Meyering  <meyering@ascend.com>
70806
70807         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
70808         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
70809         calls for those previously hard-coded headers.  Instead, take a new
70810         parameter.
70811         (jm_CHECK_DECLARATIONS): Reflect interface change.
70812         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
70813         (jm_CHECK_DECL_LOCALTIME_R): New macro.
70814
70815         * m4/mktime.m4: Test for spring-forward gap before long-running test.
70816
70817 1998-10-14  Jim Meyering  <meyering@ascend.com>
70818
70819         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
70820         instead of "TZ=America/Vancouver".  From Paul Eggert.
70821
70822 1998-10-11  Jim Meyering  <meyering@ascend.com>
70823
70824         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
70825         This adds a test for a recently added compatibility fix for mktime.c.
70826         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
70827
70828 1998-09-27  Jim Meyering  <meyering@ascend.com>
70829
70830         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
70831
70832         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
70833         ../configure.in, including a change from Gordon Matzigkeit to allow
70834         cross-compiling for the Hurd.
70835
70836         * m4/glibc.m4: New file/macro to test for the GNU C Library
70837         versions 1 and 2.  From Gordon Matzigkeit.
70838         Indent.
70839
70840 1998-09-21  Jim Meyering  <meyering@ascend.com>
70841
70842         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
70843
70844 1998-08-18  Paul Eggert  <eggert@twinsun.com>
70845
70846         Port nanosecond-resolution times to UnixWare 2.1.2 and
70847         pedantic Solaris 2.6.
70848
70849         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
70850         AC_STRUCT_ST_MTIM.
70851         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
70852         Generate name of ns member, instead of just 1 or undef.
70853         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
70854
70855 1998-08-15  Jim Meyering  <meyering@ascend.com>
70856
70857         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
70858         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
70859         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
70860         instead of jm_TYPE_SSIZE_T.
70861
70862 1998-08-12  Jim Meyering  <meyering@ascend.com>
70863
70864         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
70865
70866 1998-08-02  Jim Meyering  <meyering@ascend.com>
70867
70868         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
70869         in acconfig.h manually.
70870
70871 1998-07-31  Paul Eggert  <eggert@twinsun.com>
70872
70873         * m4/st_mtim.m4: New file.
70874
70875 1998-07-28  Jim Meyering  <meyering@ascend.com>
70876
70877         * m4/utimes.m4: Undef stat.
70878
70879 1998-07-25  Jim Meyering  <meyering@ascend.com>
70880
70881         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
70882         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
70883
70884 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
70885
70886         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
70887         uid and gid actually remain unchanged.
70888
70889 1998-07-07  Jim Meyering  <meyering@ascend.com>
70890
70891         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
70892
70893 1998-07-04  Jim Meyering  <meyering@ascend.com>
70894
70895         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
70896         to prove that this macro can be used in packages without regex.c.
70897
70898 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
70899
70900         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
70901         is to be used.
70902
70903 1998-07-03  Jim Meyering  <meyering@ascend.com>
70904
70905         * m4/gettext.m4: Add -lintl if it's found to be necessary.
70906
70907         * m4/gettext.m4: New file -- from gettext-0.10.35.
70908         * m4/lcmessage.m4: Likewise.
70909         * m4/progtest.m4: Likewise.
70910
70911         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
70912         * m4/jm-macros.m4: Require the new macro.
70913
70914 1998-06-29  Jim Meyering  <meyering@ascend.com>
70915
70916         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
70917         for the definition of NGROUPS (used in a system header included
70918         by sys/mount.h).
70919
70920 1998-06-28  Jim Meyering  <meyering@ascend.com>
70921
70922         * m4/ls-mntd-fs.m4: New file.
70923         * m4/fstypename.m4: New file.
70924
70925         * m4/jm-macros.m4: Require the new macro.
70926         * m4/jm-glibc-io.m4: New file.
70927
70928 1998-05-19  Jim Meyering  <meyering@ascend.com>
70929
70930         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
70931         * m4/lchown.m4: New file.
70932
70933         * m4/Makefile.am.in: New file.
70934         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
70935
70936 1998-05-14  Jim Meyering  <meyering@ascend.com>
70937
70938         * m4/Makefile.am (EXTRA_DIST): Add them.
70939         * m4/jm-macros.m4: New file.
70940         * m4/utimbuf.m4: New file.
70941
70942 1998-05-12  Jim Meyering  <meyering@ascend.com>
70943
70944         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
70945
70946 1998-05-11  Jim Meyering  <meyering@ascend.com>
70947
70948         * m4/isc-posix.m4: New file.
70949
70950 1998-05-10  Jim Meyering  <meyering@ascend.com>
70951
70952         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
70953
70954 1998-05-09  Jim Meyering  <meyering@ascend.com>
70955
70956         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
70957         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
70958         with automake.
70959
70960         * m4/ssize_t.m4: New file.
70961         * m4/mktime.m4: Remove file -- the new automake has this now.
70962
70963 1998-04-26  Jim Meyering  <meyering@ascend.com>
70964
70965         * m4/assert.m4: New file.
70966         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
70967
70968 1998-04-05  Jim Meyering  <meyering@ascend.com>
70969
70970         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
70971         (jm_PREREQ): Use it here.
70972
70973 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
70974
70975         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
70976         in acconfig.h.
70977
70978 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
70979
70980         * m4/prereq.m4: New file.
70981         * m4/error.m4: New file.
70982         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
70983
70984 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
70985
70986         * m4/getline.m4: Don't set am_cv_func_working_getline before the
70987         cache-check for the same variable -- that defeated the purpose of
70988         the test; the test program was never run.  This was a problem only
70989         on systems with losing getline functions -- HP-UX 10.20 is one.
70990         Reported by Bjorn Helgaas.
70991
70992 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
70993
70994         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
70995
70996 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
70997
70998         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
70999
71000         * m4/const.m4: New file.  Use an initializer in this declaration
71001         typedef int charset[2]; const charset x;
71002         Reported by Bob Glickstein.
71003
71004 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
71005
71006         * m4/chown.m4: Fix reversed types on -1 args to chown.
71007         From Kaveh Ghazi.
71008
71009 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
71010
71011         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
71012         Add lseek and memchr.
71013
71014         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
71015         T.E.Dickey <dickey@clark.net> said that some older preprocessors
71016         have a 20-character limit on names.
71017
71018 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
71019
71020         * m4/inttypes_h.m4: New file.
71021         * m4/uintmax_t.m4: New file.
71022         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
71023
71024
71025         -----
71026
71027         Local Variables:
71028         coding: utf-8
71029         End:
71030
71031         Copyright (C) 1997-2010 Free Software Foundation, Inc.
71032
71033         Copying and distribution of this file, with or without
71034         modification, are permitted provided the copyright notice
71035         and this notice are preserved.